1 / 26

Max Flow Application: Precedence Relations

Max Flow Application: Precedence Relations. Updated 4/2/08. 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

Download Presentation

Max Flow Application: Precedence Relations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 f 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}} F2 F1 F4 F3

  8. Max Flow Formulation of Minimum Chain Covering Problem f 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 c c' 1 1 s t 1 1 d d' 1 1 e e' 1 1 f f'

  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 0 a a' 0 0 b b' 0 0 c c' 0 0 s t 0 0 d d' 0 0 e e' 0 0 # chains = 6 v = 0 f f'

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

  13. Cover 3: Flow Representation a a' 1 0 b b' 0 0 c c' 0 1 1 s t 0 1 d d' 1 0 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 = 0. 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' = 1. Let k = k+1, chain[k] = j. Let i = j. Go to step 2.

  15. A Feasible Flow v = 2 a a' 1 0 b b' 0 0 c c' 0 1 1 s t 0 0 d d' 0 0 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 + 0 = 6 • Cover 2: 4 + 2 = 6 • Cover 3: 3 + 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 Amutually incomparable

  20. Maximum Flow v = 3 a a' 1 0 b b' 0 0 c c' 0 1 1 s t 0 1 d d' 1 0 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

More Related