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

Slides:



Advertisements
Similar presentations
1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.
Advertisements

1 Branch-and-Price (Column Generation) Solving Integer Programs With a Huge Number of Variables CP-AI-OR02 School on Optimization Le Croisic, France March.
Linear Programming (LP) (Chap.29)
SIMPLEX METHOD FOR LP LP Model.
Introduction to Algorithms
Dr. Sana’a Wafa Al-Sayegh
Computational Methods for Management and Economics Carla Gomes Module 6a Introduction to Simplex (Textbook – Hillier and Lieberman)
Computational Methods for Management and Economics Carla Gomes Module 8b The transportation simplex method.
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Introduction to Linear and Integer Programming
The Simplex Method: Standard Maximization Problems
Design and Analysis of Algorithms
Computational Methods for Management and Economics Carla Gomes
Chapter 10: Iterative Improvement
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Integer programming Branch & bound algorithm ( B&B )
LINEAR PROGRAMMING SIMPLEX METHOD.
Decision Procedures An Algorithmic Point of View
1. The Simplex Method.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Column Generation Approach for Operating Rooms Planning Mehdi LAMIRI, Xiaolan XIE and ZHANG Shuguang Industrial Engineering and Computer Sciences Division.
8. Linear Programming (Simplex Method) Objectives: 1.Simplex Method- Standard Maximum problem 2. (i) Greedy Rule (ii) Ratio Test (iii) Pivot Operation.
Types of IP Models All-integer linear programs Mixed integer linear programs (MILP) Binary integer linear programs, mixed or all integer: some or all of.
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Topic III The Simplex Method Setting up the Method Tabular Form Chapter(s): 4.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Solving Linear Programming Problems: The Simplex Method
MILP algorithms: branch-and-bound and branch-and-cut
WOOD 492 MODELLING FOR DECISION SUPPORT
Mechanical Engineering Department 1 سورة النحل (78)
1 Simplex Method for Bounded Variables Linear programming problems with lower and upper bounds Generalizing simplex algorithm for bounded variables Reference:
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Two Discrete Optimization Problems Problem: The Transportation Problem.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
Simplex Method for solving LP problems with two variables.
1 Inventory Control with Time-Varying Demand. 2  Week 1Introduction to Production Planning and Inventory Control  Week 2Inventory Control – Deterministic.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Flow in Network. Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
The minimum cost flow problem. Solving the minimum cost flow problem.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
The minimum cost flow problem
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Introduction to Operations Research
EMIS 8373: Integer Programming
1.3 Modeling with exponentially many constr.
Chapter 4 Linear Programming: The Simplex Method
Chapter 6. Large Scale Optimization
Chapter 6. Large Scale Optimization
1.3 Modeling with exponentially many constr.
Flow Feasibility Problems
Branch-and-Bound Algorithm for Integer Program
Chapter 6. Large Scale Optimization
Discrete Optimization
Presentation transcript:

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

Cutting Stock Problem Given larger raw paper rolls Get final rolls of smaller widths 10 53

Cutting Stock Problem (2) Raw width (W) = 10 No of finals given below iWidth (w i )Quantity (b i ) 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

5x 1 - 8x 2 ≥ x 1 - 4x 2 ≥ x 1 - 2x 2 ≥ x 1 + 2x 2 ≥ -50 Min -x 1 -x 2 Objective/ Cost fn Constraints

(10,0) (13,5) (12,10) (8,15) (0,10) 5x 1 - 8x 2 ≥ x 1 - 4x 2 ≥ x 1 - 2x 2 ≥ x 1 + 2x 2 ≥ -50

-x1-x2 = -10-x1-x2 = -20 -x1-x2 = -30 Cost decreases in this direction

(10,0) (13,5) (12,10) (8,15) (0,10) Simplex method

(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 5x 1 - 8x 2 ≥ x 1 - 4x 2 ≥ x 1 - 2x 2 ≥ x 1 + 2x 2 ≥ -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

How to find out outgoing basic variable?

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

Smart way of doing

yd Start

yd Reduced cost vector

yd Selection of non-basic variable

yd y vector

yd Selection of leaving basic variable

Preparation for next step yd

yd Entering variable in 2 nd iteration

yd Leaving variable in 2 nd iteration

yd Preparation for 3 rd iteration

yd 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 1234

LP relaxation Integer programming is hard Convert it to a linear program 0 ≤ y k ≤ 1

LP relaxation (2) LP relaxation is poor For our example, optimal LP objective is 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?

Another Formulation Gilmore-Gomory 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, 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, c j =1, hence it is equivalent to With implicit constraint Pricing sub-problem

Column Generation (3) Any New Columns? STOP (LP Optimal) Solve Restricted Master Problem (RMP) Solve Pricing Problem Update RMP with New Columns No Yes

Example formulation

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 x 2 is 39.5 One way is to rounding

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

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

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

Agenda Introduction Basics of Simplex algorithm Formulations for the CSP (Delayed) Column Generation Branch-and-price Flow formulation of CSP & solution Conclusions

Flow formulation Bin packing problem Similar to the cutting stock problem binitems

w2w2 w2w2 w2w2 w2w2 w1w1 w1w1 w1w1 loss w2w2 w2w Example Bin capacity W = 5 Item sizes – w 1 =3 and w 2 =2

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

Issue of symmetry in the graph 3 rules to reduce symmetry 1.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

w2w2 w2w2 w2w2 w2w2 w1w1 w1w1 w1w1 loss Invalid as per rule 2 Invalid as per rule 1 w2w2 w2w2 w2w2 w1w1 loss

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)

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

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

Acknowledgements Valerio de Carvalho for borrowing some of his explanations exactly fp.mcs.anl.gov/otc/Guide/CaseStudies/s implex/applet/SimplexTool.html for the java applethttp://www- fp.mcs.anl.gov/otc/Guide/CaseStudies/s implex/applet/SimplexTool.html AMPL & CPLEX tools My guide

Thank you!