Optimization Method for Guillotine Packing of Rectangular Items within an Irregular and Defective Slate
Abstract
:1. Introduction
- We first propose the horizontal level (HL) heuristic based on level packing and computational geometry for a single irregular and defective plate to obtain feasible packing solutions. The level packing strategy [3] has been proposed to solve the guillotine packing problem of rectangular plates. The core idea is that the rectangles are packed in rows, which form levels within rectangular plates. The HL heuristic applies the level packing strategy to the packing problem of irregular plates with defects, divides irregular plates into multiple subplates with horizontal lines, and separately packs the subplates through computational geometry to obtain a packing solution that satisfies the constraints;
- Theoretical analysis yields the theorem and confirms that the rectangles obtained through the HL heuristic are inside the plate and do not overlap with the defects; the packed rectangles do not overlap each other and satisfy the guillotine constraint;
- We propose a packing algorithm that combines HL heuristic and genetic algorithm [4] based on the permutation model, and use it as the packing optimization method for natural slate. The packing algorithm optimize the packing solution through continuous iterative search;
- We use the order data provided by stone enterprises to conduct experiments, and evaluate and analyze the performance of the packing algorithm, and confirm that the implementation of our Algorithm effectively satisfies the Theorems in this work.
2. Related Work
2.1. Rectangle Packing Problem
2.1.1. Exact Algorithm
2.1.2. Heuristic Algorithm
2.1.3. Metaheuristic Algorithm
2.2. Rectangle Packing of Irregular Plates
2.3. Computational Geometry
3. Formulation and Algorithm
3.1. Problem Description
: | An irregular plate |
: | Set of polygons |
: | The polygon of irregular plate boundaries, represented by a set of polygon clockwise vertex coordinates |
Bj: | Divide horizontally into several subplates; Bj is a subplate numbered j |
: | The set of polygons of irregular plate defects; Dt is the defect numbered t, where 0 ≤ t ≤ ω |
Dt: | The polygon of irregular plate defect, represented by a set of polygon counterclockwise vertex coordinates |
: | The set of rectangles. R = {1, …, N}, where the element in the set is the serial number of the rectangle, and the negative number represents the rotation of the rectangle by 90° |
Ri: | Ri represents a rectangle numbered |i| |
Ri(x,y): | Ri(x,y) indicates that the rectangle Ri is in coordinate (x,y), where x and y correspond to the abscissa and ordinate of the upper left vertex of the rectangle (horizontal axis rightward, vertical axis downward) |
hi: | The vertical height of Ri |
wi: | The horizontal length of Ri |
- (I)
- The packed rectangles cannot overlap with each other;
- (II)
- The packed rectangles must be inside the irregular plate and cannot overlap with the defects;
- (III)
- The packed rectangles must satisfy the guillotine cut constraint.
3.2. Model
3.3. Algorithm
Algorithm 1 HL heuristic |
Input: boundary polygon B, defect polygon set D, rectangle sequence π |
(1) Swap the height and width of the rectangle if the number is negative. Let R’ be the next rectangle to be packed and K be the set of packed rectangles. |
(2) Find the second lowest vertex of the plate B, and subtract the height h’ of R’ from the ordinate to obtain a horizontal line, thereby dividing B into the upper subplate BR and the lower subplate BP; BP is the current packing region (see Figure 4). |
(3) Repeat (3.1) and (3.2) until BP finishes its packing. |
(3.1) Calculate the movable positions X of R’ at BP. |
(3.2) R’ moves along the horizontal line of BP. If ∃x ∈ X, such that R’ is within BP and does not overlap with D, then add R’ to K, remove R’ from π, and update R’. Otherwise, BP packing is complete. If the height of the next rectangle Ri is greater than h’, then search for Rt whose height is below h’. Exchange the position of Ri and Rt in π, and update R’ = Rt. |
(4) Update B = BR. Repeat (2), (3), and (4) for BR until BR does not constitute a polygon. |
(5) Find the maximum inscribed rectangles for the waste space around plate boundaries and defects. Then, use the NFDH algorithm to pack the remaining rectangles, and add the packed rectangles to K. |
(6) Calculate plate utilization. |
Algorithm 2 Genetic algorithm + HL heuristic. |
Input: boundary polygon B, defect polygon set D, rectangle set R = {1,…,N} |
Initialization: population number M, round iteration number T, crossover probability Pc, mutation probability Pm |
(1) Initializing population P (the set of feasible solutions): randomly generate M integer permutations from 1 to N. Each integer randomly generates positive and negative signs. (negative signs mean the rectangle is rotated 90 degrees) |
(2) For ∀π ∈ P, perform Algorithm 1 to calculate the fitness of π as f(π) = HL(π,B,D). Let π* be the optimal solution of population P. |
(3) Repeat (3.1) and (3.2) until the update of new population is complete (see Figure 5). |
(3.1) Two individuals are selected from P using the method of Roulette Wheel Selection. A new solution is constructed by a two-point crossover with the cross probability of Pc. |
(3.2) An individual is randomly selected from P, and the two-point mutation is performed with the mutation probability of Pm. |
(4) For ∀π ∈ , perform Algorithm 1 to calculate the fitness f(π) of π. |
(5) If a feasible solution μ ∈ with f(π*) < f(μ) is obtained, then replace π* = μ. And set P = . |
(6) If the population iteration number reaches T, then stop. The optimal packing is π*. Otherwise, continue to (3) |
4. Algorithm Analysis
5. Experiments
5.1. Dataset and Experimental Environment
5.2. Parameters Experiments Analysis
5.3. Packing Results
5.4. Comparative Analysis
5.5. Comparison with Jin’s Algorithm
6. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Pietrobuoni, E. Two-Dimensional Bin Packing Problem with Guillotine Restrictions. Ph.D. Dissertation, Alma Mater Studiorum Università di Bologna, Bologna, Italy, 2015. [Google Scholar]
- Furini, F.; Malaguti, E.; Thomopulos, D. Modeling two-dimensional guillotine cutting problems via integer programming. INFORMS J. Comput. 2016, 28, 736–751. [Google Scholar] [CrossRef] [Green Version]
- Lodi, A.; Martello, S.; Monaci, M. Two-dimensional packing problems: A survey. Eur. J. Oper. Res. 2002, 141, 241–252. [Google Scholar] [CrossRef]
- Kramer, O. Genetic Algorithm Essentials; Springer: Cham, Switzerland, 2017; Volume 679. [Google Scholar]
- Chen, C.-S.; Sarin, S.; Ram, B. A mixed-integer programming model for a class of assortment problems. Eur. J. Oper. Res. 1993, 65, 362–367. [Google Scholar] [CrossRef]
- Beasley, J.E. An Exact Two-Dimensional Non-Guillotine Cutting Tree Search Procedure. Oper. Res. 1985, 33, 49–64. [Google Scholar] [CrossRef]
- Martello, S.; Monaci, M.; Vigo, D. An exact approach to the strip-packing problem. INFORMS J. Comput. 2003. [Google Scholar] [CrossRef]
- Scheithauer, G. Equivalence and Dominance for Problems of Optimal Packing of Rectangles; Dresden University of Technology: Dresden, Germany, 1997. [Google Scholar]
- Martello, S.; Pisinger, D.; Vigo, D. Three-dimensional bin packing problem. Oper. Res. 2000. [Google Scholar] [CrossRef]
- Cui, Y.; Yang, Y.; Cheng, X.; Song, P. A recursive branch-and-bound algorithm for the rectangular guillotine strip packing problem. Comput. Oper. Res. 2008, 35, 1281–1291. [Google Scholar] [CrossRef]
- Coffman, E.G., Jr.; Garey, M.R.; Johnson, D.S.; Tarjan, R.E. Performance Bounds for Level-Oriented Two-Dimensional Packing Algorithms. SIAM J. Comput. 1980, 9, 808–826. [Google Scholar] [CrossRef]
- Lodi, A.; Martello, S.; Vigo, D. Heuristic and Metaheuristic Approaches for a Class of Two-Dimensional Bin Packing Problems. INFORMS J. Comput. 1999, 11, 345–357. [Google Scholar] [CrossRef]
- Lodi, A.; Martello, S.; Vigo, D. Neighborhood Search Algorithm for the Guillotine Non-Oriented Two-Dimensional Bin Packing Problem. In Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization; Springer: Boston, MA, USA, 1999; pp. 125–139. [Google Scholar]
- Kirkpatrick, S. Optimization by simulated annealing: Quantitative studies. J. Stat. Phys. 1984, 34, 975–986. [Google Scholar] [CrossRef]
- Glover, F. Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 1986, 13, 533–549. [Google Scholar] [CrossRef]
- Lodi, A.; Martello, S.; Vigo, D. Approximation algorithms for the oriented two-dimensional bin packing problem. Eur. J. Oper. Res. 1999, 112, 158–166. [Google Scholar] [CrossRef]
- Jakobs, S. On genetic algorithms for the packing of polygons. Eur. J. Oper. Res. 1996, 88, 165–181. [Google Scholar] [CrossRef]
- Soke, A.; Bingul, Z. Hybrid genetic algorithm and simulated annealing for two-dimensional non-guillotine rectangular packing problems. Eng. Appl. Artif. Intell. 2006, 19, 557–567. [Google Scholar] [CrossRef]
- Bortfeldt, A. A genetic algorithm for the two-dimensional strip packing problem with rectangular pieces. Eur. J. Oper. Res. 2006, 172, 814–837. [Google Scholar] [CrossRef]
- Birgin, E.G.; Martínez, J.M.; Nishihara, F.H.; Ronconi, D.P. Orthogonal packing of rectangular items within arbitrary convex regions by nonlinear optimization. Comput. Oper. Res. 2006, 33, 3535–3548. [Google Scholar] [CrossRef]
- Cassioli, A.; Locatelli, M. A heuristic approach for packing identical rectangles in convex regions. Comput. Oper. Res. 2011, 38, 1342–1350. [Google Scholar] [CrossRef]
- López, C.O.; Beasley, J.E. Packing unequal rectangles and squares in a fixed size circular container using formulation space search. Comput. Oper. Res. 2018, 94, 106–117. [Google Scholar] [CrossRef] [Green Version]
- Scheithauer, G.; Terno, J. Guillotine cutting of defective boards. Optimization 1988, 19, 111–121. [Google Scholar] [CrossRef]
- Jin, M.; Ge, P.; Ren, P. A new heuristic algorithm for two-dimensional defective stock guillotine cutting stock problem with multiple stock sizes. Teh. Vjesn. Tech. Gaz. 2015, 22, 1107–1116. [Google Scholar] [CrossRef] [Green Version]
- Alexander, J.W. Topological Invariants of Knots and Links. Trans. Am. Math. Soc. 1928, 30, 275. [Google Scholar] [CrossRef]
- Adamowicz, M.; Albano, A. Nesting two-dimensional shapes in rectangular modules. Comput. Des. 1976, 8, 27–33. [Google Scholar] [CrossRef]
- Scholtes, S. Nondifferentiable and two-level mathematical programming. Eur. J. Oper. Res. 1997, 102, 244–245. [Google Scholar] [CrossRef]
- Scheithauer, G. Introduction to Cutting and Packing Optimization; Springer: Cham, Switzerland, 2018; Volume 263. [Google Scholar]
Type | Width (mm) | Height (mm) | Quantity |
---|---|---|---|
4 | 1050 | 477 | 4 |
5 | 950 | 477 | 4 |
6 | 950 | 244 | 2 |
7 | 850 | 244 | 6 |
8 | 197 | 897 | 2 |
9 | 193 | 897 | 8 |
Approach (Author) | Plate Type | with Defects | Pack Type | Mean Waste Rate (%) | Mean Run Time (s) |
---|---|---|---|---|---|
SPGAL | Rectangular strip | NO | OF | 2.41 | 1.59 |
HRBB | Rectangular strip | NO | RG | 1.2 | 15.68 |
Jin et al. | Rectangular stock | YES | RG | 6.5 | 6.2 |
FSS | Circular container | NO | RF | 28.86 | 43,838 |
Birgin et al. | Convex region | NO | RF | 18.21 | 3879 |
Algorithm 2 | Irregular slate | YES | RG | 7.68 | 404.25 |
Manual packing | Irregular slate | YES | RG | >15 | Long time |
Plate | Defects | Utilization Rate (%) | ||
---|---|---|---|---|
Jin’s | Algorithm 2 | |||
Dataset A | Plate 1 | 0 | 93.3251 | 94.4525 |
Plate 2 | 0 | 93.4261 | 94.6744 | |
Plate 3 | 1 | 92.7524 | 93.2545 | |
Plate 4 | 1 | 92.6742 | 93.9825 | |
Plate 5 | 2 | 91.8734 | 92.2525 | |
Plate 6 | 2 | 90.8543 | 91.3456 | |
Dataset B | Plate A | 0 | 88.3251 | 93.8755 |
Plate B | 0 | 90.4261 | 95.3506 | |
Plate C | 1 | 84.6238 | 93.5568 | |
Plate D | 1 | 84.4615 | 91.8246 | |
Plate E | 2 | 84.2675 | 92.6362 | |
Plate F | 2 | 81.8765 | 89.8992 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. 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 (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Chen, K.; Zhuang, J.; Zhong, S.; Zheng, S. Optimization Method for Guillotine Packing of Rectangular Items within an Irregular and Defective Slate. Mathematics 2020, 8, 1914. https://doi.org/10.3390/math8111914
Chen K, Zhuang J, Zhong S, Zheng S. Optimization Method for Guillotine Packing of Rectangular Items within an Irregular and Defective Slate. Mathematics. 2020; 8(11):1914. https://doi.org/10.3390/math8111914
Chicago/Turabian StyleChen, Kaizhi, Jiahao Zhuang, Shangping Zhong, and Song Zheng. 2020. "Optimization Method for Guillotine Packing of Rectangular Items within an Irregular and Defective Slate" Mathematics 8, no. 11: 1914. https://doi.org/10.3390/math8111914
APA StyleChen, K., Zhuang, J., Zhong, S., & Zheng, S. (2020). Optimization Method for Guillotine Packing of Rectangular Items within an Irregular and Defective Slate. Mathematics, 8(11), 1914. https://doi.org/10.3390/math8111914