Pattern-based diving heuristics for a two-dimensional guillotine cutting-stock problem with leftovers

In the two-dimensional guillotine cutting-stock problem, the objective is to minimize the number of large plates used to cut a list of small rectangles. We consider a variant of this problem, which arises in glass industry when different bills of order (or batches) are considered consecutively. For practical organization reasons, leftovers are not reused, except the large one obtained in the last cutting pattern of a batch, which can be reused for the next batch. The problem can be decomposed into an independent problem for each batch. In this paper, we focus on the one-batch problem, the objective of which is to minimize the total width of the cutting patterns used. We propose a diving heuristic based on column generation, in which the pricing problem is solved using dynamic programming (DP). This DP generates so-called non-proper columns, i.e. cutting patterns that cannot participate in a feasible integer solution of the problem. We show how to adapt the standard diving heuristic to this “non-proper” case while keeping its effectiveness. We also introduce the partial enumeration technique, which is designed to reduce the number of non-proper patterns in the solution space of the dynamic program. This technique strengthens the lower bounds obtained by column generation and improves the quality of the solutions found by the diving heuristic. Computational results are reported and compared on classical benchmarks from the literature as well as on new instances inspired from glass industry data. According to these results, variants of the proposed diving heuristic outperform constructive and evolutionary heuristics.

[1]  J. O. Berkey,et al.  Two-Dimensional Finite Bin-Packing Algorithms , 1987 .

[2]  José M. Valério de Carvalho,et al.  Exact solution of bin-packing problems using column generation and branch-and-bound , 1999, Ann. Oper. Res..

[3]  Yoshiko Wakabayashi,et al.  Algorithms for two-dimensional cutting stock and strip packing problems using dynamic programming and column generation , 2008, Eur. J. Oper. Res..

[4]  Ronald L. Rardin,et al.  Polyhedral Characterization of Discrete Dynamic Programming , 1990, Oper. Res..

[5]  Cláudio Alves,et al.  Arc-flow model for the two-dimensional guillotine cutting stock problem , 2010, Comput. Oper. Res..

[6]  Krzysztof Fleszar,et al.  Three insertion heuristics and a justification improvement heuristic for two-dimensional bin packing with guillotine cuts , 2013, Comput. Oper. Res..

[7]  Günther R. Raidl,et al.  Models and algorithms for three-stage two-dimensional bin packing , 2007, Eur. J. Oper. Res..

[8]  Günther R. Raidl,et al.  A Variable Neighborhood Search Using Very Large Neighborhood Structures for the 3-Staged 2-Dimensional Cutting Stock Problem , 2014, Hybrid Metaheuristics.

[9]  Ruslan Sadykov,et al.  Primal Heuristics for Branch and Price: The Assets of Diving Methods , 2019, INFORMS J. Comput..

[10]  John E. Beasley,et al.  Algorithms for Unconstrained Two-Dimensional Guillotine Cutting , 1985 .

[11]  François Vanderbeck,et al.  A Nested Decomposition Approach to a Three-Stage, Two-Dimensional Cutting-Stock Problem , 2001, Manag. Sci..

[12]  Claudio Sterle,et al.  An exact dynamic programming algorithm for large-scale unconstrained two-dimensional guillotine cutting problems , 2014, Comput. Oper. Res..

[13]  Manuel Iori,et al.  A hybrid genetic algorithm for the two-dimensional single large object placement problem , 2007, Eur. J. Oper. Res..

[14]  Paolo Toth,et al.  A column generation heuristic for the two-dimensional two-staged guillotine cutting stock problem with multiple stock size , 2012, Eur. J. Oper. Res..

[15]  S. Martello,et al.  Exact Solution of the Two-Dimensional Finite Bon Packing Problem , 1998 .

[16]  Fabio Furini,et al.  Modeling Two-Dimensional Guillotine Cutting Problems via Integer Programming , 2016, INFORMS J. Comput..

[17]  Reinaldo Morabito,et al.  Two-stage two-dimensional guillotine cutting stock problems with usable leftover , 2016, Int. Trans. Oper. Res..

[18]  Matthew L. Ginsberg,et al.  Limited Discrepancy Search , 1995, IJCAI.

[19]  R. Gomory,et al.  Multistage Cutting Stock Problems of Two and More Dimensions , 1965 .

[20]  Günther R. Raidl,et al.  Solving a Real-World Glass Cutting Problem , 2004, EvoCOP.

[21]  Sergey Polyakovskiy,et al.  An agent-based approach to the two-dimensional guillotine bin packing problem , 2009, Eur. J. Oper. Res..

[22]  Ramón Alvarez-Valdés,et al.  A computational study of LP-based heuristic algorithms for two-dimensional guillotine cutting stock problems , 2002, OR Spectr..

[23]  Andrea Lodi,et al.  Exact algorithms for the two-dimensional guillotine knapsack , 2012, Comput. Oper. Res..

[24]  Daniele Vigo,et al.  Recent advances on two-dimensional bin packing problems , 2002, Discret. Appl. Math..

[25]  Ruslan Sadykov,et al.  Automation and Combination of Linear-Programming Based Stabilization Techniques in Column Generation , 2018, INFORMS J. Comput..

[26]  Ruslan Sadykov,et al.  Combining dynamic programming with filtering to solve a four-stage two-dimensional guillotine-cut bounded knapsack problem , 2018, Discret. Optim..

[27]  José M. Valério de Carvalho,et al.  An integer programming model for two- and three-stage two-dimensional cutting stock problems , 2010, Eur. J. Oper. Res..

[28]  Günther R. Raidl,et al.  Solving the 3-Staged 2-Dimensional Cutting Stock Problem by Dynamic Programming and Variable Neighborhood Search , 2015, Electron. Notes Discret. Math..

[29]  Andrea Lodi,et al.  Integer linear programming models for 2-staged two-dimensional Knapsack problems , 2003, Math. Program..