15.093:
Optimization
Methods
1
Outline
Slide 1
1. Theideaofcolumngeneration 2. Thecuttingstock problem 3. Stochastic programming
2
Column
Generation
Slide 2
Forx 2< nandnlargeconsider theLOP:
min c 0 x s:t: Ax =b x
0
Restricted problem X min cixi i2I X s:t: Aixi=b i2I x0
2.1
Two
Key
Ideas
Slide 3
GeneratecolumnsAj onlyasneeded.
Calculateminici ecientlywithoutenumeratingallcolumns.
3
The
Cutting
Stock
Problem
Slide 4
Companyhasasupplyoflargerollsofpaperofwidth W.
bi rollsofwidthwi i= 1:::m needtobe produced.
Example: w=70inches,canbecutin3rollsofwidthw1 =17and1roll
ofwidthw2 =15,waste: 70; (3 17+1 15)=4 Slide 5 Givenw
1:::wmandW therearemanycuttingpatterns: (31)and(22)
forexample
3 17+1 15 70
m
X
aiwi W
i�1
3.1
Problem
Slide 6Given wi bi i = 1:::m (bi: numberof rolls of width wi demanded,
andW (widthof largerolls):
Findhow to cutthe largerollsinorder to minimizethenumberofrolls
used.
3.2
Concrete
Example
Slide 7
WhatisthesolutionforW =70w
1=21 w 2=11 b1=40 b2=40? feasiblepatterns: (22),(30),(06)
Solution1: (22): 20patterns20rollsused
Solution2: (30): 12,(06): 9,(22): 2patterns: 23rollsused
Slide 8 W =70w 1=20 w =11b =12 =17 1 b2 2 1 0 2 0 ; 3 0 ; 0 1 ; 1 1 ; 0 3 2 2 1 2 0 2 2 1 ; ; ; ; ; 1 3 ; ; Feasiblepatterns: 0 6 0 5 ; ; ; 1 4 x
1:::x15 =#offeasiblepatternsofthetype 0 4 ; 0 6 ; min x1 + +x 15 1 2 0 12 s:t: x1 +x2 + +x 15 = 0 0 6 17 x1:::x15 0 Slide 9 0 0 3 12
Example: 2 +1 +4 = 7rollsused
6 5 0 17 0 0 3 12 4 4 + 1 +4 0 = 17 9rollsused Anyideas? 1 0 ; respectively :::
3.3
Formulation
Slide 10Decisionvariables:xj=numberofrollscutbypatternjcharacterizedbyvector
Aj: n P minj xj �1 0 1 b1 n P B C Aj xj = @ ... A j�1 bm xj 0 (integer) Slide 11
Hugenumberofvariables.
Canweapplycolumngeneration,thatisgenerate thepatternsAj onthe
y?
3.4
Algorithm
Slide 12
Idea: Generatefeasiblepatternsasneeded.
0 1 0 1 0 1 0 1 b wWc 0 0 0 1 B 0 C B b Wc C B 0 C B 0 C B C B w 2 B C B C
1) Startwithinitialpatterns: @ A @ A @ b Wc A @ 0 A C 0 0 w3 0 0 0 b wWc 4 Slide 13 2) Solve: x minx1 + +xm 1 A 1 + +xmAm=b xi 0 Slide 14
3) Computereduced costs cj= 1; p
0
Aj forallpatternsj
curren
Ifcj 0 t setofpatternsoptimal
Ifcs<0) xs needs toenter basis
How are we going to compute reduced costs cj = 1; p 0
Aj for all j? (huge
3.4.1
Key
Idea
Slide 15 4) Solve m X � z =max piai i�1 m X s:t: wiai W i�1 ai 0 integerThisistheintegerknapsack problem
Slide 16
Ifz
�
1) 1; p 0
Aj>08j) current solutionoptimal
Ifz
� >1
)9 s: 1; p 0
As <0) Variable xs becomes basic,i.e.,anew
patternAs willenterthebasis.
Performmin-ratiotestandupdate thebasis.
3.5
Dynamic
Programming
Slide 17 F(u) =max p1 a1 + +pmam s:t: w1 a1 + +wmam u ai 0 integerForu wmin,F(u) =0.
Foru wmin F(u)= max fpi+F(u; wi)g i�1::: m Why?
3.6
Example
Slide 18 max 11x1 + 7x2 + 5x3 +x4 s:t: 6x1 + 4x2 + 3x3 +x4 25 xi 0 xi integer F(0) =0 F(1) =1 F(2) =1 +F(1)=2 Slide 19 F(3) =max(5+F(0)�1 +F(2))=5 F(4) =max(7+F(0)�5 +F(1)1 +F(3))=7 F(5) =max(7+F(1)�5 +F(2)1 +F(4))=8 F (6) =max(11+F (0) � 7 + F (2) 5 +F (3)1 +F (5))=11 F (7) =max(11+F (1) � 7 + F (2) 5 +F (3)1 +F (4))=12 F (8) =max(11+F (2)7 +F (4) � 5 + F (5)1 +F (7))=14 F (9) =11 +F (3)=16 F (10) =11 +F (4)=18 ( ) =11 + ( 6) =16 11) F (25)=11+F (19)=11+11+F (13)=11+11+11+F (7)=33+12=45 � x =(4 0 0 1)
4
Stochastic
Programming
4.1
Example
Steel(lbs) Moldingmachine(hrs) Assemblymachine (hrs)Demandlimit(tools/day)
Contributiontoearnings ($/1000units)
4.1.1
Random
data
Wrenches 1.5 1.0 0.3 15,000 $130* Pliers 1.0 1.0 0.5 16,000 $100 Slide 20 Cap. 27,000 21,000 9,000* Slide 21 max 130W+100P s:t: W 15 P 16 1:5W +P 27 W +P 21 0:3W + 0:5P 9 WP 0 Slide 22 8 1 > < 8000 withprobability 2 Assemblycapacityisrandom:> 1 : 10000 withprobability 2 8 1 > < 160 withprobability 2 Contributionfromwrenches:
> 1
: 90 withprobability
2
4.1.2
Decisions
Slide 23
Need todecide steelcapacityinthecurrent quarter. Cost58$/1000lbs.
Soonafter,uncertainty willberesolved.
Next quarter,companywilldecideproductionquantities.
4.1.3
Formulation
1 8,000 2 10,000 3 8,000 4 10,000 160 0.25 160 0.25 90 0.25 90 0.25
DecisionVariables: S: steelcapacity,
PiWi:i= 1:::4productionplanunderstate i. Slide 25
max ;58S+ 0:25Z 1 + 0:25Z2 + 0:25Z3 + 0:25Z4 s:t: Ass:1 0:3W1 + 0:5P1 8 Mol:1 W1 +P1 21 Ste:1 ;S+ 1:5W 1 +P1 0 W:d:1 W1 15 P:d:1 P1 16 Obj:1 ;Z 1 +160W1 +100P1 = 0 Slide 26 Ass: 2 0:3W2 + 0:5P2 10 Mol:2 W2 +P2 21 Ste:2 ;S+ 1:5W 2 +P2 0 W:d:2 W2 15 P:d:2 P2 16 Obj:2 ;Z 2 +160W2 +100P2 = 0 Slide 27 Ass:3 0:3W3 + 0:5P3 8 Mol:3 W3 +P3 21 Ste:3 ;S+ 1:5W 3 +P3 0 W:d:3 W3 15 P:d:3 P3 16 Obj:3 ;Z 3 +90W3 +100P3 = 0 Slide 28 Ass:4 0:3W4 + 0:5P4 10 Mol:4 W4 +P4 21 Ste:4 ;S+ 1:5W 4 +P4 0 W:d:4 W4 15 P:d:4 P4 16 Obj:4 ;Z 4 +90W4 +100P4 = 0 SWiPi 0
4.1.4
Solution
Slide 29 Solution:S =27250lb. Wi Pi 1 15,000 4,750 2 15,000 4,750 3 12,500 8,500 4 5,000 16,0004.2
Two-stage
problems
Slide 30
Randomscenarios indexed byw = 1:::k. Scenario w has probability
w.
Firststage decisions: x: Ax =bx
0
.Second stagedecisions: yw: w= 1:::k. Constraints: Bwx +Dwyw=dw,yw