Implementing weighted b-matching algorithms: insights from a computational study

We present an experimental study of an implementation of weighted perfect b-matching based on Pulleyblank's algorithm (1973). Although this problem is well-understood in theory and efficient algorithms are known, only little experience with implementations is available. In this paper several algorithmic variants are compared on synthetic and application problem data of very sparse graphs. This study was motivated by the practical need for an efficient b-matching solver for the latter application, namely as a subroutine in our approach to a mesh refinement problem in computer-aided design (CAD). Linear regression and operation counting is used to analyze code variants. The experiments indicate that a fractional jump-start should be used, a priority queue within the dual update helps, scaling of b-values is not necessary, whereas a delayed blossom shrinking heuristic significantly improves running times only for graphs with average degree two. The fastest variant of our implementation appears to be highly superior to a code by Miller & Pekny (1995).

[1]  William J. Cook,et al.  Solving Large-Scale Matching Problems , 1991, Network Flows And Matching.

[2]  John T. Stasko,et al.  Pairing heaps: experiments and analysis , 1987, CACM.

[3]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987, JACM.

[4]  M. Grötschel,et al.  Solving matching problems with linear programming , 1985, Math. Program..

[5]  Richard P. Anstee A Polynomial Algorithm for b-Matchings: An Alternative Approach , 1987, Inf. Process. Lett..

[6]  Donald L. Miller A Matching Based Exact Algorithm for Capacitated Vehicle Routing Problems , 1995, INFORMS J. Comput..

[7]  A. Gerards Chapter 3 Matching , 1995 .

[8]  Ulrich Derigs,et al.  An analysis of alternative strategies for implementing matching algorithms , 1983, Networks.

[9]  William J. Cook,et al.  Computing Minimum-Weight Perfect Matchings , 1999, INFORMS J. Comput..

[10]  J. Edmonds,et al.  Facets of I-matching polyhedra , 1974 .

[11]  M. R. Rao,et al.  Odd Minimum Cut-Sets and b-Matchings , 1982, Math. Oper. Res..

[12]  James B. Orlin,et al.  A faster strongly polynomial minimum cost flow algorithm , 1993, STOC '88.

[13]  Michael L. Fredman,et al.  On the efficiency of pairing heaps and related data structures , 1999, JACM.

[14]  Alexander Schwartz,et al.  Implementing weighted b-matching algorithms: towards a flexible software design , 1999, JEAL.

[15]  Rolf H. Möhring,et al.  Mesh refinement via bidirected flows: modeling, complexity, and computational results , 1997, JACM.

[16]  Joseph F. Pekny,et al.  A Staged Primal-Dual Algorithm for Perfect b-Matching with Edge Capacities , 1995, INFORMS J. Comput..

[17]  James B. Orlin A Faster Strongly Polynomial Minimum Cost Flow Algorithm , 1993, Oper. Res..

[18]  Jack Edmonds,et al.  Matching: A Well-Solved Class of Integer Linear Programs , 2001, Combinatorial Optimization.

[19]  J. Edmonds Paths, Trees, and Flowers , 1965, Canadian Journal of Mathematics.

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

[21]  Harold N. Gabow,et al.  An efficient reduction technique for degree-constrained subgraph and bidirected network flow problems , 1983, STOC.

[22]  Rolf H. Möhring,et al.  Complexity and Modeling Aspects of Mesh Refinement into Quadrilaterals , 1997, Algorithmica.

[23]  W. Pulleyblank Matchings and extensions , 1996 .