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

Similar documents
Part 4. Decomposition Algorithms

Lecture 8: Column Generation

Lecture 8: Column Generation

Lecture 9: Dantzig-Wolfe Decomposition

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

1 Column Generation and the Cutting Stock Problem

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

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

3.10 Column generation method

3.10 Column generation method

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

Notes on Dantzig-Wolfe decomposition and column generation

Column Generation for Extended Formulations

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

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

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

Column Generation in Integer Programming with Applications in Multicriteria Optimization

Classification of Dantzig-Wolfe Reformulations for MIP s

Cut and Column Generation

Column Generation. i = 1,, 255;

Multicommodity Flows and Column Generation

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson

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

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

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

Decomposition Methods for Integer Programming

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

A Hub Location Problem with Fully Interconnected Backbone and Access Networks

Integer Program Reformulation for Robust. Branch-and-Cut-and-Price Algorithms

Operations Research Lecture 6: Integer Programming

Lagrangian Relaxation in MIP

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

Integer Programming Part II

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

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

Introduction to optimization and operations research

Decomposition and Reformulation in Integer Programming

Modeling with Integer Programming

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

Optimization Exercise Set n.5 :

A generic view of Dantzig Wolfe decomposition in mixed integer programming

Integer Linear Programming (ILP)

Integer Solutions to Cutting Stock Problems

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

Stabilization in Column Generation: numerical study

Benders Decomposition

On Compact Formulations for Integer Programs Solved by Column Generation

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

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

KNAPSACK PROBLEMS WITH SETUPS

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

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Introduction to Bin Packing Problems

Integer Linear Programming Modeling

Computational Integer Programming. Lecture 2: Modeling and Formulation. 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.

Dual Inequalities for Stabilized Column Generation Revisited

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

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

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

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

Decomposition Techniques in Mathematical Programming

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

The Shift Scheduling Problem using a branch-and-price approach

Separation, Inverse Optimization, and Decomposition. Some Observations. Ted Ralphs 1 Joint work with: Aykut Bulut 1

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Travelling Salesman Problem

3.10 Lagrangian relaxation

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

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131

Introduction to integer programming II

Reformulation and Decomposition of Integer Programs

Introduction to Integer Programming

Applications. Stephen J. Stoyan, Maged M. Dessouky*, and Xiaoqing Wang

A column generation approach to the discrete lot sizing and scheduling problem on parallel machines

Logic-based Benders Decomposition

Column generation for extended formulations

Integer Programming: Cutting Planes

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

Introduction to Integer Linear Programming

Branch and Price for the Vehicle Routing Problem with Discrete Split Deliveries and Time Windows

Optimization Exercise Set n. 4 :

Discrete (and Continuous) Optimization WI4 131

Feasibility Pump Heuristics for Column Generation Approaches

Discrete lot sizing and scheduling on parallel machines: description of a column generation approach

Separation, Inverse Optimization, and Decomposition. Some Observations. Ted Ralphs 1 Joint work with: Aykut Bulut 1

Recoverable Robustness in Scheduling Problems

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

Benders Decomposition Methods for Structured Optimization, including Stochastic Optimization

Recoverable Robust Knapsacks: Γ -Scenarios

Technische Universität Dresden Herausgeber: Der Rektor

Chapter 3: Discrete Optimization Integer Programming

Maximum Flow Problem (Ford and Fulkerson, 1956)

56:270 Final Exam - May

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

Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths

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

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.

Benders Decomposition Methods for Structured Optimization, including Stochastic Optimization

Transcription:

ORLAB - Operations Research Laboratory Politecnico di Milano, Italy June 14, 2011

Cutting Stock Problem (from wikipedia) Imagine that you work in a paper mill and you have a number of rolls of paper of fixed width waiting to be cut, yet different customers want different numbers of rolls of various-sized widths. How are you going to cut the rolls so that you minimize the waste (amount of left-overs)? Master Roll Item A Item B Item C Item D

Example 1 Item A Master Roll Master Roll Item B Item A Item C Item B Item D Item C Item D...quante possibilità ci sono?...quante possibilità ci sono?

en.wikipedia.org/wiki/cutting_stock_problem Suppose you are given a paper machine that can produce an unlimited number of master rolls, each 5600 mm wide. The following 13 items must be cut: Width: 1380 1520 1560 1710 1820 1880 1930 2000 2050 2100 2140 2150 2200 Demand: 22 25 12 14 18 18 20 10 12 14 16 18 20 Questions: 1. Formulate this problem as an ILP 2. How many variables and constraints has your formulation? How big is a basis of the LP relaxation? 3. Discuss drawbacks of the given formulation

en.wikipedia.org: (An) optimal solution

Integer Linear Programming formulation 1/1 Can you figure out an ILP formulation for this problem?

Integer Linear Programming formulation 1/1 Can you figure out an ILP formulation for this problem? Let K be the set of available master rolls that might be cut. Let I be the set of item to cut, and each item i has a demand d i and length l i. Finally, let W the length of the master roll.

Integer Linear Programming formulation 1/1 Can you figure out an ILP formulation for this problem? Let K be the set of available master rolls that might be cut. Let I be the set of item to cut, and each item i has a demand d i and length l i. Finally, let W the length of the master roll. min (1) s.t. k K y k x ik d i, i I, (2) k K l i x ik W y k, k K, (3) i I x ik Z +, i I, k K, (4) y k {0, 1}, k K. (5)

Integer Linear Programming formulation 2/2 Suppose the set of every possible cut pattern P is given. Can you figure out an alternative ILP formulation that uses P?

Integer Linear Programming formulation 2/2 Suppose the set of every possible cut pattern P is given. Can you figure out an alternative ILP formulation that uses P? Let P i be the subset of cut patterns containing item i. Let a ip denote the number of times item i appear in the cut pattern p The demand of an item i is still denoted by d i.

Integer Linear Programming formulation 2/2 Suppose the set of every possible cut pattern P is given. Can you figure out an alternative ILP formulation that uses P? Let P i be the subset of cut patterns containing item i. Let a ip denote the number of times item i appear in the cut pattern p The demand of an item i is still denoted by d i. min λ p (6) s.t. p P p P i a ip λ p d i, i I, (7) λ p Z +, k P. (8)

Integer Linear Programming formulation 2/2 Suppose the set of every possible cut pattern P is given. Can you figure out an alternative ILP formulation that uses P? Let P i be the subset of cut patterns containing item i. Let a ip denote the number of times item i appear in the cut pattern p The demand of an item i is still denoted by d i. min λ p (6) s.t. p P p P i a ip λ p d i, i I, (7) λ p Z +, k P. (8) How many variables has this formulation?

Integer Linear Programming formulation 2/2 Suppose the set of every possible cut pattern P is given. Can you figure out an alternative ILP formulation that uses P? Let P i be the subset of cut patterns containing item i. Let a ip denote the number of times item i appear in the cut pattern p The demand of an item i is still denoted by d i. min λ p (6) s.t. p P p P i a ip λ p d i, i I, (7) λ p Z +, k P. (8) How many variables has this formulation? Finitely many!

Exploiting Substructures of LPs [DantzigWolfe1960] The first ILP formulation is well structured, since the constraint matrix has the following form: A 1 A 2 A k B 1 0 0 0 B 2 0..... 0 0 B k x 1. x k. d b 1 b 2. b k

Block diagonal submatrices Note that we can define the bounded set X k = {x k Z n k + : B kx k b k }. In general, the ILP formulation of a problem with block diagonal substructures can be written as: min s.t. c k x k (9) k K A k x k d, (10) k K x k X k, k K. (11)

Discrete convexification Applying a convexification procedure, and considering that each X k has a large but finite set of points P k, it is possible to write: x k = z kp λ p, k K, (12) p P k λ p = 1, (13) k K p P k λ p 0, k K, p P k. (14)

Using the convexification The ILP formulation becomes: min (c k z kp )λ p (15) k K p P k s.t. (A k z kp )λ p d, (16) k K p P k x k = z kp λ p, k K, (17) p P k λ p = 1, (18) k K p P k λ p 0, k K, p P k, (19) x k {0, 1}, k K. (20)

Cutting Stock formulation Let us consider again the second cutting stock formulation: min s.t. λ p (21) p P a ip λ p d i, i I, (22) p P i λ p Z +, k P. (23) What is the connection with the previous formulation? What does the p-th column given by coefficient a ip represent?

Dealing with Finitely Many Columns The main idea is to start with a subset of columns P P such that a feasible solution to the following problem exists: z MP = min s.t. λ p (24) p P a ip λ p d i, i I, (25) p P i λ p {0, 1}, k P. (26) Using the Duality Theory of Linear Programming with can generate as set of improving columns...

A Dual Persepective Consider the LP relaxation of the master problem and its dual: z RMP = min p P λ p max i I d i π i s.t. p Pi a ip λ p d i, i I, s.t. i I a ip π i 1, k P, λ p 0, k P. π i 0, i I. Using the Duality Theory of Linear Programming with can generate as set of improving columns...

A Dual Persepective Consider the LP relaxation of the master problem and its dual: z RMP = min p P λ p max i I d i π i s.t. p Pi a ip λ p d i, i I, s.t. i I a ip π i 1, k P, λ p 0, k P. π i 0, i I. Using the Duality Theory of Linear Programming with can generate as set of improving columns... by separating inequalities on the dual of the master problem!

Pricin Subproblem (Cutting Planes on the Master Dual) The question is: Does a column (cut pattern) in P \ P that could improve the current optimal solution of the linear relaxation exist?

Pricin Subproblem (Cutting Planes on the Master Dual) The question is: Does a column (cut pattern) in P \ P that could improve the current optimal solution of the linear relaxation exist? Does a column (row of the dual) exist such that...? p P \ P : i I a ip π i > 1

Pricin Subproblem (Cutting Planes on the Master Dual) Given the vector of optimal dual multipliers π, we look for a column (cut pattern) such that: c = min s.t. 1 π i y i i I l i y i W, i I y i {0, 1}. If c < 0, the vector of variables z is the incidence vector of an improving columns. It corresponds to a variable with negative reduced cost in the (restricted) master problem. Do you recognize this problem?

Pricin Subproblem (Cutting Planes on the Master Dual) Given the vector of optimal dual multipliers π, we look for a column (cut pattern) such that: c = 1 max s.t. π i y i i I l i y i W, i I y i {0, 1}. If c > 1, the vector of variables z is the incidence vector of an improving columns. It corresponds to a variable with negative reduced cost in the (restricted) master problem. It is a Knapsack Problem! (Complexity?)

Lower Bounding Let zmp denote the optimal value of the Continuous Master Problem, z RMP the value of the current Restricted Master Problem, and let κ be an upper bound on the optimal value of Integer Master Problem. At each iteration of column generation, we have z MP z RMP.

Lower Bounding Let zmp denote the optimal value of the Continuous Master Problem, z RMP the value of the current Restricted Master Problem, and let κ be an upper bound on the optimal value of Integer Master Problem. At each iteration of column generation, we have z MP z RMP. If we solve the pricing subproblem to optimality, we get the following lower bound: z RMP + κ c z MP z RMP In addition, whenever the cost vector of the master problem is integral, we can strength the bound to: z RMP + κ c z MP z RMP

Exercises BLACKBOARD 1. Graph Coloring 2. Time Constrained Shortest Path Problem (+ Branch-and-Bound) 3. Symmetric Travel Salesman Problem (1-trees) 4. Industrial Application: Bus Driver Scheduling

Links and email Original papers: Dantzig, G.B. and Wolfe, P. Decomposition Principle for Linear Programs, Operations research, vol. 8(1), pp. 101 111, 1960. Gilmore, P.C. and Gomory, R.E. A Linear Programming Approach to the Cutting-Stock Problem, Operations research, vol. 9(6), pp. 849 859, 1961. L. Wolsey. Integer Programming (Chap. 11, pp. 185 202), 1998. Wiley Editor. F. Vanderbeck and L.A. Wolsey. Reformulation and decomposition of integer programs. Available on-line. J. Desrosiers and M.E. Lübbecke. A Primer in, 2003, ZIB Tech. Report No. 2003/48. Additional information on cutting stock problems: en.wikipedia.org/wiki/cutting_stock_problem