DOC PREVIEW
UT Dallas CS 6385 - 08FLOW

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

The Maximum Flow ProblemThe historically first and most fundamental network flow problem is theMaximum Flow Problem.ModelGiven a network with N nodes and links among them. We would like totransport some entity (for example, data) from a source node to a desti-nation node so that it flows along the links. The goal is to determine themaximum possible amount of flow that can be pushed through the network,such that link capacity contraints are obeyed and at the intermediate nodes(also called transshipment nodes) the flow is conserved, i.e., whatever flowsinto an intermediate node, the same amount must flow out.Let us review the input for the problem, the objective and constraints andthen let us formulate it as a linear programming task.Input data:• The capacity of the i → j link is Cij≥ 0 (i, j = 1, . . . , N).• There are two distinguished nodes: the source (s) and the destination(d).Remarks:• The links are directed in this model, Cijand Cjimay be different.• If the link from i to j is missing from the network, then Cij= 0 . Thus,the capacities automatically describe the network topology, too.Constraints:• Capacity constraint: The flow on each link cannot exceed the capacityof the link.• Flow conservation: The total outgoing flow of a node is equal to thetotal incoming flow of the node, except for the source and the destina-tion.Objective:Find the maximum amount of flow that can be sent through the network fromthe source to the destination, such that the link capacity is not exceeded onany link and the flow conservation constraint is satisfied at every intermediate(transshipment) node.LP FormulationLet xijdenote the flow on link (i, j). (The values of these variables are notknown in advance, we want to optimize them.)Let us express the constraints:• The flow is nonnegative (by definition):xij≥ 0 (∀i, j)• Capacity constraints:xij≤ Cij(∀i, j)• Flow conservation:NXj=1xij−NXk=1xki= 0 (∀i 6= s, d)Here the first sum is the total flow out of node i, the second sum is thetotal flow into node i.The objective function is the total net flow out of the source:F =NXj=1xsj−NXk=1xksThus, the LP formulation is:max F =NXj=1xsj−NXk=1xkssubject toNXj=1xij−NXk=1xki= 0 (∀i 6= s, d)xij≤ Cij(∀i, j)xij≥ 0 (∀i, j)SolutionSolving the Maximum Flow Problem directly as a linear program, althoughpossible, is not economical. There are several special algorithms which utilizethe special structure of the problem and, therefore, are faster and simplerthan a general LP solution.The historically first and most fundamental maximum flow algorithm is dueto Ford and Fulkerson. The key idea of the algorithm is that if we can find aso called augmenting path, then the flow can be increased without violatingany constraints.An augmenting path is any undirected path from s to d, such that on anyforward edge (an edge whose direction agrees with the path traversal) theflow is less than the capacity, while on any backward edge (an edge withopposite direction to the path traversal) the flow is positive.If such an augmenting path is found then by increasing the flow on theforward edges and decreasing with the same amount on the backward edgeswe can increase the net flow out of the source, without constraint violation.An augmenting path, if exists, can be found by a shortest path computationin an auxiliary graph, called residual graph, which is easily constructed fromthe original, using the current flow. If no augmenting path exists, then theflow is necessarily maximum.The details of the Ford-Fulkerson algorithm are presented in the next set ofslides (optional).Three important related results are summarized in the following theorems.The first is concerned with the number of iterations (augmentations) thealgorithm has to do in the worst case. Simple examples show that withunlucky choices for the augmenting paths the number of iterations can growexponentially. On the other hand, one can easily avoid this, as shown in thefollowing theorem.Theorem 1 If among the possible augmenting paths in the residual grapha shortest path is chosen in every iteration, then the algorithm reaches themaximum flow after at most nm/4 iterations, where n is the number of nodesand m is the number of edges in the graph.Note: This variant of the Ford-Fulkerson method is often called Edmonds-Karp algorithm.Another important result is the famous Max Flow Min Cut Theorem.Theorem 2 The value of the maximum flow from s to d is equal to theminimum capacity of any cut which separates d from s.Note: Since no more flow can be pushed through any cut than its capacity,therefore, the total s → d flow can never be larger than the capacity of anys → d cut (a cut that separates d from s). That is, for any feasible value Fof the s → d flow and for any s → d cut with capacity CF ≤ Calways holds. The nice thing is that if we maximize the lefthand-side andminimize the righthand-side, then we get precise equality. In other words,whatever is not obviously excluded by the capacity limitations, can actuallybe achieved. There is no gap here between the theoretically possible and thepractically achievable.Yet another important result is about the integrality of the maximum flow.Theorem 3 If all capacities are integers, then there exists a maximum flowin which the value of the flow on each edge is an integer (and, therefore, thetotal flow is also integer). Such an integer flow can also be efficiently foundby the Ford-Fulkerson or Edmonds-Karp algorithms.Note: This integrality theorem makes it possible to use maximum flow com-putations for solving graph optimization problems. Examples are the max-imum number of independent paths or the maximum matching problem inbipartite graphs. See details in the slide set entitled ”Application of Maxi-mum Flow to Other Optimization


View Full Document

UT Dallas CS 6385 - 08FLOW

Documents in this Course
assn1

assn1

2 pages

38rel2

38rel2

5 pages

Report

Report

3 pages

networks

networks

18 pages

lp2

lp2

44 pages

lp2 (2)

lp2 (2)

27 pages

lp1(1)

lp1(1)

21 pages

integer1

integer1

50 pages

FrankR2

FrankR2

3 pages

duality

duality

28 pages

CMST

CMST

44 pages

hw4

hw4

3 pages

for 1

for 1

11 pages

ENCh02

ENCh02

33 pages

pree

pree

2 pages

new  3

new 3

2 pages

new  2

new 2

2 pages

hw4a

hw4a

2 pages

T2_Sol

T2_Sol

4 pages

ISM3

ISM3

8 pages

hw4_sol

hw4_sol

6 pages

Elm04_06

Elm04_06

11 pages

atn proj2

atn proj2

20 pages

12CUT1

12CUT1

8 pages

09Ford

09Ford

23 pages

03LP_su

03LP_su

6 pages

40REL40

40REL40

5 pages

39rel3

39rel3

5 pages

38arel2

38arel2

5 pages

37REL1

37REL1

3 pages

24TABU

24TABU

3 pages

22DYNPR

22DYNPR

3 pages

21B&C

21B&C

2 pages

20BBEX0

20BBEX0

3 pages

19BB

19BB

5 pages

14CAPBUD0

14CAPBUD0

11 pages

35BRXCH

35BRXCH

2 pages

34COMB

34COMB

4 pages

32CAPAS

32CAPAS

4 pages

31QUEUE

31QUEUE

3 pages

Load more
Download 08FLOW
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view 08FLOW and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view 08FLOW 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?