method of column generation used in ip jan pelikán, jan fábry...

22
Method Method of of Column Generation Column Generation Used in IP Used in IP Jan Pelikán Jan Pelikán , , Jan Fábry Jan Fábry ___________________________________________________________________________ MME 2004, Brno

Upload: elisabeth-carson

Post on 04-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

Method Method of of

Column GenerationColumn Generation Used in IPUsed in IP

Jan PelikánJan Pelikán, , Jan FábryJan Fábry

___________________________________________________________________________MME 2004, Brno

Page 2: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Integer Programming ModelsInteger Programming Models

Discrete variables: NP-hard problems

Non-polynomial method (exponentialNon-polynomial method (exponentialnumber of branches)number of branches)

Estimation of the optimal objective valueEstimation of the optimal objective value

Standard Branch and Bound Method

Page 3: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Modifications ofModifications of Branch and Bound Method Branch and Bound Method

Branch and Cut Algorithm (Row Generation)Branch and Cut Algorithm (Row Generation)

Branch and Price Algorithm (Column Generation)Branch and Price Algorithm (Column Generation)

Page 4: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Branch and CutBranch and Cut

Example – Traveling Salesperson ProblemExample – Traveling Salesperson Problem

Solution w/o Restriction of Partial CyclesSolution w/o Restriction of Partial Cycles

1

2

3

5

64

Page 5: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Example – Traveling Salesperson ProblemExample – Traveling Salesperson Problem

Constraint GenerationConstraint Generation

Branch and CutBranch and Cut

1

2

3

5

64

Page 6: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Reduction of Constraints !Reduction of Constraints !

Branch and CutBranch and Cut

Page 7: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Reduction of Variables !Reduction of Variables !

Branch and PriceBranch and Price

Page 8: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

.0

,

,s.t.

min

x

dBx

bAx

xcT

0,; xdBxxG

Page 9: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Extreme Points of GExtreme Points of Grxxx ,...,, 21

r

i

ii xx

1

0i

r

ii

1

1Gx all

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

Page 10: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

.0

,

,s.t.

min

x

dBx

bAx

xcT

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

r

i

ii xx

1

0i

r

ii

1

1

Page 11: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Master ProblemMaster Problem

riAxpxcf

bp

f

ii

iTi

r

ii

r

iii

r

iii

,...,2,1for , where

,0

,1

, s.t.

min

1

1

1

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

Page 12: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Master ProblemMaster Problem

Reduced ProblemReduced Problem

Reduction of ColumnsReduction of Columns

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

Page 13: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Reduced ProblemReduced Problem

.,...,2,1for , where

,0

,1

, s.t.

min

rLiAxpxcf

bp

f

ii

iTi

Lii

Liii

Liii

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

Page 14: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

OptimalityOptimality

Optimal SOL of Optimal SOL of Reduced ProblemReduced Problem

Optimal SOL of Optimal SOL of Master ProblemMaster Problem(and original problem)(and original problem)

??

Optimality Test on Columns in Optimality Test on Columns in {1,2,{1,2,…,…,rr}-}-LL

(Columns from MP, missed in RP)(Columns from MP, missed in RP)

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

Page 15: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

OptimalityOptimality Test on Columns in Optimality Test on Columns in {1,2,{1,2,

…,…,rr}-}-LL (Columns from MP, missed in RP)(Columns from MP, missed in RP)

Lrkupufz kT

kk },...,2,1{,00

non-optimalnon-optimalSOLSOL),( 0uuT Opt. SOL of dual to RPOpt. SOL of dual to RP

Dantzig-Wolfe DecompositionDantzig-Wolfe Decomposition

Page 16: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Sub-problemSub-problem

.0

,s.t.

min 0

x

dBx

uAxuxc TT

0* z

0* zOptimal SOL of RP Optimal SOL of RP

is is Optimal SOL of MPOptimal SOL of MP

New Column New Column GenerationGeneration

Column GenerationColumn Generation

Page 17: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

L L = initial set of columns= initial set of columns

Solve Reduced Problem with Solve Reduced Problem with LL

Solve Sub-Problem with Solve Sub-Problem with ),( 0uuT

0* zNew Column New Column Generation:Generation: *Axpk

0* zOptimumOptimum

Algorithm of Column GenerationAlgorithm of Column Generation

Page 18: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Example – Cutting Stock ProblemExample – Cutting Stock Problem

Rolls 28 cm 26 cm 21 cm 18 cm 15 cm

Demand 120 100 80 150 180

Stock of rolls: standard width 100 cm

Standard IP model: 67 possible patterns

Page 19: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Standard IP ModelStandard IP ModelPattern P1 P2 … Pn Demand

w1 a11 a12 … a1n d1w2 a21 a22   a2n d2… … … … … …wm am1 am2 … amn dm

.,...,2,1 integer, is

,0

,...,2,1 ,s.t.

min

1

1

njx

x

midxa

x

j

i

n

jjij

n

jj

Page 20: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Pattern P1 P2 … Pm Demand

w1 a11 0 … 0 d1

w2 0 a22   0 d2

… … … … … …wm 0 0 … amm dm

Column GenerationColumn Generation

.,...,2,1,0 miw

Wa

iii

Initial patterns Initial patterns Reduced Problem Reduced Problem

Page 21: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Column GenerationColumn GenerationSub-Problem – Integer Knapsack ProblemSub-Problem – Integer Knapsack Problem

.,...,2,1 integer, is

,0

,s.t.

1max

01

1

miy

y

Wyw

yu

i

m

iii

m

iii

0* z New PatternPattern Generation

yyii = = number of the rolls of width number of the rolls of width wwii in the generated pattern. in the generated pattern.

Page 22: Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno

___________________________________________________________________________Method of Column Generation Used in Integer Programming MME 2004, Brno

Cutting Stock ProblemCutting Stock ProblemResultsResults

 

Pattern P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12

28 cm 3 0 0 0 0 0 1 3 0 1 0 2

26 cm 0 3 0 0 0 3 0 0 0 0 2 1

21 cm 0 0 4 0 0 1 2 0 0 0 0 0

18 cm 0 0 0 5 0 0 0 0 3 4 1 1

15 cm 0 0 0 0 6 0 2 1 3 0 2 0

Use 0 0 0 0 0 2 39 14 0 25 44 7

Initial Patterns Genrated Patterns

131