Pseudo-polynomial formulations for bin packing and cutting stock problems

Similar documents
Arc-Flow Model for the Two-Dimensional Cutting Stock Problem

Cutting Stock with Binary Patterns: Arc-flow Formulation with Graph Compression

The Meet-in-the-Middle Principle for Cutting and Packing Problems

Bin Packing and Related Problems: General Arc-flow Formulation with Graph Compression

Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression

Algorithms for the Bin Packing Problem with Conflicts

ON WEIGHTED RECTANGLE PACKING WITH LARGE RESOURCES*

Column Generation Based Primal Heuristics

Recursive column generation for the Tactical Berth Allocation Problem

Integrating Mixed-Integer Optimisation & Satisfiability Modulo Theories

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

An Algorithm for an Optimal Staffing Problem in Open Shop Environment

Mathematical Models and Decomposition Algorithms for Cutting and Packing Problems

Fundamentals of Integer Programming

Combinatorial Benders Cuts for the Strip Packing Problem

The MIP-Solving-Framework SCIP

General properties of staircase and convex dual feasible functions

Exploiting Degeneracy in MIP

Advanced Use of GAMS Solver Links

THEORY OF LINEAR AND INTEGER PROGRAMMING

Improved Gomory Cuts for Primal Cutting Plane Algorithms

An exact approach for the vehicle routing problem with two-dimensional loading constraints

NOTATION AND TERMINOLOGY

Improved Bin Completion for Optimal Bin Packing and Number Partitioning

Mathematical Tools for Engineering and Management

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

arxiv: v1 [cs.dm] 22 Jul 2011

Finding an optimal seating arrangement for employees traveling to an event

Approximation Algorithms

Exact Solution of the Robust Knapsack Problem

Applied Mixed Integer Programming: Beyond 'The Optimum'

Integer Programming Theory

Rectangular Partitioning

Implementation of pattern generation algorithm in forming Gilmore and Gomory model for two dimensional cutting stock problem

Welcome to the Webinar. What s New in Gurobi 7.5

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

Graph Coloring via Constraint Programming-based Column Generation

Math Models of OR: The Simplex Algorithm: Practical Considerations

Large-Scale Optimization and Logical Inference

The simplex method and the diameter of a 0-1 polytope

Optimally Scheduling Small Numbers of Identical Parallel Machines

A Simplex Based Parametric Programming Method for the Large Linear Programming Problem

A Recursive Revised First Fit Algorithm for Cutting Stock Problem

Algorithms for Integer Programming

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

The ILP approach to the layered graph drawing. Ago Kuusik

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach

Constraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague

Algorithms for Decision Support. Integer linear programming models

Exact Solution of the Robust Knapsack Problem

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

CSE 417 Network Flows (pt 4) Min Cost Flows

Weight Annealing Heuristics for Solving the Two-Dimensional Bin Packing Problem

BIN PACKING PROBLEM WITH GENERAL PRECEDENCE CONSTRAINTS

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

Branch-price-and-cut for vehicle routing. Guy Desaulniers

FAIR LAYOUT OPTIMIZATION

Subset sum problem and dynamic programming

Integer Programming Chapter 9

The Gurobi Optimizer. Bob Bixby

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Combinatorial Optimization

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

An evolutionary algorithm for the one-dimensional cutting stock. problem

The SYMPHONY Callable Library for Mixed-Integer Linear Programming

Solving a Challenging Quadratic 3D Assignment Problem

x ji = s i, i N, (1.1)

Cutting Planes by Projecting Interior Points onto Polytope Facets

Soft constraints: Polynomial classes, Applications

A Branch-and-Cut Algorithm for the Double Traveling Salesman Problem with Multiple Stacks

CS 5540 Spring 2013 Assignment 3, v1.0 Due: Apr. 24th 11:59PM

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Mixed Integer Programming Class Library (MIPCL)

lpsymphony - Integer Linear Programming in R

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

BIN PACKING PROBLEM: A LINEAR CONSTANT- SPACE -APPROXIMATION ALGORITHM

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints

(Duality), Warm Starting, and Sensitivity Analysis for MILP

Math 5593 Linear Programming Lecture Notes

Integer and Combinatorial Optimization

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Implicit Hitting Set Problems

3 No-Wait Job Shops with Variable Processing Times

Parallel Auction Algorithm for Linear Assignment Problem

Linear Programming. Course review MS-E2140. v. 1.1

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

Practice Final Exam 2: Solutions

The Size Robust Multiple Knapsack Problem

A hybrid improvement heuristic for the bin-packing problem and its application to the multiprocessor scheduling problem

Working Under Feasible Region Contraction Algorithm (FRCA) Solver Environment

A simple exact separation algorithm for 2-matching inequalities

11 Linear Programming

ME 391Q Network Flow Programming

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

Transcription:

Pseudo-polynomial formulations for bin packing and cutting stock problems Maxence Delorme (1) Manuel Iori (2) (1) DEI, University of Bologna, Italy, (2) DISMI, University of Modena and Reggio Emilia, Italy COLGEN 2016 Búzios Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 1 / 23

Outline 1 Introduction 2 Some C&P pseudo-polynomial formulations 3 How to improve? 4 Preliminary results on the Variable-Sized Bin Packing Problem 5 Conclusions and future research directions Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 2 / 23

Introduction Bin Packing and Cutting Stock In this talk we study Cutting & Packing (C&P) problems from a computational point of view We focus on two (related) fundamental one-dimensional C&P problems: Bin Packing Problem (BPP): given n items having width w j for j = 1,..., n, and bins of capacity c, pack the items into the minimum number of bins Cutting Stock Problem (CSP): given m item types, each consisting of a demand d j of items of width w j, and stocks of length c, cut the items from the minimum number of stocks Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 3 / 23

Introduction Pseudo-polynomial formulations Pseudo-polynomial formulations (position-indexed formulations, capacity-indexed formulations, time-indexed formulations,... ) model CSP and BPP instances by taking care of the position in which the item is cut from/packed into the bin good lower bounds number of variables and constraints grows not only with n but also with c Intensively studied for C&P problems from the 1960s: as a basis for branch-and-price algorithms as stand-alone models for optimal problem solution Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 4 / 23

Introduction Pseudo-polynomial formulations Pseudo-polynomial formulations (position-indexed formulations, capacity-indexed formulations, time-indexed formulations,... ) model CSP and BPP instances by taking care of the position in which the item is cut from/packed into the bin good lower bounds number of variables and constraints grows not only with n but also with c Intensively studied for C&P problems from the 1960s: as a basis for branch-and-price algorithms as stand-alone models for optimal problem solution Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 4 / 23

Introduction Evolution of software for MILP Pseudo-polynomial formulations are by far the main mathematical model in multi-dimensional C&P since Beasley (Operations Research, 1985) For the 1-dim, case, from Delorme, Iori and Martello (EJOR, forthcoming): n. of selected CSP instances solved to optimality (average seconds, 2.66 GHz) using the ARC-FLOW formulation by Valério de Carvalho (Annals of OR, 1999) and different CPLEX versions CPLEX 6.0 7.0 8.0 9.0 10.0 11.0 12.1 12.6 sec inst (1998) (1999) (2002) (2003) (2006) (2007) (2009) (2013) 600 20 13 (366) 10 (420) 5 (570) 17 (268) 19 (162) 20 (65) 19 (117) 20 (114) 3600 20 16 (897) 15 (1210) 15 (2009) 20 (343) 20 (186) 20 (65) 19 (267) 20 (114) Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 5 / 23

Some C&P pseudo-polynomial formulations Dynamic-Programming Flow Formulation (DP-FLOW) Formally introduced for BPP only by Cambazard and O Sullivan (LNCS, 2010) Idea dates back to (at least) Wolsey (Annals of Discrete Mathematics, 1977) 0,0 DP table: a BPP item j is an horizontal layer, a weight d is a vertical layer x j,d,j+1,e = number of times arc ((j, d), (j + 1, e)) is selected 1,0 1,4 2,0 2,4 2,8 Example (c=9): 4 x 2 3 x 2 2 x 2 3,0 3,3 3,4 3,7 3,8 4,0 4,3 4,4 4,6 4,7 4,8 5,0 5,2 5,3 5,4 5,5 5,6 5,7 5,8 5,9 6,0 6,2 6,3 6,4 6,5 6,6 6,7 6,8 6,9 7,9 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 6 / 23

Some C&P pseudo-polynomial formulations Dynamic-Programming Flow Formulation (DP-FLOW) Formally introduced for BPP only by Cambazard and O Sullivan (LNCS, 2010) Idea dates back to (at least) Wolsey (Annals of Discrete Mathematics, 1977) DP table: a BPP item j is an horizontal layer, a weight d is a vertical layer x j,d,j+1,e = number of times arc ((j, d), (j + 1, e)) is selected min z x j,d,j+1,e ((j,d),(j+1,e)) δ + ((j,d)) ((j 1,d),(j,d+w j )) A x j,d,j+1,e 0 and integer ((j 1,e),(j,d)) δ ((j,d)) x j 1,e,j,d = x j 1,d,j,d+wj = 1 j = 1,..., n z if (j, d) = (0, 0) z if (j, d) = (n + 1, c) 0 otherwise ((j, d), (j + 1, e)) A Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 6 / 23

Some C&P pseudo-polynomial formulations Aggregate Flow Formulation (ARC-FLOW) Formally introduced for CSP by Valério de Carvalho (Annals of OR, 1999) as a basis for a B&P all DP horizontal layers are aggregated into a unique layer x de = n of times arc (d, e) is chosen (item of weight e d or empty space) Example (c=9): 4 x 2 3 x 2 2 x 2 0 1 2 3 4 5 6 7 8 9 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 7 / 23

Some C&P pseudo-polynomial formulations Aggregate Flow Formulation (ARC-FLOW) Formally introduced for CSP by Valério de Carvalho (Annals of OR, 1999) as a basis for a B&P all DP horizontal layers are aggregated into a unique layer x de = n of times arc (d, e) is chosen (item of weight e d or empty space) Example (c=9): 4 x 2 3 x 2 2 x 2 0 1 2 3 4 5 6 7 8 9 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 7 / 23

Some C&P pseudo-polynomial formulations Aggregate Flow Formulation (ARC-FLOW) Formally introduced for CSP by Valério de Carvalho (Annals of OR, 1999) as a basis for a B&P all DP horizontal layers are aggregated into a unique layer x de = n of times arc (d, e) is chosen (item of weight e d or empty space) Example (c=9): 4 x 2 3 x 2 2 x 2 0 1 2 3 4 5 6 7 8 9 Full graph (27 arcs) Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 7 / 23

Some C&P pseudo-polynomial formulations Aggregate Flow Formulation (ARC-FLOW) Formally introduced for CSP by Valério de Carvalho (Annals of OR, 1999) as a basis for a B&P all DP horizontal layers are aggregated into a unique layer x de = n of times arc (d, e) is chosen (item of weight e d or empty space) Example (c=9): 4 x 2 3 x 2 2 x 2 0 2 3 4 5 6 7 8 9 Reduced graph (19 arcs) (remove redundant arcs, sort items by non-increasing width) Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 7 / 23

Some C&P pseudo-polynomial formulations Aggregate Flow Formulation (ARC-FLOW) Formally introduced for CSP by Valério de Carvalho (Annals of OR, 1999) as a basis for a B&P all DP horizontal layers are aggregated into a unique layer x de = n of times arc (d, e) is chosen (item of weight e d or empty space) min z x de + (d,e) δ (e) (d,d+w i ) A (e,f ) δ + (e) z if e = 0 x ef = z if e = c 0 if e = 1,..., c 1 x d,d+wi d i i = 1,..., m x de 0 and integer (d, e) A Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 7 / 23

Some C&P pseudo-polynomial formulations ONE-CUT Proposed by Rao (Journal of the Computer Society of India, 1976) and Dyckhoff (Operations Research, 1981) y pq = number of times a piece of width p is cut into a left piece (item) of width q and a right piece (residual) of width p q 4 5 3 6 2 7 9 y 9,4 = 1 y 9,3 = 1 y 9,2 = 1 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 8 / 23

Some C&P pseudo-polynomial formulations ONE-CUT Proposed by Rao (Journal of the Computer Society of India, 1976) and Dyckhoff (Operations Research, 1981) y pq = number of times a piece of width p is cut into a left piece (item) of width q and a right piece (residual) of width p q 9 4 5 3 6 2 7 4 2 3 3 2 4 y 6,4 = 1 y 6,3 = 1 y 6,2 = 1 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 8 / 23

Some C&P pseudo-polynomial formulations ONE-CUT Proposed by Rao (Journal of the Computer Society of India, 1976) and Dyckhoff (Operations Research, 1981) y pq = number of times a piece of width p is cut into a left piece (item) of width q and a right piece (residual) of width p q 9 4 5 3 6 2 7 4 2 3 3 2 4 3 1 2 2 y 4,3 = 1 y 4,2 = 1 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 8 / 23

Some C&P pseudo-polynomial formulations ONE-CUT Proposed by Rao (Journal of the Computer Society of India, 1976) and Dyckhoff (Operations Research, 1981) y pq = number of times a piece of width p is cut into a left piece (item) of width q and a right piece (residual) of width p q min s.t. z = y cq q W y pq + y p+q,p d q + p A(q) p B(q) r C(q) y pq 0 and integer y qr q (W R)\{c} p R, q W, p > q Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 8 / 23

Some C&P pseudo-polynomial formulations Computational results for BPP/CSP From Delorme, Iori and Martello (EJOR, forthcoming): n. of instances solved to optimality in one minute (average CPU seconds) for number of items n Pseudo-polynomial formulations Branch(-and-cut)-and-price n inst. DP-FLOW ONE-CUT ARCFLOW SCIP-BPP VANCE BELOV 50 165 165 (0.5) 165 (0.1) 165 (0.1) 165 (0.9) 165 (0.1) 165 (0.1) 100 271 271 (5.0) 271 (0.8) 271 (0.3) 271 (4.6) 271 (0.1) 271 (0.1) 200 359 292 (21.0) 358 (2.4) 359 (0.8) 293 (22.6) 358 (1.1) 359 (0.1) 300 393 243 (33.9) 385 (4.5) 391 (2.0) 155 (44.1) 387 (4.3) 393 (0.1) 400 425 193 (42.4) 408 (5.1) 421 (3.0) 114 (49.8) 416 (9.3) 425 (0.2) 500 414 169 (44.8) 394 (6.3) 402 (4.0) 69 (55.1) 394 (19.2) 414 (0.2) 750 433 120 (52.6) 401 (7.8) 415 (6.0) 22 (59.5) 99 (50.4) 433 (0.4) 1000 441 67 (56.4) 407 (8.1) 416 (6.8) 0 (60.0) 62 (52.4) 441 (0.7) Total 2901 1520 (36.7) 2789 (5.0) 2840 (3.3) 1089 (42.4) 2152 (20.3) 2901 (0.2) ONE-CUT and ARC-FLOW somehow competitive up to n=200 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 9 / 23

Some C&P pseudo-polynomial formulations Computational results for BPP/CSP From Delorme, Iori and Martello (EJOR, forthcoming): n. of instances solved to optimality in one minute (average CPU seconds) for bin capacity c Pseudo-polynomial formulations Branch(-and-cut)-and-price c inst. DPFLOW ONECUT ARCFLOW SCIP-BPP VANCE BELOV 50 223 205 (13.6) 223 (0.1) 223 (0.1) 86 (43.0) 162 (20.2) 223 (0.1) 75 240 208 (19.5) 240 (0.1) 240 (0.1) 96 (42.0) 176 (20.2) 240 (0.1) 100 234 185 (26.4) 234 (0.1) 234 (0.1) 89 (42.8) 172 (20.3) 234 (0.1) 120 241 168 (29.6) 241 (0.1) 241 (0.1) 91 (42.2) 181 (19.7) 241 (0.1) 125 251 174 (30.9) 251 (0.1) 251 (0.1) 101 (41.0) 192 (19.2) 251 (0.1) 150 240 143 (34.9) 240 (0.1) 240 (0.2) 95 (41.8) 181 (19.5) 240 (0.1) 200 246 127 (39.3) 246 (0.3) 246 (0.3) 99 (40.8) 184 (20.5) 246 (0.1) 300 237 79 (45.6) 237 (1.5) 237 (1.3) 80 (44.4) 172 (21.9) 237 (0.1) 400 245 71 (47.4) 245 (3.9) 245 (2.8) 95 (41.6) 184 (20.3) 245 (0.2) 500 243 56 (49.2) 241 (8.6) 242 (5.1) 77 (44.8) 179 (20.7) 243 (0.3) 750 249 55 (49.9) 211 (18.6) 229 (11.2) 91 (42.4) 183 (21.0) 249 (0.8) 1000 252 49 (51.5) 180 (25.3) 212 (17.6) 89 (42.5) 186 (20.7) 252 (1.3) Total 2901 1520 (36.7) 2789 (5) 2840 (3.3) 1089 (42.4) 2152 (20.3) 2901 (0.2) ONE-CUT and ARC-FLOW somehow competitive up to c=400 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 10 / 23

How to improve? Equivalence of the formulations All proposed formulation shave the same continuous lower bound value as that provided by the Gilmore and Gomory (Operations Research, 1963) model (GG) Proposition (Valério de Carvalho (Annals of OR, 1999)) ARC-FLOW is equivalent to GG Proposition DP-FLOW is equivalent to ARC-FLOW Proof Skipped Proposition ONE-CUT is equivalent to ARC-FLOW Proof based on decomposition of non-negative flows into paths and cycles Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 11 / 23

How to improve? ARC-FLOW is included in ONE-CUT We use an LP ARC-FLOW solution [ x de ] to build an LP ONE-CUT solution [ȳ pq ] First step, we transform ARC-FLOW into an equivalent Normal ARC-FLOW by replacing, for any d, original loss arcs (d, d + 1) with (d, c) 1 1 0 1 2 3 4 5 6 7 8 9 1 1 1 infeasible for One-Cut 1 1 0 1 2 3 4 5 6 7 8 9 1 OK for One-Cut Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 12 / 23

How to improve? ARC-FLOW is included in ONE-CUT We use an LP ARC-FLOW solution [ x de ] to build an LP ONE-CUT solution [ȳ pq ] Second step, we build [ȳ pq ] using the normal Arc-Flow solution as: ȳ c d,e d = x de (d, e) A, e c ARC-FLOW LP solution (z = 1.67): 1.67 0.67 0.67 0 1 2 3 4 5 6 7 8 9 1 1 Resulting ONE-CUT LP solution: Example (c=9): 4 x 1 3 x 3 2 x 1 ȳ 9,3 = 1.67 3 6 ȳ 6,3 = 0.67 3 3 ȳ 6,2 = 1.00 2 4 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 12 / 23

How to improve? ONE-CUT is included in ARC-FLOW We use an LP ONE-CUT solution [ȳ pq ] to build an LP ARC-FLOW solution [ x de ] Set all x d,e = 0; For all ȳ p,q > 0 do x c p,c p+q += ȳ p,q ; x c p+q,c += ȳ p,q ; if p c x c p,c = ȳ p,q ; endif end do; Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 13 / 23

How to improve? ONE-CUT is included in ARC-FLOW We use an LP ONE-CUT solution [ȳ pq ] to build an LP ARC-FLOW solution [ x de ] Set all x d,e = 0; For all ȳ p,q > 0 do x c p,c p+q += ȳ p,q ; x c p+q,c += ȳ p,q ; if p c x c p,c = ȳ p,q ; endif end do; Example (c=9): LP solution for ONE-CUT (z = 2.17): ȳ 9,2 = 1.00 2 7 ȳ 7,4 = 1.00 4 3 ȳ 9,3 = 0.67 3 6 ȳ 6,3 = 0.67 3 3 ȳ 9,4 = 0.50 4 5 ȳ 5,4 = 0.50 4 1 4 x 2 3 x 3 2 x 1 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 13 / 23

How to improve? ONE-CUT is included in ARC-FLOW We use an LP ONE-CUT solution [ȳ pq ] to build an LP ARC-FLOW solution [ x de ] Set all x d,e = 0; For all ȳ p,q > 0 do x c p,c p+q += ȳ p,q ; x c p+q,c += ȳ p,q ; if p c x c p,c = ȳ p,q ; endif end do; Example (c=9): 4 x 2 3 x 3 LP solution for ONE-CUT (z = 2.17): ȳ 9,2 = 1.00 2 7 ȳ 7,4 = 1.00 4 3 ȳ 9,3 = 0.67 3 6 ȳ 6,3 = 0.67 3 3 ȳ 9,4 = 0.50 4 5 ȳ 5,4 = 0.50 4 1 Resulting LP solution for ARC-FLOW: 1 0 1 2 3 4 5 6 7 8 1 9 2 x 1 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 13 / 23

How to improve? ONE-CUT is included in ARC-FLOW We use an LP ONE-CUT solution [ȳ pq ] to build an LP ARC-FLOW solution [ x de ] Set all x d,e = 0; For all ȳ p,q > 0 do x c p,c p+q += ȳ p,q ; x c p+q,c += ȳ p,q ; if p c x c p,c = ȳ p,q ; endif end do; Example (c=9): 3 x 3 2 x 1 4 x 2 LP solution for ONE-CUT (z = 2.17): ȳ 9,2 = 1.00 2 7 ȳ 7,4 = 1.00 4 3 ȳ 9,3 = 0.67 3 6 ȳ 6,3 = 0.67 3 3 ȳ 9,4 = 0.50 4 5 ȳ 5,4 = 0.50 4 1 Resulting LP solution for ARC-FLOW: 1 1 0 1 2 3 4 5 6 7 8 9 1 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 13 / 23

How to improve? ONE-CUT is included in ARC-FLOW We use an LP ONE-CUT solution [ȳ pq ] to build an LP ARC-FLOW solution [ x de ] Set all x d,e = 0; For all ȳ p,q > 0 do x c p,c p+q += ȳ p,q ; x c p+q,c += ȳ p,q ; if p c x c p,c = ȳ p,q ; endif end do; Example (c=9): 3 x 3 2 x 1 4 x 2 LP solution for ONE-CUT (z = 2.17): ȳ 9,2 = 1.00 2 7 ȳ 7,4 = 1.00 4 3 ȳ 9,3 = 0.67 3 6 ȳ 6,3 = 0.67 3 3 ȳ 9,4 = 0.50 4 5 ȳ 5,4 = 0.50 4 1 Resulting LP solution for ARC-FLOW: 1 0.5 1 0.5 0 1 2 3 4 5 6 7 8 9 0.67 0.67 1.67 0.5 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 13 / 23

How to improve? ONE-CUT is included in ARC-FLOW We use an LP ONE-CUT solution [ȳ pq ] to build an LP ARC-FLOW solution [ x de ] ONE-CUT does not forbid recutting an item ȳ 9.6 = 2 6 3 ȳ 6,3 = 1 3 3 Which would result into a negative flow in ARC-FLOW 2 3 0 1 2 3 4 5 6 7 8 9 1 1 We solve this by using an equivalent Normal ONE-CUT formulation where we add y p+q,p q W p B(q) r C(q) y qr Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 13 / 23

How to improve? Improving ARC-FLOW with a Multi-Graph Use of a multi-graph to possibly increase arcs length Brandão and Pedroso (Computers & Operations Research, 2016) x j de = n of times item j is packed as an arc (d, e) enlarge width of each arc (d, e, j) by solving a subset sum problem remove arcs (d, e, j) if there is another arc (d, e, j) s.t. d d, e e. Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 14 / 23

How to improve? Improving ARC-FLOW with a Multi-Graph Use of a multi-graph to possibly increase arcs length Brandão and Pedroso (Computers & Operations Research, 2016) x j de = n of times item j is packed as an arc (d, e) enlarge width of each arc (d, e, j) by solving a subset sum problem remove arcs (d, e, j) if there is another arc (d, e, j) s.t. d d, e e. Example (c=9): Multi-graph 4 x 2 3 x 2 2 x 2 0 1 2 3 4 5 6 7 8 9 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 14 / 23

How to improve? Improving ARC-FLOW with a Multi-Graph Use of a multi-graph to possibly increase arcs length Brandão and Pedroso (Computers & Operations Research, 2016) x j de = n of times item j is packed as an arc (d, e) enlarge width of each arc (d, e, j) by solving a subset sum problem remove arcs (d, e, j) if there is another arc (d, e, j) s.t. d d, e e. Example (c=9): Multi-graph 4 x 2 3 x 2 2 x 2 0 1 2 3 4 5 6 7 8 9 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 14 / 23

How to improve? Improving ARC-FLOW with a Multi-Graph Use of a multi-graph to possibly increase arcs length Brandão and Pedroso (Computers & Operations Research, 2016) x j de = n of times item j is packed as an arc (d, e) enlarge width of each arc (d, e, j) by solving a subset sum problem remove arcs (d, e, j) if there is another arc (d, e, j) s.t. d d, e e. Example (c=9): Multi-graph 4 x 2 3 x 2 2 x 2 0 1 2 3 4 5 6 7 8 9 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 14 / 23

How to improve? Improving ARC-FLOW with a Multi-Graph Use of a multi-graph to possibly increase arcs length Brandão and Pedroso (Computers & Operations Research, 2016) x j de = n of times item j is packed as an arc (d, e) enlarge width of each arc (d, e, j) by solving a subset sum problem remove arcs (d, e, j) if there is another arc (d, e, j) s.t. d d, e e. Example (c=9): Multi-graph 4 x 2 3 x 2 2 x 2 0 4 7 9 8 arcs (instead of the original 27) Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 14 / 23

How to improve? Improving ARC-FLOW with Meet-in-the-Middle Patterns Proposed in Côté and Iori, The Meet-in-the-Middle Principle for C&P Problems (2016, submitted) for general C&P problems normal patterns align items to the left to decrease candidate optimal solutions proposed by Herz (IBM J. of Res. and Dev., 1972), Christofides and Whitlock (OR, 1977), improved by Boschetti et al. (IMA J. of Man. Math., 2002) Meet-in-the-Middle (MIM) patterns align items either to the left or to the right according to a threshold cut value t Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 15 / 23

How to improve? Improving ARC-FLOW with Meet-in-the-Middle Patterns Key note features of the MIM patterns: computed by easy DP that also finds the best threshold cut value t same time complexity than normal patterns size is never higher and usually much smaller further reduction criteria when used in ARC-FLOW for CSP, 50% average reduction in the number of arcs and 97% max reduction 150 140 normal 130 120 MIM 110 MIM+preproc. 100 0 t min 30 t Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 16 / 23

Preliminary results on the Variable-Sized Bin Packing Problem The case of Variable-Sized (and Cost) BPP (VSBPP) VSBPP is the BPP variant in which each bin k K has capacity c k and cost γ k ARC-FLOW is easily adapted by including new arcs (0, c max c k ) for each k K (slight variation of Valério de Carvalho (EJOR, 2002)) 0 1 2 3 4 5 6 7 8 9 Proposition ONE-CUT(VSBPP) is equivalent to ARC-FLOW(VSBPP) Improvements based on Multi-graph and MIM can be directly used Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 17 / 23

Preliminary results on the Variable-Sized Bin Packing Problem Preliminary computational results Number of VSBPP/BPP instances solved in 1 hour (3.10GHz, 4 cores, Cplex 12.6) ARC-FLOW Multi-Graph MIM Instance c max #inst #opt sec #var #opt sec var #opt sec var Monaci 150 300 300 1 1 K 300 0-49% 300 1-48% Perboli 2 300 60 60 1 5 K 60 1-5% 60 1-5% Perboli 3 120 480 480 0 1 K 480 0-20% 480 0-20% Belov 1 10 000 50 50 87 146 K 50 57-25% 50 58-46% Belov 2 10 000 50 50 68 139 K 50 53-29% 50 37-50% AI 200 2 500 50 49 233 121 K 50 45-49% 50 110-30% AI 400 10 000 50 3 3 480 940 K 10 3 333-45% 10 3 123-29% ANI 200 2 500 50 27 2 064 119 K 50 30-48% 32 1 510-30% ANI 400 10 000 50 0 3 602 935 K 5 3 465-87% 2 3 536-29% Sum/Avg 1140 1019 1060 267 K 1055 776-41% 1034 931-35% Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 18 / 23

Conclusions and future research directions Don t blame capacity Pseudo-polynomial formulations are interesting both in theory and in practice Of course, it is inadvisable to use them if capacity is too large Studying combinations with B&P is of great interest Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 19 / 23

Conclusions and future research directions MILP solver matters Preliminary results on the P w j C j, by Arthur Kramer, Dell Amico, Iori (2016, work in progress) Selected instances solved with ARC-FLOW and 300 seconds (at 2.4GHz) LP method Solver #inst #opt #nodes seconds Dual Simplex Gurobi 6.5.1 260 212 0.2 81.6 Cplex 12.6.2 260 195 0.5 90.6 Primal Simplex Gurobi 6.5.1 260 250 5.6 38.3 Cplex 12.6.2 260 224 8.9 58.6 Barrier Gurobi 6.5.1 260 258 13.2 26.9 Cplex 12.6.2 260 225 22.0 54.5 Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 20 / 23

Conclusions and future research directions Rectangle packing In two-dimensional orthogonal C&P problems, good computational results have been obtained by using pseudo-polynomial models in primal decomposition methods: Côté, Dell Amico, Iori, Combinatorial Benders Cuts for the Strip Packing Problem, (Operations Research, 2014) Delorme, Iori, Martello, Logic Based Benders Decomposition for Orthogonal Stock Cutting Problems, (2016, submitted) Use B&P as one of the engines in this kind of approaches? (Several instances with 20 items are open problems since decades) Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 21 / 23

Conclusions and future research directions The MIRUP conjecture MIRUP conjecture holds for both BPP and CSP and states that the difference between z opt and the optimal rounded-up GG solution value is at most 1 Caprara, Dell Amico, Díaz Díaz, Iori, Rizzi, Friendly Bin Packing Instances without Integer Round-up Property, Mathematical Programming (2015) Kartak, Ripatti, Scheithauer, Kurz, Minimal proper non-irup instances of the one-dimensional cutting stock problem, Discrete Applied Mathematics (2015) Can pseudo-polynomial formulations help in this context? Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 22 / 23

Conclusions and future research directions Thank you very much for your attention Delorme and Iori Pseudo-polynomial formulations COLGEN 2016 23 / 23