1 / 31

Column Generation: Theory, Algorithms and Applications

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

fala
Télécharger la présentation

Column Generation: Theory, Algorithms and Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. linear objective function m linear constraints Integer Linear Programs xi = ith decision variable, i = 1,…,n minc1x1 + c2x2 +…+ cnxn s.t.a11x1 + a12x2 +…+ a1nxn  b1 a21x1 + a22x2 +…+ a2nxn  b2 am1x1 + am2x2 +…+ amnxn  bm xiinteger, i = 1,…,n

  4. A Shipping Problem* Operations Research Group Pty Ltd J. Horton, T. Surendonk, E. Jago  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 ms consecutive months – the spread  Contract specifies min and max limits on number of times ship used over year * See Boland and Surendonk, 2001

  5. Exercising a Shipping Contract Spread = 3 months Spread = 4 months Jan Feb Mar Apr May Jun Jul Aug Sep CUSTOMER DEMAND

  6. Exercising a Shipping Contract Spread = 3 months Spread = 4 months 1 X 2 Jan Feb Mar Apr May Jun Jul Aug Sep CUSTOMER DEMAND

  7. capacitysxist demand of customer i in period t s An Integer Programming Model xist = 1, if ship s delivers to customer i in period t 0, otherwise mincostisxist i,s,t s.t.

  8.  (xist + xis(t+1) + … + xis(t+ms-1) )  1 i Contract Constraints For each ship s mins xist maxs i, t spread of ms periods for all t=1,…

  9. 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?

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

  11. capacitysxist demand of customer i in period t s Re-formulation: Ship Combinations Which combination of ships should be used to meet customer i’s demand in period t? Jan Feb Mar Apr May Jun Jul Aug Sep

  12. For customeri, period t Kit = set of all combinations of ships that can meet customer’s demand in that period A Column Generation Model yikt = 1, if combination k used for customer i in period t 0, otherwise For k Kit

  13. mins yikt maxs i,t,k: s k The Model min(costis)yikt i,t,kKit sk s.t. yikt= 1 customer i demand met in period t k Kit contract constraints for ship s  (yikt + yik(t+1) + … + yik(t+ms-1) )  1 for all t=1,… i,k: s k

  14. 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?

  15. 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

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

  17. 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.

  18. 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?!

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

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

  21. Successful Applications: A Brief History 1960  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 1980  1990   2000 

  22. 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

  23. 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

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

  25. 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

  26. Nonsmooth Methods = column generation!  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)

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

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

  29. 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

  30. Numerical Improvements Binary cutting stock problem  Average results over 20 problems drawn at random from 3 problem classes

  31. FUTURE 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. 1998 & Boland et al. 2000 ** See Vanderbeck 2000

More Related