Purpose: Compute maximum flow in time — for many years the best strongly polynomial bound, and the resolution of a long-standing open problem (James Orlin, 2013).

The result

Combined with the earlier King-Rao-Tarjan algorithm, Orlin’s work gives for all densities:

  • Orlin’s algorithm handles sparse graphs, ;
  • King-Rao-Tarjan handles the rest, , in ;
  • together: unconditionally.

This removed the last logarithmic factor from the bound of Goldberg-Tarjan that had stood since 1988.

How it works

Orlin’s algorithm is a careful combination of several ideas rather than one new trick:

  1. Compaction. Repeatedly contract portions of the network whose flow is already determined, shrinking geometrically. The bookkeeping ensures the contracted problem is equivalent.
  2. Excess scaling in the style of Ahuja-Orlin, to bound the number of non-saturating pushes.
  3. Dynamic trees (link-cut trees) to perform blocking-flow-like operations in amortized logarithmic time.
  4. An abundance argument: arcs carrying enough flow relative to the current scaling parameter can be fixed permanently and removed from consideration.

The analysis shows the total work across all contractions and phases telescopes to .

Complexity

  • Time: , strongly polynomial (no dependence on capacity magnitudes)
  • Space:

Where the field went next

In 2022, Chen, Kyng, Liu, Peng, Probst Gutenberg and Sachdeva gave an algorithm for max flow and min-cost flow, using interior-point methods with dynamic data structures for the linear algebra. That is almost linear — asymptotically far better than — but is currently entirely theoretical, with constants and machinery that put it well out of reach of implementation.

The practical picture is unchanged

SituationWhat to write
General max flow, contest sizesDinic
Bipartite matchingHopcroft-Karp or Dinic ()
Dense graphs, large capacitiesPush-relabel with highest-label and gap heuristics
Min cost flowSSP with potentials, or cost scaling

Dinic with the standard heuristics is essentially never the bottleneck at contest scale, despite its worse asymptotic bound.

Variants / Use Cases