Network Flows and Max-Flow Min-Cut
Network flow theory models the transportation of commodities through a network. The max-flow min-cut theorem, a cornerstone of combinatorial optimization, establishes a deep duality between flows and cuts.
Flow Networks
A flow network is a directed graph with a source , sink , and capacity function . A flow is a function satisfying: (1) capacity constraint: for all ; (2) conservation: for all . The value of is .
An - cut is a partition of with . The capacity of the cut is . For any flow and cut : . This shows max flow min cut.
Algorithms
The Ford-Fulkerson method iteratively finds augmenting paths in the residual graph (where edge has residual capacity and back-edge ). Each augmenting path increases by the bottleneck capacity. With integer capacities : terminates in augmentations, total . Edmonds-Karp (BFS augmentations): . Dinic's algorithm (blocking flows on layered graphs): .
The Goldberg-Tarjan push-relabel algorithm maintains a preflow (excess allowed at vertices) and uses "push" (send flow along admissible edges) and "relabel" (increase height labels) operations. Running time: with FIFO selection, or with highest-label. For dense graphs, push-relabel is often the fastest in practice. The highest-label variant achieves worst-case.