1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim...

28
1 Column Generation Column Generation

Transcript of 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim...

Page 1: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

1

Column GenerationColumn Generation

Page 2: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

2

OutlineOutline

trim loss problem different formulations

column generation the trim loss problem

master problem and subproblem in column generation

the time constrained shortest-path problem shortest-path subproblems for network-based problems

Page 3: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

3

Motivation Example Motivation Example for Column Generationfor Column Generation

trim-loss problem, 7-meter steel pipes

to cut

150 pieces of 1.5-meter (pipe) segments

250 pieces of 2-meter segments, and

200 pieces of 4-meter segments

loss: pipes cut and segments left after satisfying the demands

how to cut the steel pipes so as to minimize the loss?

Page 4: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

4

Motivation Example Motivation Example for Column Generationfor Column Generation

X: the total number of steel pipes used

trim loss = 7X – (150)(1.5) – (250)(2) – (200)(4) = 7X-1525

minimizing trim loss = minimizing X, the number of steel pipes used

Page 5: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

5

Formulation 1: A Naive OneFormulation 1: A Naive OneMotivation Example for Column GenerationMotivation Example for Column Generation

several formulations an upper bound of pipes used: 255

200 pipes cut by the (0, 1, 1) pattern

38 pipes cut by the (4, 0, 0) pattern

17 pieces cut by the (0, 3, 0) pattern

Page 6: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

6

Formulation 1: A Naive One Formulation 1: A Naive One Motivation Example for Column GenerationMotivation Example for Column Generation

segments: 1st type = 1.5 meters, 2nd type = 2 meters, and 3rd type = 4 meters

variables .

xij = # of type-j segments cut from pipe i

e.g., xi = (2, 2, 0) two 1.5-meter segments and two 2-meter segments from the ith pipe

1, if the th pipe is used, 1,..., 255

0, . .,ii

y io w

Page 7: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

7

Formulation 1: A Naive One Formulation 1: A Naive One Motivation Example for Column GenerationMotivation Example for Column Generation

formulation

Page 8: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

8

Formulation 1: A Naive One Formulation 1: A Naive One Motivation Example for Column GenerationMotivation Example for Column Generation

disadvantages of Formulation 1 many alternate optimal solutions due to the

symmetry

hard to solve

Page 9: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

9

Formulation 2: Variables on Cut PatternsFormulation 2: Variables on Cut PatternsMotivation Example for Column GenerationMotivation Example for Column Generation

defining variables on cut patterns parameters

aij = # of j type segments produced by the ith cut pattern

a1 = (a11, a12, a13)T = (0, 0, 1) trim loss t1 = 3

variables: xi = the # of steel pipes cut in the ith pattern

Page 10: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

10

Formulation 2: Variables on Cut PatternsFormulation 2: Variables on Cut PatternsMotivation Example for Column GenerationMotivation Example for Column Generation

cut patterns

Page 11: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

11

Formulation 2: Variables on Cut PatternsFormulation 2: Variables on Cut PatternsMotivation Example for Column GenerationMotivation Example for Column Generation

formulation:

question: Is it necessary to include inefficient cut patterns in this formulation?

yes

is there any formulation that uses only efficient cut patterns?

Page 12: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

12

Formulation 3: Formulation 3: Variables on Efficient Cut PatternsVariables on Efficient Cut Patterns

Motivation Example for Column GenerationMotivation Example for Column Generation

efficient cut patterns

Page 13: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

13

Formulation 3: Formulation 3: Variables on Efficient Cut PatternsVariables on Efficient Cut Patterns

Motivation Example for Column GenerationMotivation Example for Column Generation

formulation

Page 14: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

14

Formulation 3: Formulation 3: Variables on Efficient Cut PatternsVariables on Efficient Cut Patterns

Motivation Example for Column GenerationMotivation Example for Column Generation

challenges faced by the formulation hard problem, an integer program

explosive number of variables for long pipes and multiple demands

solved by column generation ignoring the integral constraints

Page 15: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

15

Solving the Trim Loss Problem Solving the Trim Loss Problem by Column Generationby Column Generation

min i xi,

s.t. i aijxi bj, j = 1, 2, 3,

xi 0, i = 1, 2, 3.

= (cB)TB-1 be the vector of dual variables

reduced cost of xi = ci - Tai = 1- Tai

minimal reduced cost from max Tai

Page 16: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

16

Solving the Trim Loss Problem Solving the Trim Loss Problem by Column Generationby Column Generation

minimal reduced cost from solving the subproblem

max j jaj,

s.t. j ljaj L;

aj Z+{0}, i.

a knapsack problem, NP-hard, with pseudo-polynomial algorithm in L

Page 17: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

17

Solving the Trim Loss Problem Solving the Trim Loss Problem by Column Generationby Column Generation

master problem: the problem with the columns selected providing

subproblem suggesting a new cut pattern, or optimal

Page 18: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

18

Solving the Trim Loss Problem Solving the Trim Loss Problem by Column Generationby Column Generation

Generic Column Generation Algorithm for the trim loss problem: 1 Select columns for the initial basis.

2 Solve the master problem to get

3 Solve the knapsack subproblem for new cut pattern; stop if optimal, else go

to 2 with the new cut pattern added to the master problem

Page 19: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

19

Solving the Trim Loss Problem by Column Generation

Page 20: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

20

A Shortest-Path Subproblem A Shortest-Path Subproblem in Solving Network-Based Problem by Column Generationin Solving Network-Based Problem by Column Generation

a time-constrained shortest-path problem minimum cost path from node 1 to node 6

such that the total time 14 label of arcs: (cij, tij)

Page 21: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

21

A Time-Constrained A Time-Constrained Shortest-Path ProblemShortest-Path Problem

variables: xij = 1 if arc (i, j) is taken, else xij = 0

formulation constrained shortest-

path problem, NP-hard problem

Page 22: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

22

Path-Based Formulation of a Time-Path-Based Formulation of a Time-Constrained Shortest-Path ProblemConstrained Shortest-Path Problem P: set of all paths

parameters apij =

for path 1-2-4-6 to be the first path, a112 = 1, a124 = 1, a146 = 1, and other a1ij = 0.

possible to express xij in p, where p = the “probability” that path p is taken

1, if arc ( , ) is in path ,

0, . .

i j p

o w

By itself there is no guarantee p = 1 so that fractional xij

may be possible.

Page 23: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

23

A Time-Constrained A Time-Constrained Shortest-Path ProblemShortest-Path Problem

set of all paths for the problem

Page 24: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

24

A Time-Constrained A Time-Constrained Shortest-Path ProblemShortest-Path Problem

formulation

Page 25: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

25

A Time-Constrained A Time-Constrained Shortest-Path ProblemShortest-Path Problem

relaxed version: master problem solved by column generation

1 and 0 be the dual

variable of the first and the second constraints, respectively

Page 26: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

26

A Time-Constrained A Time-Constrained Shortest-Path ProblemShortest-Path Problem

reduced cost of variable p

1 0

( , ) ( , )

1 0( , )

=

p ij pij ij piji j i j

ij ij piji j

c c a t a

c t a

A A

A

Page 27: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

27

A Time-Constrained A Time-Constrained Shortest-Path ProblemShortest-Path Problem

subproblem: shortest-path problem

1 0( , )

min ij ij iji j

c t x

A

1( , )

1,ji j

x

A

{ :( , ) } { :( , ) }0,ij ji

j i j j i jx x

A A

6( , )

1,ii j

x

A

xij {0, 1}, (i, j) A.

s.t.

Page 28: 1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.

28

Solving the Time Constrained Shortest-Solving the Time Constrained Shortest-Path Problem by Column GenerationPath Problem by Column Generation

Generic Column Generation Algorithm for the time constrained shortest-path problem: 1 Start arbitrarily with a feasible path

2 Solve the master problem to get

3 Solve the shortest-path subproblem for new path; stop if optimal, else go to 2 with the new path added to the master problem