To order through AMS contact the AMS Customer Services Department, P.O. Box 6248, Providence, Rhode Island 02940-6248 USA. For Visa, Mastercard, Discover, and American Express orders call 1-800-321-4AMS.
You may also visit the AMS Bookstore and order directly from there. DIMACS does not distribute or sell these books.
The DIMACS Implementation Challenge was organized for the purpose of encouraging more work in this area. Sponsored by DIMACS, the Challenge specifically encouraged experimental work in the area of network flows and matchings. Participants at sites in the United States, Europe, and Japan undertook projects during November 1990-August 1991 to test and evaluate algorithms for these problems. The Challenge culminated in a three-day workshop, held October 14-16, 1991, at the DIMACS Center at Rutgers University. This Proceedings contains revised and refereed versions of 22 of the papers presented at the Workshop, along with supplemental material about the Challenge and the Workshop.
One goal of the Challenge was to promote the active interchange of information and sharing of test data among participants. A repository of test instances, sample codes, and even draft papers was maintained at DIMACS, and made electronically available to all participants. Extended abstracts of the workshop papers were circulated before the workshop, and authors were given several months after the workshop to continue their experiments before the Proceedings submissions were due. These submissions were then refereed. In most cases the papers were then substantially revised in response to requests for more experimental data and more detailed explanations of the algorithmic issues involved. The papers are now in final form (although in several cases authors have continued their research and will be writing follow-up papers).
As a result of the cooperative approach taken by the authors and the long gestation period for their papers, this Proceedings should prove more informative than would a random collection of experimental papers on the same topic. Many papers report results on the same classes of instances, and calibrate the speed of their computers using the same set of benchmark tests. Many authors cite each other and make use of lessons learned by the other participants (and, in a few cases, point out the existence of contradictory results that had to be left for future studies to resolve). Thus readers will have an easier task of comparing results and drawing their own conclusions.
The papers are divided into five groups, according to the algorithmic problems they address. The first group of five papers concerns the maximum network flow problem. All touch on the recent push/relabel approach of Goldberg and Tarjan, which workshop participants agreed is the method of choice for practically all instance classes. Anderson and Setubal implement Goldberg-Tarjan and compare it to many of the well-known algorithms that preceded it. Nguyen and Venkateswaran study the effects of various algorithmic choices one can make in an implementation of Goldberg-Tarjan, and Badics and Boros examine the value of using sophisticated data structures in implementing the algorithm (and an alternative algorithm due to Cheriyan and Hagerup). Alizadeh and Goldberg report on experiments in which the Goldberg-Tarjan algorithm is implemented on a massively parallel SIMD computer. Finally Shannon, MacCuish, and Johnson report on lessons learned by animating key aspects of the algorithm's inner workings.
The second group of papers concerns the minimum cost network flow problem. Here there was no clear "champion," as is amply demonstrated in a paper by Bland et al., which compares four distinct approaches (a cost scaling algorithm of Bland and Jensen, a relaxation algorithm of Bertsekas, a network simplex code of Grigoriadis, and a scaling push/relabel algorithm of Goldberg and Tarjan). The paper concludes that each algorithm can either win or lose by large amounts, depending on the instance class. The remaining papers in this group focus more on individual algorithms. Goldberg and Kharitonov investigate a variety of heuristic ideas for speeding up the Goldberg-Tarjan approach. Maros reports on experiments applying his own network simplex code to the problem. Two papers, by Joshi, Goldstein, and Vaidya and Resende and Viega, study interior point approaches to the linear programming formulation of the problem. Two other papers, by Fujishige et al. and by McCormick and Liu, examine some new algorithmic ideas in the context of the graph-theoretic formulation of the problem. The final paper in this group, by Neilsen and Zenios, reports on experiments comparing implementations of a relaxation algorithm and a new algorithm of the authors on a massively parallel machine.
The third group of papers considers the multicommodity flow problem. There has recently been much interesting theoretical work on combinatorial approximation schemes, which by settling for merely getting close to optimal, offer the possibility of running much faster than traditional optimization approaches (such as the simplex algorithm). Papers by Borger, Kang, and Klein and by Leong, Shor, and Stein report on experiments with these theoretically interesting algorithms. Their results suggest that one needs to sacrifice very little in terms of accuracy to obtain impressive speedups, assuming the number of commodities is large.
The fourth group of papers deals with the assignment problem, where again the algorithm of choice may depend heavily on the type of instance under consideration. Castanon considers algorithmic methods for fine-tuning the auction approach to the problem. Hao and Kocur study a new implementation of an algorithm based on shortest augmenting paths. Ramikrishnan, Karmarkar, and Kamath report on extensive tests with a mild specialization of their "approximate dual projective" interior point method for linear programming. Brady et al. look at parallel implementations of several assignment algorithms, and in particular, implementations of the auction algorithm on a variety of parallel architectures.
The fifth and final group of papers considers general graph matching. For the unweighted case, an algorithm of Micali and Vazirani, long viewed as the theoretical champion, had never been seriously studied from an experimental point of view. Papers by Crocker and by Mattingly and Ritchey present
Foreword ix Preface D.S. Johnson and C.C. McGeoch xi Goldberg's Algorithm for Maximum Flow in Perspective: A Computational Study R.J. Anderson and J.C. Setubal 1 Implementations of the Goldberg-Tarjan Maximum Flow Algorithm Q.C. Nguyen and V. Venkateswaran 19 Implementing a Maximum Flow Algorithm: Experiments with Dynamic Trees T. Badics and E. Boros 43 Implementing the Push-Relabel Method for the Maximum Flow Problem on a Connection Machine F. Alizadeth and A.V. Goldberg 65 A Case Study in Algorithm Animation: Maximum Flow Algorithms G.E. Shannon, J. MacCuish, and E. Johnson 97 An Empirical Study of Min Cost Flow Algorithms for the Minimum-Cost Flow Problem R.G. Bland, J. Cheriyan, D.L. Jensen, and L. Ladanyi 119 On Implementing Scaling Push-Relabel Algorithms for the Minimum-Cost Flow Problem A.V. Goldberg and M. Kharitanov 157 Performance Evaluation of the MINET Minimum Cost Netflow Solver I. Maros 199 A Speculative Contraction Method for Minimum Cost Flows: Toward a Practical Algorithm S. Fujishige, K. Iwano, J. Nakano, and S. Tezuka 219 An Experimental Implementation of the Dual Cancel and Tighten Algorithm for Minimum-Cost Network Flow S.T. McCormick and L. Liu 247 A Fast Implementation of a Path-Following Algorithm for Maximizing a Linear Function over a Network Polytope A. Joshi, A.S. Goldstein, and P.M. Vaidya 267 An Efficient Implementation of a Network Interior Point Method M.G.C. Resende and G. Veiga 299 On the Massively Parallel Solution of Linear Network Flow Problems S. Neilsen and S. Zenios 349 Approximating Concurrent Flow with Unit Demands and Capacities: An Implementation J.M. Borger, T.S. Kang, and P.N. Klein 371 Implementation of a Combinatorial Multicommodity Flow Algorithm T. Leong, P.W. Shor, and C.Stein 387 Reverse Auction Algorithms for Assignment Problems D.A. Castanon 407 An Approximate Dual Projective Algorithm for Solving Assignment Problems K.G. Ramakrishnan, N.K. Karmarkar, and A.P. Kamath 431 An Implementation of a Shortest Augmenting Path Algorithm for the Assignment Problem J. Hao and G. Kocur 453 The Assignment Problem on Parallel Architectures M. Brady, K.K. Jung, H.T. Nguyen, R. Raghavan, and R. Subramonian 469 An Experimental Comparison of Two Maximum Cardinality Matching Programs S.T. Crocker 519 Implementing on O(/NM) Cardinality Matching Algorithm R.B. Mattingly and N.P. Ritchey 539 Solving Large-Scale Matching Problems D. Applegate and W. Cook 557 Appendix A: Electronically Available Materials C.C. McGeoch 577 Appendix B: Panel Discussion Highlights D.S. Johnson 583