Solving cutting and with extended 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 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 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 . 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 , 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. 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