1 / 18

Max Flow Application: Precedence Relations

Max Flow Application: Precedence Relations. 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

robbin
Télécharger la présentation

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

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

  8. 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'

  9. 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, 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' = 1. Let k = k+1, chain[k] = j. Let i = j. Go to step 2.

  10. 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’

  11. 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 Finding a Chain

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

  13. A Cover with 4 chains f 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 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’

  18. A Cover with 3 chains f 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

More Related