Lecture 8: Column Generation

Size: px
Start display at page:

Download "Lecture 8: Column Generation"

Transcription

1 Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33

2 Cutting stock problem 2 / 33

3 Problem description A paper mill has a number of rolls of paper of fixed width. 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)? 3 / 33

4 An example The width of large rolls: 5600mm. The width and demand of customers: Width Demand An optimal solution: 4 / 33

5 Classical IP formulation Suppose the fixed width of large rolls is W. The m customers want n i rolls of width w i (i = 1,..., m), (w i W ). Notations: K: Index set of available rolls y k = 1 if roll k is cut, 0 otherwise xi k : number of times item i is cut on roll k The IP formulation of Kantorovich: (P 1 ) min k K y k s.t. xi k n i, k K i = 1,..., m, (demand) w i xi k Wy k, k K, (width limitation) x k i Z +, y k {0, 1}. 5 / 33

6 However, the IP formulation (P 1 ) is inefficient both from computational and theoretical point views. For example, when the number of rolls is 100 and the number of items is 20, the problem could not be solved to optimality in days (CPLEX). The main reason is that the linear program (LP) relaxation of (P 1 ) is poor. Actually, the LP bound of (P 1 ) is Z LP = y k = k K k K = w i k K w i x k i W xi k m W = w i n i W. Question: Is there an alternative IP formulation? m w i n i W. 6 / 33

7 Set covering formulation of Gilmore and Gomory Let xj = number of times pattern j is used aij = number of times item i is cut in pattern j For example, the fixed width of large rolls is W = 100 and the demands are n i = 100, 200, 300, w i = 25, 35, 45 (i = 1, 2, 3). The large roll can be cut into Pattern 1: 4 rolls each of width w1 = 25 a 11 = 4 Pattern 2: 1 roll with width w 1 = 25 and 2 rolls each of width w 2 = 35 a 12 = 1, a 22 = 2 Pattern 3: 2 rolls with width w3 = 45 a 33 = 2 7 / 33

8 Set covering formulation: (P 2 ) min s.t. n j=1 x j n a ij x j n i, i = 1,..., m, (demand) j=1 x j Z +, j = 1,..., n, where n is the total number of cutting patterns satisfying m w ia ij W. Each column in (P 2 ) represents a cutting pattern. How many columns (cutting patterns) are there? It could be as many as m! k!(m k)!, where k is the average number of items in each cutting patterns. Exponentially large!. 8 / 33

9 Let s first consider the LP relaxation of (P 2 ): (LPM) min s.t. n j=1 x j n a ij x j n i, i = 1,..., m, (demand) j=1 x j R +, j = 1,..., n, which is called Linear Programming Master Problem. The solution to (LPM) could be fractional, It is possible to round up the fractional solution to get a feasible solution to (P 2 ). The Simplex Algorithm for Master LP: Select initial solution Find the most negative reduced cost (new basic variable) Find variable to replace (new non-basic var) Repeat until there exists no variables with negative reduced cost exists 9 / 33

10 Consider the standard LP and its dual: min c T x s.t. Ax = b x 0 Simplex Tableau x B x N rhs B N b = cb T cn T 0 max b T π s.t. A T π c x B x N rhs I B 1 N b 0 cn T ct B B 1 N c T B 1 b Reduced cost of non-basic variable: c j c T B B 1 a j, where a j is a column of A. If c j c T B B 1 a j < 0 implies the current basis can be improved, otherwise, if c j c T B B 1 a j 0 for all j N, then the current solution is optimal and π T = c T B B 1 is dual feasible (optimal). 10 / 33

11 What if we have extremely many variables? Even if we had a way of generating all the columns (cutting patterns), the standard simplex algorithm will need to calculate the reduced cost for each non-basic variable, which is impossible if n is huge (out of memory). A crucial insight: The number of non-zero variables (the basis variables) is equal to the number of constraints, hence even if the number of possible variables (columns) may be large, we only need a small subset of these columns in the optimal solution. In the case of cutting stock problem, the number of items is usually much smaller than the number of cutting patterns. 11 / 33

12 The main idea of column generation is to start with a small subset P {1,..., n} such that the following subproblem is feasible: (RLPM) min j P x j s.t. a ij x j n i, j P i = 1,..., m, x j 0, j P, Recall that the dual problem of (LPM) is max n i π i s.t. a ij π i 1, j P, π i 0, i = 1,..., m. 12 / 33

13 Generating columns Our next task is to find a column (cut pattern) in {1,..., n} \ P that could improve the current optimal solution of the linear relaxation (RLPM). Given the optimal dual solution π of (RLPM), the reduced cost of column j {1,..., n} \ P is 1 a ij π i. A naive way of finding the new column: min{1 a ij π i j {1,..., n} \ P}, which is impractical because we are not able to list all cutting patterns in real applications. 13 / 33

14 Knapsack subproblem We can look for a column (cut pattern) such that: κ := min 1 s.t. π i y i = 1 max π i y i w i y i W, y i Z +, i = 1,..., m, where y = (y 1,..., y m ) represents a column (a 1j,..., a mj ) T (a cutting pattern) and the constraints m w iy i W, y Z m +, enforce that y satisfies the conditions for a feasible cutting pattern. This is a Knapsack Problem (an easy NP-hard problem) and can be solved in O(mW ) time by dynamic programming. 14 / 33

15 Column generation algorithm The Column Generation Algorithm Start with initial columns A of (LPM). For instance, use the simple pattern to cut a roll into W /w i rolls of width w i, A is a diagonal matrix. repeat 1. Solve the restricted LP master problem (RLPM). Let π be the optimal multipliers ( π T = c T B B 1 ). 2. Identify a new column by solving the knapsack subproblem with optimal value κ. 3. Add the new column to master problem (RLPM) until κ 0 15 / 33

16 An example A steel company wants to cut the steel rods of width 218cm. The customers want 44 pieces of width 81 cm., 3 pieces of width 70 cm, and 48 pieces of width 68 cm. Initial master problem (one item in each large rod): min x 1 + x 2 + x 3 s.t. x 1 44, x 2 3, x 3 48, x 0. Optimal multipliers: π = (1, 1, 1) T. Initial knapsack subproblem: max y 1 + y 2 + y 3 s.t. 81y y y 3 218, y Z / 33

17 Optimal solution to the initial knapsack subproblem: y = (0, 0, 3) T with κ = 1 3 = 2 < 0. Second master problem: min x 1 + x 2 + x 3 + x 4 s.t. x 1 44, x 2 3, x 3 + 3x 4 48, Optimal multipliers: π = (1.0, 1.0, 0.33) T. Second knapsack subproblem: max y 1 + y y 3 s.t. 81y y y 3 218, y Z 3 +. Optimal solution: y = (0, 3, 0) T with κ = 1 3 = 2 < / 33

18 3rd master problem: min x 1 + x 2 + x 3 + x 4 + x 5 s.t. x 1 44, x 2 + 3x 5 3, x 3 + 3x 4 48, Optimal multipliers: π = (1.0, 0.33, 0.33) T. 3rd subproblem: max y y y 3 s.t. 81y y y 3 218, y Z 3 +. Optimal solution: y = (2, 0, 0) T with κ = 1 2 = 2 < 0. Continue / 33

19 Getting integer solutions After solving the master linear program, we still have to find the integer solution to the original problem (P 2 ). Let x j = x j, x j is integral and n j=1 a ijx j n j=1 a ijx j n i. So the rounding up solution is feasible to (P 2 ). We can also use branch-and-bound framework to get the optimal integral solution. Branch-and-Price algorithm. 19 / 33

20 A Dual perspective Consider the classical formulation of cutting stock problem: (P 1 ) min k K y k s.t. k K x k i n i, i = 1,..., m, (demand) n w i xi k Wy k, k K, (width limitation) x k i Z +, y k {0, 1}. How to get a Lagrangian relaxation? Observe that if the demand constraints are removed, the problem can be decomposed into K knapsack problem! 20 / 33

21 For u i 0, i = 1,..., m, the Lagrangian function is L(u) = min ( y k + u i n i ) xi k k K k K s.t. w i xi k Wy k, k K, xi k Z +, y k {0, 1}. So L(u) = L k (u) + n i u i k K where L k (u) = min y k u i xi k s.t. w i xi k Wy k, x k i Z +, y k {0, 1}. 21 / 33

22 L s (u) = min(0, 1 z ), where z = max u i xi k s.t. w i xi k W, xi k Z +. This is a knapsack problem. Notice that L s (u) is independent of k. L(u) = KL s (u) + n i u i, where K = K. 22 / 33

23 Theorem: the dual problem max u 0 L(u) = v(lpm). Proof: Let z j = (a 1j,..., a mj ) T, j = 1,..., n, be the extreme points of the convex hull of the integer set X = {x Z m + w i x i W }. Then L s (u) = min(0, 1 max j=1,...,n So that max u 0 L(u) = max u 0 min j=1,...,n ( a ij u i ) = min min(0, 1 m a ij u i ). j=1,...,n K min(0, 1 a ij u i ) + ) n i u i 23 / 33

24 This can be reduced to max z s.t. z n i u i, z K(1 a ij u i ) + n i u i, j = 1,..., n, u i 0, i = 1,..., m. The dual of the above problem is n min Kλ j j=1 s.t. λ 0 + n λ j = 1, j=1 n i (λ 0 + j=1 j=1 n n λ j ) + a ij Kλ j 0, i = 1,..., m λ j 0, j = 0, 1,..., n. 24 / 33

25 Notice that λ 0 can be eliminated from the second constraint. So the constraint λ 0 + n j=1 λ j = 1 is redundant provided that there is (λ 1,..., λ n ) satisfying n a ij Kλ j n i, i = 1,..., m, and j=1 n λ j 1. j=1 This is always possible when K is large (enough rolls). Now, let x j = Kλ j, we obtain min s.t. n j=1 x j n a ij x j n i, i = 1,..., m, j=1 x j 0, j = 0, 1,..., n. This is exactly the LP relaxation (LPM). 25 / 33

26 Vehicle routing problem We consider a basic model of vehicle routing problem. A number of vehicle located at a central depot has to serve a set of customers which geographically surround the depot. Each vehicle has a given capacity and each customer has a given demand. The goal is to minimize the total travel distance. Figure: Vehicle routing problem 26 / 33

27 Notations N : set of nodes, N = N; node 1 N : depot; d i : demand of customer i; c ij : transportation cost (distance) from i to j; W : vehicle capacity; x ij {0, 1}: x ij = 1 if a vehicle goes directly from i to j, x ij = 0 otherwise; y i 0: load of vehicle when leaving node i. 27 / 33

28 An arc flow model for the basic VRP (VRP-af ) min i N c ij x ij j N s.t. x ij = 1, i N \ {1}, j N x ij = x jk, j N, i N k N W (1 x ij ) + y i y j + d j, i N, j N \ {1}, y i W, i N, x ij {0, 1}, i, j N. 28 / 33

29 A set covering model the basic VRP Suppose that we have access to all possible feasible routes, denoted by R. R is the set of all tours starting from the depot, visiting some customers exactly once and coming back to the depot. A VRP solution can be viewed as a collection of feasible routes. The VRP problem is then to choose routes in the solution so as to minimize the total transportation cost of the routes in the solution. Notations: R: set of feasible routes; cr : transportation cost of route r R; air : a ir = 1 if customer i is served on route r, a ir = 0 otherwise; yr {0, 1}: y r = 1 if route r is in the solution, y r = 0 otherwise. 29 / 33

30 A set covering model of the basic VRP: (VRP-sc) min r R c r y r s.t. r R a ir y r 1, i N \ {1}, y r {0, 1}, r R. The number of routes (tours) in R are huge (exponentially large) and we are not able to list all the routes (coefficients a ir for all i N \ {1}) and the cost c r ). In order to use column generation algorithm, we need to know how to efficiently generate feasible routes (tours). 30 / 33

31 Column generation for VRP Consider the LP relaxation of the set covering model, denoted by (VRP-sc) (LPM). The dual of (VRP-sc) is: (D) max s.t. i N \{1} i N \{1} π i a ir π i c r, r R, π i 0, i N \ {1}. Let π be an optimal solution to the dual problem (D). The reduced cost of a route is: c r = c r a ir π i. i N \{1} A column (route) with negative reduced cost c r < 0 can be added into the Restricted Master Problem to give a better solution. 31 / 33

32 Subproblem How to find a route r with negative reduced cost c r < 0? The transportation cost c r for a route is the sum of cost for the arcs in the route: c r = c ij x ij, i N j N where x ij {0, 1} represents whether or not arc (i, j) is in the route. We can express the reduced cost c r for a route r as c r = c r c ij x ij, where c ij = c ij π i. i N \{1} a ir π i = i N j N 32 / 33

33 The subproblem for column generation can be then expressed as (SP) min (c ij π i )x ij i N j N s.t. x 1j = 1, j N \{1} x ij = x jk, j N, i N k N W (1 x ij ) + y i y j + d j, i N, j N \ {1}, y i W, i N, x ij {0, 1}, i, j N. The subproblem (D) is a shortest-path problem with negative arc costs, starting from the depot and ending in the depot. This is a Resource Constrained Shortest Path problem. Integer Solution: heuristic and branch-and-bound method. 33 / 33

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective 1 / 24 Cutting stock problem 2 / 24 Problem description

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock, crew scheduling, vehicle

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

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

Large-scale optimization and decomposition methods: outline. Column Generation and Cutting Plane methods: a unified view 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

More information

Lecture 9: Dantzig-Wolfe Decomposition

Lecture 9: Dantzig-Wolfe Decomposition Lecture 9: Dantzig-Wolfe Decomposition (3 units) Outline Dantzig-Wolfe decomposition Column generation algorithm Relation to Lagrangian dual Branch-and-price method Generated assignment problem and multi-commodity

More information

Column Generation I. Teo Chung-Piaw (NUS)

Column Generation I. Teo Chung-Piaw (NUS) Column Generation I Teo Chung-Piaw (NUS) 21 st February 2002 1 Outline Cutting Stock Problem Slide 1 Classical Integer Programming Formulation Set Covering Formulation Column Generation Approach Connection

More information

1 Column Generation and the Cutting Stock Problem

1 Column Generation and the Cutting Stock Problem 1 Column Generation and the Cutting Stock Problem In the linear programming approach to the traveling salesman problem we used the cutting plane approach. The cutting plane approach is appropriate when

More information

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

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy 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

More information

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

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of Column Generation MTech Seminar Report by Soumitra Pal Roll No: 05305015 under the guidance of Prof. A. G. Ranade Computer Science and Engineering IIT-Bombay a Department of Computer Science and Engineering

More information

Decomposition Methods for Integer Programming

Decomposition Methods for Integer Programming Decomposition Methods for Integer Programming J.M. Valério de Carvalho vc@dps.uminho.pt Departamento de Produção e Sistemas Escola de Engenharia, Universidade do Minho Portugal PhD Course Programa Doutoral

More information

Travelling Salesman Problem

Travelling Salesman Problem Travelling Salesman Problem Fabio Furini November 10th, 2014 Travelling Salesman Problem 1 Outline 1 Traveling Salesman Problem Separation Travelling Salesman Problem 2 (Asymmetric) Traveling Salesman

More information

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

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Integer Linear Programming Modeling

Integer Linear Programming Modeling DM554/DM545 Linear and Lecture 9 Integer Linear Programming Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Assignment Problem Knapsack Problem

More information

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

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2017 04 07 Lecture 8 Linear and integer optimization with applications

More information

Column Generation. i = 1,, 255;

Column Generation. i = 1,, 255; Column Generation The idea of the column generation can be motivated by the trim-loss problem: We receive an order to cut 50 pieces of.5-meter (pipe) segments, 250 pieces of 2-meter segments, and 200 pieces

More information

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

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

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

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018 Section Notes 9 Midterm 2 Review Applied Math / Engineering Sciences 121 Week of December 3, 2018 The following list of topics is an overview of the material that was covered in the lectures and sections

More information

Operations Research Lecture 6: Integer Programming

Operations Research Lecture 6: Integer Programming Operations Research Lecture 6: Integer Programming Notes taken by Kaiquan Xu@Business School, Nanjing University May 12th 2016 1 Integer programming (IP) formulations The integer programming (IP) is the

More information

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

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Guy Desaulniers École Polytechnique de Montréal and GERAD Column Generation 2008 Aussois, France Outline Introduction

More information

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

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lagrangian Relaxation Lecture 12 Single Machine Models, Column Generation 2. Dantzig-Wolfe Decomposition Dantzig-Wolfe Decomposition Delayed Column

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

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.

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. IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, 31 14. You wish to solve the IP below with a cutting plane technique. Maximize 4x 1 + 2x 2 + x 3 subject to 14x 1 + 10x 2 + 11x 3 32 10x 1 +

More information

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

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows Partial Path Column Generation for the Vehicle Routing Problem with Time Windows Bjørn Petersen & Mads Kehlet Jepsen } DIKU Department of Computer Science, University of Copenhagen Universitetsparken 1,

More information

Lagrangian Relaxation in MIP

Lagrangian Relaxation in MIP Lagrangian Relaxation in MIP Bernard Gendron May 28, 2016 Master Class on Decomposition, CPAIOR2016, Banff, Canada CIRRELT and Département d informatique et de recherche opérationnelle, Université de Montréal,

More information

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

Optimization Methods in Management Science

Optimization Methods in Management Science Optimization Methods in Management Science MIT 15.05 Recitation 8 TAs: Giacomo Nannicini, Ebrahim Nasrabadi At the end of this recitation, students should be able to: 1. Derive Gomory cut from fractional

More information

Part 4. Decomposition Algorithms

Part 4. Decomposition Algorithms In the name of God Part 4. 4.4. Column Generation for the Constrained Shortest Path Problem Spring 2010 Instructor: Dr. Masoud Yaghini Constrained Shortest Path Problem Constrained Shortest Path Problem

More information

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

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

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

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 Summary so far z =max{c T x : Ax apple b, x 2 Z n +} I Modeling with IP (and MIP, and BIP) problems I Formulation for a discrete set that is a feasible region of an IP I Alternative formulations for the

More information

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

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming: models and applications; complexity Ann-Brith Strömberg 2011 04 01 Modelling with integer variables (Ch. 13.1) Variables Linear programming (LP) uses continuous

More information

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

Improving Branch-And-Price Algorithms For Solving One Dimensional Cutting Stock Problem Improving Branch-And-Price Algorithms For Solving One Dimensional Cutting Stock Problem M. Tech. Dissertation Submitted in partial fulfillment of the requirements for the degree of Master of Technology

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 6.4/43 Principles of Autonomy and Decision Making Lecture 8: (Mixed-Integer) Linear Programming for Vehicle Routing and Motion Planning Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute

More information

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

A Node-Flow Model for 1D Stock Cutting: Robust Branch-Cut-and-Price A Node-Flow Model for 1D Stock Cutting: Robust Branch-Cut-and-Price Gleb Belov University of Dresden Adam N. Letchford Lancaster University Eduardo Uchoa Universidade Federal Fluminense August 4, 2011

More information

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

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications François Vanderbeck University of Bordeaux INRIA Bordeaux-Sud-Ouest part : Defining Extended Formulations

More information

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

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

Modeling with Integer Programming

Modeling with Integer Programming Modeling with Integer Programg Laura Galli December 18, 2014 We can use 0-1 (binary) variables for a variety of purposes, such as: Modeling yes/no decisions Enforcing disjunctions Enforcing logical conditions

More information

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

Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound Samir Elhedhli elhedhli@uwaterloo.ca Department of Management Sciences, University of Waterloo, Canada Page of 4 McMaster

More information

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

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization 15.081J/6.251J Introduction to Mathematical Programming Lecture 24: Discrete Optimization 1 Outline Modeling with integer variables Slide 1 What is a good formulation? Theme: The Power of Formulations

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

Introduction to optimization and operations research

Introduction to optimization and operations research Introduction to optimization and operations research David Pisinger, Fall 2002 1 Smoked ham (Chvatal 1.6, adapted from Greene et al. (1957)) A meat packing plant produces 480 hams, 400 pork bellies, and

More information

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

Integer Programming ISE 418. Lecture 16. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 16 Dr. Ted Ralphs ISE 418 Lecture 16 1 Reading for This Lecture Wolsey, Chapters 10 and 11 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.3.7, II.5.4 CCZ Chapter 8

More information

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

Integer Programming Reformulations: Dantzig-Wolfe & Benders Decomposition the Coluna Software Platform Integer Programming Reformulations: Dantzig-Wolfe & Benders Decomposition the Coluna Software Platform François Vanderbeck B. Detienne, F. Clautiaux, R. Griset, T. Leite, G. Marques, V. Nesello, A. Pessoa,

More information

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

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

3.10 Lagrangian relaxation

3.10 Lagrangian relaxation 3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the

More information

Branch-and-Price algorithm for Vehicle Routing Problem: tutorial

Branch-and-Price algorithm for Vehicle Routing Problem: tutorial Branch-and-Price algorithm for Vehicle Routing Problem: tutorial Kyuree AHN Department of Industrial and Systems Engineering KAIST, Republic of Korea Friday, May 17, 2017 Presentation Overview Problem

More information

Optimization Exercise Set n.5 :

Optimization Exercise Set n.5 : Optimization Exercise Set n.5 : Prepared by S. Coniglio translated by O. Jabali 2016/2017 1 5.1 Airport location In air transportation, usually there is not a direct connection between every pair of airports.

More information

Linear and Integer Programming - ideas

Linear and Integer Programming - ideas Linear and Integer Programming - ideas Paweł Zieliński Institute of Mathematics and Computer Science, Wrocław University of Technology, Poland http://www.im.pwr.wroc.pl/ pziel/ Toulouse, France 2012 Literature

More information

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Marc Uetz University of Twente m.uetz@utwente.nl Lecture 8: sheet 1 / 32 Marc Uetz Discrete Optimization Outline 1 Intro: The Matching

More information

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

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2 ex-5.-5. Foundations of Operations Research Prof. E. Amaldi 5. Branch-and-Bound Given the integer linear program maxz = x +x x +x 6 x +x 9 x,x integer solve it via the Branch-and-Bound method (solving

More information

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

Decomposition-based Methods for Large-scale Discrete Optimization p.1 Decomposition-based Methods for Large-scale Discrete Optimization Matthew V Galati Ted K Ralphs Department of Industrial and Systems Engineering Lehigh University, Bethlehem, PA, USA Départment de Mathématiques

More information

Advanced linear programming

Advanced linear programming Advanced linear programming http://www.staff.science.uu.nl/~akker103/alp/ Chapter 10: Integer linear programming models Marjan van den Akker 1 Intro. Marjan van den Akker Master Mathematics TU/e PhD Mathematics

More information

An Optimization-Based Heuristic for the Split Delivery Vehicle Routing Problem

An Optimization-Based Heuristic for the Split Delivery Vehicle Routing Problem An Optimization-Based Heuristic for the Split Delivery Vehicle Routing Problem Claudia Archetti (1) Martin W.P. Savelsbergh (2) M. Grazia Speranza (1) (1) University of Brescia, Department of Quantitative

More information

Vehicle Routing and MIP

Vehicle Routing and MIP CORE, Université Catholique de Louvain 5th Porto Meeting on Mathematics for Industry, 11th April 2014 Contents: The Capacitated Vehicle Routing Problem Subproblems: Trees and the TSP CVRP Cutting Planes

More information

An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections

An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections R. Baldacci DISMI, University of Modena and Reggio E., V.le Allegri 15, 42100 Reggio E., Italy E. Hadjiconstantinou

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

Cutting Plane Separators in SCIP

Cutting Plane Separators in SCIP Cutting Plane Separators in SCIP Kati Wolter Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies 1 / 36 General Cutting Plane Method MIP min{c T x : x X MIP }, X MIP := {x

More information

A Branch-and-Cut-and-Price Algorithm for One-Dimensional Stock Cutting and Two-Dimensional Two-Stage Cutting

A Branch-and-Cut-and-Price Algorithm for One-Dimensional Stock Cutting and Two-Dimensional Two-Stage Cutting A Branch-and-Cut-and-Price Algorithm for One-Dimensional Stock Cutting and Two-Dimensional Two-Stage Cutting G. Belov,1 G. Scheithauer University of Dresden, Institute of Numerical Mathematics, Mommsenstr.

More information

21. Set cover and TSP

21. Set cover and TSP CS/ECE/ISyE 524 Introduction to Optimization Spring 2017 18 21. Set cover and TSP ˆ Set covering ˆ Cutting problems and column generation ˆ Traveling salesman problem Laurent Lessard (www.laurentlessard.com)

More information

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

Branch and Price for the Vehicle Routing Problem with Discrete Split Deliveries and Time Windows Branch and Price for the Vehicle Routing Problem with Discrete Split Deliveries and Time Windows Matteo Salani Ilaria Vacca December 24, 2009 Report TRANSP-OR 091224 Transport and Mobility Laboratory Ecole

More information

Integer Programming Part II

Integer Programming Part II Be the first in your neighborhood to master this delightful little algorithm. Integer Programming Part II The Branch and Bound Algorithm learn about fathoming, bounding, branching, pruning, and much more!

More information

Cutting Planes in SCIP

Cutting Planes in SCIP Cutting Planes in SCIP Kati Wolter Zuse-Institute Berlin Department Optimization Berlin, 6th June 2007 Outline 1 Cutting Planes in SCIP 2 Cutting Planes for the 0-1 Knapsack Problem 2.1 Cover Cuts 2.2

More information

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

A BRANCH&BOUND ALGORITHM FOR SOLVING ONE-DIMENSIONAL CUTTING STOCK PROBLEMS EXACTLY APPLICATIONES MATHEMATICAE 23,2 (1995), pp. 151 167 G. SCHEITHAUER and J. TERNO (Dresden) A BRANCH&BOUND ALGORITHM FOR SOLVING ONE-DIMENSIONAL CUTTING STOCK PROBLEMS EXACTLY Abstract. Many numerical computations

More information

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs Gutenberg School of Management and Economics Discussion Paper Series Solving Elementary Shortest-Path Problems as Mixed-Integer Programs Michael Drexl and Stefan Irnich Januar 2012 Discussion paper number

More information

The Dual Simplex Algorithm

The Dual Simplex Algorithm p. 1 The Dual Simplex Algorithm Primal optimal (dual feasible) and primal feasible (dual optimal) bases The dual simplex tableau, dual optimality and the dual pivot rules Classical applications of linear

More information

0-1 Reformulations of the Network Loading Problem

0-1 Reformulations of the Network Loading Problem 0-1 Reformulations of the Network Loading Problem Antonio Frangioni 1 frangio@di.unipi.it Bernard Gendron 2 bernard@crt.umontreal.ca 1 Dipartimento di Informatica Università di Pisa Via Buonarroti, 2 56127

More information

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

and to estimate the quality of feasible solutions I A new way to derive dual bounds: Lagrangian Relaxations and Duality I Recall: I Relaxations provide dual bounds for the problem I So do feasible solutions of dual problems I Having tight dual bounds is important in algorithms (B&B), and

More information

International ejournals

International ejournals ISSN 0976 1411 Available online at www.internationalejournals.com International ejournals International ejournal of Mathematics and Engineering 2 (2017) Vol. 8, Issue 1, pp 11 21 Optimization of Transportation

More information

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

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek

More information

Section #2: Linear and Integer Programming

Section #2: Linear and Integer Programming Section #2: Linear and Integer Programming Prof. Dr. Sven Seuken 8.3.2012 (with most slides borrowed from David Parkes) Housekeeping Game Theory homework submitted? HW-00 and HW-01 returned Feedback on

More information

Integer Programming: Cutting Planes

Integer Programming: Cutting Planes OptIntro 1 / 39 Integer Programming: Cutting Planes Eduardo Camponogara Department of Automation and Systems Engineering Federal University of Santa Catarina October 2016 OptIntro 2 / 39 Summary Introduction

More information

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints. Section Notes 8 Integer Programming II Applied Math 121 Week of April 5, 2010 Goals for the week understand IP relaxations be able to determine the relative strength of formulations understand the branch

More information

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004 Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004 1 In this section we lean about duality, which is another way to approach linear programming. In particular, we will see: How to define

More information

Maximum Flow Problem (Ford and Fulkerson, 1956)

Maximum Flow Problem (Ford and Fulkerson, 1956) Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

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

Integer program reformulation for robust branch-and-cut-and-price Integer program reformulation for robust branch-and-cut-and-price Marcus Poggi de Aragão Informática PUC-Rio Eduardo Uchoa Engenharia de Produção Universidade Federal Fluminense Outline of the talk Robust

More information

A Hub Location Problem with Fully Interconnected Backbone and Access Networks

A Hub Location Problem with Fully Interconnected Backbone and Access Networks A Hub Location Problem with Fully Interconnected Backbone and Access Networks Tommy Thomadsen Informatics and Mathematical Modelling Technical University of Denmark 2800 Kgs. Lyngby Denmark tt@imm.dtu.dk

More information

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP) INTEGER PROGRAMMING Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

Integer Linear Programming

Integer Linear Programming Integer Linear Programming Solution : cutting planes and Branch and Bound Hugues Talbot Laboratoire CVN April 13, 2018 IP Resolution Gomory s cutting planes Solution branch-and-bound General method Resolution

More information

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.

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. ex-.-. Foundations of Operations Research Prof. E. Amaldi. Dual simplex algorithm Given the linear program minx + x + x x + x + x 6 x + x + x x, x, x. solve it via the dual simplex algorithm. Describe

More information

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

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory by Troels Martin Range Discussion Papers on Business and Economics No. 10/2006 FURTHER INFORMATION Department of Business

More information

Feasibility Pump Heuristics for Column Generation Approaches

Feasibility Pump Heuristics for Column Generation Approaches 1 / 29 Feasibility Pump Heuristics for Column Generation Approaches Ruslan Sadykov 2 Pierre Pesneau 1,2 Francois Vanderbeck 1,2 1 University Bordeaux I 2 INRIA Bordeaux Sud-Ouest SEA 2012 Bordeaux, France,

More information

Decomposition and Reformulation in Integer Programming

Decomposition and Reformulation in Integer Programming and Reformulation in Integer Programming Laurence A. WOLSEY 7/1/2008 / Aussois and Reformulation in Integer Programming Outline 1 Resource 2 and Reformulation in Integer Programming Outline Resource 1

More information

A Capacity Scaling Procedure for the Multi-Commodity Capacitated Network Design Problem. Ryutsu Keizai University Naoto KATAYAMA

A Capacity Scaling Procedure for the Multi-Commodity Capacitated Network Design Problem. Ryutsu Keizai University Naoto KATAYAMA A Capacity Scaling Procedure for the Multi-Commodity Capacitated Network Design Problem Ryutsu Keizai University Naoto KATAYAMA Problems 2006 1 Multi-Commodity Network Design Problem The basic model for

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

Multicommodity Flows and Column Generation

Multicommodity Flows and Column Generation Lecture Notes Multicommodity Flows and Column Generation Marc Pfetsch Zuse Institute Berlin pfetsch@zib.de last change: 2/8/2006 Technische Universität Berlin Fakultät II, Institut für Mathematik WS 2006/07

More information

Linear integer programming and its application

Linear integer programming and its application Linear integer programming and its application Presented by Dr. Sasthi C. Ghosh Associate Professor Advanced Computing & Microelectronics Unit Indian Statistical Institute Kolkata, India Outline Introduction

More information

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

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t. Modelling with Integer Variables jesla@mandtudk Department of Management Engineering Technical University of Denmark What is an integer program? Let us start with a linear program: st Ax b x 0 where A

More information

In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight.

In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight. In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight. In the multi-dimensional knapsack problem, additional

More information

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748 COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu https://moodle.cis.fiu.edu/v2.1/course/view.php?id=612 Gaussian Elimination! Solving a system of simultaneous

More information

Branch-and-cut (and-price) for the chance constrained vehicle routing problem

Branch-and-cut (and-price) for the chance constrained vehicle routing problem Branch-and-cut (and-price) for the chance constrained vehicle routing problem Ricardo Fukasawa Department of Combinatorics & Optimization University of Waterloo May 25th, 2016 ColGen 2016 joint work with

More information

Stochastic Integer Programming An Algorithmic Perspective

Stochastic Integer Programming An Algorithmic Perspective Stochastic Integer Programming An Algorithmic Perspective sahmed@isye.gatech.edu www.isye.gatech.edu/~sahmed School of Industrial & Systems Engineering 2 Outline Two-stage SIP Formulation Challenges Simple

More information

PART 4 INTEGER PROGRAMMING

PART 4 INTEGER PROGRAMMING PART 4 INTEGER PROGRAMMING 102 Read Chapters 11 and 12 in textbook 103 A capital budgeting problem We want to invest $19 000 Four investment opportunities which cannot be split (take it or leave it) 1.

More information

Part III: Traveling salesman problems

Part III: Traveling salesman problems Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/282 Motivation Motivation Why do we study the TSP? c R.F. Hartl, S.N. Parragh 2/282 Motivation Motivation Why

More information

Lecture 6 Simplex method for linear programming

Lecture 6 Simplex method for linear programming Lecture 6 Simplex method for linear programming Weinan E 1,2 and Tiejun Li 2 1 Department of Mathematics, Princeton University, weinan@princeton.edu 2 School of Mathematical Sciences, Peking University,

More information