Max flow application precedence relations
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Max Flow Application: Precedence Relations PowerPoint PPT Presentation


  • 48 Views
  • Uploaded on
  • Presentation posted in: General

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Max flow application precedence relations

Max Flow Application: Precedence Relations

Updated 4/2/08


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

  • i j and jk implies ik for all i, j, k in B


Examples of precedence relations

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.


Network representation of precedence relations

Network Representation of Precedence Relations

f

a  e, a f, d e,

d  c, d b, f c

a

e

c

d

b


Minimum chain covering problem

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.


Example aircraft scheduling

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


Aircraft scheduling example

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


Max flow formulation of minimum chain covering problem

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


Max flow formulation

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'


Representing chains with flows

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}}


Cover 1 flow representation

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'


Cover 2 flow representation

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'


Cover 3 flow representation

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'


Finding chains from a feasible flow

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.


A feasible flow v 2

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'


Finding a chain

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


Observation

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


Interpretation of min cuts

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


Interpretation of min cuts1

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


Maximum flow v 3

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'


Residual network

Residual Network

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'


Residual network1

Residual Network

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'


Residual network2

Residual Network

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'


Residual network3

Residual Network

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'


Mutually incomparable elements

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


Dilworth s theorem

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


  • Login