column generation by soumitra pal under the guidance of prof. a. g. ranade

66
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Upload: hubert-houston

Post on 14-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Column Generation

By

Soumitra Pal

Under the guidance of

Prof. A. G. Ranade

Page 2: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Agenda

• Introduction

• Basics of Simplex algorithm

• Formulations for the CSP

• (Delayed) Column Generation

• Branch-and-price

• Flow formulation of CSP & solution

• Conclusions

Page 3: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Cutting Stock Problem

• Given larger raw paper rolls

• Get final rolls of smaller widths

10

5 3

Page 4: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Cutting Stock Problem (2)

• Raw width (W) = 10• No of finals given below

i Width (wi) Quantity (bi)

1 3 9

2 5 79

3 6 90

4 9 27

• Minimize total no of raws reqd. to be cut

Page 5: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Agenda

• Introduction

• Basics of Simplex algorithm

• Formulations for the CSP

• (Delayed) Column Generation

• Branch-and-price

• Flow formulation of CSP & solution

• Conclusions

Page 6: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

5x1 - 8x2 ≥ -80 -5x1 - 4x2 ≥ -100

-5x1 - 2x2 ≥ -80-5x1 + 2x2 ≥ -50

Min -x1 -x2

Objective/

Cost fn

Constraints

Page 7: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

(10,0)

(13,5)

(12,10)

(8,15)

(0,10)

5x1 - 8x2 ≥ -80 -5x1 - 4x2 ≥ -100-5x1 - 2x2 ≥ -80-5x1 + 2x2 ≥ -50

Page 8: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

-x1-x2 = -10 -x1-x2 = -20 -x1-x2 = -30

Cost decreases in this direction

Page 9: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

(10,0)

(13,5)

(12,10)

(8,15)

(0,10)

Simplex method

Page 10: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

contraints of no.

variablesof no.

0

:s.t.

Min

1211

22222121

11212111

2211

m

l

x

bxaxaxa

bxaxaxa

bxaxaxa

xcxcxc

i

mlmlmm

ln

ln

ln

Page 11: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

0

:s.t.

000Min

1211

222222121

111212111

212211

i

mnlmlmm

lln

lln

nllln

x

bxxaxaxa

bxxaxaxa

bxxaxaxa

xxxxcxcxc

Page 12: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

0

:s.t.

Min

x

bAx

cx

Page 13: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

(10,0,130,50,30,0)

(13,5,110,10,0,0)

(12,10,60,0,0,10)

(8,15,0,0,10,40)

(0,10,0, 60,60,70)

(0,0,80, 100,80,50)

Basic & non-basic 5x1 - 8x2 ≥ -80 -5x1 - 4x2 ≥ -100-5x1 - 2x2 ≥ -80-5x1 + 2x2 ≥ -50

Page 14: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

'1'

'11'

1'1'

'

''

11

1

1

equation, previousin it Putting

variablebasic-non one increase corner,next out find To0

0 ,0

0min

NBB

NB

NB

N

B

B

BBB

B

B

BB

BNB

NxBxxNxBbBxbBNxBx

x

xx

bBx

NBI

bBcxccxbBxbBx

xbx

NBAx

xcccx

Page 15: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

NBccc

xNBcccxcx

xNBccxcxcxccxxcNxBxcxcxccx

BN

NBN

NBNBBNNBB

NNNBBNNBB

1

'1'

'1'''

''1'''

cost reduced called isbracket in termThe

)(costin Change

)()(

cost New

• If all elements of it are non-negative, it is already optimal• Otherwise choose the non-basic variable corresponding to

most negative value to enter the basic

Page 16: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

• How to find out outgoing basic variable?

ofcomponent kth

)( ofcomponent kth of Min value

0. becomes ofcomponent )k(say one until increased becan It .

variablebasic new with mutilpies that ofcolumn thebe Let

1

'th

1

1'1'

d

xbB

xx

NBd

bBNxBx

B

B

i

NB

Page 17: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Few steps of simplex algorithm

• Compute reduced cost• If all >= 0, optimal stop.• Otherwise choose the most negative

component• Corresponding variable enters basis• Compute the ratios for finding out leaving basis• Update basic variables and B for next step

NBcc BN1

'1'NBB NxBxx

Page 18: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Smart way of doing

variableleavingabout info gives

gives, ofcolumn theis wherecost reduced and gives

gives

d

xdNaaBd

yNcycyBxbBx

B

NB

BB

Page 19: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Start

Page 20: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Reduced cost vector

Page 21: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Selection of non-basic variable

Page 22: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

y vector

Page 23: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Selection of leaving basic variable

Page 24: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Preparation for next step

yd

Page 25: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Entering variable in 2nd iteration

Page 26: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Leaving variable in 2nd iteration

Page 27: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Preparation for 3rd iteration

Page 28: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

yd

Final iteration

Page 29: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Done so far

• Basics of (revised) Simplex algorithm– Formulation– Corners, basic variables, non-basic variables– How to move from corner to corners– Optimal value

Page 30: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Agenda

• Introduction

• Basics of Simplex algorithm

• Formulations for the CSP

• (Delayed) Column Generation

• Branch-and-price

• Flow formulation of CSP & solution

• Conclusions

Page 31: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

raw k fromcut widthi of finals of no.

otherwise 0used, is raw k if 1

widthafor index iraw afor index k

widthsdifferent of no.mraws available of no.K

,,1,,1integer and 0,,11or 0

,,1

,,1 :s.t.

Min

th

th

th

1

1

1

ik

k

ik

k

k

m

iiki

i

K

kik

K

kk

x

y

miKkxKky

KkWyxw

mibx

y

First step to solution - Formulation

Kantorovich formulation

Page 32: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Kantorovich formulation example

1 2 3 4

1 ,4

3 ,1 ,10 ,1 ,4

21

132111

4231

k

kk

k xx

xxxyyyyK

Page 33: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

LP relaxation• Integer programming is hard• Convert it to a linear program

raw k fromcut widthi of finals of no.

otherwise 0used, is raw k if 1

widthafor index iraw afor index k

widthsdifferent of no.mraws available of no.K

,,1,,1integer and 0,,11or 0

,,1

,,1 :s.t.

Min

th

th

th

1

1

1

ik

k

ik

k

k

m

iiki

i

K

kik

K

kk

x

y

miKkxKky

KkWyxw

mibx

y

0 ≤ yk ≤ 1

Page 34: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

LP relaxation (2)

• LP relaxation is poor• For our example, optimal LP objective is 120.5• The optimal integer objective solution value is

157• Gap is 36.5• It can be as bad as ½ of the integer solution

• Can we get a better LP relaxation?

Page 35: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

jpattern fromcut widthi of finals of no.

jpattern in cut raws of no.

patterns possible all ofset J

pattern cutting aj

widthsdifferent of no.m

widthafor index i

integer and 0

,,1 :s.t.

Min

th

ij

j

j

iJj

jij

Jjj

a

x

Jjx

mibxa

x

Another Formulation

Gilmore-Gomory

Formulation

Page 36: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

27

90

79

9

000000001

000000110

000121000

321100100

:9

:6

:5

:3

9

8

7

6

5

4

3

2

1

4

3

2

1

x

x

x

x

x

x

x

x

x

w

w

w

w

Example formulation

3*1 + 5*0 + 6*1 + 9*0 = 9 ≤ 10

Page 37: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

LP relaxation of Gilmore-Gomory

• LP relaxation is better

• For our example, 156.7

• Integer objective solution, 157

• Gap is 0.3

• Conjecture: Gap is less than 2 for practical cutting stock problems

Page 38: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Issues

• The number of columns are exponential

• Optimal value is still not integer

• Gilmore-Gomory proposed an ingenuous way of working with less columns

• Branch-and-price to solve the other problem

Page 39: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Done so far

• Basics of (revised) Simplex algorithm– Formulation– Corners, basic variables, non-basic variables– How to move from corner to corners– Optimal value

• Formulation of the CSP– LP relaxation– Bounds

Page 40: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Agenda

• Introduction

• Basics of Simplex algorithm

• Formulations for the CSP

• (Delayed) Column Generation

• Branch-and-price

• Flow formulation of CSP & solution

• Conclusions

Page 41: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Column Generation

• In pricing step of simplex algorithm one basic variable leaves and one non-basic variable enters the basis

• This decision is made from the reduced cost vector

• The component with most negative value determines the entering variable

yNcNBcc NBN or 1

Page 42: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Column Generation (2)

• In terms of columns, we need to find

• That is equivalent to finding a such that

• For cutting stock problem, cj=1, hence it is equivalent to

• With implicit constraint

• Pricing sub-problem

} ofcolumn a is |{min argj

Nayac jjj

} ofcolumn a is |)(min{ Aayaac

}1|max{ yaya

Wwa

Page 43: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Column Generation (3)

AnyNew Columns?

STOP(LP Optimal)

SolveRestricted Master Problem

(RMP)

SolvePricing Problem

Update RMP withNew Columns

No

Yes

Page 44: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

27

90

79

9

000000001

000000110

000121000

321100100

:9

:6

:5

:3

9

8

7

6

5

4

3

2

1

4

3

2

1

x

x

x

x

x

x

x

x

x

w

w

w

w

Example formulation

Page 45: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

T

BB

a

aaaa

aaaa

yyB

xBC

0101findcan weg,programmin dynamicor n enumeratio Using

109653constraintknapsack Given

1.1.12

1

3

1 maximize toneed we

112/13/11111

27

90

5.39

3

1/27

1/90

2/79

3/9

,

1000

0100

0020

0003

,

27

90

79

9

4321

4321

Page 46: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

27

81

5.39

9

27

1.990

5.39

9

27

.90

5.39 ,

1000

0101

0020

0001

replaced is Bin column first ,9

*90*9*1/90*3

1/3 /

0103

1

3dt

t

xB

t

dx

daBd

B

TT

B

T

Page 47: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

5.15627815.399 Solution

optimalalready is Hence1 subproblem ofsolution get not can We

109653costraintknapsack Given

1.1.12

1.0 maximize toneed we

112/101111

27

81

5.39

9

,

1000

0101

0020

0001

4321

4321

B

B

x

aaaa

aaaa

yyB

xB

Page 48: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Done so far

• Basics of (revised) Simplex algorithm– Formulation– Corners, basic variables, non-basic variables– How to move from corner to corners– Optimal value

• Formulation of the CSP– LP relaxation– Bounds

• Delayed column generation– Restricted master problem– Sub-problem to generate column– Repeated till optimal

Page 49: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Agenda

• Introduction

• Basics of Simplex algorithm

• Formulations for the CSP

• (Delayed) Column Generation

• Branch-and-price

• Flow formulation of CSP & solution

• Conclusions

Page 50: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Integer solution

• A formulation of the problem which gives ‘good’ LP relaxation

• Solved the LP relaxation using column generation

• But, the LP relaxation is not the ultimate goal, we need integer solution

• In the example x2 is 39.5• One way is to rounding

Page 51: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

• What to do if there are multiple fractional variables?

• The method commonly followed is branch -and-bound technique of solving integer programs

• Basic fundae– create multiple sub-problems with extra

constraints

– solve the sub-problems using column generation

– take the best of solutions to the sub problems

Page 52: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

• Key is the rules of dividing into sub problems (this is called branching strategy)

• Things to look into– Branching rule does not destroy column

generation sub problem property– Efficiency of the process

• Ingenuity of the formulation and branching strategy

• Use of running bounds to prune (fathomed)

• This technique is called branch-and-price

• We see another formulation next

Page 53: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Done so far• Basics of (revised) Simplex algorithm

– Formulation– Corners, basic variables, non-basic variables– How to move from corner to corners– Optimal value

• Formulation of the CSP– LP relaxation– Bounds

• Delayed column generation– Restricted master problem– Sub-problem to generate column– Repeated till optimal

• Branch-and-price– Basic fundae

Page 54: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Agenda

• Introduction

• Basics of Simplex algorithm

• Formulations for the CSP

• (Delayed) Column Generation

• Branch-and-price

• Flow formulation of CSP & solution

• Conclusions

Page 55: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Flow formulation

• Bin packing problem

• Similar to the cutting stock problem

bin items

Page 56: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

w2 w2 w2 w2

w1w1 w1

loss loss loss loss loss

01 2 3 4 5

w2 w2

01 2 3 4 5

loss

Example• Bin capacity W = 5

• Item sizes – w1=3 and w2=2

Page 57: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Formulation equations

• Problem is equivalent to finding minimum flow between nodes 0 & W

0integer

0integer

,,2,1

,

1,,2,1,0

0,

:s.t.

Min

)()(

z

x

mdbxWjz

Wi

jz

xx

z

ij

Awkkdwkk

Ajkjk

Aijij

d

d

Page 58: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

• Issue of symmetry in the graph

• 3 rules to reduce symmetry1. Arcs are specified according to decreasing

width

2. A bin can never start with a loss

3. Number of consecutive arcs corresponding to a single item size must not exceed number of orders

Page 59: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

w2 w2 w2 w2

w1w1 w1

loss loss loss loss loss

01 2 3 4

5

Invalid as per rule 2

Invalid as per rule 1

w2 w2 w2

w1

loss loss loss

0 1 2 3 4 5

Page 60: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Branch-and-price

• The sub-problem finds an longest unit flow path where cost of each arc is given by y vector

• Branching heuristics– Xij >= ceil(xij)– Xij <= floor(xij)

Page 61: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Few other points

• Loss constraints from the LP relaxation value is equated with the sum of loss variables

• With the above constraint it can be shown that the solution will be always integral

• The algorithm uses this fact by incrementally adding the lower bound

• This is done finite no. of times• No of new constraints are added is finite• Algorithm runs in pseudo-polynomial time

Page 62: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Conclusions & Future work

• Column generation is a success story in large scale integer programming

• The flexibility to work with a few columns make real life problems tractable

• Ingenuous formulations and branching heuristics are used to improve efficiency

• Need to explore more applications with different heuristics

Page 63: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Acknowledgements

• Valerio de Carvalho for borrowing some of his explanations exactly

• http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/simplex/applet/SimplexTool.html for the java applet

• AMPL & CPLEX tools

• My guide

Page 64: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade
Page 65: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade

Thank you!

Page 66: Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade