Solving cutting and packing problems with extended integer programming formulations
François Clautiaux
Mexico City, April 9th, 2019 Introduction
Introduction
Classical Integer programming formulation for CSP
Extended formulations for the cutting-stock problem
Extended formulations for a 2-dimensional cutting-stock problem
Conclusion
References Introduction
Introduction
We focus on MILP methods for solving 1D and 2D cutting problems The best exact methods known so far are based on extended formulations These formulations have an exponential size, but an interesting structure We show how they can be used effectively and why they actually work Introduction
Mixed-Integer Linear Programs
n min{cx : Ax ≥ a; x ∈ Z }
Linear programs can be solved efficiently, even for large-size models Some integer linear programming models can only be solved for medium sizes Introduction
Solving an MILP by branch-and-bound
max 17x1 + 12x2 t.q. 10x1 + 7x2 ≤ 40 x1 + x2 ≤ 5 x1 , x2 ∈ R+ x1 = 1, 6666, x2 = 3, 3333, u = 65 x ≤ 1 1 x1 ≥ 2
max 17x + 12x 1 2 max 17x + 12x t.q. 10x + 7x ≤ 40 1 2 1 2 t.q. 10x + 7x ≤ 40 x + x ≤ 5 1 2 1 2 x + x ≤ 5 x ≤ 1 1 2 1 x ≥ 2 x , x ∈ 1 1 2 R+ x , x ∈ x = 1, x = 4, u = 63 1 2 R+ 1 2 x = 2, x = 2, 8571, u = 64, 286 Feasible solution 1 2 x2 ≤ 2 x2 ≥ 3
max 17x1 + 12x2 max 17x1 + 12x2 t.q. 10x1 + 7x2 ≤ 40 t.q. 10x1 + 7x2 ≤ 40 x1 + x2 ≤ 5 x1 + x2 ≤ 5 x1 ≥ 2 x1 ≥ 2 x2 ≤ 2 x2 ≥ 3 x1 , x2 ∈ R+ x1 , x2 ∈ R+ > x1 = 2, 6, x2 = 2, u = 63 No solution ! Introduction
Important features of an ILP
Important features of an integer linear program
I Quality of the linear relaxation (good bounds)
I Number of symmetries (impacts the size of the branch-and-bound tree)
I Size of the model (impacts the time needed to solve the linear relaxation, and the size of the branch-and-bound tree) Introduction
Quality of a formulation
x2 x2
5 5
(7) (7) 3 3
(6) (5) (6) (5)
2 2
(4) (4) 1 1
1 2 3 4 x1 1 2 3 4 x1 The choice of the formulation is key. Objective: being as close as possible to the ideal linear formulation n (i.e. the convex hull of integer solutions conv(Ax ≥ a; x ∈ Z )). But the cost in size may be large! Introduction
Extended formulations
Typically replacing individual decisions by sequences/sets of decisions respecting some constraints.
I arcs → paths
I individual elements → subset
I ... Classical Integer programming formulation for CSP
Introduction
Classical Integer programming formulation for CSP
Extended formulations for the cutting-stock problem
Extended formulations for a 2-dimensional cutting-stock problem
Conclusion
References Classical Integer programming formulation for CSP
Cutting-stock problem
Cutting-Stock Problem
Given a list of orders i = 1,..., n, each having a size ci and a demand di , and an integer value C (roll size), find the minimum number of cutting rolls to satisfy the item demand in such a way that the sum of the item sizes in one roll is always smaller than C.
The problem is NP-hard in the strong sense.
Only known to be NP-complete in 2006 [Eisenbrand and Shmonin, 2006]
The problem becomes a bin packing problem if the demands are small. Classical Integer programming formulation for CSP
Classical model [Kantorovich]
X yj : 1 if bin j is open, 0 otherwise min yj j∈M xij : how many times item i is X cut from bin j ci xij ≤ Cyj , j ∈ M i∈N m : an upper bound on the X number of bins needed xij ≥ di , i ∈ N j∈M N = 1,..., n and xij ∈ N, i ∈ N ; j ∈ M M = 1,..., m. yj ∈ {0, 1}, j ∈ M Classical Integer programming formulation for CSP
Analysis of the classical model
Important features of an integer linear program
I Quality of the linear relaxation
I Number of symetries
I Size of the model Classical Integer programming formulation for CSP
Quality of the linear relaxation (1)
The optimal solution of the linear relaxation of SC is always equal Pn di ci to i=1 C .
m m X X X c x ≤ Cy 6 i ij j 3 4 j=1 i=1,...,n j=1 5 n n 2 X X X ci xij ≥ ci di 3 i=1 j=M i=1 1 4 6 =⇒ n m y1 = 1 y2 = 1 y3 = 1 y4 = c6/C X X ci di ≤ Cyj i=1 j=1 Classical Integer programming formulation for CSP
Quality of the linear relaxation (2)
The optimal solution of the linear relaxation of SC is always equal Pn di ci to i=1 C . + + + + 2 2 2 2 / / / / C C C C
1 Worst case : 2 OPT Classical Integer programming formulation for CSP
Size of model (SC)
Besides being (very) weak, the model is not even polynomial in size! m constraints, where m is the number of bins in the solution =⇒ Pn depends on i=1 di Pn Size of the instance: O( i=1 log di ). Pn The model is pseudo-polynomial (exponential in O( i=1 log di )). Classical Integer programming formulation for CSP
A polynomial size version of (SC)
Theorem (Eisenbrand and Shmonin, 2006) The number of different cutting patterns in an optimal solution is Pn no larger than LD = 2 i=1 log di .
Remark A pattern cannot be used more than dmax = max{di : i ∈ I }
k I binary variable yjk means that bin number j is replicated 2 times
I integer variable xijk is the number of times i is used in each bin j replicated 2k times For the sake of simplicity, assume that all numbers are powers of 2. Classical Integer programming formulation for CSP
A polynomial size version of (SC)
LD log dmax X X k min 2 djk j=1 k=0 X ci xijk ≤ Cyjk , j = 1,..., LD; k = 0,..., log dmax i∈N
LD log dmax X X k 2 xijk = di , i ∈ N j=1 k=0
xijk ∈ N, i ∈ N ; j = 1,..., LD; k = 0,..., log dmax yjk ∈ {0, 1}, j = 1,..., LD; k = 0,..., log dmax Classical Integer programming formulation for CSP
Symmetries
Model SC has many symmetries The same exact solution that uses t bins occurs t! times in the branch&bound tree.
3 3 6 6 2 2
4 4 1 5 5 1
Same solution, different values for variables xij . Classical Integer programming formulation for CSP
Removing symmetries from (SC) in the binary case In the binary case (bin packing), use "representative" model instead. New variables: xij means that i is packed in a bin whose item of smallest index is j (xii means that a bin is open with smallest index i).
X min xii i=M X ci xij ≤ (C − ci )xjj , j = 1,..., n − 1 i=j+1,n X xij = 1, i = 1,..., n j=1,...,i
xij ∈ N, i = 1,..., n; j = 1,..., i Classical Integer programming formulation for CSP
SC: summary
This model has all possible weaknesses! (symmetries, linear relaxation, size) But for moderate size data, it is actually not so bad Modern MILP solvers are able to add effective valid inequalities and detect symmetries ; modern computers are able to enumerate many solutions in a short amount of time Still not the best method in general Extended formulations for the cutting-stock problem
Introduction
Classical Integer programming formulation for CSP
Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation Arc-flow model
Extended formulations for a 2-dimensional cutting-stock problem
Conclusion
References Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Gilmore-Gomory model for the cutting-stock problem
P: set of all possible patterns (valid set of items for one bin). For each p ∈ P, a variable λp indicating the number of times p is used in the solution. p We denote by ai the number of times item i appears in p.
X min λ p 3 3 5 p∈P 3 X p s.t. ai λp ≥ di ∀i ∈ N 3 p∈P 7 5 5 3 λp ∈ N ∀p ∈ P λ1 = 1 λ2 = 2 λ3 = 1/3 λ4 = 0 Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Gilmore-Gomory model for the cutting-stock problem
P: set of all possible patterns (valid set of items for one bin). For each p ∈ P, a variable λp indicating the number of times p is used in the solution. p We denote by ai the number of times item i appears in p.
X min λp 3 3 p∈P 5 X p 3 s.t. ai λp ≥ di ∀i ∈ N 3 p∈P 7 5 5 λp ∈ R+ ∀p ∈ P 3
λ1 = 1 λ2 = 2 λ3 = 1/3 λ4 = 0 MASTER PROBLEM Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Column generation
The model has typically an exponential number of variables, but only a (hopefully) small subset is needed =⇒ dynamic column generation Column generation algorithm
I Build a Restricted Master Problem (RMP) with a subset of columns/variables I Do
I Solve RMP to optimality ; obtain a dual vector π I Solve the pricing subproblem
I While a variable of negative reduced cost can be found. Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Subproblem
X X min λp max di πi p∈P i∈N X p X p s.t. ai λp ≥ di , i ∈ N s.t. ai πi ≤ 1, p ∈ P p∈P i∈N
λp ∈ N, p ∈ P πi ≥ 0, i ∈ N Once the restricted master is solved, a dual solution π is obtained The variable of minimum reduced cost is min{1 − apπ : p ∈ P} Subproblem to solve : a knapsack problem P n max{πi xi : i∈N wi xi ≤ W ; xi ∈ N }. Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Dantzig-Wolfe decomposition in general
Theorem (Minkowski) n If P = {x ∈ R+ : Ax ≥ b}= 6 ∅ and rank(A) = n, then PT t PS s P = {x = t=1 λt x + s=1 µs r PT s.t. t=1 λt = 1, λt ≥ 0 ∀t, µs ≥ 0 ∀s}, where {x1,..., xT } it the set of extreme points of P and {r 1,..., r S } the set of extreme rays of P.
Connecting constraints DW-decomposition: lagrangian
Subproblem 1 relaxation of the connecting constraints,
Subproblem 2 and reformulation of the now ... disconnected subproblems using Subproblem k Minkowski theorem. Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
What it takes to make CG work
An efficient algorithm for solving the subproblem An efficient branching strategy A good primal bound (heuristic) Computing dual bounds before convergence of CG (cf. lagrangian relaxation) Convergence issues: need for stabilization techniques (cf. lagrangian relaxation) Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Solving the subproblem: unbounded case
0 0 10 10 10 0
3 9 9 0 0 8 8 8 X 4 0 4 3 7 7 max πi xi 0 0 6 6 6 i∈N 0 8
4 X 3 5 5 ci xi ≤ C 0 0 4 4 4 i∈N 8
4 3 0 0 xi ∈ N,i ∈ N 2 2 2 3 0 0 0 s 0 0 0 Dynamic program γ(i, w) = max{γ(i + 1, w), pi + γ(i, wi + w)} Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Solving the subproblem: unbounded case
10
3 9
3 X 4 8 max πi xi
3 i∈N 7
X 6 3 ci xi ≤ C
i∈N 5 3 x ∈ ,i ∈ N i N 4
8
3 α(w) = 4
maxi∈N :w≤wi {pi + α(wi + w)} 2
3
0 Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Obtaining integer solutions
In the classical branch-and-bound algorithm, branching takes the form xi ≤ bxˆi c or xi ≥ dxˆi e where xˆi is the (fractional) value of xi in the current solution. In column generation, trying to forbid a unique solution in the subproblem may break the structure of the problem Classical solution: branching on the original variables. For cutting-stock, the subproblems have been merged, it is not straightforward to project the λp variables to obtain xij . Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Obtaining integer solutions (2)
Solution: branching on the variables of the subproblem. We use the fact that the subproblem is solved by dynamic programming. P P ˆ Branching decision : p∈P∗ λp ≤ b p∈P1 λpc or P P ˆ ∗ p∈P∗ λp ≥ d p∈P1 λpe, where P is the set of patterns where item i is taken from a given position w in the pricing problem. Impact on the subproblem : does only change the cost of the corresponding arc in the shortest path problem (add the corresponding dual value to the cost of the arc). Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Dantzig-Wolfe decomposition and lagrangian relaxation
Dantzig-Wolfe decomposition is a tool that allows to solve the so-called lagrangian dual problem, i.e. it is equivalent to applying lagrangian relaxation to the problem. This allows to
I compute dual bounds before convergence
I help designing stabilization strategies inspired from subgradient algorithms Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Lagrangian relaxation of the classical model (1)
We relax the demand constraints. X min yj j∈M X X X X min yj + (di − xij )πi ci xij ≤ Cyj , j ∈ M j∈M i∈N j∈M i∈N X X ci xij ≤ Cyj , j ∈ M x ≥ d , i ∈ N ij i i∈N j∈M xij ∈ N, i ∈ N ; j ∈ M xij ∈ N, i ∈ N ; j ∈ M yj ∈ {0, 1}, j ∈ M yj ∈ {0, 1}, j ∈ M Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Lagrangian relaxation of the classical model (2)
For a given set of multipliers π, the dual function is the following.
X X X L(π) = min yj + (di − xij )πi j∈M i∈N j∈M X ci xij ≤ Cyj , j ∈ M i∈N xij ∈ N, i ∈ N ; j ∈ M yj ∈ {0, 1}, j ∈ M Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Lagrangian relaxation of the classical model (2)
For a given set of multipliers π, the dual function is the following.
X X X L(π) = di πi + min (yj − xij πi ) i∈N j∈M i∈N X ci xij ≤ Cyj , j ∈ M i∈N xij ∈ N, i ∈ N ; j ∈ M yj ∈ {0, 1}, j ∈ M Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Lagrangian relaxation of the classical model (2)
For a given set of multipliers π, the dual function is the following.
X X L(π) = di πi + m ∗ { min y − xi πi i∈N i∈N X ci xi ≤ Cy i∈N xi ∈ N, i ∈ N y ∈ {0, 1}} Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Lagrangian relaxation of the classical model (2) For a given set of multipliers π, the dual function is the following.
X X L(π) = di πi + m ∗ { min y − xi πi i∈N i∈N X ci xi ≤ Cy i∈N xi ∈ N, i ∈ N y ∈ {0, 1}}
∗ X p X p L = max{ di πi + mµ : µ ≤ y − a πi , ∀p ∈ P} π,µ i i∈N i∈N Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Lagrangian Relaxation & Duality
∗ X p X p L = max{ di πi + mµ : µ ≤ y − a πi , ∀p ∈ P} π,µ i i∈N i∈N
η η η
L(π) L(π)
π π π Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
From lagrangian relaxation to Dantzig-Wolfe decomposition
∗ X p X p L = max{ di πi + mµ : µ ≤ y − a πi , ∀p ∈ P} π,µ i i∈N i∈N Compute the dual
∗ X L = min λp p∈P X λp = m p∈P X p ai λp ≥ di , i ∈ N p∈P
λp ≥ 0, p ∈ P Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
From lagrangian relaxation to Dantzig-Wolfe decomposition
∗ X p X p L = max{ di πi + mµ : µ ≤ y − a πi , ∀p ∈ P} π,µ i i∈N i∈N
Compute the dual
∗ X L = min λp p∈P X p ai λp ≥ di , i ∈ N p∈P
λp ≥ 0, p ∈ P Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Computing the lagrangian lower bound in column generation
n For any vector π ∈ R+, the lagrangian lower bound is valid.
X X L(π) = di πi + m ∗ { min y − xi πi i∈N i∈N X ci xi ≤ Cy i∈N xi ∈ N, i ∈ N y ∈ {0, 1}}
P ∗ i∈N di πi → optimal value of the RMP minimization problem with π∗ → optimal value of the subproblem The lagrangian bound comes for free! Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Dual Polyhedra: Outer and Inner approximations
η η
(πt , ηt ) (ˆπ, Lˆ)
L(π) L(π)
π π Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Convergence of Column Generation
I A sequence of candidate dual solutions t ∗ {π }t → π
I A sequence of candidate primal solutions (a by-product) t ∗ {x }t → x
844
760
675
591
506 I Dual oscillations 422
338 I Tailing-off effect
253 I Primal degeneracy 169
84
0 0 100 200 300 400 500 600 700 800 900 1000 Extended formulations for the cutting-stock problem Dantzig-Wolfe reformulation
Dual Price Smoothing (I)
π˜t = απˆ + (1 − α)πt [Wentges 97]
(πin, ηin) := (ˆπ, Lˆ)
(πout, ηout) := (πt , ηt )
(πsep, ηsep) := α (πin, ηin) + (1 − α)(πout, ηout) OUT SEP OUT
SEP IN IN Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow model
Another way of producing an extended formulation for CSP is to reformulate the knapsack constraints are shortest path constraints. Possible since knapsack feasibility can be computed recursively through dynamic programming. Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation for the cutting-stock [Carvalho, 1999]
The model is based on a graph G = (V , A). V : positions in the bin {0, 1,..., W } A : set of arcs (packing an item at a given position) (i, j) : packing at position i an item of size j − i (i, i + 1) : packing nothing at position i (to allow solutions with slack) A(i) : set of arcs "covering" item i
Variables
I z : flow value = number of paths = number of bins
I λa : value of the flow through arc a Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: model
min z X s.c. λa ≥ di , ∀i ∈ I a∈A(i) z, if v=0 X X λa − λa = 0, if v=1,. . . ,W-1 a∈δ+(v) a∈δ−(v) −z if v=W z ∈ N λa ∈ N, ∀a ∈ A Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: example
0 1 2 3 4 5 6 7 8 9 10
Data Objective : minimize the value of Bin of size 10 the flow
I 2 items of size 7 Constraints :
I 3 items of size 5 I flow conservation
I 7 items of size 3 I demand for each item Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: example
0 1 2 3 4 5 6 7 8 9 10
Data Bin of size 10
I 2 items of size 7 Arcs covering items of size 3
I 3 items of size 5
I 7 items of size 3 Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: example
0 1 2 3 4 5 6 7 8 9 10
Data Bin of size 10
I 2 items of size 7 Arcs covering items of size 5
I 3 items of size 5
I 7 items of size 3 Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: example
0 1 2 3 4 5 6 7 8 9 10
Data Bin of size 10
I 2 items of size 7 Arcs covering items of size 7
I 3 items of size 5
I 7 items of size 3 Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: example
2 1 1 1 1
0 0 0 1 1 1 1 1 2 3 0 1 2 3 4 5 6 7 8 9 10
2 1 2
Data Bin of size 10
I 2 items of size 7 A solution for the problem
I 3 items of size 5
I 7 items of size 3 Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: example
0 1 2 3 4 5 6 7 8 9 10
1 1
Data Bin of size 10
I 2 items of size 7 Configuration 5, 5
I 3 items of size 5
I 7 items of size 3 Extended formulations for the cutting-stock problem Arc-flow model
Arc-flow formulation: example
1
1 1 0 1 2 3 4 5 6 7 8 9 10
1
Data Bin of size 10
I 2 items of size 7 Configuration 5, 3
I 3 items of size 5
I 7 items of size 3 Extended formulations for the cutting-stock problem Arc-flow model
From SC to Arc-Flow
P Constraints i∈N ci xij ≤ Cyj are knapsack constraints. Knapsack problem can be solved by dynamic programming The dynamic program is equivalent to seeking a path of largest profit in a graph The shortest path problem can be expressed exactly by a linear program with the total unimodularity property By replacing the knapsack constraints by path constraints, one obtains the arc-flow formulation. Since the same set of constraints is convexified, it has the same linear relaxation as the Gilmore-Gomory model. Extended formulations for the cutting-stock problem Arc-flow model
Pros and cons of AF
AF has the same linear relaxation as GG It can be entered directly in a general purpose MIP solver It has more symmetries (ordered configurations instead of sets) For large sizes of bin, the model does not even load! Several works address methods for compacting the graph [Delorme and Iori, 2017], [Brandao and Pedroso. 2013] Extended formulations for a 2-dimensional cutting-stock problem
Introduction
Classical Integer programming formulation for CSP
Extended formulations for the cutting-stock problem
Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation Arc-flow reformulation
Conclusion
References Extended formulations for a 2-dimensional cutting-stock problem
A two-dimensional cutting-stock problem
1.Initial storage 2.Cutting table
→
Same demand constraints, but difficult even with only one bin! But the same methodologies apply [FC et al. 2018], [FC et al. 2019] Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation
Dantzig-Wolfe decomposition again! Let P be the set of all possible patterns (valid set of items for one bin). Let us consider for each p ∈ P a variable λp indicating the number of times p is used in the solution. p We denote by ai the number of times item i appears in p.
X min λp p∈P X p s.t. ai λp ≥ di , ∀i ∈ N p∈P
λp ∈ N, p ∈ P
Now, set P is now defined as the set of possible item placement in a rectangle. Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation
Pricing: a two-dimensional knapsack problem
The subproblem to solve is a two-dimensional unbounded knapsack problem.
7
6 12 5 11 10 2 3
9
4
8 1 Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation
Restricted case
DP inspired by Beasley
2 U((w, h)1) = max{0, max {U((w, h0) ) + U((w, h − h0)1)}} 0 0 h ≤h,∃i∈I:hi =h ,wi ≤w 3 U((w, h)2) = max{0, max {U((w 0, h) ) + U((w − w 0, h)2)}} 0 0 w ≤w:∃i∈I:wi =w ,hi ≤h 4 U((w, h)3) = max{0, max {U((w, h0) ) + U((w, h − h0)3)}} 0 0 h ≤h,∃i∈I:hi =h ,wi ≤w 2 2 U((w, h) ) = max {pi + U((w − wi , h) )} i∈I:hi =h,wi ≤w 3 3 U((w, h) ) = max {pi + U((w, h − hi ) )} i∈I:wi =w,hi ≤h 4 4 U((w, h) ) = max{0, max {pi + U((w − wi , h) )}} i∈I:hi =h,wi ≤w Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation
Practical implementation
(5, 7)1 (5, 4)1 More complex dynamic program: (5, 1)1 no more a path in a graph, but a (5, 3)1 flow in an hypergraph. (5, 4)2 (5, 3)2 (3, 4)2 No more T.U. matrix, but TDI (see [Martin et al., 1991])
(2, 3)2 b (1, 4)2 a Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation
Flow in an hypergraph
Bin : (5, 7) - 6 items to cut: 2 × a = (2, 4) and 4 × b = (3, 3)
(5, 7)1
(5, 3),1 (5, 7)1
1 Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation
Flow in an hypergraph
Bin : (5, 7) - 6 items to cut: 2 × a = (2, 4) and 4 × b = (3, 3)
(5, 7)1
((55,,33)),11 (5, 4)2 (5, 4)2 (5, 3)1
1 Extended formulations for a 2-dimensional cutting-stock problem Dantzig-Wolfe reformulation
Flow in an hypergraph
Bin : (5, 7) - 6 items to cut: 2 × a = (2, 4) and 4 × b = (3, 3)
(5, 7)1
((55,,33)),11 (3, 4)2 (5, 4)2 (5, 3)1 a (3, 4)2
1a Extended formulations for a 2-dimensional cutting-stock problem Arc-flow reformulation
Arc-flow model again! (1)
2D arc flow: (almost) same as 1D
min z X s.c. λa ≥ di , ∀i ∈ I a∈A(i) z, if v=0 X X λa − λa = 0, if v=1,. . . ,W-1 a∈δ+(v) a∈δ−(v) −z if v=W z ∈ N λa ∈ N, ∀a ∈ A Extended formulations for a 2-dimensional cutting-stock problem Arc-flow reformulation
Arc-flow model again! (2)
Bin : (5, 7) - 6 articles à couper : 2 × a = (2, 4) et 4 × b = (3, 3)
(5, 7)1 (5, 4)1 (5, 1)1 (5, 3)1 (5, 4)2 (5, 3)2 (3, 4)2
(2, 3)2 b (1, 4)2 a Extended formulations for a 2-dimensional cutting-stock problem Arc-flow reformulation
Arc-flow model again! (2)
Bin : (5, 7) - 6 articles à couper : 2 × a = (2, 4) et 4 × b = (3, 3)
2 (5, 7)1 (5, 4)1 0 (5, 1)1 0 0 (5, 3)1 (5, 4)2 2 (5, 3)2 (3, 4)2 2 2 2 0
(2, 3)2 b (1, 4)2 a Extended formulations for a 2-dimensional cutting-stock problem Arc-flow reformulation
Arc-flow model again! (2)
Bin : (5, 7) - 6 articles à couper : 2 × a = (2, 4) et 4 × b = (3, 3)
2 (5, 7)1
(5, 3)1 (5, 4)2 2 (5, 3)2 (3, 4)2 2 2 2
(2, 3)2 b (1, 4)2 a Conclusion
Introduction
Classical Integer programming formulation for CSP
Extended formulations for the cutting-stock problem
Extended formulations for a 2-dimensional cutting-stock problem
Conclusion
References Conclusion
Conclusion
Extended formulations allow to overcome major weaknesses of compact models for cutting-stock and bin-packing problems (1D,2D,...) It comes at the price of very large formulations. A very active field of reseach
I stabilization methods
I subproblem solving
I improvements for (hyper)arc flow formulations
I ... References
Introduction
Classical Integer programming formulation for CSP
Extended formulations for the cutting-stock problem
Extended formulations for a 2-dimensional cutting-stock problem
Conclusion
References References
References (dynamic programming) [Beasley, 1985] Beasley, J. E, Algorithms for unconstrained two-dimensional guillotine cutting, Journal of the Operational Research Society 36 (4), 297–306, 1985 [Martin et al., 1990] Martin, R. K., Rardin, R. L., Campbell, B. A., Polyhedral characterization of discrete dynamic programming. Operations Research 38 (1), 127–138, 1990 [FC. et al. 2018] Clautiaux F., Sadykov R., Vanderbeck F., Viaud Q. Combining dynamic programming with filtering to solve a four-stage two-dimensional guillotine-cut bounded knapsack problem. Discrete Optimization, 29:18-44, 2018 [FC et al. 2019] Clautiaux F., Sadykov R., Vanderbeck F., Viaud Q. Pattern based diving heuristics for a two-dimensional guillotine cutting-stock problem with leftovers Report, Université de Bordeaux, Inria, 2019 References
References (Models, 1)
[Kantorovich, 1960] Kantorovich, L. V., Mathematical methods of organizing and planning production. Management Science 6 (4), 366–422, 1960 [Eisenbrand and Shmonin, 2006] Eisenbrand F., Shmonin G.: Carathéodory bounds for integer cones. Oper. Res. Lett. 34(5): 564-568, 2006 References
References (Models, 2)
[Gilmore and Gomory, 1961] Gilmore, P. C., Gomory, R. E., A linear programming approach to the cutting-stock problem. Operations research 9 (6), 849–859, 1961 [Pessoa et al., 2018] Pessoa A., Sadykov R., Uchoa E., F. Vanderbeck. Automation and combination of linear-programming based stabilization techniques in column generation. INFORMS Journal on Computing, 30(2):339-360, 2018. [Wentges, 1997] Wentges P., Weighted Dantzig-Wolfe decomposition for linear mixed-integer programming. International Transactions in Operational Research 42 (2), 151-162, 1997 References
References (Arc-flow formulation)
[Carvalho, 2000] Valério de Carvalho, J. M., LP models for bin packing and cutting stock problems. European Journal of Operational Research 141 (2), 253 – 273, 2002 [Delorme and Iori, 2017] Delorme M., Iori M., Enhanced pseudo-polynomial formulations for bin packing and cutting stock problems, Technical Report, 2017 [Brandao and Pedroso. 2013] Brandao F., Pedroso J.P., Bin Packing and Related Problems: General Arc-flow Formulation with Graph Compression, Technical report, 2013