Augment or Push? A computational study of Bipartite Matching and Unit Capacity Flow Algorithms.
Boris V. Cherkassky, Andrew V. Goldberg, Paul R. Martin, João Carlos Setúbal, Jorge Stolfi · 1997
We conduct a computational study of unit capacity flow and bipartite matching algorithms. Our goal is to determine which variant of the push-relabel method is most efficient in practice and to compare push-relabel algorithms with augmenting path algorithms. We have implemented and compared three push-relabel algorithms, three augmenting path algorithms (one of which is new), and one augment-relabel algorithm. The depth-first search augmenting path algorithm was thought to be a good choice for the bipartite matching problem, but our study shows that it is not robust. For the problems we study, our implementations of the fifo and lowest-level selection push-relabel algorithms have the most robust asymptotic rate of growth and work best overall. Augmenting path algorithms, although not as robust, on some problem classes are faster by a moderate constant factor. Our study includes several new problem families and input graphs with as many as 5 \\Theta 10 5 vertices.