Academia.eduAcademia.edu

Outline

Computational investigations of maximum flow algorithms

1997, European Journal of Operational Research

https://doi.org/10.1016/S0377-2217(96)00269-X

Abstract

The maximum flow algorithm is distinguished by the long line of successive contributions researchers have made in obtaining algorithms with incrementally better worst-case complexity. Some, but not all, of these theoretical improvements have produced improvements in practice. The purpose of this paper is to test some of the major algorithmic ideas developed in the recent years and to assess their utility on the empirical front. However, our study differs from previous studies in several ways. Whereas previous studies focus primarily on CPU time analysis, our analysis goes further and provides detailed insight into algorithmic behavior. It not only observes how algorithms behave but also tries to explain why algorithms behave that way. We have limited our study to the best previous maximum flow algorithms and some of the recent algorithms that are likely to be efficient in practice. Our study encompasses ten maximum flow algorithms and five classes of networks. The augmenting path algorithms tested by us include Dinic's algorithm, the shortest augmenting path algorithm, and the capacity scaling algorithm. The preflow-push algorithms tested by us include Karzanov's algorithm, three implementations of Goldberg-Tarjan algorithm, and three versions of Ahuja-Orlin-Tarjan excess-scaling algorithms. Among many findings, our study concludes that the preflow-push algorithms are substantially faster than other classes of algorithms, and the highest-label preflow-push algorithm is the fastest maximum flow algorithm for which the growth rate in the computational time is O(n 1 5) on four out of five of our problem classes. Further, in contrast to the results of the worst-case analysis of maximum flow algorithms, our study finds that the time to perform relabel operations (or constructing the layered networks) takes at least as much computation time as that taken by augmentations and/or pushes.

References (36)

  1. AHUJA, R. K., and J. B. ORLIN. 1989. A fast and simple algorithm for the maximum flow problem. Operations Research 37, 748-759.
  2. AHUJA, R. K., and J. B. ORLIN. 1991. Distance-directed augmenting path algorithms for maximum flow and parametric maximum flow problems. Naval Research Logistics 38, 413-430.
  3. AHUJA, R. K., and J. B. ORLIN. 1995. Use of Representative Operation Counts in Computational Testings of Algorithms. Sloan School Working Paper WP # 3459. Written July, 1992. Revised, March 1995.
  4. AHUJA, R. K., J. B. ORLIN, and R. E. TARJAN. 1989. Improved time bounds for the maximum flow problem. SIAM Journal on Computing 18, 939-954.
  5. AHUJA, R. K., T. L. MAGNANTI, and J. B. ORLIN. 1991. Some recent advances in network flows. SIAM Review 33, 175-219.
  6. AHUJA, R. K., T. L. MAGNANTI, and J. B. ORLIN. 1993. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, New Jersey.
  7. ALON, N. 1990. Generating pseudo-random permutations and maximum flow algorithms. Information Processing Letters 35, 201-204.
  8. ANDERSON, R. J., and J. C. SETUBAL. 1992. Parallel and sequential implementations of maximum-flow algorithms. In D. S. Johnson and C. C. McGeoch, editors, Dimacs Implementation Challenge Workshop: Algorithms for Network Flows and Matching. DIMACS Technical Report 92-4.
  9. BADICS, T., E. BOROS, and 0. CEPEK. 1992. Implementing a new maximum flow algorithm. In D. S. Johnson and C. C. McGeoch, editors, Dimacs Implementation Challenge Workshop: Algorithms for Network Flows and Matching. DIMACS Technical Report 92-4.
  10. CHERIYAN, J., and S. N. MAHESHWARI. 1989. Analysis of preflow push algorithms for maximum network flow. SIAM Journal of Computing 6, 1057-1086.
  11. CHERIYAN, J., and T. HAGERUP. 1989. A randomized maximum flow algorithm. Proceedings of the 30thIEEE Conference on the Foundations of Computer Science, 118-123.
  12. CHERKASSKY, R. V. 1977. Algorithm of construction of maximum flow in networks with complexity O(V 2 E 1 / 2 ) operations. Mathematical Methods of Solution of Economical Problems 7, 112-115.
  13. CHEUNG, T. 1980. Computational comparison of eight methods for the maximum network flow problem. ACM Transactions on Mathematical Software 6, 1-16.
  14. DERIGS, U., and W. MEIER. 1989. Implementing Goldberg's max-flow algorithm: A computational investigation. Zeitschrift fiir Operations Research 33, 383-403.
  15. DINIC, E. A. 1970. Algorithm for solution of a problem of maximum flow in networks with power estimation. Soviet Mathematics Doklady ll, 1277-1280.
  16. EDMONDS, J., and R. M. KARP. 1972. Theoretical improvements in algorithmic efficiency for network flow problems. Journal of ACM 19, 248-264.
  17. FORD, L. R. Jr., and D. R. FULKERSON. 1956. Maximum flow through a network. Canadian Journal of Mathematics 8, 399-404.
  18. GABOW, H. N., 1985. Scaling algorithms for network flow problems. Journal of Computer and System Sciences 31, 148-168.
  19. GALIL, Z. 1980. An O(n 5 / 3 m 2 / 3 ) algorithm for the maximum flow problem. Acta Informatica 14, 221-242.
  20. GALIL, Z., and A. NAMAAD. 1980. An O(nm log 2 n) algorithm for the maximum flow problem. Journal of Computer and System Sciences 21, 203-217.
  21. GLOVER, F., D. KLINGMAN, J. MOTE and D. WHITMAN. 1983. Comprehensive computer evaluation and enhancement of maximum flow algorithms. Applications of Management Science 3, 109-175.
  22. CLOVER, F., D. KLINGMAN, J. MOTE and D. WHITMAN. 1984. A primal simplex variant for the maximum flow problem. Naval Research Logistics Quarterly 31, 41-61.
  23. GOLDBERG, A. V., M. D. GRIGORIADIS, and R.E. TARJAN 1991. Efficiency of the network simplex algorithm for the maximum flow problem. Mathematical Programming (A) 50, 277-290.
  24. GOLDBERG, A. V, and R. E. TARJAN. 1986. A new approach to the maximum flow problem. Proceedings of the 1 8 th ACM Symposium on the Theory of Computing, 136-146. Full paper in Journal of ACM 35(1988), 921-940.
  25. GOLDFARB, D. and M. D. GRIGORIADIS. 1988. A computational comparison of the Dinic and network simplex methods for maximum flow. Annals of Operations Research 13, 83-123.
  26. GOLDFARB, D., and J. HAO. 1990. A primal simplex algorithm that solves the maximum flow problem in at most nm pivots and O(n 2 m) time. Mathematical Programming 47, 353-365.
  27. GOLDFARB, D., and J. HAO. 1991. On Strongly Polynomial Variants of The Network Simplex Algorithm forthe Maximum Flow Problem. Operations Research Letters 10, 383-387.
  28. HAMACHER, H. W. 1979. Numerical investigations on the maximal flow algorithm of Karzanov. Computing 22, 17-29.
  29. IMAI, H. 1983. On the practical efficiency of various maximum flow algorithms. Journal of the Operations Research Society of Japan 26, 61-82.
  30. KARZANOV, A. V. 1974. Determining the maximal flow in a network by the method of preflows. Soviet Mathematics Doklady 15, 434-437.
  31. KLINGMAN, D., A. NAPIER, and J. STUTZ. 1974. NETGEN: A program for generating large scale capacitated assignment, transportation, and minimum cost flow network problems. Management Science 20, 814-821.
  32. MALHOTRA, V. M., M. P. KUMAR, and S. N. MAHESHWARI. 1978. An O(n 3 ) algorithm for finding maximum flows in networks. Information Processing Letters 7. 277-278.
  33. NGUYEN, Q. C., and V. VENKATESHWARAN. 1992. Implementations of the Goldberg-Tarjan maximum flow algorithm. In D. S. Johnson and C. C. McGeoch, editors, Dimacs Implementation Challenge Workshop: Algorithms for Network Flows and Matching. DIMACS Technical Report 92-4.
  34. SHILOACH, Y. 1978. An O(nI log 2 I) maximum flow algorithm, Technical Report. STAN-CS-78-702. Computer Science Dept., Stanford University, Stanford, CA.
  35. SLEATOR, D. D., and R. E. TARJAN. 1983. A data-structre for dynamic trees, Journal of Computer and Systems Sciences 24, 362-391.
  36. TARJAN, R. E. 1983. Data Structures and Network Algorithms. SIAM, Philadelphia, PA. ___•__1___ 1 _____^_________ __1_1__1__