Push-Relabel Algorithm
Push-Relabel Algorithm for Maximum Flow · Also known as: preflow-push algorithm, Goldberg-Tarjan algorithm
The Push-Relabel Algorithm, developed by Andrew V. Goldberg and Robert E. Tarjan in 1988, is a highly efficient method for computing maximum flow in networks. Unlike augmenting path methods, it maintains a preflow and uses local push and global relabeling operations to drive flow toward the sink, achieving superior worst-case complexity.
Read the full method
Sign in with a free account to read this section.
Method map
The neighbourhood of related methods — select a node to explore.
When to use it
Apply the push-relabel algorithm for computing maximum flow in large dense networks where augmenting path methods become inefficient. It is particularly effective for networks with thousands or millions of edges. Use it when you need guaranteed polynomial-time performance and want to leverage modern data structures. For sparse networks or educational purposes, augmenting path methods may be simpler to understand and implement.
Strengths & limitations
- Superior worst-case time complexity: O(V³) or O(V²√E) with gap heuristic
- Highly efficient in practice, especially for large and dense networks
- Locality of operations (push/relabel) allows for good cache performance
- Amenable to parallelization and distributed implementations
- Multiple implementation variants for different problem structures
- More complex to understand and implement than augmenting path methods
- Requires careful handling of data structures (discharge lists, gap heuristics) for optimal performance
- Worst-case complexity still higher than some specialized algorithms for special graph classes
- Less intuitive understanding of the solution process compared to augmenting paths
Frequently asked
What is the difference between preflow and flow?
Preflow temporarily allows nodes to hold excess flow (flow in minus flow out can be positive), whereas true flow must be conserved at all nodes except source and sink. The algorithm terminates when preflow becomes a valid flow.
What is the purpose of the height function?
Heights create a quasi-distance measure: flow can only be pushed downhill (from higher to lower heights), preventing unnecessary cycles and ensuring termination. Heights are increased through relabeling to create new paths when needed.
What is the gap heuristic and why is it important?
The gap heuristic detects when no node has a height in a certain range, indicating that some nodes cannot reach the sink. These nodes and their excess are quickly identified and processed, significantly improving practical performance.
How does push-relabel compare in practice to Edmonds-Karp?
Push-relabel has better worst-case complexity and typically outperforms Edmonds-Karp on large networks, but for small networks or sparse graphs, Edmonds-Karp may be simpler to implement with competitive performance.
Sources
- Goldberg, A. V., & Tarjan, R. E. (1988). A new approach to the maximum flow problem. Journal of the ACM, 35(4), 921-940. DOI: 10.1145/48014.61051 ↗
- Goldberg, A. V. (1998). Recent advances in maximum flow and minimum-cost flow algorithms. In Algorithm Theory (pp. 1-10). Springer, Berlin. link ↗
How to cite this page
ScholarGate. (2026, June 3). Push-Relabel Algorithm for Maximum Flow. ScholarGate. https://scholargate.app/en/operations-research/push-relabel-algorithm
Which method?
Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.
- Bellman-Ford AlgorithmOperations Research↔ compare
- Dijkstra AlgorithmOperations Research↔ compare
- Ford-Fulkerson AlgorithmOperations Research↔ compare