Packing and Cutting Stone Blocks Based on the Nonlinear Programming of Tree Cases
Abstract
1. Introduction
2. Formulation
2.1. Forest and Trees for Simple Packing
2.2. Forest and Trees for Slab Packing
Algorithm 1: Slab packing algorithm without score |
2.3. Rotation
- One-axis rotation cases:
- No rotation;
- A 90° rotation on one of the axes.
- Three-axis rotation cases:
- No rotation;
- A 90° rotation on the x axis;
- A 90° rotation on the y axis;
- A 90° rotation on the z axis;
- A 90° rotation on the x axis, then a 90° rotation on the z axis;
- 90° rotation on the y axis, then a 90° rotation on the z axis.
2.4. Score of a Forest
Algorithm 2: Slab packing algorithm with score |
3. Implementation
4. Analysis
5. Discussion
6. Conclusions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Morales Demarco, M.; Oyhantçabal, P.; Stein, K.J.; Siegesmund, S. Black dimensional stones: Geology, technical properties and deposit characterization of the dolerites from Uruguay. Environ. Earth Sci. 2010, 63, 1879–1909. [Google Scholar] [CrossRef]
- Mosch, S.; Nikolayew, D.; Ewiak, O.; Siegesmund, S. Optimized extraction of dimension stone blocks. Environ. Earth Sci. 2010, 63, 1911–1924. [Google Scholar] [CrossRef]
- Jalalian, M.H.; Bagherpour, R.; Khoshouei, M. Wastes production in dimension stones industry: Resources, factors, and solutions to reduce them. Environ. Earth Sci. 2021, 80. [Google Scholar] [CrossRef]
- Burke, E.; Hellier, R.; Kendall, G.; Whitwell, G. Complete and robust no-fit polygon generation for the irregular stock cutting problem. Eur. J. Oper. Res. 2007, 179, 27–49. [Google Scholar] [CrossRef]
- Luo, Q.; Rao, Y. Improved Sliding Algorithm for Generating No-Fit Polygon in the 2D Irregular Packing Problem. Mathematics 2022, 10, 2941. [Google Scholar] [CrossRef]
- Gilbert, E.; Johnson, D.; Keerthi, S. A fast procedure for computing the distance between complex objects in three-dimensional space. IEEE J. Robot. Autom. 1988, 4, 193–203. [Google Scholar] [CrossRef]
- Gao, W. Efficient Incremental Penetration Depth Estimation between Convex Geometries. In Proceedings of the 2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Abu Dhabi, United Arab Emirates, 14–18 October 2024; pp. 5444–5451. [Google Scholar] [CrossRef]
- Qin, X.; Jin, L.; Zheng, H. 2D Irregular Optimization Nesting Method based on Adaptive Probabilistic Genetic Simulated Annealing Algorithm. Comput.-Aided Des. Appl. 2020, 18, 242–257. [Google Scholar] [CrossRef]
- Imamichi, T.; Yagiura, M.; Nagamochi, H. An iterated local search algorithm based on nonlinear programming for the irregular strip packing problem. Discret. Optim. 2009, 6, 345–361. [Google Scholar] [CrossRef]
- Liao, X.; Ma, J.; Ou, C.; Long, F.; Liu, X. Visual nesting system for irregular cutting-stock problem based on rubber band packing algorithm. Adv. Mech. Eng. 2016, 8, 168781401665208. [Google Scholar] [CrossRef]
- Ibaraki, T.; Imahori, S.; Yagiura, M. Hybrid Metaheuristics for Packing Problems. In Studies in Computational Intelligence; Springer: Berlin/Heidelberg, Germany, 2008; pp. 185–219. [Google Scholar] [CrossRef]
- Amaro Junior, B.; Santos, M.C.; de Carvalho, G.N.; de Araújo, L.J.P.; Pinheiro, P.R. Metaheuristics for the Minimum Time Cut Path Problem with Different Cutting and Sliding Speeds. Algorithms 2021, 14, 305. [Google Scholar] [CrossRef]
- Rocha, P.; Rodrigues, R.; Gomes, A.M.; Toledo, F.M.; Andretta, M. Two-Phase Approach to the Nesting problem with continuous rotations. IFAC-PapersOnLine 2015, 48, 501–506. [Google Scholar] [CrossRef]
- de Queiroz, T.A.; Miyazawa, F.K.; Wakabayashi, Y.; Xavier, E.C. Algorithms for 3D guillotine cutting problems: Unbounded knapsack, cutting stock and strip packing. Comput. Oper. Res. 2012, 39, 200–212. [Google Scholar] [CrossRef]
- Martin, M.; Oliveira, J.F.; Silva, E.; Morabito, R.; Munari, P. Three-dimensional guillotine cutting problems with constrained patterns: MILP formulations and a bottom-up algorithm. Expert Syst. Appl. 2020, 168, 114257. [Google Scholar] [CrossRef]
- Imamichi, T. Nonlinear Programming Based Algorithms to Cutting and Packing Problems. Ph.D. Thesis, Kyoto University, Kyoto, Japan, 2009. [Google Scholar] [CrossRef]
- Clautiaux, F.; Jouglet, A.; Moukrim, A. A New Graph-Theoretical Model for the Guillotine-Cutting Problem. INFORMS J. Comput. 2013, 25, 72–86. [Google Scholar] [CrossRef]
- Amossen, R.R.; Pisinger, D. Multi-dimensional bin packing problems with guillotine constraints. Comput. Oper. Res. 2010, 37, 1999–2006. [Google Scholar] [CrossRef]
- Esq, A.C. XXVIII. On the theory of the analytical forms called trees. Lond. Edinb. Dublin Philos. Mag. J. Sci. 1857, 13, 172–176. [Google Scholar] [CrossRef]
- Cayley, A. A theorem on trees. In The Collected Mathematical Papers; Cambridge University Press: Cambridge, UK, 2009; pp. 26–28. [Google Scholar] [CrossRef]
- Kern, C.; Klausch, T.; Kreuter, F. Tree-based Machine Learning Methods for Survey Research. DOAJ Dir. Open Access J. 2019, 13, 73–93. [Google Scholar]
- Koller, D.; Megiddo, N.; von Stengel, B. Fast algorithms for finding randomized strategies in game trees. In Proceedings of the 26th ACM Symposium on the Theory of Computing, Montreal, QC, Canada, 23–25 May 1994. [Google Scholar] [CrossRef]
- Gupta, S.; Khodabakhsh, A.; Mortagy, H.; Nikolova, E. Electrical flows over spanning trees. Math. Program. 2021, 196, 479–519. [Google Scholar] [CrossRef]
- Shasha, D.; Wang, J.T.L.; Giugno, R. Algorithmics and applications of tree and graph searching. In Proceedings of the Twenty-First ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems—PODS’02, Madison, WI, USA, 3–5 June 2002. [Google Scholar] [CrossRef]
- Christofides, N.; Whitlock, C. An Algorithm for Two-Dimensional Cutting Problems. Oper. Res. 1977, 25, 30–44. [Google Scholar] [CrossRef]
- Herz, J.C. Recursive Computational Procedure for Two-dimensional Stock Cutting. IBM J. Res. Dev. 1972, 16, 462–469. [Google Scholar] [CrossRef]
- Chang, C.T.; Gorissen, B.; Melchior, S. Fast oriented bounding box optimization on the rotation group SO (3,R). ACM Trans. Graph. 2011, 30, 1–16. [Google Scholar] [CrossRef]
- Gratier, J.P.; Frery, E.; Deschamps, P.; Røyne, A.; Renard, F.; Dysthe, D.; Ellouz-Zimmerman, N.; Hamelin, B. How travertine veins grow from top to bottom and lift the rocks above them: The effect of crystallization force. Geology 2012, 40, 1015–1018. [Google Scholar] [CrossRef]
- Della Porta, G.; Capezzuoli, E.; De Bernardo, A. Facies character and depositional architecture of hydrothermal travertine slope aprons (Pleistocene, Acquasanta Terme, Central Italy). Mar. Pet. Geol. 2017, 87, 171–187. [Google Scholar] [CrossRef]
- Özkul, M.; Kele, S.; Gökgöz, A.; Shen, C.C.; Jones, B.; Baykara, M.O.; Fórizs, I.; Németh, T.; Chang, Y.W.; Alçiçek, M.C. Comparison of the Quaternary travertine sites in the Denizli extensional basin based on their depositional and geochemical data. Sediment. Geol. 2013, 294, 179–204. [Google Scholar] [CrossRef]
- Bianco, I.; Blengini, G.A. Life Cycle Inventory of techniques for stone quarrying, cutting and finishing: Contribution to fill data gaps. J. Clean. Prod. 2019, 225, 684–696. [Google Scholar] [CrossRef]
- Samarakoon, K.G.A.U.; Chaminda, S.P.; Jayawardena, C.L.; Dassanayake, A.B.N.; Kondage, Y.S.; Kannangara, K.A.T.T. A Review of Dimension Stone Extraction Methods. Mining 2023, 3, 516–531. [Google Scholar] [CrossRef]
OS | Windows 11 Pro 64-bit |
CPU | 12th Gen Intel(R) Core(TM) i9-12900K 3.20 GHz |
BIOS | 1620 |
RAM | 65,536 MB |
Graphic Card | NVIDIA GeForce GTX 1660 Ti |
Name | x Length [cm] | y Length [cm] | z Length [cm] |
---|---|---|---|
ele_01_1 | 104.8 | 53.8 | 49.8 |
ele_01_2 | 64.5 | 56.2 | 45 |
ele_01_3 | 38.3 | 24.7 | 43.1 |
ele_01_4 | 128.4 | 57.9 | 75 |
ele_01_5 | 32 | 41.3 | 60.8 |
ele_01_6 | 53.7 | 53.5 | 101.7 |
ele_01_7 | 108.2 | 94.1 | 32.9 |
ele_01_8 | 69 | 95.6 | 103.7 |
ele_01_9 | 44.7 | 27.2 | 72.5 |
ele_01_10 | 21.2 | 66.8 | 30.3 |
ele_01_11 | 104.2 | 92.9 | 105.8 |
ele_01_12 | 23.2 | 59 | 52.6 |
ele_01_13 | 20.8 | 84.8 | 26.2 |
ele_01_14 | 76.1 | 32 | 26.2 |
ele_01_15 | 62 | 42.3 | 62.4 |
ele_01_16 | 50.7 | 71.4 | 33.5 |
ele_01_17 | 97.3 | 71 | 104.8 |
ele_01_18 | 45.9 | 65.5 | 28.4 |
ele_01_19 | 100.4 | 92.7 | 91.5 |
ele_01_20 | 29.8 | 83.2 | 42.1 |
ele_01_21 | 29.1 | 21 | 62.4 |
ele_01_22 | 57.3 | 24.4 | 26.6 |
ele_01_23 | 56.3 | 60.5 | 93.6 |
ele_01_24 | 100.4 | 34 | 88.6 |
ele_01_25 | 118.6 | 66 | 36.7 |
ele_01_26 | 109.4 | 44.9 | 85.3 |
ele_01_27 | 91.9 | 73.1 | 40.5 |
ele_01_28 | 122 | 40.9 | 89.1 |
ele_01_29 | 30.9 | 22.6 | 101.7 |
ele_01_30 | 96.1 | 46 | 29.5 |
ele_01_31 | 121.8 | 60.3 | 22.9 |
ele_01_32 | 127.8 | 85.1 | 87.8 |
ele_01_33 | 31.2 | 92.4 | 47.1 |
ele_01_34 | 24.3 | 36.9 | 30 |
ele_01_35 | 57.5 | 82 | 54.2 |
ele_01_36 | 113.5 | 32.1 | 106.2 |
ele_01_37 | 95.6 | 58.4 | 35.1 |
ele_01_38 | 101.8 | 60.6 | 89.4 |
ele_01_39 | 95.4 | 89.9 | 37.5 |
ele_01_40 | 30.2 | 25.3 | 90.1 |
ele_01_41 | 24.5 | 52.7 | 50.2 |
ele_01_42 | 49.9 | 37.1 | 29.2 |
ele_01_43 | 49 | 41.2 | 106.2 |
ele_01_44 | 75 | 43.1 | 93.9 |
ele_01_45 | 125.8 | 71.5 | 67.8 |
con_01_1 | 190.8 | 193 | 190.8 |
con_01_2 | 199.5 | 178.9 | 199.5 |
con_01_3 | 178.2 | 198.1 | 178.2 |
con_01_4 | 170.6 | 191.9 | 170.6 |
Name | x Length [cm] | y Length [cm] | z Length [cm] |
---|---|---|---|
ele_02_1 | 105.5 | 32.1 | 99.7 |
ele_02_2 | 87.6 | 19.9 | 34.5 |
ele_02_3 | 88.2 | 51.6 | 51.7 |
ele_02_4 | 82.3 | 78.7 | 43.4 |
ele_02_5 | 84.9 | 68.5 | 92 |
ele_02_6 | 46.8 | 48.5 | 68.4 |
ele_02_7 | 54.8 | 41.5 | 63.2 |
ele_02_8 | 61.3 | 94 | 60.1 |
ele_02_9 | 39.3 | 19 | 105.1 |
ele_02_10 | 106.5 | 67.2 | 39.7 |
ele_02_11 | 79.3 | 12.5 | 36.3 |
ele_02_12 | 44.7 | 32.1 | 82.7 |
ele_02_13 | 65.6 | 38.5 | 31.6 |
ele_02_14 | 80.5 | 98.1 | 75.6 |
ele_02_15 | 108.4 | 70.7 | 71.2 |
ele_02_16 | 44.8 | 68.3 | 22.3 |
ele_02_17 | 25.9 | 35.2 | 39.8 |
ele_02_18 | 37.6 | 64.8 | 104.1 |
ele_02_19 | 105.3 | 72.7 | 98.6 |
ele_02_20 | 36.8 | 72.5 | 56.3 |
ele_02_21 | 33.1 | 94.5 | 97.4 |
ele_02_22 | 47.1 | 18.3 | 91.3 |
ele_02_23 | 81.4 | 24.3 | 50.3 |
ele_02_24 | 67.3 | 44 | 92.8 |
ele_02_25 | 81.2 | 81 | 62.6 |
ele_02_26 | 106.2 | 25.1 | 79.1 |
ele_02_27 | 67.9 | 80.6 | 91.5 |
ele_02_28 | 99.5 | 37.3 | 76.7 |
ele_02_29 | 47.8 | 83.2 | 86.6 |
ele_02_30 | 32.1 | 88.9 | 66.1 |
ele_02_31 | 99.1 | 59.5 | 32.4 |
ele_02_32 | 27.9 | 73.8 | 69.3 |
ele_02_33 | 48.7 | 72.2 | 65.2 |
ele_02_34 | 41.5 | 11.2 | 36.6 |
ele_02_35 | 32.1 | 98.3 | 58.4 |
ele_02_36 | 37.7 | 81.8 | 29.7 |
ele_02_37 | 48.2 | 86.4 | 77.8 |
ele_02_38 | 37.6 | 15.6 | 93.3 |
ele_02_39 | 25 | 55.8 | 82.8 |
ele_02_40 | 77.2 | 56.7 | 64 |
ele_02_41 | 36.4 | 34.3 | 76.9 |
ele_02_42 | 64.5 | 98.4 | 102.6 |
ele_02_43 | 95.6 | 71.5 | 81.3 |
ele_02_44 | 56.5 | 44.4 | 35.7 |
ele_02_45 | 36.2 | 48.7 | 31 |
con_02_1 | 214.2 | 124.9 | 188 |
con_02_2 | 218.7 | 111.1 | 180.1 |
con_02_3 | 158.8 | 146.7 | 180.3 |
con_02_4 | 221.9 | 177.2 | 177.7 |
Index | Instance | Number of Forests [f] | Rotation Axis | Time [s] | Score [Max]/ | Success Cases |
---|---|---|---|---|---|---|
1 | Inst_01 | 10 | No Rotation | 0.002 | 1189.751 | 0 |
2 | Inst_01 | 50 | No Rotation | 0.009 | 1245.514 | 1 |
3 | Inst_01 | 100 | No Rotation | 0.015 | 1245.515 | 1 |
4 | Inst_01 | 500 | No Rotation | 0.065 | 1245.514 | 1 |
5 | Inst_01 | 1000 | No Rotation | 0.102 | 1245.515 | 6 |
6 | Inst_01 | 5000 | No Rotation | 0.599 | 1245.516 | 3 |
7 | Inst_01 | 10,000 | No Rotation | 0.878 | 1245.513 | 1 |
8 | Inst_01 | 50,000 | No Rotation | 5.226 | 1245.515 | 1 |
9 | Inst_01 | 100,000 | No Rotation | 16.755 | 1245.516 | 4 |
10 | Inst_01 | 500,000 | No Rotation | 153.522 | 1245.516 | 30 |
11 | Inst_01 | 1,000,000 | No Rotation | 372.532 | 1245.515 | 1 |
12 | Inst_01 | 5,000,000 | No Rotation | 2130.544 | 1245.512 | 1 |
13 | Inst_01 | 10 | 0.002 | 1213.347 | 0 | |
14 | Inst_01 | 50 | 0.008 | 1245.514 | 1 | |
15 | Inst_01 | 500 | 0.052 | 1245.515 | 2 | |
16 | Inst_01 | 1000 | 0.1 | 1245.515 | 2 | |
17 | Inst_01 | 5000 | 0.513 | 1245.516 | 3 | |
18 | Inst_01 | 10,000 | 0.919 | 1245.516 | 6 | |
19 | Inst_01 | 50,000 | 5.401 | 1245.514 | 3 | |
20 | Inst_01 | 100,000 | 15.594 | 1245.516 | 5 | |
21 | Inst_01 | 500,000 | 113.176 | 1245.514 | 1 | |
22 | Inst_01 | 1,000,000 | 250.039 | 1245.517 | 42 | |
23 | Inst_01 | 5,000,000 | 1806.553 | 1245.514 | 5 | |
24 | Inst_02 | 10 | No Rotation | 0.001 | 978.271 | 0 |
25 | Inst_02 | 50 | No Rotation | 0.001 | 1052.907 | 0 |
26 | Inst_02 | 100 | No Rotation | 0.014 | 1049.033 | 0 |
27 | Inst_02 | 500 | No Rotation | 0.083 | 1087.353 | 2 |
28 | Inst_02 | 1000 | No Rotation | 0.118 | 1087.353 | 1 |
29 | Inst_02 | 5000 | No Rotation | 0.517 | 1087.353 | 2 |
30 | Inst_02 | 10,000 | No Rotation | 0.982 | 1087.352 | 2 |
31 | Inst_02 | 50,000 | No Rotation | 5.457 | 1087.355 | 16 |
32 | Inst_02 | 100,000 | No Rotation | 16.186 | 1087.356 | 25 |
33 | Inst_02 | 500,000 | No Rotation | 128.733 | 1087.354 | 3 |
34 | Inst_02 | 1,000,000 | No Rotation | 380.853 | 1087.354 | 5 |
35 | Inst_02 | 5,000,000 | No Rotation | 2106.008 | 1087.355 | 40 |
36 | Inst_02 | 10 | 0.001 | 1053.583 | 0 | |
37 | Inst_02 | 50 | 0.011 | 1058.935 | 0 | |
38 | Inst_02 | 100 | 0.015 | 1058.881 | 0 | |
39 | Inst_02 | 500 | 0.058 | 1087.353 | 2 | |
40 | Inst_02 | 1000 | 0.144 | 1087.354 | 3 | |
41 | Inst_02 | 5000 | 0.489 | 1087.352 | 1 | |
42 | Inst_02 | 10,000 | 0.977 | 1087.353 | 3 | |
43 | Inst_02 | 50,000 | 4.99 | 1087.353 | 1 | |
44 | Inst_02 | 100,000 | 16.668 | 1087.353 | 1 | |
45 | Inst_02 | 500,000 | 119.566 | 1087.352 | 2 | |
46 | Inst_02 | 1,000,000 | 308.088 | 1087.356 | 9 | |
47 | Inst_02 | 5,000,000 | 2319.922 | 1087.358 | 24 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Kim, T. Packing and Cutting Stone Blocks Based on the Nonlinear Programming of Tree Cases. Computation 2025, 13, 211. https://doi.org/10.3390/computation13090211
Kim T. Packing and Cutting Stone Blocks Based on the Nonlinear Programming of Tree Cases. Computation. 2025; 13(9):211. https://doi.org/10.3390/computation13090211
Chicago/Turabian StyleKim, Taeyong. 2025. "Packing and Cutting Stone Blocks Based on the Nonlinear Programming of Tree Cases" Computation 13, no. 9: 211. https://doi.org/10.3390/computation13090211
APA StyleKim, T. (2025). Packing and Cutting Stone Blocks Based on the Nonlinear Programming of Tree Cases. Computation, 13(9), 211. https://doi.org/10.3390/computation13090211