Presentation is loading. Please wait.

Presentation is loading. Please wait.

Max Flow Application: Precedence Relations

Similar presentations


Presentation on theme: "Max Flow Application: Precedence Relations"— Presentation transcript:

1 Max Flow Application: Precedence Relations

2 Precedence Relations Given a finite set of elements B we define a precedence relation as relation  between pairs of elements of S such that: i not  i for all i in B i  j implies j  i for all i, j in B i  j and j  k implies i  k for all i, j, k in B

3 Examples of Precedence Relations
Let B be the set of integers. The < relation is a precedence relation on B. Let B be a set of jobs and let i  j mean that job j cannot start until job i is complete.

4 Network Representation of Precedence Relations
a  e, a  f, d  e, d  c, d  b, f  c a e c d b

5 Minimum Chain Covering Problem
A chain i1, i2, …, ik is a sequence of elements in B such that i1  i2  …  ik. The minimum chain covering problem is to find a minimum number of chains that covers all the elements of B.

6 Example: Aircraft Scheduling
Given a set of flight legs that must be serviced, determine the minimum number of planes required. Example Flight 1: SFO -> LAX Flight 2: LAX -> DFW Flight 3: OAK -> MSP Flight 4: LAX -> CVG

7 Aircraft Scheduling Example
Four-Chain Solution: {{F1},{F2},{F3},{F4}} Three-Chain Solution: {{F1,F2},{F3},{F4}} F1 F2 F3 F4

8 Max Flow Formulation  a a' 1 1 b b' 1 1 1 c c' 1 s t 1 1 d d' 1 1 e

9 Finding Chains from a Feasible Flow
Chose i' such that the flow from i' to t = Let k = 1. chain[k] = i. If the flow from s to i = 0, stop. {chain[1], chain[2], …, chain[k]} is a chain. If the flow from s to i = 1 then find j' such that the flow from i to j' = Let k = k+1, chain[k] = j. Let i = j. Go to step 2.

10 A Feasible Flow v = 2 a a’ 1 b b’ c c’ 1 1 s t d d’ e e’ 1 1 1 f f’

11 Finding a Chain Step 1: i’ = a’, k=1, chain[1] = a Step 2: xsa=1
Step 3: j’=f’, k=2, chain[2] = f, i=f Step 2: xsf=1 Step 3: j’=c’, k=3, chain[3] = c, i=c Step 2: xsc=0. Chain: a, f, c

12 Finding a Feasible Chain
1 1 b b’ c c’ s 1 t d d’ 1 e e’ f f’

13 A Cover with 4 chains f a e c d b a  e, a  f, d  e,
d  c, d  b, f  c a Chain 1: a, f, c Chain 2: e Chain 3: d Chain 4: b e c d b

14 Interpretation of Network Flow Solution: Sink Side
Each node i’ such that xi’t = 0 starts a chain. Note that there are |B| nodes adjacent to the sink. Each with unit capacity. The number of chains determined by a feasible flow is |B| - v. Maximizing the flow minimizes the number of chains.

15 Interpretation of Network Flow Solution: Source Side
Each node j such that xsj = 0 ends a chain. Observe that S = {s, 1, 2, …, |B|}, T = N \{S} is a cut with finite capacity. Only arcs of the form (s,j) or (i’,t) can be in a minimum cut. If xsj = 0 in a maximum flow, then node j will be reachable from the source in the residual network. If Node j is in S, then (s, j) contributes one unit to u[S,T].

16 Interpretation of Network Flow Solution: Source Side
Each node j such that xsj = 0 ends a chain. The capacity of a minimum cut is equal to the number of source-adjacent nodes that don’t receive flow in a maximum flow. The capacity of a minimum cut is equal to the number of chains. Maximizing the flow, minimizes the cut capacity which minimizes the number of chains.

17 A Maximum Flow v = 3 a a’ 1 b b’ c c’ 1 1 s t 1 d d’ 1 1 e e’ 1 1 1 f
b b’ c c’ 1 1 s t 1 d d’ 1 1 e e’ 1 1 1 f f’

18 A Cover with 3 chains f a e c d b a  e, a  f, d  e,
d  c, d  b, f  c a Chain 1: a, f, c Chain 2: d, e Chain 3: b e c d b


Download ppt "Max Flow Application: Precedence Relations"

Similar presentations


Ads by Google