Max Flow Application: Precedence Relations

18
Max Flow Application: Precedence Relations

description

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 - PowerPoint PPT Presentation

Transcript of Max Flow Application: Precedence Relations

Page 1: Max Flow Application: Precedence Relations

Max Flow Application: Precedence Relations

Page 2: 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:

1. i not i for all i in B2. i j implies j i for all i, j in B3. i j and j k implies i k for all i, j, k in

B

Slide 2

Page 3: Max Flow Application: Precedence Relations

Examples of Precedence Relations

1. Let B be the set of integers. The < relation is a precedence relation on B.

2. Let B be a set of jobs and let i j mean that job j cannot start until job i is complete.

Slide 3

Page 4: Max Flow Application: Precedence Relations

Network Representation of Precedence Relations

a

f

e

d

b

c

a e, a f, d e, d c, d b, f c

Page 4

Page 5: Max Flow Application: Precedence Relations

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.

Slide 5

Page 6: Max Flow Application: Precedence Relations

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

Slide 6

Page 7: Max Flow Application: Precedence Relations

Aircraft Scheduling Example

F1

F3

F2

F4

Four-Chain Solution: {{F1},{F2},{F3},{F4}}

Three-Chain Solution: {{F1,F2},{F3},{F4}}

Page 7

Page 8: Max Flow Application: Precedence Relations

Max Flow Formulationa

b

c

d

e

f

a'

b'

c'

d'

e'

f'

s t

1

1

11

1

1 1

1

11

1

1

Page 8

Page 9: Max Flow Application: Precedence Relations

Finding Chains from a Feasible Flow

1. Chose i' such that the flow from i' to t = 0. Let k = 1. chain[k] = i.

2. If the flow from s to i = 0, stop. {chain[1], chain[2], …, chain[k]} is a chain.

3. 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.

Slide 9

Page 10: Max Flow Application: Precedence Relations

A Feasible Flow v = 2a

b

c

d

e

f

a’

b’

c’

d’

e’

f’

s t

1

0

00

0

1 1

101

0

0

1

0

Page 10

Page 11: Max Flow Application: Precedence Relations

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

Page 11

Page 12: Max Flow Application: Precedence Relations

Finding a Feasible Chaina

b

c

d

e

f

a’

b’

c’

d’

e’

f’

s t

1

0

1

0

1

1

Page 12

Page 13: Max Flow Application: Precedence Relations

A Cover with 4 chains

a

f

e

d

b

c

a e, a f, d e, d c, d b, f c

Chain 1: a, f, cChain 2: eChain 3: dChain 4: b

Page 13

Page 14: Max Flow Application: Precedence Relations

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.

Slide 14

Page 15: Max Flow Application: Precedence Relations

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].

Slide 15

Page 16: Max Flow Application: Precedence Relations

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.

Slide 16

Page 17: Max Flow Application: Precedence Relations

A Maximum Flow v = 3a

b

c

d

e

f

a’

b’

c’

d’

e’

f’

s t

1

0

01

0

1 1

101

0

0

1

11

Page 17

Page 18: Max Flow Application: Precedence Relations

A Cover with 3 chains

a

f

e

d

b

c

a e, a f, d e, d c, d b, f c

Chain 1: a, f, cChain 2: d, eChain 3: b

Page 18