

























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(n^{2-ε})$, for some $0 <ε\leq 1$. This improves upon the results of both Orlin and King, et. al., who solved the problem in $O(mn + m^{31/16} \log^2 n)$ and $O(mn\log_{m/n\log n}n)$ 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(n^{2-ε})$ (all sparse and non-dense networks), whereas King, et. al. solve it in $O(mn)$ time when $m = Ω(n^{1+ε})$ (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(n^{16/15-ε})$ to $O(n^{2-ε})$, which is an improvement of approximately $O(n^{0.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.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。