Two-Level Push-Relabel Algorithm for the Maximum Flow Problem

  • Andrew V. Goldberg
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5564)


We describe a two-level push-relabel algorithm for the maximum flow problem and compare it to the competing codes. The algorithm generalizes a practical algorithm for bipartite flows. Experiments show that the algorithm performs well on several problem families.


Bipartite Match Distance Label Active Vertex Network Simplex Maximum Flow Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ahuja, R.K., Orlin, J.B., Stein, C., Tarjan, R.E.: Improved algorithms for bipartite network flow problems. SIAM J. Comp. (to appear)Google Scholar
  2. 2.
    Babenko, M., Derryberry, J., Goldberg, A.V., Tarjan, R.E., Zhou, Y.: Experimental evaluation of parametric maximum flow algorihtms. In: Demetrescu, C. (ed.) WEA 2007. LNCS, vol. 4525, pp. 256–269. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Boykov, Y., Kolmogorov, V.: An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision. IEEE transactions on Pattern Analysis and Machine Intelligence 26(9), 1124–1137 (2004)CrossRefzbMATHGoogle Scholar
  4. 4.
    Chandran, B., Hochbaum, D.: A computational study of the pseudoflow and push-relabel algorithms for the maximum flow problem (submitted for publication) (2007)Google Scholar
  5. 5.
    Cheriyan, J., Maheshwari, S.N.: Analysis of Preflow Push Algorithms for Maximum Network Flow. SIAM J. Comput. 18, 1057–1086 (1989)CrossRefzbMATHMathSciNetGoogle Scholar
  6. 6.
    Cherkassky, B.V.: A Fast Algorithm for Computing Maximum Flow in a Network. In: Karzanov, A.V. (ed.) Collected Papers, Combinatorial Methods for Flow Problems, vol. 3, pp. 90–96. The Institute for Systems Studies, Moscow (1979); English translation appears in AMS Trans. 158, 23–30 (1994) (in Russian)Google Scholar
  7. 7.
    Cherkassky, B.V., Goldberg, A.V.: On Implementing Push-Relabel Method for the Maximum Flow Problem. Algorithmica 19, 390–410 (1997)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Cherkassky, B.V., Goldberg, A.V., Martin anbd, P., Setubal, J.C., Stolfi, J.: Augment or push? a computational study of bipartite matching and unit capacity flow algorithms. Technical Report 98-036R, NEC Research Institute, Inc. (1998)Google Scholar
  9. 9.
    Derigs, U., Meier, W.: Implementing Goldberg’s Max-Flow Algorithm — A Computational Investigation. ZOR — Methods and Models of Operations Research 33, 383–403 (1989)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Derigs, U., Meier, W.: An Evaluation of Algorithmic Refinements and Proper Data-Structures for the Preflow-Push Approach for Maximum Flow. In: ASI Series on Computer and System Sciences, vol. 8, pp. 209–223. NATO (1992)Google Scholar
  11. 11.
    Ford, L.R., Fulkerson, D.R.: Maximal Flow Through a Network. Canadian Journal of Math. 8, 399–404 (1956)CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    Gabow, H.N.: Scaling Algorithms for Network Problems. J. of Comp. and Sys. Sci. 31, 148–168 (1985)CrossRefzbMATHMathSciNetGoogle Scholar
  13. 13.
    Goldberg, A.V.: An Efficient Implementation of a Scaling Minimum-Cost Flow Algorithm. J. Algorithms 22, 1–29 (1997)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Goldberg, A.V., Kennedy, R.: An Efficient Cost Scaling Algorithm for the Assignment Problem. Math. Prog. 71, 153–178 (1995)zbMATHMathSciNetGoogle Scholar
  15. 15.
    Goldberg, A.V., Rao, S.: Beyond the Flow Decomposition Barrier. J. Assoc. Comput. Mach. 45, 753–782 (1998)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Goldberg, A.V., Tarjan, R.E.: A New Approach to the Maximum Flow Problem. J. Assoc. Comput. Mach. 35, 921–940 (1988)CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Goldberg, A.V.: Recent developments in maximum flow algorithms. In: Arnborg, S. (ed.) SWAT 1998. LNCS, vol. 1432, pp. 1–10. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  18. 18.
    Goldberg, A.V.: The Partial Augment–Relabel Algorithm for the Maximum Flow Problem. In: Halperin, D., Mehlhorn, K. (eds.) Esa 2008. LNCS, vol. 5193, pp. 466–477. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Goldfarb, D., Grigoriadis, M.D.: A Computational Comparison of the Dinic and Network Simplex Methods for Maximum Flow. Annals of Oper. Res. 13, 83–123 (1988)CrossRefMathSciNetGoogle Scholar
  20. 20.
    Johnson, D.S., McGeoch, C.C.: Network Flows and Matching: First DIMACS Implementation Challenge. In: AMS, Proceedings of the 1-st DIMACS Implementation Challenge (1993)Google Scholar
  21. 21.
    King, V., Rao, S., Tarjan, R.: A Faster Deterministic Maximum Flow Algorithm. J. Algorithms 17, 447–474 (1994)CrossRefzbMATHMathSciNetGoogle Scholar
  22. 22.
    Mazzoni, G., Pallottino, S., Scutella, M.G.: The Maximum Flow Problem: A Max-Preflow Approach. Eur. J. of Oper. Res. 53, 257–278 (1991)CrossRefzbMATHGoogle Scholar
  23. 23.
    Negrus, C.S., Pas, M.B., Stanley, B., Stein, C., Strat, C.G.: Solving maximum flow problems on real world bipartite graphs. In: Proc. 11th International Workshop on Algorithm Engineering and Experiments, pp. 14–28. SIAM, Philadelphia (2009)Google Scholar
  24. 24.
    Iossa, A., Cerulli, R., Gentili, M.: Efficient Preflow Push Algorithms. Computers & Oper. Res. 35, 2694–2708 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    Sleator, D.D., Tarjan, R.E.: A Data Structure for Dynamic Trees. J. Comput. System Sci. 26, 362–391 (1983)CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
    Tuncel, L.: On the Complexity of Preflow-Push Algorithms for Maximum-Flow Problems. Algorithmica 11, 353–359 (1994)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Andrew V. Goldberg
    • 1
  1. 1.Microsoft Research – Silicon ValleyUSA

Personalised recommendations