Problem
Given a network , find the flow with the greatest value
Definition - cut
A cut in the network is a partition of the vertex set into two disjoint subsets and such that
The capacity of a cut is the total capacity of all edges from to :
Example

Observation: Any s-t cut in a flow network places an upper bound on the value of any feasible flow.
Maximum flow
If we find, for a flow , an - cut such that
then is a maximum flow
Lemma
We claim:
(i)
( makes sure those edges exist (equivalently all edges (,) such that and ))
(ii) proved by showing (iii) proved by capacity constraint
Maxflow-Mincut Theorem
Maxflow-Mincut Theorem
In any flow network, the maximum value of a flow equals the minimum capacity of an s-t cut
formally
This means we could find a minimum - cut in finite steps, and a minimal cut always exists.
Characterization of Maximum Flow
Let be a network (without oppositely directed edges).
A flow is a maximum flow there is no directed – path in the residual network .
For every maximum flow , there exists an – cut such that
Proof
There is no directed – path in the residual network there exists an – cut such that is a maximum flow.
nodes in that can be reached from
For all there is For all there is
Ford-Fulkerson Algorithm
Assume all capacities are integers.
Start with the zero flow . As long as there is a directed - path in the residual network , augment the flow along .
Let
be the minimum residual capacity on the path. Then update the flow by
- increasing by on forward edges of
- decreasing by on backward edges of
After the augmentation, the value of the flow increases by :
Since all capacities are integers, all residual capacities are integers as well, so whenever an augmenting path exists. Therefore every augmentation increases the flow value by at least .
Because the value of any flow is bounded above by the capacity of any - cut, the algorithm can perform only finitely many augmentations. When no augmenting path exists anymore, the flow is maximum by the characterization above.
Integer capacities
If all capacities are integers, Ford-Fulkerson terminates and returns a maximum flow. Moreover, the final flow is integral on every edge. Its running time is , since there are at most augmentations and each search for an augmenting path takes time.