Column Generation: Theory, Algorithms and Applications Dr Natashia Boland Department of Mathematics and Statistics The University of Melbourne.

Slides:



Advertisements
Similar presentations
Personnel and Vehicle Scheduling
Advertisements

Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Tuesday, May 7 Integer Programming Formulations Handouts: Lecture Notes.
1 LP, extended maxflow, TRW OR: How to understand Vladimirs most recent work Ramin Zabih Cornell University.
1 Outline relationship among topics secrets LP with upper bounds by Simplex method basic feasible solution (BFS) by Simplex method for bounded variables.
1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.
CPAIOR02 School on OptimizationC. Le Pape1 Integrating Operations Research Algorithms in Constraint Programming Claude Le Pape ILOG S.A.
Shadow Prices vs. Vickrey Prices in Multipath Routing Parthasarathy Ramanujam, Zongpeng Li and Lisa Higham University of Calgary Presented by Ajay Gopinathan.
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.
IEOR 4004 Final Review part II.
Dantzig-Wolfe Decomposition
Optimization problems using excel solver
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Chapter 3 Workforce scheduling.
Leena Suhl University of Paderborn, Germany
Progress in Linear Programming Based Branch-and-Bound Algorithms
CREW SCHEDULING Past and Future Jacques Desrosiers HEC & GERAD Montréal, Canada.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
Applications of Stochastic Programming in the Energy Industry Chonawee Supatgiat Research Group Enron Corp. INFORMS Houston Chapter Meeting August 2, 2001.
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
1 A Second Stage Network Recourse Problem in Stochastic Airline Crew Scheduling Joyce W. Yen University of Michigan John R. Birge Northwestern University.
Exploiting Duality (Particularly the dual of SVM) M. Pawan Kumar VISUAL GEOMETRY GROUP.
Michel Gendreau CIRRELT and MAGI École Polytechnique de Montréal
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
LP formulation of Economic Dispatch
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
How to Play Sudoku & Win Integer Programming Formulation of a Popular Game Sven LeyfferSven Leyffer, Argonne, Feb. 15, 2005 (windoze powerpoint sumi painting.
On parallelizing dual decomposition in stochastic integer programming
Optimizing over the Split Closure Anureet Saxena ACO PhD Student, Tepper School of Business, Carnegie Mellon University. (Joint Work with Egon Balas)
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.
Edward Kent Jason Atkin Rong Qi 1. Contents Vehicle Routing Problem VRP in Forestry Commissioning Loading Bay Constraints Ant Colony Optimisation Handing.
Stochastic Models for Operating Rooms Planning Mehdi LAMIRI, Xiaolan XIE, Alexandre DOLGUI and Frédéric GRIMAUD Centre Génie Industriel et Informatique.
1 Optimization Based Power Generation Scheduling Xiaohong Guan Tsinghua / Xian Jiaotong University.
15.082J and 6.855J and ESD.78J Lagrangian Relaxation 2 Applications Algorithms Theory.
Linear Programming Chapter 6. Large Scale Optimization.
Stabilized column generation  Classical column generation often very slow.  Slow convergence (tailing-off effect)  Poor columns in initial stages (head-in.
MILP algorithms: branch-and-bound and branch-and-cut
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Jacques Desrosiers Ecole des HEC & GERAD
Optimal Fueling Strategies for Locomotive Fleets in Railroad Networks Seyed Mohammad Nourbakhsh Yanfeng Ouyang 1 William W. Hay Railroad Engineering Seminar.
1 Lagrangean Relaxation --- Bounding through penalty adjustment.
“LOGISTICS MODELS” Andrés Weintraub P
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Stabilized column generation  Classical column generation often very slow.  Slow convergence (tailing-off effect)  Poor columns in initial stages (head-in.
1 System Planning 2013 Lecture 7: Optimization Appendix A Contents: –General about optimization –Formulating optimization problems –Linear Programming.
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
1 Inventory Control with Time-Varying Demand. 2  Week 1Introduction to Production Planning and Inventory Control  Week 2Inventory Control – Deterministic.
Lagrangean Relaxation
Dominance and Indifference in Airline Planning Decisions NEXTOR Conference: INFORMS Aviation Session June 2 – 5, 2003 Amy Mainville Cohn, KoMing Liu, and.
Constructing Robust Crew Schedules with Bicriteria Optimisation
The CPLEX Library: Mixed Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.3 Modeling with exponentially many constr.
2 TSP algorithms: (1) AP+B&B, (2) min spanning tree.
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 6. Large Scale Optimization
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 6. Large Scale Optimization
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Matteo Fischetti, University of Padova
6.5 Stochastic Prog. and Benders’ decomposition
Chapter 1. Formulations.
Chapter 6. Large Scale Optimization
Presentation transcript:

Column Generation: Theory, Algorithms and Applications Dr Natashia Boland Department of Mathematics and Statistics The University of Melbourne

Outline  Linear and integer programs  A shipping problem: column generation formulation  Column generation and why it works  Successful applications  Difficulties  Towards a cure: duality  A general framework for stabilisation  Progress in column generation and the future

Linear Programs x i = i th decision variable, i = 1,…,n min c 1 x 1 + c 2 x 2 +…+ c n x n s.t. a 11 x 1 + a 12 x 2 +…+ a 1n x n  b 1 a 21 x 1 + a 22 x 2 +…+ a 2n x n  b 2 a m1 x 1 + a m2 x 2 +…+ a mn x n  b m linear objective function m linear constraints x i integer, i = 1,…,n Integer

A Shipping Problem*  Delivering product to customers around the world  Shipping contracts entered into for next 12 months  Contract specifies ship s can be used at most once in any m s consecutive months – the spread  Contract specifies min and max limits on number of times ship used over year Operations Research Group Pty Ltd J. Horton, T. Surendonk, E. Jago * See Boland and Surendonk, 2001

Exercising a Shipping Contract JanFebMarAprMayJunJulAugSep Spread = 3 months Spread = 4 months CUSTOMER DEMAND

Exercising a Shipping Contract JanFebMarAprMayJunJulAugSep Spread = 3 months Spread = 4 months CUSTOMER DEMAND 1 2 X

An Integer Programming Model x ist = 1,if ship s delivers to customer i in period t 0,otherwise min  cost is x ist i,s,t  capacity s x ist  demand of customer i in period t s s.t.

Contract Constraints i, t min s   x ist  max s  ( x ist + x is(t+1) + … + x is(t+m s -1) )  1 i For each ship s for all t=1,… spread of m s periods

Outcomes  Implemented using top-grade commercial integer programming solver (ILOG Cplex)  16 customers, about 30 ships  Ran for many hours – out of memory  Best solution found might be as bad as 16% from optimal WHAT’S GOING WRONG?

Integrality Gap Integer program min cx s.t. Ax  b x  {0,1} n Value of integer program >> Value of relaxation Linear programming relaxation min cx s.t. Ax  b 0  x  1

Re-formulation: Ship Combinations JanFebMarAprMayJunJulAugSep  capacity s x ist  demand of customer i in period t s Which combination of ships should be used to meet customer i ’s demand in period t ?

A Column Generation Model y ikt = 1,if combination k used for customer i in period t 0,otherwise For customer i, period t K it = set of all combinations of ships that can meet customer’s demand in that period For k  K it

The Model min  (  cost is ) y ikt i,t,k  K it  y ikt = 1 k  K it s.t. sksk customer i demand met in period t min s   y ikt  max s i,t,k: s  k  ( y ikt + y ik(t+1) + … + y ik(t+m s -1) )  1 i,k: s  k contract constraints for ship s for all t=1,…

Issues  There are a very large number of variables - how can we solve even the linear programming relaxation?  Why will this reformulation help? ANSWERS: Column generation The linear program better approximates the integer program - WHY?

Column Generation 1.Select a small number of variables and solve the linear program using only these. 2.Find an unused variable which, if included, would most improve the objective value, or determine that there is none - the linear program has been solved: stop. 3.Include the variable in the linear program, re- solve it, and go to step 2.  Model this as an optimization problem Solve the column generation subproblem

The Shipping Subproblem For each customer i and period t, find a combination of ships that will most improve the objective:  capacity s v s  demand of customer i in period t s v s = 1,if ship s used in combination 0,otherwise min  f(cost is, s ) v s s.t. dual variables from linear program

Shipping Column Generation 1.Select a small number of combinations for each customer and period. Solve the linear program using only these. 2. For each customer and period, solve the shipping subproblem: if its value < cut-off include the optimal combination in the linear program. 3. If no new combinations included in step 2, the linear program has been solved: stop. 4.Re-solve the linear program and go to step 2.

Outcomes  Implemented using ILOG Cplex (and AMPL)  Solved in less than 2 minutes  Step 2 performed 34 times  1700 combinations generated  Solution to linear program was integer optimal WHAT’S GOING RIGHT?!

Dantzig-Wolfe Decomposition Integer program min cx s.t. Ax  b Dx  g x  {0,1} n Value integer program >> Value linear relaxation 0  x  1 Linear relaxation D-W Decomposition min cx s.t. Ax  b x  convDy  g y  {0,1} n Value integer program  Value D-W decomposition  contract demand

Geometry           demand linear relaxation D-W relax. contract

Successful Applications: A Brief History Cutting stock problems Air crew scheduling Aircraft fleeting and routing Crew rostering Vehicle routing Global shipping Multi-item lot-sizing Optical telecommunications network design Cancer radiation treatment using IMRT     

Difficulties with Column Generation  Tailing off – slow convergence  Getting integrality – column generation within branch-and-bound and in combination with cutting planes  Columns with set-up costs

Difficulties with Column Generation  Tailing off – slow convergence  Getting integrality – column generation within branch-and-bound and in combination with cutting planes  Columns with set-up costs

A Dual Approach Integer program min cx s.t. Ax = b Dx  g x  {0,1} n Lagrangian Relaxation min cx s.t. x  Y Value integer program  Value Lagrangian relaxation Y + (b – Ax) For all : = z( )

Properties of the Lagrangian Relaxation  z( ) is a piecewise affine concave function  To find the best lower bound, solve Lagrangian Dual max z( ) s.t.   m  To find a subgradient of z( ), solve the Lagrangian relaxation

Nonsmooth Methods  Kelley’s cutting plane  Subgradient optimisation (Held & Karp)  Projection methods (Conn & Cornuejols)  Method of analytic centres (Goffin et al.)  Box-step method (Marsten)  Bundle methods (Lemarechal, Kiwiel)  Linear-norm bundle methods (Kim et al.)  Penalty-step method (du Merle, Desrosiers et al.)  Partial-step method (Neame) = column generation!

A Common Framework Iteratively solve max ( min { cx + (b – Ax) : x  Y i } ) s.t.   m + s i ( ) where Y i  Y Joint work with Danny Ralph & Phil Neame stabilisation function

Stabilisation Functions Box-step Bundle Bundle – 1-norm du Merle et al.

Better Theory and Algorithms  An algorithm for general stabilisation functions  General conditions on stabilisation functions under which the algorithm will -Converge -Terminate finitely  Termination of earlier methods: special cases  These imply conditions on the parameters defining the stabilisation functions  New (hybrid) stabilisation functions

Numerical Improvements  Binary cutting stock problem  Average results over 20 problems drawn at random from 3 problem classes CPU Time (s) Standard Col. Gen. Box-step Variant Bundle 1-norm Hybrid

Progress in Column Generation  Tailing off – slow convergence  Getting integrality – column generation within branch-and-bound and in combination with cutting planes*  Columns with set-up costs** * See Barnhart, Boland et al & Boland et al ** See Vanderbeck 2000  