Skip to main content
Log in

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

  • Original Paper
  • Published:
EURO Journal on Computational Optimization

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. Instances available at http://or.dei.unibo.it/library/two-dimensional-bin-packing-problem.

  2. Industrial instances are available at https://www.math.u-bordeaux.fr/~rsadykov.

  3. All instances are available at https://www.math.u-bordeaux.fr/~rsadykov.

References

  • Alvarez-Valdes R, Parajon A, Tamarit MJ (2002) A computational study of LP-based heuristic algorithms for two-dimensional guillotine cutting stock problems. OR Spectr 24(2):179–192

    Article  Google Scholar 

  • Andrade R, Birgin E, Morabito R (2016) Two-stage two-dimensional guillotine cutting stock problems with usable leftover. Int Trans Oper Res 23(1–2):121–145

    Article  Google Scholar 

  • Beasley JE (1985) Algorithms for unconstrained two-dimensional guillotine cutting. J Oper Res Soc 36(4):297–306

    Article  Google Scholar 

  • Berkey JO, Wang PY (1987) Two-dimensional finite bin-packing algorithms. J Oper Res Soc 38(5):423–429

    Article  Google Scholar 

  • Cintra G, Miyazawa F, Wakabayashi Y, Xavier E (2008) Algorithms for two-dimensional cutting stock and strip packing problems using dynamic programming and column generation. Eur J Oper Res 191(1):61–85

    Article  Google Scholar 

  • Clautiaux F, Sadykov R, Vanderbeck F, Viaud Q (2018) Combining dynamic programming with filtering to solve a four-stage two-dimensional guillotine-cut bounded knapsack problem. Discrete Optim 29:18–44

    Article  Google Scholar 

  • Dolatabadi M, Lodi A, Monaci M (2012) Exact algorithms for the two-dimensional guillotine knapsack. Comput Oper Res 39(1):48–53

    Article  Google Scholar 

  • Dusberger F, Raidl GR (2014) A variable neighborhood search using very large neighborhood structures for the 3-staged 2-dimensional cutting stock problem. In: Blesa MJ, Blum C, Voß S (eds) Hybrid metaheuristics: 9th International Workshop, HM 2014, Hamburg, Germany, 11–13 June 2014. Proceedings. Springer, Cham, pp 85–99

  • Dusberger F, Raidl GR (2015) Solving the 3-staged 2-dimensional cutting stock problem by dynamic programming and variable neighborhood search. Electron Notes Discrete Math 47:133–140

    Article  Google Scholar 

  • Fleszar K (2013) Three insertion heuristics and a justification improvement heuristic for two-dimensional bin packing with guillotine cuts. Comput Oper Res 40(1):463–474

    Article  Google Scholar 

  • Furini F, Malaguti E, Durán RM, Persiani A, Toth P (2012) A column generation heuristic for the two-dimensional two-staged guillotine cutting stock problem with multiple stock size. Eur J Oper Res 218(1):251–260

    Article  Google Scholar 

  • Furini F, Malaguti E, Thomopulos D (2016) Modeling two-dimensional guillotine cutting problems via integer programming. INFORMS J Comput 28(4):736–751

    Article  Google Scholar 

  • Gilmore PC, Gomory RE (1965) Multistage cutting stock problems of two and more dimensions. Oper Res 13(1):94–120

    Article  Google Scholar 

  • Hadjiconstantinou E, Iori M (2007) A hybrid genetic algorithm for the two-dimensional single large object placement problem. Eur J Oper Res 183(3):1150–1166

    Article  Google Scholar 

  • Lodi A, Monaci M (2003) Integer linear programming models for 2-staged two-dimensional knapsack problems. Math Program 94(2–3):257–278

    Article  Google Scholar 

  • Lodi A, Martello S, Vigo D (2002) Recent advances on two-dimensional bin packing problems. Discrete Appl Math 123(13):379–396

    Article  Google Scholar 

  • Macedo R, Alves C, Valério de Carvalho JM (2010) Arc-flow model for the two-dimensional guillotine cutting stock problem. Comput Oper Res 37(6):991–1001

    Article  Google Scholar 

  • Martello S, Vigo D (1998) Exact solution of the two-dimensional finite bin packing problem. Manag Sci 44(3):388–399

    Article  Google Scholar 

  • Martin RK, Rardin RL, Campbell BA (1990) Polyhedral characterization of discrete dynamic programming. Oper Res 38(1):127–138

    Article  Google Scholar 

  • Pessoa A, Sadykov R, Uchoa E, Vanderbeck F (2018) Automation and combination of linear-programming based stabilization techniques in column generation. INFORMS J Comput 30(2):339–360

    Article  Google Scholar 

  • Polyakovsky S, M’Hallah R (2009) An agent-based approach to the two-dimensional guillotine bin packing problem. Eur J Oper Res 192(3):767–781

    Article  Google Scholar 

  • Puchinger J, Raidl GR (2007) Models and algorithms for three-stage two-dimensional bin packing. Eur J Oper Res 183(3):1304–1327

    Article  Google Scholar 

  • Puchinger J, Raidl GR, Koller G (2004) Solving a real-world glass cutting problem. In: Gottlieb J, Raidl GR (eds) Evolutionary computation in combinatorial optimization: 4th European Conference, EvoCOP 2004, Coimbra, Portugal, 5–7 April 2004. Proceedings. Springer, Berlin, pp 165–176

  • Russo M, Sforza A, Sterle C (2014) An exact dynamic programming algorithm for large-scale unconstrained two-dimensional guillotine cutting problems. Comput Oper Res 50:97–114

    Article  Google Scholar 

  • Sadykov R, Vanderbeck F, Pessoa A, Tahiri I, Uchoa E (2019) Primal heuristics for branch-and-price: the assets of diving methods. INFORMS J Comput. https://doi.org/10.1287/ijoc.2018.0822

    Google Scholar 

  • Silva E, Alvelos F, Valério de Carvalho JM (2010) An integer programming model for two-and three-stage two-dimensional cutting stock problems. Eur J Oper Res 205(3):699–708

    Article  Google Scholar 

  • Valério de Carvalho JM (1999) Exact solution of bin-packing problems using column generation and branch-and-bound. Ann Oper Res 86:629–659

    Article  Google Scholar 

  • Vanderbeck F (2001) A nested decomposition approach to a three-stage, two-dimensional cutting-stock problem. Manag Sci 47(6):864–879

    Article  Google Scholar 

Download references

Acknowledgements

We thank two anonymous referees whose comments helped us to improve the presentation of the paper. Experiments presented in this paper were carried out using the PLAFRIM experimental testbed, being developed under the Inria PlaFRIM development action with support from Bordeaux INP, LABRI and IMB and other entities: Conseil Régional d’Aquitaine, Université de Bordeaux, CNRS and ANR in accordance with the programme d’investissements d’Avenir (see https://www.plafrim.fr/).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ruslan Sadykov.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

In the appendix, we report results for the standard bin minimization objective function, i.e. for the case when keeping leftovers for the next batch is not permitted. Once the last bin in a sequence of patterns is cut and items are obtained, the remaining glass part is considered as a waste and not reused. Clearly, this is not efficient in terms of the glass waste reduction. However, this case is much more easier to manage in practice. Results are valid for the same set of cutting constraints described previously for the 2DGCSPL.

Results reported in Table 6 show the impact of partial enumeration when solving the linear relaxation of the problem with column generation. The first column reports the instance class and its total number of instances between brackets. The second \(\#ps\) shows the number of instances solved in preprocessing. The next three columns present results for the variant \(cg_{mip}\): number of instances for which the column generation converged within one hour, average time (t) in seconds, and the average primal-dual gap (gap) in percentage from the best known solution. Next three columns give the average gap (\(gap_{\#opt}\)) for other three variants of column generation. In order to have a correct comparison, averages in columns \(gap_{\#opt}\) are calculated only for instances for which the variant \(cg_{mip}\) converged. Note that, the column generation variants with dynamic programming converged within the time limit for all instances. Thus, in columns \(gap_{all}\) and \(t_{all}\), we give the average gap and the average solution time among all instances for all hypergraph configurations. Note that average value are computed on instances not solved in preprocessing.

Table 6 Comparison of different column generation variants with the bin minimization objective function

From experiments reported in Table 6, it can be seen that the impact of partial enumeration in the case of the classic objective function is much smaller than in the case of leftovers. For the industrial instances, the impact is negligible.

Results for direct solution by CPLEX MIP solver are reported in Table 7. The column \((\#ps)\) shows the number of instances solved by preprocessing. In columns (\(\#opt\)), we report for each variant of the formulation the number of instances solved in one hour (\(\#opt\)), excluding instances solved by preprocessing. In columns (t), we give the average solution time (t) in seconds, computed over all instances including those solved by preprocessing. If a timeout is reached for an instance, we use the time limit value in the calculation of the average time.

Table 7 Comparison of variants of the hypergraph-based MIP formulation with the bin minimization objective function

Results show that instances with the bin minimization objective are much easier than instances with the leftover maximization objective. Here again, the impact of the partial enumeration is very small.

In Table 8, for each considered heuristic, we show the average gap in percentage from the best known solution and the average time in seconds. Reported average values are computed on the whole set of instances in each dataset even if an instance is solved in preprocessing. The results for heuristics (ediv) and \((ediv_{32})\) are not shown as they are similar to results of (div) and \((div_{32})\).

Table 8 Comparison of heuristics with the bin minimization objective function

From Table 8, one can see that the performance of diving algorithms with LDS is comparable to one of heuristic (iub). However, the running time of the former is smaller. Again, the comparison of results for heuristics \((div_{\emptyset })\) and (div) allows us to conclude that the partial enumeration not only improves but worsens the results. The results for industrial instances show that no heuristic manages to improve the performance of the simplest heuristic (ea). This can be explained by the fact that the objective function is “flat”, and it is very hard to improve the obtained solution even by 1 unit.

In Table 9, we report the results obtained by the same heuristics tested before for the case with multiple batches. For each heuristic, we show the solution value obtained, which is equal to the average number of plates needed to cut items from all batches, as well as the average solution time in minutes. We also give the average lower bound (lb) on the optimal value. For each instance, this value is obtained by iteratively computing the rounded-up column generation lower bound for each batch and determining the number of bins to use.

Table 9 Comparison of heuristics on the real-world instances with batches and the bin minimization objective function

From these results, it seems that the simplest heuristic (ea) is the best one in terms of the “quality/running time” trade-off. Using more complex heuristics, one cannot improve significantly the results. However, as it was shown in the paper, one can improve largely the results by allowing one to reuse the leftovers in the next batch. In the case with leftovers, advances heuristics are useful to reduce the waste of glass.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Clautiaux, F., Sadykov, R., Vanderbeck, F. et al. Pattern-based diving heuristics for a two-dimensional guillotine cutting-stock problem with leftovers. EURO J Comput Optim 7, 265–297 (2019). https://doi.org/10.1007/s13675-019-00113-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13675-019-00113-9

Keywords

Mathematics Subject Classification

Navigation