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