Capacity and conservation define feasible flow

In the standard single-source, single-sink model, directed edges have nonnegative capacities and flows between zero and capacity. Intermediate vertices conserve total incoming and outgoing flow. The objective maximizes net source outflow rather than filling every edge.

Unused capacity on one edge may be blocked by a downstream bottleneck. The problem concerns a feasible network-wide allocation, not shortest-path length or forcing all throughput along one route. Multiple commodities, time dependence and additional costs need different models.

References: [1] [2]

Residual reverse edges revise earlier choices

An edge of capacity c carrying f has forward residual capacity c−f and reverse residual capacity f. An augmenting source-to-sink residual path can be adjusted by its smallest residual capacity.

A reverse residual edge cancels part of an earlier assignment rather than inventing a physical transport link. Searching only unused forward edges can miss improvements that require rerouting previous flow.

References: [2] [1]

No augmenting path gives a cut certificate

When no residual source-to-sink path remains, vertices still reachable from the source define a cut. Every feasible flow is bounded by every source–sink cut; equality between the current flow value and this cut capacity certifies both optima.

Augmenting-path selection affects computation; Princeton uses breadth-first search for a fewest-edge path. Numerical implementations must address rounding and overflow. The optimum value also does not require a unique allocation on every edge.

References: [1] [2]