A Combinatorial $\tilde{O}(m^{3/2})$-time Algorithm for the Min-Cost Flow Problem

We present a combinatorial method for the min-cost flow problem and prove that its expected running time is bounded by $\tilde O(m^{3/2})$. This matches the best known bounds, which previously have only been achieved by numerical algorithms or for special cases. Our contribution contains three parts that might be interesting in their own right: (1) We provide a construction of an equivalent auxiliary network and interior primal and dual points with potential $P_0=\tilde{O}(\sqrt{m})$ in linear time. (2) We present a combinatorial potential reduction algorithm that transforms initial solutions of potential $P_0$ to ones with duality gap below $1$ in $\tilde O(P_0\cdot \mbox{CEF}(n,m,\epsilon))$ time, where $\epsilon^{-1}=O(m^2)$ and $\mbox{CEF}(n,m,\epsilon)$ denotes the running time of any combinatorial algorithm that computes an $\epsilon$-approximate electrical flow. (3) We show that solutions with duality gap less than $1$ suffice to compute optimal integral potentials in $O(m+n\log n)$ time with our novel crossover procedure. All in all, using a variant of a state-of-the-art $\epsilon$-electrical flow solver, we obtain an algorithm for the min-cost flow problem running in $\tilde O(m^{3/2})$.

[1]  Uwe T. Zimmermann,et al.  A combinatorial interior point method for network flow problems , 1992, Math. Program..

[2]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[3]  Zeyuan Allen Zhu,et al.  A simple, combinatorial algorithm for solving SDD systems in nearly-linear time , 2013, STOC '13.

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

[5]  Andrew V. Goldberg,et al.  Finding Minimum-Cost Circulations by Successive Approximation , 1990, Math. Oper. Res..

[6]  Pravin M. Vaidya,et al.  Speeding-up linear programming using fast matrix multiplication , 1989, 30th Annual Symposium on Foundations of Computer Science.

[7]  Shang-Hua Teng,et al.  Nearly-linear time algorithms for graph partitioning, graph sparsification, and solving linear systems , 2003, STOC '04.

[8]  Gary L. Miller,et al.  A ug 2 01 0 Approaching optimality for solving SDD linear systems ∗ , 2011 .

[9]  Aleksander Madry,et al.  Navigating Central Path with Electrical Flows: From Flows to Matchings, and Back , 2013, 2013 IEEE 54th Annual Symposium on Foundations of Computer Science.

[10]  Andrew V. Goldberg,et al.  Beyond the flow decomposition barrier , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[11]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, STOC '84.

[12]  Samuel Isaac Daitch Efficient graph-based algorithms for linear equations, network flows, and machine learning , 2009 .

[13]  Gary L. Miller,et al.  Approaching Optimality for Solving SDD Linear Systems , 2010, 2010 IEEE 51st Annual Symposium on Foundations of Computer Science.

[14]  James B. Orlin,et al.  A faster strongly polynomial minimum cost flow algorithm , 1993, STOC '88.

[15]  James B. Orlin A Faster Strongly Polynomial Minimum Cost Flow Algorithm , 1993, Oper. Res..

[16]  Robert E. Tarjan,et al.  Faster Scaling Algorithms for Network Problems , 1989, SIAM J. Comput..

[17]  Yinyu Ye,et al.  An O(n3L) potential reduction algorithm for linear programming , 1991, Math. Program..

[18]  Ittai Abraham,et al.  Using petal-decompositions to build a low stretch spanning tree , 2012, STOC '12.

[19]  Daniel A. Spielman,et al.  Faster approximate lossy generalized flow via interior point algorithms , 2008, STOC.

[20]  Andrew V. Goldberg,et al.  Scaling algorithms for the shortest paths problem , 1995, SODA '93.

[21]  Andrew V. Goldberg,et al.  Finding minimum-cost flows by double scaling , 2015, Math. Program..