DOC PREVIEW
UT Dallas CS 6385 - maxflow_ford-fulk

This preview shows page 1-2-3-18-19-37-38-39 out of 39 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 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 39 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 39 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 39 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 39 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 39 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 39 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 39 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

The Maximum Flow ProblemSlide 2Slide 3PowerPoint PresentationSlide 5Slide 6Slide 7Slide 8Slide 9Slide 10Solution to Maxflow problemSlide 12Slide 13Slide 14Slide 15The basic Ford Fulkerson algorithmThe basic Ford Fulkerson algorithm example of an executionSlide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Running TimeExampleSlide 36Slide 37Slide 38Slide 39The Maximum Flow Problem•The historically first and most fundamental network flow problem is the Maximum Flow Problem.The Maximum Flow Problem•Model–Given a network with N nodes and links among them. We would like to transport some entity (for example, data) from a source node to a destination node so that it flows along the links. The goal is to determine the maximum 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 flows into an intermediate node, the same amount must flow out.The Maximum Flow Problem•Let us review the input for the problem, the objective and constraints and then 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, Cij and Cji may 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 capacity of the link.–Flow conservation: The total outgoing flow of a node is equal to the total incoming flow of the node, except for the source and the destination.•Objective:–Find the maximum amount of flow that can be sent through the network from the source to the destination, such that the link capacity is not exceeded on any link and the flow conservation constraint is satisfied at every intermediate (transshipment) node.•LP Formulation–Let xij denote the flow on link (I, j): (The values of these variables are not known in advance, we want to optimize them.)Solution to Maxflow problem•Solving the Maximum Flow Problem directly as a linear program, although possible, is not economical. There are several special algorithms which utilize the special structure of the problem and, therefore, are faster and simpler than a general LP solution.Solution to Maxflow problem•Historically, the first and most fundamental maximum flow algorithm is due to Ford and Fulkerson. The key idea of the algorithm is that if we can find a so called augmenting path, then the flow can be increased without violating any constraints.•An augmenting path is any undirected path from s to d, such that on any forward edge (an edge whose direction agrees with the path traversal) the flow is less than the capacity, while on any backward edge (an edge with opposite direction to the path traversal) the flow is positive.•If such an augmenting path is found then by increasing the flow on the forward edges and decreasing with the same amount on the backward edges we can increase the net flow out of the source, without constraint violation.•An augmenting path, if exists, can be found by a shortest path computation in an auxiliary graph, called residual graph, which is easily constructed from the original, using the current flow. If no augmenting path exists, then the flow is necessarily maximum.1 for each edge (u, v)  E [G] 2 do f [u, v] = 0 3 f [v, u] = 0 4 while there exists a path p from s to t in the residual network Gf 5 do cf (p) = min {cf (u, v) | (u, v) is in p} 6 for each edge (u, v) in p 7 do f [u, v] = f [u, v] + cf (p) 8 f [v, u] = - f [u, v] The basic Ford Fulkerson algorithmThe basic Ford Fulkerson algorithmexample of an executionS tv1v2v3v41013121644 1420791 for each edge (u, v)  E [G] 2 do f [u, v] = 0 3 f [v, u] = 0 4 whil e there exists a path p from s to t in the residual network Gf 5 do cf(p) = min{cf(u, v) | (u, v)  p} 6 for each edge (u, v) in p 7 do f [u, v] = f [u, v] + cf(p) 8 f [v, u] = - f [u, v] (residual) network GfThe basic Ford Fulkerson algorithmexample of an executionS tv1v2v3v40/100/130/120/160/40/4 0/140/2070/9(residual) network Gf 1 for each edge (u, v)  E [G] 2 do f [u, v] = 0 3 f [v, u] = 0 4 wh ile there exists a path p from s to t in the residual network Gf 5 do cf(p) = min{cf(u, v) | (u, v)  p} 6 for each edge (u, v) in p 7 do f [u, v] = f [u, v] + cf(p) 8 f [v, u] = - f [u, v]The basic Ford Fulkerson algorithmexample of an executionS tv1v2v3v41013121644 142079(residual) network Gf 1 for each edge (u, v)  E [G] 2 do f [u, v] = 0 3 f [v, u] = 0 4 while there exists a path p from s to t in the residual network Gf 5 do cf(p) = min{cf(u, v) | (u, v)  p} 6 for each edge (u, v) in p 7 do f [u, v] = f [u, v] + cf(p) 8 f [v, u] = - f [u, v]The basic Ford Fulkerson algorithmexample of an executionS tv1v2v3v41013121644 142079(residual) network Gf temporary variable:cf (p) = 121 for each edge (u, v)  E [G] 2 do f [u, v] = 0 3 f [v, u] = 0 4 while there exists a path p from s to t in the residual network Gf 5 do cf(p) = min{cf(u, v) | (u, v)  p} 6 for each edge (u, v) in p 7 do f [u, v] = f [u, v] + cf(p) 8 f [v, u] = - f [u, v]The basic Ford Fulkerson algorithmexample of an executionS tv1v2v3v41013121644 142079(residual) network Gf temporary variable:cf (p) = 12S tv1v2v3v4101312/1212/1644 1412/2079new flow network G 1 for each edge (u, v)  E [G] 2 do f [u, v] = 0 3 f [v, u] = 0 4 while there exists a path p from s to t in the residual network Gf 5 do cf(p) = min{cf(u, v) | (u, v)  p} 6 for each edge (u, v) in p 7 do f [u, v] = f [u, v] + cf(p) 8 f [v, u] = - f [u, v]The basic Ford Fulkerson algorithmexample of an executionS tv1v2v3v4101312444 14879(residual) network Gf S tv1v2v3v4101312/1212/1644 1412/2079new flow network G 1212 1 for each edge (u, v)  E [G] 2 do f [u, v] = 0 3 f [v, u] = 0 4 while there exists a path p from s to t in the residual network Gf 5 do cf(p) = min{cf(u, v) | (u, v)  p} 6 for each edge (u,


View Full Document

UT Dallas CS 6385 - maxflow_ford-fulk

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

08FLOW

08FLOW

6 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 maxflow_ford-fulk
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 maxflow_ford-fulk 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 maxflow_ford-fulk 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?