0% found this document useful (0 votes)
38 views34 pages

15.082J & 6.855J & ESD.78J October 7, 2010: Introduction To Maximum Flows

This document provides an introduction to the maximum flow problem and the Ford-Fulkerson algorithm. It defines the maximum flow problem and describes how to model other problems as maximum flow problems. It then introduces the concepts of residual networks and augmenting paths which are used by the Ford-Fulkerson algorithm to find a maximum flow. The algorithm works by repeatedly finding augmenting paths in the residual network and sending flow along these paths until no more exist. The document proves properties of this algorithm including correctness, termination on finite networks, and the max-flow min-cut theorem relating maximum flow to minimum cuts. It provides examples of its application and discusses extensions including solving maximum flow in polynomial time.

Uploaded by

Pihu Jan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views34 pages

15.082J & 6.855J & ESD.78J October 7, 2010: Introduction To Maximum Flows

This document provides an introduction to the maximum flow problem and the Ford-Fulkerson algorithm. It defines the maximum flow problem and describes how to model other problems as maximum flow problems. It then introduces the concepts of residual networks and augmenting paths which are used by the Ford-Fulkerson algorithm to find a maximum flow. The algorithm works by repeatedly finding augmenting paths in the residual network and sending flow along these paths until no more exist. The document proves properties of this algorithm including correctness, termination on finite networks, and the max-flow min-cut theorem relating maximum flow to minimum cuts. It provides examples of its application and discusses extensions including solving maximum flow in polynomial time.

Uploaded by

Pihu Jan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 34

15.082J & 6.855J & ESD.

78J
October 7, 2010
Introduction to Maximum Flows

The Max Flow Problem


G
xij =

=
(N,A)
flow on arc (i,j)

uij

capacity of flow in arc (i,j)

s
t

=
=

source node
sink node

Maximize

Subject to

j xij

j xsj

k xki

= 0

for each i s,t

= v

0 xij uij for all (i,j) A.

Maximum Flows
We refer to a flow x as maximum if it is feasible
and maximizes v. Our objective in the max flow
problem is to find a maximum flow.
10

1
6 5

7
t

10

A max flow problem. Capacities and a nonoptimum flow.

The feasibility problem: find a feasible flow


warehouses
6
5

1
2

retailers

Is there a way of shipping from the warehouses to


the retailers to satisfy demand?
4

Transformation to a max flow problem


warehouses
6
5

6
5

1
2

4 4
5

retailers

66

77

66

55

There is a 1-1 correspondence with flows from s to t


with 24 units (why 24?) and feasible flows for the
transportation problem.

sending flows along s-t paths


10

1
6 5

10

One can find a larger flow from s to t by


sending 1 unit of flow along the path s-2-t
10

1
6
6 5

7
t

7
6

10

A different kind of path


10

11

s
6

10

One could also find a larger flow from s to t by


sending 1 unit of flow along the path s-2-1-t.
(Backward arcs have their flow decreased.)
10

0
1

6
6 5

8
7
t

10

Decreasing flow in (1, 2) is


mathematically equivalent
to sending flow in (2, 1)
w.r.t. node balance
constraints.
7

The Residual Network


10

11

s
6

uij

xij

10

uij - xij
1

2
s

1
5

7
4

1
2

xij

The Residual Network G(x)

We let rij denote


the residual
capacity of arc (i,j)
8

A Useful Idea: Augmenting Paths


An augmenting path is a path from s to t in the
residual network.
The residual capacity of the augmenting path P is
(P) = min{rij : (i,j) P}.
To augment along P is to send (P) units of flow
along each arc of the path. We modify x and the
residual capacities appropriately.
rij := rij - (P) and rji := rji + (P)
1

2
s

7
4

1
5

for (i,j) P.
1

2
t

8
4

The Ford Fulkerson Maximum Flow Algorithm


x := 0;
create the residual network G(x);
while there is some directed path from
s to t in G(x) do
let P be a path from s to t in G(x);
:= (P);
send units of flow along P;
update the r's;

FordFulkerson
Algorithm
Animation

10

To prove correctness of the algorithm


Invariant: at each iteration, there is a feasible flow
from s to t.
Finiteness (assuming capacities are integral and finite):
The residual capacities are always integer valued
The residual capacities out of node s decrease by at
least one after each update.
Correctness
If there is no augmenting path, then the flow must be
maximum.
max-flow min-cut theorem.
11

Integrality
Assume that all data are integral.
Lemma: At each iteration all residual capacities are
integral.
Proof. It is true at the beginning. Assume it is true
after the first k-1 augmentations, and consider
augmentation k along path P.
The residual capacity of P is the smallest
residual capacity on P, which is integral.
After updating, we modify residual capacities by 0,
or , and thus residual capacities stay integral.
12

Theorem. The Ford-Fulkerson Algorithm is finite


Proof. The capacity of each augmenting path is at least
1.

2
3
1

11

t
11
1 1

rsj decreases for some j.


So, the sum of the residual capacities of arcs out
of s decreases at least 1 per iteration.
Number of augmentations is O(nU), where U is the
largest capacity in the network.

13

Mental Break
What are aglets?
The plastic things on the ends of shoelaces.
How fast does the quartz crystal in a watch vibrate?
About 32,000 times per second.
If Barbie (the doll) were life size and 5 9 tall, how big
would her waist be?
18 inches. Incidentally, Barbies full name is Barbara
Millicent Roberts

Mental Break
True or false. In Alaska it is illegal to shoot a moose from a
helicopter or any other flying vehicle.
True.
True or false. In Athens, Georgia, a drivers license can be
taken away by law if the driver is deemed either unbathed or
poorly dressed.
False. However, it is true for Athens, Greece.
In Helsinki, Finland that dont give parking tickets to illegally
parked cars. What do they do instead?
They deflate the tires of the car.

To be proved: If there is no augmenting


path, then the flow is maximum
10, 9

1
1,1

s
6, 6

s
6

t
10,7

3
7

x* = final flow
If there is a directed path from i
to j in G, we write i j.

1
2

G(x) = residual
network for flow x.

8,8

S* = { j : s j in G(x*)}
t

T* = N\S*

16

Lemma: there is no arc in G(x*) from S* to T*


1

1
9

s
6

1
2

3
7

S* = { j : s j in G(x*)}
t

T* = N\S*

Proof. If there were such an arc


(i, j), then j would be in S*.
j

We will use this Lemma in 6 slides.


17

Cut Duality Theory


1

10, 9

8,8

1,1

s
6, 6

t
10,7

An (s,t)-cut in a network G = (N,A) is a partition of


N into two disjoint subsets S and T such that s S
and t T, e.g., S = { s, 1 } and T = { 2, t }.
The capacity of a cut (S,T) is
CAP(S,T)

iSjT uij
18

The flow across a cut


We define the flow across the cut (S,T) to be
Fx(S,T) = iSjT xij
10, 9

6, 6

iSjT xji

8,8

1,1

10, 9
t

10,7

If S = {s, 1}, then


Fx(S,T) = 6 + 1 + 8 = 15

8,8

1,1

s
6, 6

t
10,7

If S = {s, 2}, then


Fx(S,T) = 9 - 1 + 7 = 15
19

Max Flow Min Cut


Theorem. (Max-flow Min-Cut). The maximum flow
value is the minimum value of a cut.
Proof. The proof will rely on the following three lemmas:
Lemma 1. For any flow x, and for any s-t cut (S, T),
the flow out of s equals Fx(S, T).
Lemma 2. For any flow x, and for any s-t cut (S, T),
Fx(S, T) CAP(S, T).
Lemma 3. Suppose that x* is a feasible s-t flow with
no augmenting path. Let S* = {j : s j in G(x*)} and
let T* = N\S. Then Fx*(S*, T*) = CAP(S*, T*).

20

Proof of Theorem (using the 3 lemmas)


Let x be a maximum flow
Let v be the maximum flow value
Let x* be the final flow.
Let v* be the flow out of node s (for x*)
Let S* be nodes reachable in G(x*) from s.
Let T* = N\S*.
1. v* v

by definition of v

2. v = Fx(S*, T*)

by Lemma 1.

3. Fx(S*, T*) CAP(S*, T*)

by Lemma 2.

4. v* = Fx*(S*, T*) = CAP(S*, T*)

by Lemmas 1,3.

Thus all inequalities are equalities and v* = v.


21

Proof of Lemma 1
Proof. Add the conservation of flow constraints for
each node i S - {s} to the constraint that the flow
leaving s is v. The resulting equality is Fx(S,T) = v.

10, 9

8,8

1,1

s
6, 6

10, 9
t

10,7

8,8

1,1

s
6, 6

t
10,7

xs1 + xs2 = v
x12 + x1t xs1 = 0

xs1 + xs2 = v
x2t xs2 x12 = 0

xs2 + x12 + x1t = v

xs1 - x12 + x2t = v

22

Proof of Lemma 2
Proof. If i S, and j T, then xij uij. If i T, and j
S, then xij 0.
Fx(S,T)

CAP(S,T)

10, 9

iSjT xij

iSjT xji

= iSjT uij

iSjT 0

8,8

1,1

s
6, 6

CAP(S, T) = 15

10, 9
t

10,7

8,8

1,1

s
6, 6

t
10,7

CAP(S, T) = 16
23

Proof of Lemma 3.
We have already seen that there is no arc from
S* to T* in G(x*).
i S* and

j T*

x*ij = uij and x*ji = 0

x*ij = uij
x*ji = 0

Otherwise, there is
an arc (i, j) in G(x*)

Therefore Fx*(S*, T*) = CAP(S*, T*)

24

Review
Corollary. If the capacities are finite integers, then the FordFulkerson Augmenting Path Algorithm terminates in finite
time with a maximum flow from s to t.
Corollary. If the capacities are finite rational numbers, then
the Ford-Fulkerson Augmenting Path Algorithm
terminates in finite time with a maximum flow from s to t.
(why?)
Corollary. To obtain a minimum cut from a maximum flow x*,
let S* denote all nodes reachable from s in G(x), and T* =
N\S*
Remark. This does not establish finiteness if u ij = or if
capacities may be irrational.
25

A simple and very bad example

26

After 1 augmentation

M-1

1
M

M-1

27

After two augmentations

M-1
1

1
1

M-1

M-1
1

M-1

28

After 3 augmentations

M-2

M-1

1
M-1
1

M-2

29

And so on

30

After 2M augmentations

1
M

1
M

31

An even worse example


In Exercise 6.48, there is an example that takes an
infinite number of augmentations on irrational
data, and does not converge to the correct flow.
But we shall soon see how to solve max flows in a
polynomial number of operations, even if data
can be irrational.

32

Summary and Extensions


1. Augmenting path theorem

2. Ford-Fulkerson Algorithm

3. Duality Theory.

4. Next Lecture:
Polynomial time variants of FF algorithm
Applications of Max-Flow Min-Cut
33

MITOpenCourseWare
http://ocw.mit.edu

15.082J / 6.855J / ESD.78J Network Optimization


Fall 2010

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

You might also like