A New Push-Relabel Algorithm for Sparse Networks
Abstract
In this paper, we present a new push-relabel algorithm for the maximum flow problem on flow networks with n vertices and m arcs. Our algorithm computes a maximum flow in O(mn) time on sparse networks where m = O(n). To our knowledge, this is the first O(mn) time push-relabel algorithm for the m = O(n) edge case; previously, it was known that push-relabel implementations could find a max-flow in O(mn) time when m = (n1+ε) (King, et. al., SODA `92). This also matches a recent flow decomposition-based algorithm due to Orlin (STOC `13), which finds a max-flow in O(mn) time on sparse networks. Our main result is improving on the Excess-Scaling algorithm (Ahuja & Orlin, 1989) by reducing the number of nonsaturating pushes to O(mn) across all scaling phases. This is reached by combining Ahuja and Orlin's algorithm with Orlin's compact flow networks. A contribution of this paper is demonstrating that the compact networks technique can be extended to the push-relabel family of algorithms. We also provide evidence that this approach could be a promising avenue towards an O(mn)-time algorithm for all edge densities.