An O(n2(m + Nlog n)log n) min-cost flow algorithm

The minimum-cost flow problem is: Given a network with <italic>n</italic> vertices and <italic>m</italic> edges, find a maximum flow of minimum cost. Many network problems are easily reducible to this problem. A polynomial-time algorithm for the problem has been known for some time, but only recently a strongly polynomial algorithm was discovered. In this paper an <italic>O</italic>(<italic>n</italic><supscrpt>2</supscrpt>(<italic>m</italic> + <italic>n</italic> log <italic>n</italic>)log <italic>n</italic>) algorithm is designed. The previous best algorithm, due to Fujishige and Orlin, had an <italic>O</italic>(<italic>m</italic><supscrpt>2</supscrpt>(<italic>m</italic> + <italic>n</italic>log<italic>n</italic>)log<italic>n</italic>) time bound. Thus, for dense graphs an improvement of two orders of magnitude is obtained. The algorithm in this paper is based on Fujishige's algorithm (which is based on Tardos's algorithm). Fujishige's algorithm consists of up to <italic>m</italic> iterations, each consisting of <italic>O</italic>(<italic>m</italic> log <italic>n</italic>) steps. Each step solves a single source shortest path problem with nonnegative edge lengths. This algorithm is modified in order to make an improved analysis possible. The new algorithm may still consist of up to <italic>m</italic> iterations, and an iteration may still consist of up to <italic>O</italic>(<italic>m</italic>log<italic>n</italic>) steps, but it can still be shown that the total number of steps is bounded by <italic>O</italic>(<italic>n</italic><supscrpt>2</supscrpt>log<italic>n</italic>. The improvement is due to a new technique that relates the time spent to the progress achieved.

[1]  William J. Cook,et al.  Sensitivity theorems in integer linear programming , 1986, Math. Program..

[2]  E. A. Dinic Algorithm for solution of a problem of maximal flow in a network with power estimation , 1970 .

[3]  Satoru Fujishige,et al.  A capacity-rounding algorithm for the minimum-cost circulation problem: A dual framework of the Tardos algorithm , 1986, Math. Program..

[4]  Éva Tardos,et al.  A strongly polynomial minimum cost circulation algorithm , 1985, Comb..

[5]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[6]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[7]  D. R. Fulkerson,et al.  Flows in Networks. , 1964 .

[8]  Journal of the Association for Computing Machinery , 1961, Nature.

[9]  J. Orlin Working Paper Alfred P. Sloan School of Management Genuinely Polynominal Simplex and Non-simplex Algorithms for the Minimum Cost Flow Problem Genuinely Polynominal Simplex and Non-simplex Algorithms for the Minimum Cost Flow Problem , 2008 .

[10]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, Comb..

[11]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[12]  Pamela Paulsen,et al.  May , 1890, The Hospital.

[13]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[14]  L. G. H. Cijan A polynomial algorithm in linear programming , 1979 .

[15]  L. Khachiyan Polynomial algorithms in linear programming , 1980 .