Max-Flows on Sparse and Dense Networks

Abstract

In this paper, we present an improved algorithm for the maximum flow problem on general networks with n vertices and m arcs. We show how to solve the problem in O(mn) time, when m = O(n2-ε), for some 0 <ε ≤ 1. This improves upon the results of both Orlin and King, et. al., who solved the problem in O(mn + m31/16 2 n) and O(mnm/n nn) time, respectively. Our main result is reducing the number of nonsaturating pushes to O(mn) across all scaling phases. Our algorithm can be seen as complementary to King, et. al., in the sense that we solve the max-flow problem in O(mn) time when m = O(n2-ε) (all sparse and non-dense networks), whereas King, et. al. solve it in O(mn) time when m = (n1+ε) (all dense and non-sparse networks). Our improvement is reached by a novel combination of Ahuja and Orlin's excess scaling method and Orlin's compact flow networks. To our knowledge, this is the first O(mn) time max-flow algorithm that runs on this range of networks. Further, we extend the range of Orlin's O(mn) time algorithm from O(n16/15-ε) to O(n2-ε), which is an improvement of approximately O(n0.94). Our result also establishes that the problem can be solved for all n and m using exclusively the push-relabel method. We also give improved algorithms for parametric flows and efficiently constructing Gomory-Hu trees, and suggest a new approach to the minimum-cost flow problem.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…