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
Updated 4/2/08

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 collectively contain (cover) 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}} Three-Chain Solution: {{F1, F4},{F2},{F3}} F1 F2 F3 F4

8 Max Flow Formulation of Minimum Chain Covering Problem
a  e, a  f, d  e, d  c, d  b, f  c a e c d b

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

10 Representing Chains with Flows
If i  j and elements i and j are consecutive elements in the same chain, then let xsi = xij' = xj't = 1 If element i starts a chain, then let xi't = 0 If element i ends a chain, then let xsi = 0 If element i is itself a chain, then let xsi = xi't = 0 Example Covers 6 chains: {{a}, {b}, {c}, {d}, {e}, {f}} 4 chains: {{a, f, c}, {b}, {d}, {e}} 3 chains: {{a, f, c}, {b}, {d, e}}

11 Cover 1: Flow Representation
a a' b b' c c' s t d d' e e' # chains = 6 v = 0 f f'

12 Cover 2: Flow Representation
1 b b' c c' 1 1 s t d d' e e' 1 1 1 # chains = 4 v = 2 f f'

13 Cover 3: Flow Representation
1 b b' c c' 1 1 s t 1 d d' 1 1 e e' 1 1 1 # chains = 3 v = 3 f f'

14 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, then stop. {chain[1], chain[2], …, chain[k]} is a chain. If the flow from s to i = 1 then find the unique j' such that the flow from i to j' = Let k = k+1, chain[k] = j. Let i = j. Go to step 2.

15 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'

16 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

17 Observation There is a one-to-one correspondence between feasible flows and chain coverings The number of chains in a cover plus the value of the flow is equal to the number of elements in the set Cover 1: = 6 Cover 2: = 6 Cover 3: = 6 # chains + v = |B| # chains = |B| - v Since |B| is fixed, maximizing v minimizes the number of chains

18 Interpretation of Min Cuts
Observe that S = {s, 1, 2, …, |B|}, T = N \{S} is a cut with finite capacity. Arcs of the form (i, j') cannot be in a minimum cut. If xsi = 0 in a maximum flow then Node i will be reachable from the source in the residual network Node j' will also be reachable from the source if i  j

19 Interpretation of Min Cuts
Arcs of the form (s, i) and (i', t) each contribute 1 unit to u[S, T]. Minimizing u[S, T] is equivalent to finding the largest subset A of B such that i can be in S and i' can be in T for all i in A Since the capacity of a minimum cut is finite, it follows that the set of elements in A mutually incomparable

20 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 f'

21 Residual Network a a' 1 b b' c c' s t d d' e e' f f'

22 Residual Network a a' 1 b b' c c' s t d d' e e' f f'

23 Residual Network a a' 1 b b' c c' s t d d' e e' f f'

24 Residual Network a a' 1 b b' c c' s t d d' e e' f f'

25 Mutually Incomparable Elements
f f is not  e, e is not  f, e is not  b, b is not  e, f is not  b, b is not  b a e c b, e, and f form an anti-chain d b

26 Dilworth’s Theorem Given a set B and a precedence relation, the size of the largest anti-chain is equal to the size of the minimum chain covering Proof follows from the max-flow min-cut theorem


Download ppt "Max Flow Application: Precedence Relations"

Similar presentations


Ads by Google