+ All Categories
Home > Documents > 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k...

15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k...

Date post: 04-May-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
34
15.082J and 6.855J and ESD.78J November 30, 2010 The Multicommodity Flow Problem
Transcript
Page 1: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

15.082J and 6.855J and ESD.78J

November 30, 2010

The Multicommodity Flow Problem

Page 2: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

Lecture overview

Notation

A small illustrative example

Some applications of multicommodity flows

Optimality conditions

A Lagrangian relaxation algorithm

2

Page 3: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

3

On the Multicommodity Flow Problem

O-D version

K origin-destination pairs of nodes

(s1, t1), (s2, t2), …, (sK, tK)

Network G = (N, A)

dk = amount of flow that must be sent from sk to tk.

uij = capacity on (i,j) shared by all commodities

k

ijc = cost of sending 1 unit of commodity k in (i,j)

k

ijx = flow of commodity k in (i,j)

Page 4: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

4

A Linear Multicommodity Flow Problem

5 units

good 15 units

good 1

2 units

good 2

2 units

good 2

$1

$1

1

2

3

4

5

6

$5

$1

$6

$1

$1u25 = 5

Quick exercise: determine the

optimal multicommodity flow.

Page 5: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

5

A Linear Multicommodity Flow Problem

1

2

3

4

5

6

5 units

good 15 units

good 1

2 units

good 2

2 units

good 2

$5

$1

$6

$1

$1 $1

$1u25 = 5

2 2 2

32 25 562x x x

1 1 1

12 25 543x x x

1

142x

Page 6: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

6

The Multicommodity Flow LP

0 ( , ) ,k

ijx i j A k K

( , )

k k

ij ij

i j A k

c xMin

for all ( , )k

ij ij

k

x u i j A Bundle

constraints

Supply/

demand

constraints

if

if

0

k k

k k

ij ji k k

j j

d i s

x x d i t

otherwise

Page 7: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

7

Assumptions (for now)

Homogeneous goods. Each unit flow of

commodity k on (i, j) uses up one unit of capacity

on (i,j).

No congestion. Cost is linear in the flow on (i, j)

until capacity is totally used up.

Fractional flows. Flows are permitted to be

fractional.

OD pairs. Usually a commodity has a single

origin and single destination.

Page 8: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

8

Application areas

Type

of NetworkNodes Arcs Flow

Communic.

Networks

O-D pairs

for messages

Transmission

lines

message

routing

Computer

Networks

storage dev.

or computers

Transmission

lines

data,

messages

Railway

Networks

yard and

junction pts. Tracks Trains

Distribution

Networks

plants

warehouses,...

highways

railway tracks

etc.

trucks,

trains, etc

Page 9: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

Internet Traffic

9

1

100

10,000

1,000,000

100,000,000

1994 1998 2002 2006 2010

Global Internet Traffic in GB/month

Fact: The internet

protocal in most use

today was developed

in 1981

Page 10: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

10

On Fractional Flows

In general, linear multicommodity flow problems

have fractional flows, even if all data is integral.

The integer multicommodity flow problem is

difficult to solve to optimality.

Page 11: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

11

A fractional multicommodity flow

s1 t3

1t1

2

s2

3

s3

t2

$2 $2

$2

uij = 1 for all arcs

cij = 0 except as listed.

1 unit of flow must be sent

from si to ti for i = 1, 2, 3.

Page 12: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

12

A fractional multicommodity flow

s1 t3

1t1

2

s2

3

s3

t2

$2 $2

$2

uij = 1 for all arcs

cij = 0 except as listed.

1 unit of flow must be sent

from si to ti for i = 1, 2, 3.

Optimal solution:

send ½ unit of

flow in each of

these 15 arcs.

Total cost = $3.

Page 13: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

13

Decomposition based approaches

Price directed decomposition.

Focus on prices or tolls on the arcs. Then

solve the problem while ignoring the

capacities on arcs.

Resource directive decomposition.

Allocate flow capacity among commodities

and solve

Simplex based approaches

Try to speed up the simplex method by

exploiting the structure of the MCF problem.

Page 14: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

14

A formulation without OD pairs

Minimize

1

k k

k K

c x (17.1a)

subject to

1

k

ij ij

k K

x u (17.1b)for all ( , )i j A

k kNx b for 1, 2, ...,k k (17.1c)

0 k k

ij ijx ufor all ( , )i j A

for 1, 2, ...,k k(17.1d)

Page 15: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

15

Optimality Conditions: Partial Dualization

Theorem. The multicommodity flow x = (xk) is

an optimal multicommodity flow for (17) if

there exists non-negative prices w = (wij) on

the arcs so that the following is true

1. If 0, then k

ij ij ijkw x u

2. The flow xk is optimal for the k-th commodity

if ck is replaced by cw,k, where

,w k k

ij ij ijc c w

Recall: xk is optimal for the k-th commodity if there is

no negative cost cycle in the kth residual network.

Page 16: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

16

A Linear Multicommodity Flow Problem

1

2

3

4

5

6

5 units

good 15 units

good 1

2 units

good 2

2 units

good 2

$5

$1

$6

$1

$1 $1

$1u25 = 5

2 2 2

32 25 562x x x

1 1 1

12 25 543x x x

1

142x

Set w2,5 = 2Create the residual

networks

Page 17: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

17

The residual network for commodity 1

1

2

3

4

5

6

$5

$3

$6

$1

$1 $1

$1

Set w2,5 = $2 There is no negative cost cycle.

-$5

$-3

-$1 -$1

Page 18: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

18

The residual network for commodity 2

1

2

3

4

5

6

$5

$3

$6

$1

$1 $1

$1

Set w2,5 = $2 There is no negative cost cycle.

$-3

-$1 -$1

Page 19: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

19

Optimality Conditions: full dualization

, 0k k k k

ij ij ij i jc c w

for all ( , ) and 1, ... ,i j A k K

One can also define node potentials π so that the

reduced cost

This combines optimality conditions for min cost flows

with the partial dualization optimality conditions for

multicommodity flows.

Page 20: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

According to NPD Fashion World, what percentage of lingerie is

returned to the store?

50%

What is the average life span for a taste bud?

10 days

Charles Osborne set the record for the longest case of the

hiccups. How long did they last?

68 years. An outside source estimated that Osborne

hiccupped 430 million times over the 68-year period. He also

fathered 8 children during this time period.

Mental Break

20

Page 21: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

Outside a barber’s shop, there is often a pole with red and

white stripes. What is the significance of the red stripes?

It represents the bloody bandages used in blood-letting

wrapped around a pole.

How many digestive glands are in the human stomach?

Around 35 million

What is the surface area of a pair of human lungs?

Around 70 meters2. Approximately the same size as a

tennis court.

Mental Break

21

Page 22: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

22

Lagrangian relaxation for multicommodity flows

( , )

k k

ij ij

i j A k

c x

if

if

0

k k

k k

ij ji k k

j j

d i s

x x d i t

otherwise

for all ( , )k

ij ij

k

x u i j A

0 ( , ) ,k

ijx i j A k K

Min

Supply/

demand

constraints

Bundle

constraints

Page 23: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

23

Lagrangian relaxation for multicommodity flows

( , )

k k

ij ij

i j A k

c x

if

if

0

k k

k k

ij ji k k

j j

d i s

x x d i t

otherwise

for all ( , )k

ij ij

k

x u i j A

0 ( , ) ,k

ijx i j A k K

Min

Supply/

demand

constraints

Bundle

constraints

( , )

( )k

ij ij ij

i j A k

w x u

Penalize the bundle constraints.

Relax the bundle constraints.

Page 24: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

24

( , )

k k

ij ij

i j A k

c x

( , )

( )k

ij ij ij

i j A k

w x u

Lagrangian relaxation for multicommodity flows

if

if

0

k k

k k

ij ji k k

j j

d i s

x x d i t

otherwise

for all ( , )k

ij ij

k

x u i j A

0 ( , ) ,k

ijx i j A k K

L(w) = Min

Supply/

demand

constraints

Bundle

constraints

( , )

( )k k

ij ij ij

i j A k

c w x

( , )

ij ij

i j A

w u

Simplify the objective function.

Page 25: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

25

Subgradient Optimization for solving the

Lagrangian Multiplier Problem

Choose an initial value w0 of the “tolls” w,

and find the optimal solution for L(w).

1

2

3

4

5

6

5 units

good 15 units

good 1

3 units

good 2

3 units

good 2

$5

$1

$6

$1

$1 $1

$1

u25 = 5

u32 = 2

e.g., set w0 = 0.

Page 26: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

26

Subgradient Optimization for solving the

Lagrangian Multiplier Problem

The flow on (2,5) = 8 > u25 = 5.

1

2

3

4

5

6

5 units

good 15 units

good 1

3 units

good 2

3 units

good 2

$5

$1

$6

$1

$1 $1

$1

next:

determine the

flows, and then

determine w1

from w0

The flow on (3,2) = 3 > u32 = 2.

Page 27: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

27

Choosing a search direction

1 [ ( )]q q

ij ij q ij ijw w y u

= flow in arc (i,j) k

ij ij

k

y x

)max (0, rr

1 0

25 25 0 0[ (8 5)] 3w w

1 0

32 32 0 0[ (3 2)]w w

(y-u)+ is called the search

direction.

θq is called the step size.

So, if we choose θ0 = 1, then 1 1

25 323 and 1w w

Then solve L(w1).

Page 28: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

28

Solving L(w1)

1

2

3

4

5

6

5 units

good 15 units

good 1

3 units

good 2

3 units

good 2

$5

$4

$6

$2

$1 $1

$1

2 1

25 25 1 1[ (0 5)] [3 5 ]w w

2 1

32 32 1 1[ (0 2)] [1 2 ]w w

If θ1 = 1, then

w2 = 0.

Page 29: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

29

Comments on the step size

The search direction is a good search direction.

But the step size must be chosen carefully.

Too large a step size and the solution will

oscillate and not converge

Too small a step size and the solution will not

converge to the optimum.

Page 30: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

30

On choosing the step size

Theorem. If the step size is chosen as on the

previous slides, and if (θq) satisfies (1), then the

wq converges to the optimum for the Lagrangian

dual.

lim 0qq

and

1

q

q

e.g., take θq = 1/q.

The step size θq should be chosen so that

(1)

Page 31: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

31

The optimal multipliers and flows.

1

2

3

4

5

6

5 units

good 15 units

good 1

3 units

good 2

3 units

good 2

$5

$1

$6

$1

$1 $1

$1

u25 = 5

u32 = 2

32lim 1q

qw

25lim 2q

qw

1 1 1

12 25 543x x x

1

142x

2 2 2

32 25 562x x x

2

361x

Page 32: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

32

Suppose that w32 = 1.001 and w25 = 2.001

1

2

3

4

5

6

5 units

good 15 units

good 1

3 units

good 2

3 units

good 2

$5

$3.001

$6

$2.001

$1 $1

$1

Conclusion: Near Optimal Multipliers do not always

lead to near optimal (or even feasible) flows.

1

145x

2

363x

Page 33: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

33

Summary of MCF

Applications

Optimality Conditions

Lagrangian Relaxation

subgradient optimization

Next Lecture: Column Generation and more

Page 34: 15.082J and 6.855J and ESD - MIT OpenCourseWare...kk ij ij i j A k cx ® ¯ if if 0 kk kk ij ji k k jj d i s x x d i t otherwise k d for all ( , ) ij ij k x u i j A k t 0 ( , ) , x

MIT OpenCourseWarehttp://ocw.mit.edu

15.082J / 6.855J / ESD.78J Network Optimization

Fall 2010

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.


Recommended