1 / 26

# Max Flow Application: Precedence Relations - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Max Flow Application: Precedence Relations

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

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

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

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

f

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

d  c, d b, f c

a

e

c

d

b

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

• 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

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

f

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

d  c, d b, f c

a

e

c

d

b

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

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

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'

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'

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

• 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

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

• 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

• 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

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

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'

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'

a

a'

1

b

b'

c

c'

s

t

d

d'

e

e'

f

f'

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

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