  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 = \Omega(n^{1+\epsilon})$ (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.
