Lecture Notes Discrete Optimization - Applied Mathematics
Lecture Notes Discrete Optimization - Applied Mathematics
Lecture Notes Discrete Optimization - Applied Mathematics
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
B<br />
p<br />
B<br />
p<br />
1<br />
1<br />
p<br />
1<br />
s<br />
1<br />
t<br />
s<br />
1 t<br />
s<br />
t<br />
B<br />
u<br />
B<br />
1<br />
u<br />
1<br />
u<br />
1<br />
Figure 7: A bad instance for the Ford-Fulkerson algorithm (left). Suppose that B is a<br />
large integer. The algorithm alternately augments one unit of flow along the two paths<br />
〈s,u, p,t〉 and 〈s, p,u,t〉. The flow after two augmentations is shown on the right. The<br />
algorithm needs 2B augmentations to find a maximum flow.<br />
Proof.<br />
f(X,V \ X)= f(X,V)− f(X,X)= f(X,V)= f(s,V)+ f(X− s,V)= f(s,V)=| f|.<br />
Intuitively, it is clear that if we consider an arbitrary cut (X, ¯X) of G, then the total flow<br />
f(X, ¯X) that leaves X is at most c(X, ¯X). The next lemma shows this formally.<br />
Lemma 5.4. The flow value of any flow f in G is at most the capacity of any cut (X, ¯X)<br />
of G, i.e., f(X, ¯X)≤c(X, ¯X).<br />
Proof. By Lemma 5.3, we have<br />
| f|= f(X, ¯X)= ∑<br />
∑<br />
u∈X v∈V\X<br />
f(u,v) ≤ ∑<br />
∑<br />
u∈X v∈V\X<br />
c(u,v)=c(X, ¯X).<br />
A fundamental result for flows is that the value of a maximum flow is equal to the minimum<br />
capacity of a cut.<br />
Theorem 5.3 (Max-Flow Min-Cut Theorem). Let f be a flow in G. Then the following<br />
conditions are equivalent:<br />
1. f is a maximum flow of G.<br />
2. The residual graph G f contains no augmenting path.<br />
3. | f|=c(X, ¯X) for some cut (X, ¯X) of G.<br />
Proof. (1)⇒(2): Suppose for the sake of contradiction that f is a maximum flow of G<br />
and there is an augmenting path P in G f . By Lemma 5.2, we can augment f along P and<br />
obtain a flow of value strictly larger than| f|, which is a contradiction.<br />
(2)⇒(3): Suppose that G f contains no augmenting path. Let X be the set of nodes that<br />
are reachable from s in G f . Note that t /∈ X because there is no path from s to t in G f .<br />
That is, (X, ¯X) is a cut of G. By Lemma 5.3, | f| = f(X, ¯X). Moreover, for every u∈X<br />
and v∈ ¯X, we must have f(u,v) = c(u,v) because otherwise (u,v)∈E f and v would be<br />
part of X. We conclude| f|= f(X, ¯X)=c(X, ¯X).<br />
32