Abstract
All previously known efficient maximum-flow algorithms work by finding augmenting paths, either one path at a time (as in the original Ford and Fulkerson algorithm) or all shortest-length augmenting paths at once (using the layered network approach of Dinic). An alternative method based on the preflow concept of Karzanov is introduced. A preflow is like a flow, except that the total amount flowing into a vertex is allowed to exceed the total amount flowing out. The method maintains a preflow in the original network and pushes local flow excess toward the sink along what are estimated to be shortest paths. The algorithm and its analysis are simple and intuitive, yet the algorithm runs as fast as any other known method on dense graphs, achieving an O(n3) time bound on an n-vertex graph. By incorporating the dynamic tree data structure of Sleator and Tarjan, we obtain a version of the algorithm running in O(nm log(n2/m)) time on an n-vertex, m-edge graph. This is as fast as any known method for any graph density and faster on graphs of moderate density. The algorithm also admits efficient distributed and parallel implementations. A parallel implementation running in O(n2log n) time using n processors and O(m) space is obtained. This time bound matches that of the Shiloach-Vishkin algorithm, which also uses n processors but requires O(n2) space.
- 1 AHUJA, R. K. AND ORLIN, J.B. A fast and simple algorithm for the maximum flow problem. Tech. Rep. 1905-87, Sloan School of Management, Massachusetts Institute of Technology, Cambridge, Mass., 1987.Google Scholar
- 1a AHUJA, R. K., ORLIN, J. B., AND TARJAN, R.E. Improved time bounds for the maximum flow problem. Unpublished mansucript.Google Scholar
- 2 AWERBUCH, B. Complexity of network synchronization. J. ACM 32, 4 (Oct. 1985), 804-823. Google Scholar
- 2a CHERIYAN, J., AND MAHESHWARI, S. N. Analysis of preflow push algorithms for maximum network flow. Department of Computer Science and Engineering, Indian Institute of Tech., New Delhi, India, 1987.Google Scholar
- 3 CHERKASKY, R.V. An algorithm for constructing maximal flows in networks with complexity of O(V2x/E) operations. Math. Methods Solution Econ. Probl. 7 (1977), 112-125. (In Russian.)Google Scholar
- 4 DINIC, E.A. Algorithm for solution of a problem of maximum flow in networks with power estimation. Sov. Math. Dokl. 11 (1970), 1277-1280.Google Scholar
- 5 EDMONDS, J., AND KARP, R.M. Theoretical improvements in algorithmic efficiency for network flow problems. J. ACM 19, 2 (Apr. 1972), 248-264. Google Scholar
- 6 EVEN, S. Graph Algorithms. Computer Science Press, Potomac, Md., 1979. Google Scholar
- 7 FORD, L. R., JR., AND FULKERSON, D.R. Maximal flow through a network. Can. J. Math. 8 (1956), 399-404.Google Scholar
- 8 FORD, L. R., JR., AND FULKERSON, D.R. Flows in Networks. Princeton University Press, Princeton, N.j., 1962.Google Scholar
- 9 FORTUNE, S., AND WYLLIE, J. Parallelism in random access machines. In Proceedings of the lOth ACM Symposium on Theory of Computing (1978), pp. 114-118. Google Scholar
- 10 GABOW, H. N. Scaling algorithms for network problems. J. Comput. Syst. Sci. 31 (1985), 148-168. Google Scholar
- 11 GALIL, Z. An 0(VS/3E2/3) algorithm for the maximal flow problem. Acta Inf. 14 (1980), 221-242.Google Scholar
- 12 GALIL, Z., AND NAAMAD, A. An O(EV log2V) algorithm for the maximal flow problem. J. Comput. Syst. Sci. 21 (1980), 203-217.Google Scholar
- 13 GALLAGER, R. G., HUMBLET, P. A., AND SPIRA, P.M. A distributed algorithm for minimumweight spanning trees. ACM Trans. Program. Lang. Syst. 5, 1 (Jan. 1983), 66-77. Google Scholar
- 14 GOLDBERG, A. V. A new max-flow algorithm. Tech. Rep. MIT/LCS/TM-291, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Mass., 1985.Google Scholar
- 15 GOLDBERG, A.V. Efficient graph algorithms for sequential and parallel computers. PhD dissertation, Massachusetts Institute of Technology, Cambridge, Mass., Jan. 1987. Also available as Tech. Rep. TR-374, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Mass., 1987. Google Scholar
- 16 GOLDBERG, A. V., AND TAP, JAN, R. E. A new approach to the maximum flow problem. In Proceedings of the 18th ACM Symposium on Theory of Computing. ACM, New York, 1986, pp. 136-146. Google Scholar
- 17 GOLDBERG, A. V., AND TARJAN, R.E. Finding minimum-cost circulations by successive approximation. Math. Oper. Res., to appear. Google Scholar
- 18 KARZANOV, A.V. Determining the maximal flow in a network by the method of preflows. Sov. Math. Dokl. 15 (1974), 434-437.Google Scholar
- 19 LAWLER, E.L. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart, and Winston, New York, 1976.Google Scholar
- 20 LEISERSON, C., AND MAGGS, B. Communication-efficient parallel graph algorithms. In Proceedings of the International Conference on Parallel Processing. IEEE Computer Society Press, Silver Spring, Md., 1986, pp. 861-868.Google Scholar
- 21 MALHOTRA, V. M., PRAMODH KUMAR, M., AND MAHESHWARI, S.N. An O(I V I3) algorithm for finding maximum flows in networks. Inf. Process. Lett. 7 (1978), 277-278.Google Scholar
- 22 OGIELSKI, A. T. Integer optimization and zero-temperature fixed point in Ising random-field systems. Phys. Rev. Lett. 57 (1986), 1251-1254.Google Scholar
- 23 PAPADIMITRIOU, C. H., AND STEIGLITZ, K. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Englewood Cliffs, N.J., 1982. Google Scholar
- 24 PICARD, J. C., AND RATLIFF, H. O. Minimum cuts and related problems. Networks 5 (1975), 357-370.Google Scholar
- 25 SHILOACn, Y. An O(nI log21) maximum-flow algorithm. Tech. Rep. STAN-CS-78-802, Computer Science Dept., Stanford Univ., Stanford, Calif., 1978. Google Scholar
- 26 SHILOACH, Y., AND VISHKIN, U. An O(n21og n) parallel max-flow algorithm. J. Algorithms 3 (1982), 128-146. Google Scholar
- 27 SLEATOR, D.D. An O(nm log n) algorithm for maximum network flow. Tech. Rep. STAN-CS- 80-831, Computer Science Dept., Stanford Univ., Stanford, Calif., 1980.Google Scholar
- 28 SLEATOR, O. D., AND TAR JAN, R.E. A data structure for dynamic trees. J. Comput. Syst. Sci. 26 (1983), 362-391. Google Scholar
- 29 SLEATOR, D. D., AND TARJAN, R.E. Self-adjusting binary search trees. J. ACM 32, 3 (July 1985), 652-686. Google Scholar
- 30 TARJAN, R. E. Data Structures and Network Algorithms. Society for Industrial and Applied Mathematics, Philadelphia, Pa., 1983. Google Scholar
- 31 TAP.JAN, R.E. A simple version of Karzanov's blocking flow algorithm. Oper. Res. Lett. 2 (1984), 265-268.Google Scholar
Index Terms
- A new approach to the maximum-flow problem
Recommendations
A Fast and Simple Algorithm for the Maximum Flow Problem
We present a simple sequential algorithm for the maximum flow problem on a network with n nodes, m arcs, and integer arc capacities bounded by U . Under the practical assumption that U is polynomially bounded in n , our algorithm runs in time O ...
A faster deterministic maximum flow algorithm
SODA '92: Proceedings of the third annual ACM-SIAM symposium on Discrete algorithmsWe describe a deterministic version of a 1990 Cheriyan, Hagerup, and Mehlhorn randomized algorithm for computing the maximum flow on a directed graph with n nodes and m edges which runs in time O(mn + n2+ε, for any constant ε. This improves upon Alon's ...
Near-Optimal Distributed Maximum Flow: Extended Abstract
PODC '15: Proceedings of the 2015 ACM Symposium on Principles of Distributed ComputingWe present a near-optimal distributed algorithm for (1+o(1))-approximation of single-commodity maximum flow in undirected weighted networks that runs in (D+ √n)⋅ no(1) communication rounds in the Congest model. Here, n and D denote the number of nodes ...
Comments