Computational investigations of maximum flow algorithms

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's algorithm, and three versions of Ahuja-Orlin-Tarjan's 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.

[1]  Ravindra K. Ahuja,et al.  Use of Representative Operation Counts in Computational Testing of Algorithms , 1996, INFORMS J. Comput..

[2]  Ravindra K. Ahuja,et al.  A Fast and Simple Algorithm for the Maximum Flow Problem , 2011, Oper. Res..

[3]  A. Goldberg,et al.  Efficiency of the network simplex algorithm for the maximum flow problem , 1989 .

[4]  Andrew V. Goldberg,et al.  A new approach to the maximum flow problem , 1986, STOC '86.

[5]  S. N. Maheshwari,et al.  An O(|V|³) Algorithm for Finding Maximum Flows in Networks , 1978, Inf. Process. Lett..

[6]  F. Glover,et al.  A Primal Simplex Variant for the Maximum Flow Problem , 1984 .

[7]  Donald Goldfarb,et al.  A primal simplex algorithm that solves the maximum flow problem in at mostnm pivots and O(n2m) time , 1990, Math. Program..

[8]  Andrew V. Goldberg,et al.  Use of dynamic trees in a network simplex algorithm for the maximum flow problem , 1991, Math. Program..

[9]  Venkat Venkateswaran,et al.  Implementations of the Goldberg-Tarjan Maximum Flow Algorithm , 1991, Network Flows And Matching.

[10]  J. Orlin,et al.  Distance-Directed Augmenting Path Algorithms for Maximum Flow and Parametric Maximum Flow Problems , 1991 .

[11]  E. A. Dinic Algorithm for solution of a problem of maximal flow in a network with power estimation , 1970 .

[12]  Amnon Naamad,et al.  An O(EVlog²V) Algorithm for the Maximal Flow Problem , 1980, J. Comput. Syst. Sci..

[13]  Darwin Klingman,et al.  Comprehensive Computer Evaluation and Enhancement of Maximum Flow Algorithms. , 1979 .

[14]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

[15]  Ravindra K. Ahuja,et al.  Some Recent Advances in Network Flows , 1991, SIAM Rev..

[16]  Andrew V. Goldberg,et al.  On Implementing Push-Relabel Method for the Maximum Flow Problem , 1995, IPCO.

[17]  Darwin Klingman,et al.  NETGEN: A Program for Generating Large Scale Capacitated Assignment, Transportation, and Minimum Cost Flow Network Problems , 1974 .

[18]  Robert E. Tarjan,et al.  Improved Time Bounds for the Maximum Flow Problem Improved Time Bounds for the Maximum Flow Problem Improved Time Bounds for the Maximum Flow Problem , 2008 .

[19]  A. V. Karzanov,et al.  Determining the maximal flow in a network by the method of preflows , 1974 .

[20]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[21]  Hiroshi Imai,et al.  ON THE PRACTICAL EFFICIENCY OF VARIOUS MAXIMUM FLOW ALGORITHMS , 1983 .

[22]  Maria Grazia Scutellà,et al.  Toward a Programming Environment for Combinatorial Optimization: A Case Study Oriented to Max-Flow Computations , 1993, INFORMS J. Comput..

[23]  Hajime Machida,et al.  Space Complexity in On-Line Computation , 1982, J. Comput. Syst. Sci..

[24]  Ulrich Derigs,et al.  Implementing Goldberg's max-flow-algorithm — A computational investigation , 1989, ZOR Methods Model. Oper. Res..

[25]  To-Yat Cheung,et al.  Computational Comparison of Eight Methods for the Maximum Network Flow Problem , 1980, TOMS.

[26]  S. Pallottino,et al.  The maximum flow problem: A max-preflow approach , 1991 .

[27]  Harold N. Gabow Scaling Algorithms for Network Problems , 1985, J. Comput. Syst. Sci..

[28]  Donald Goldfarb,et al.  On strongly polynomial variants of the network simplex algorithm for the maximum flow problem , 1991, Oper. Res. Lett..

[29]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[30]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[31]  D. R. Fulkerson,et al.  Maximal Flow Through a Network , 1956 .

[32]  Torben Hagerup,et al.  A randomized maximum-flow algorithm , 1989, 30th Annual Symposium on Foundations of Computer Science.

[33]  Donald Goldfarb,et al.  A computational comparison of the dinic and network simplex methods for maximum flow , 1988 .

[34]  S. N. Maheshwari,et al.  Analysis of Preflow Push Algorithms for Maximum Network Flow , 1988, FSTTCS.

[35]  D. Bertsekas An auction algorithm for the max-flow problem , 1995 .

[36]  Noga Alon,et al.  Generating Pseudo-Random Permutations and Maximum Flow Algorithms , 1990, Inf. Process. Lett..