Large-scale optimization and decomposition methods: outline. Column Generation and Cutting Plane methods: a unified view

Similar documents
Lecture 8: Column Generation

Lecture 8: Column Generation

Column Generation I. Teo Chung-Piaw (NUS)

3.10 Column generation method

Decomposition methods in optimization

3.10 Column generation method

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of

1 Column Generation and the Cutting Stock Problem

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications

Decomposition Methods for Integer Programming

Introduction to Bin Packing Problems

Improving Branch-And-Price Algorithms For Solving One Dimensional Cutting Stock Problem

Notes on Dantzig-Wolfe decomposition and column generation

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

A Node-Flow Model for 1D Stock Cutting: Robust Branch-Cut-and-Price

Column Generation. i = 1,, 255;

Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound

Feasibility Pump Heuristics for Column Generation Approaches

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Integer Programming Part II

The two-dimensional bin-packing problem is the problem of orthogonally packing a given set of rectangles

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows

Classification of Dantzig-Wolfe Reformulations for MIP s

Operations Research Lecture 6: Integer Programming

Introduction to optimization and operations research

Integer Linear Programming

Lecture 9: Dantzig-Wolfe Decomposition

Integer Programming. Wolfram Wiesemann. December 6, 2007

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Integer Programming ISE 418. Lecture 16. Dr. Ted Ralphs

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

and to estimate the quality of feasible solutions I A new way to derive dual bounds:

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

Integer Programming Reformulations: Dantzig-Wolfe & Benders Decomposition the Coluna Software Platform

Introduction to Integer Linear Programming

Column Generation for Extended Formulations

A BRANCH&BOUND ALGORITHM FOR SOLVING ONE-DIMENSIONAL CUTTING STOCK PROBLEMS EXACTLY

Integer Programming. The focus of this chapter is on solution techniques for integer programming models.

Integer Linear Programming Modeling

Recoverable Robustness in Scheduling Problems

Integer programming: an introduction. Alessandro Astolfi

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Introduction to Integer Programming

PART 4 INTEGER PROGRAMMING

21. Set cover and TSP

Travelling Salesman Problem

Decomposition-based Methods for Large-scale Discrete Optimization p.1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

SOLVING INTEGER LINEAR PROGRAMS. 1. Solving the LP relaxation. 2. How to deal with fractional solutions?

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0.

Chapter 3: Discrete Optimization Integer Programming

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound

Pedro Munari - COA 2017, February 10th, University of Edinburgh, Scotland, UK 2

Advanced linear programming

A Hub Location Problem with Fully Interconnected Backbone and Access Networks

Modeling with Integer Programming

Lagrangian Relaxation in MIP

Linear and Integer Programming - ideas

Spring 2018 IE 102. Operations Research and Mathematical Programming Part 2

A Column Generation Based Heuristic for the Dial-A-Ride Problem

Chapter 3: Discrete Optimization Integer Programming

A Priori Route Evaluation for the Lateral Transhipment Problem (ARELTP) with Piecewise Linear Profits

Cutting Planes in SCIP

The Fixed Charge Transportation Problem: A Strong Formulation Based On Lagrangian Decomposition and Column Generation

Decomposition and Reformulation in Integer Programming

An exact algorithm for Aircraft Landing Problem

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory

Lecture 10: Linear programming. duality. and. The dual of the LP in standard form. maximize w = b T y (D) subject to A T y c, minimize z = c T x (P)

Integer Solutions to Cutting Stock Problems

Orbital Shrinking: A New Tool for Hybrid MIP/CP Methods

Integer program reformulation for robust branch-and-cut-and-price

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Optimization Methods for NDP

Discrete (and Continuous) Optimization WI4 131

Integer Linear Programming (ILP)

Cutting Plane Separators in SCIP

Strengthened Benders Cuts for Stochastic Integer Programs with Continuous Recourse

Overview of course. Introduction to Optimization, DIKU Monday 12 November David Pisinger

56:270 Final Exam - May

Models and Cuts for the Two-Echelon Vehicle Routing Problem

Introduction column generation

KNAPSACK PROBLEMS WITH SETUPS

3.10 Lagrangian relaxation

Generation and Representation of Piecewise Polyhedral Value Functions

Stabilized Branch-and-cut-and-price for the Generalized Assignment Problem

MTHSC 4420 Advanced Mathematical Programming Homework 2

Linear Programming. H. R. Alvarez A., Ph. D. 1

Acceleration and Stabilization Techniques for Column Generation

Linear integer programming and its application

Partial Path Column Generation for the Elementary Shortest Path Problem with Resource Constraints

Transcription:

Large-scale optimization and decomposition methods: outline I Solution approaches for large-scaled problems: I Delayed column generation I Cutting plane methods (delayed constraint generation) 7 I Problems amenable to the above methods: I Cutting stock problem, etc. I Problems reformulated via decomposition methods I Benders decomposition I Dantzig-Wolfe decomposition 7 Not to be confused with the cutting stock problem, which is actually solved with a delayed column generation algorithm IOE 610: LP II, Fall 2013 Large-scale optimization Page 247 Column Generation and Cutting Plane methods: a unified view (P) min c T x (D) max b T p Ax = b p T A apple c T x 0 A 2< m n,wheren >> m. Typicaliteration: 1. Start with I {1,...,n} 2. Solve the Restricted/Relaxed Master Problem: P (ResMP) min j2i c jx j (RelMP) max b T p P j2i A jx j = b p T A j apple c T j j 2 I 0, j 2 I x j Let (x I, p) berespectiveoptimalsolutions. 3. Check if c j p T A j < 0 for some j 2 {1,...,n}. 4. If not, terminate: (x, p), where x j = 0 for j 62 I, are optimal for (P)/(D) 5. Otherwise I add one (or more) indices j (with at least one c j p T A j < 0) to I ; I if desired, remove one or more non-basic indices from I ; I return to step 1. IOE 610: LP II, Fall 2013 Overview Page 248

The pricing problem I If n is large, enumerating all columns of A in step 3 is impossible I Sometimes, structure of the columns of A is such that we can easily solve the pricing subproblem: Z? (p) = min (c j p T A j ) j2{1,...,n} without explicitly examining each column I Note: if Z? (p) 0, then the algorithm terminates; o/w solution to the pricing problem gives us an entering variable I The nature of the pricing problem depends on the setting; studied via examples I The Cutting Stock Problem is one of the most famous, and simple, examples IOE 610: LP II, Fall 2013 Overview Page 249 Cutting stock problem Introduction I A paper company has a supply of large rolls of paper, each of width W I Customer orders are for o i rolls of width w i, i =1,...,m (w i apple W ) IOE 610: LP II, Fall 2013 Cutting stock problem Page 250

Cutting stock problem Introduction I The demand can be met by slicing a large roll in a certain way, called a pattern. I For example, a large roll of width 100 can be cut into I 4 rolls each of width 25, or I 2 rolls each of width 35, with a waste of 30 I etc. I Goal: meet the demand with the lowest amount of waste IOE 610: LP II, Fall 2013 Cutting stock problem Page 251 Solution approach I: L.V. Kantorovich Formulation 1939 Russian, 1960 English L.V. Kantorovich, Mathematical Methods of Planning and Organising Production Management Science, 6, 366-422. I K: Set of available rolls. I y k : 1 if roll k is used (cut), 0 otherwise, k 2 K. I x k i : number of times item i is cut on roll k, k 2 K, i =1,...,m. Model: min P Pk2K y k P k2k x i k o i for each item i =1,...,m, i w ixi k apple Wy k for each roll k 2 K, xi k 0, integer k 2 K, i =1,...,m y k binary k 2 K IOE 610: LP II, Fall 2013 Cutting stock problem Page 252

Solution approach I AMPL model The AMPL model for the problem: # ---------------------------------------- # CUTTING STOCK USING KANTOROVICH'es MODEL # ---------------------------------------- param roll_width > 0; param roll_number:=100; to be cut set WIDTHS; param orders {WIDTHS} > 0; # width of raw rolls # upper bound on the number of raw rolls # set of widths to be cut # number of each width to be cut var y{1..roll_number} binary; var x{widths,1..roll_number}>=0, integer; minimize Number: sum{k in 1..roll_number} y[k]; subj to Feas_Width{k in 1..roll_number}: sum {i in WIDTHS} i * x[i,k] <= roll_width*y[k]; subj to Demand{i in WIDTHS}: sum{k in 1..roll_number}x[i,k]>=orders[i]; option cplex_options 'mipdisplay=2 mipinterval=10000 timing=1'; IOE 610: LP II, Fall 2013 Cutting stock problem Page 253 Solution approach I Solution times 8 Experiment I: I o i : uniform, between 1 and 100 (rand(100)+1); I w i : uniform, between 1 and 30 (rand(30)+1); I Width of Roll, W = 3000; Rolls Items constr variables CPU (s) 30 60 90 1830 1.99 50 100 150 5050 3.94 100 200 300 20100 24.50 200 400 600 80200 359.48 8 Warning: here and beyond, results of 5-year old runs IOE 610: LP II, Fall 2013 Cutting stock problem Page 254

Solution approach I Solution times Experiment II: Change width of the roll from 3000 to 150. Rolls Items constr variables CPU (s) 70 10 80 770 3.62 140 20 160 2940 17.86 210 30 240 6510 40.03 280 40 320 11480 out of memory The performance has deteriorated. Why? IOE 610: LP II, Fall 2013 Cutting stock problem Page 255 How good is the LP relaxation? P i w i o i W. Observation: z LP = The optimal solution of LP relaxation will satisfy: I Choose y k as small as possible. Therefore, for all k, w i xi k = Wy k I Choose x k i Objective value: y k = P i w ixi k W k2k k2k i as small as possible. Therefore, for all i = o i = i K k2k x k i w i W x k i = i w i W k2k x k i = i relaxation might be good if W is very large compared to w i, but not if their values are comparable. IOE 610: LP II, Fall 2013 Cutting stock problem Page 256 w i o i W

Solution approach I Adi cult instance Another example: W = 273 Quantity Ordered Order Width (inches) 233 18 310 91 122 21 157 136 120 51 I LP relaxation: solved in less than 0.1s. Objective value 228.7106. I IP: found solution with objective value 230, then got stuck enumerating the branch-and-bound tree IOE 610: LP II, Fall 2013 Cutting stock problem Page 257 Solution approach II: Gilmore and Gomory Set covering formulation P.C. Gilmore and R.E. Gomory, A linear programming approach to the cutting-stock problem, Oper. Res., 8 (1961), pp. 849-859. Idea: Each way to cut the roll into items is a pattern I Pattern j characterized by a ij = number of times item i is cut in pattern j, i =1,...,m I For example, a large roll of width 100 can be cut into I 4 rolls each of width w i = 25 (pattern j, a ij = 4, all others 0) I 2 rolls each of width w k = 35 (pattern l, a kl = 2, all others 0) I x j = number of times pattern j is used IOE 610: LP II, Fall 2013 Cutting stock problem Page 258

Solution approach II Example Example: An instance: W = 100, m = 3. pattern w i 1 2 3 4 5 6 o i 25 4 2 2 1 0 0 150 35 0 1 0 2 1 0 200 45 0 0 1 0 1 2 300 Formulation: minimize P 6 j=1 x j x 1 x 2 x 3 x 4 x 5 x 6 RHS 4x 1 + 2x 2 + 2x 3 + 1x 4 + 0x 5 + 0x 6 150 0x 1 + 1x 2 + 0x 3 + 2x 4 + 1x 5 + 0x 6 200 0x 1 + 0x 2 + 1x 3 + 0x 4 + 1x 5 + 2x 6 300 x j 0, integer, j =1,...,n. IOE 610: LP II, Fall 2013 Cutting stock problem Page 259 Solution approach II Formulation and relaxation Set-covering formulation: min P n j=1 x j P n j=1 a ijx j o i, i =1,...,m, x j 2 Z +, j =1,...,n min Linear relaxation (LP): P n j=1 x j P n j=1 a ijx j s i = o i, i =1,...m, x j 0, j =1,...,n s i 0, i =1,...,m I We will focus on solving the LP via column generation I Each variable corresponds to a di erent feasible pattern I Large-scale problem: n may be huge! I However, m is just the number of di erent orders IOE 610: LP II, Fall 2013 Cutting stock problem Page 260

Cutting stock problem Pricing subproblem I Let I {1,...,n}, andlet(x, p) solve the corresponding (ResMP) and (RelMP) I I should include all slacks, and enough patterns to ensure feasibility of (ResMP) I Pricing subproblem: Z? (p) = min (c j p T A j ) = min (1 j2{1,...,n} z is a feasible pattern pt z) I Characterizing feasible patterns: all vectors z 2 Z m + satisfying m w i z i apple W i=1 I So, the pricing problem can be formulated as the following IP: Z? P (p) =min 1 m P i=1 p iz i i w iz i apple W z i 2 Z + 8i IOE 610: LP II, Fall 2013 Cutting stock problem Page 261 Cutting stock problem Solving the pricing subproblem Knapsack problem I The pricing problem for the Cutting Stock Problem is equivalent to the following Knapsack problem: max P m Pi=1 iz i i w iz i apple W z i 2 Z + 8i I Computational results on random instances using the MIP solver from CPLE: n CPU (s) 1,000 0.22 10,000 1.04 100,000 75.52 I More specialized algorithm can be used to solve the Knapsack problem even more e ciently in practice. IOE 610: LP II, Fall 2013 Cutting stock problem Page 262

Cutting stock problem How good is the LP bound? Round Up Conjecture: v IP appledv LP e? Unfortunately, this is not true: I W = 273 w 1 = 18 o 1 = 233 w 2 = 91 o 2 = 310 w 3 = 21 o 3 = 122 w 4 = 136 o 4 = 157 w 5 = 51 o 5 = 120 I v LP (CG) = 228.9982, v IP = 230. Modified Round Up Conjecture: v IP appledv LP e + 1? I This conjecture has not been answered. IOE 610: LP II, Fall 2013 Cutting stock problem Page 263 Cutting stock problem Getting integer solutions: Round-up heuristic I Let x j be the LP solution obtained from the column generation method possibly fractional. I Let x 0 j = dx j e integer. I P j a i,jx j o i implies P j a i,jx 0 j o i.sox 0 j defined in this way is a feasible integer solution. I How good is this heuristic? W = 273 w 1 = 18 o 1 = 233 w 2 = 91 o 2 = 310 w 3 = 21 o 3 = 122 w 4 = 136 o 4 = 157 w 5 = 51 o 5 = 120 I v LP (CG) = 228.9982; Round-Up produces a value of 231 IOE 610: LP II, Fall 2013 Cutting stock problem Page 264

Cutting stock problem Round-up heuristic Round-Up Fractional 18 91 21 136 51 cut 0 0.0000 15 0 0 0 0 cut 104 103.3333 0 3 0 0 0 cut 9 8.2363 0 0 13 0 0 cut 79 78.5000 0 0 0 2 0 cut 0 0.0000 0 0 0 0 5 cut 24 24.0000 1 0 0 0 5 cut 15 14.9286 14 0 1 0 0 Can you give a bound on j x 0 j x j?? j IOE 610: LP II, Fall 2013 Cutting stock problem Page 265 Cutting stock problem Exact solution approach I For an exact solution, can apply B&B algorithm to the cutting stock problem I Every subproblem is an instance of the cutting stock problem with lower/upper bounds on some of the variables I LP relaxation of every subproblem can be solved by this column generation method IOE 610: LP II, Fall 2013 Cutting stock problem Page 266

Other applications of this column generation technique Vehicle routing Vehicle Routing with time window or other types of constraint: I A set of m customers. I Each customer must be served within certain time window. I Problem: Find a set of routes to serve all the customers, so that each customer will be visited by a vehicle within the stipulated time window. I Likely objectives could be: I Minimize the total number of vehicles I Minimize the total cost (fixed per-vehicle cost, plus travel costs) Note the set covering nature of this problem. IOE 610: LP II, Fall 2013 Column generation in other problems Page 267 Other applications of this column generation technique Vehicle routing IOE 610: LP II, Fall 2013 Column generation in other problems Page 268

Other applications of this column generation technique Vehicle routing formulation I Variables: x j 2 {0, 1} binary, representing whether the jth route is taken by one of the trucks I Each variable/column represents a feasible route, i.e., a subset of customers, and the order in which they are visited, so that each visit occurs within appropriate time windows I Parameters: a ij = 1 if customer i is included in route j; 0 otherwise I Formulation ( minimize number of vehicles version): min P j x j P j a ijx j 1, i =1,...,m x j 2 {0, 1} 8j IOE 610: LP II, Fall 2013 Column generation in other problems Page 269 Other applications of this column generation technique Vehicle routing Column generation and pricing subproblem I LP relaxation is hard to solve due to enormous number of variables use column generation I Solve LP relaxation with a small subset of columns/variables I Obtain dual variables p i for each demand point (can be interpreted as marginal profits of the customers) I Reduced cost c j =1 a ij p i =1 i i:route j visits i I Pricing subproblem: find a route that: I satisfies feasibility constraints (meets the time window constraints); I total profits accrued by serving the demand points on the route is maximized a variant of the Traveling Salesman problem. IOE 610: LP II, Fall 2013 Column generation in other problems Page 270 p i