A polynomial combinatorial algorithm for generalized minimum cost flow

Kevin D. Wayne
1999 Proceedings of the thirty-first annual ACM symposium on Theory of computing - STOC '99  
We propose the first combinatorial solution to one of the most classic problems in combinatorial optimization: the generalized minimum cost flow problem (flow with losses and gains). Despite a rich history dating back to Kantorovich and Dantzig, until now, the only known way to solve the problem in polynomial-time was via general purpose linear programming techniques. Polynomial combinatorial algorithms were previously known only for the version of our problem without costs. We design the first
more » ... such algorithms for the version with costs. Our algorithms also find provably good solutions faster than optimal ones, providing the first strongly polynomial approximation schemes for the problem. Our techniques extend to optimize linear programs with two variables per inequality. Polynomial combinatorial algorithms were previously developed for testing the feasibility of such linear programs. Until now, no such methods were known for the optimization version. 1 2 K. WAYNE can also represent transformations from one commodity to another as a result of manufacturing, scheduling, or currency exchange. For example, a gain factor of 0.96 could represent the possibility of converting one U.S. dollar into 0.96 Euros. Many applications are described in [2, 11, 12]. The problem has a distinguished history. Kantorovich [23] introduced the problem in his landmark 1939 paper, where he justified the use of optimization as a tool for planning and production: his main applications were formulated as generalized flow problems. He also proposed a dual simplex type method for the problem. In the late 1950's Dantzig [8] extended the network simplex method to handle generalized flow. Around the same time, Jewell [22] designed a combinatorial primal-dual method for the problem. Since our problem is a special case of linear programming, it can be solved in polynomial-time using the ellipsoid [25] or interior point methods [24, 37] . These general purpose linear programming methods rely on linear algebraic techniques, e.g., Gaussian elimination. We develop fast combinatorial algorithms for the problem. Our combinatorial algorithms directly manipulate the underlying graph. This approach has led to superior algorithms for a variety of optimization problems, including shortest path, maximum flow, minimum spanning tree, matching, and minimum cost flow. We design the first polynomial combinatorial algorithms for the generalized minimum cost flow problem. Our algorithms actually solve the generalized minimum cost circulation problem, an equivalent problem in which all supplies and demands are zero. The basic scheme is to start with a circulation (e.g., the zero flow) and repeatedly augment flow along the generalized flow analogs of paths and cycles. Our first algorithm is a direct "augmenting path" or "cycle-canceling" style algorithm. Our second algorithm is a faster version that uses scaling. Although the best interior point methods are faster than our combinatorial algorithms for computing optimal solutions, our algorithms are faster for computing approximately optimal solutions when the size of the input numbers is relatively large. The complexity of all known polynomial linear programming algorithms depends on the size of the costs, capacities, and/or gain factors, i.e., they are not strongly polynomial. In practice, interior point methods find approximately optimal solutions faster than optimal ones. However, no theorems are known to guarantee this, even for generalized flow. As a result, only weakly polynomial algorithms were previously known, even when computing a constant factor approximation. Our combinatorial algorithms are the first strongly polynomial approximation schemes for the generalized minimum cost circulation problem. How-
doi:10.1145/301250.301261 dblp:conf/stoc/Wayne99 fatcat:lelnvhu6brg77m2mafuenukd2e