700 likes | 1.02k Views
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. 10. 5. 3. Cutting Stock Problem.
E N D
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
10 5 3 Cutting Stock Problem • Given larger raw paper rolls • Get final rolls of smaller widths
Cutting Stock Problem (2) • Raw width (W) = 10 • No of finals given below • Minimize total no of raws reqd. to be cut
Agenda • Introduction • Basics of Simplex algorithm • Formulations for the CSP • (Delayed) Column Generation • Branch-and-price • Flow formulation of CSP & solution • Conclusions
Objective/ Cost fn Min -x1 -x2 5x1 - 8x2≥ -80 Constraints -5x1 - 4x2≥ -100 -5x1 - 2x2≥ -80 -5x1 + 2x2≥ -50
(8,15) (0,10) (12,10) (13,5) (10,0) 5x1 - 8x2≥ -80 -5x1 - 4x2≥ -100 -5x1 - 2x2≥ -80 -5x1 + 2x2≥ -50
Cost decreases in this direction -x1-x2 = -10 -x1-x2 = -20 -x1-x2 = -30
(8,15) (0,10) (12,10) (13,5) (10,0) Simplex method
Basic & non-basic 5x1 - 8x2≥ -80 -5x1 - 4x2≥ -100 -5x1 - 2x2≥ -80 -5x1 + 2x2≥ -50 (8,15,0,0,10,40) (0,10,0, 60,60,70) (12,10,60,0,0,10) (13,5,110,10,0,0) (10,0,130,50,30,0) (0,0,80, 100,80,50)
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
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 Few steps of simplex algorithm
d y Start
d y Reduced cost vector
d y Selection of non-basic variable
d y y vector
d y Selection of leaving basic variable
d y Preparation for next step
d y Entering variable in 2nd iteration
d y Leaving variable in 2nd iteration
d y Preparation for 3rd iteration
d y Final iteration
Done so far • Basics of (revised) Simplex algorithm • Formulation • Corners, basic variables, non-basic variables • How to move from corner to corners • Optimal value
Agenda • Introduction • Basics of Simplex algorithm • Formulations for the CSP • (Delayed) Column Generation • Branch-and-price • Flow formulation of CSP & solution • Conclusions
First step to solution - Formulation Kantorovich formulation
Kantorovich formulation example 1 2 3 4
0 ≤ yk≤ 1 LP relaxation • Integer programming is hard • Convert it to a linear program
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?
Gilmore-Gomory Formulation Another Formulation
Example formulation 3*1 + 5*0 + 6*1 + 9*0 = 9 ≤ 10
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
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
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
Agenda • Introduction • Basics of Simplex algorithm • Formulations for the CSP • (Delayed) Column Generation • Branch-and-price • Flow formulation of CSP & solution • Conclusions
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
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
Solve Restricted Master Problem (RMP) Update RMP with Solve New Columns Pricing Problem Any Yes New Columns? No STOP (LP Optimal) Column Generation (3)
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
Agenda • Introduction • Basics of Simplex algorithm • Formulations for the CSP • (Delayed) Column Generation • Branch-and-price • Flow formulation of CSP & solution • Conclusions
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