Guillotine cutting explained

Guillotine cutting is the process of producing small rectangular items of fixed dimensions from a given large rectangular sheet, using only guillotine-cuts. A guillotine-cut (also called an edge-to-edge cut) is a straight bisecting line going from one edge of an existing rectangle to the opposite edge, similarly to a paper guillotine.

Guillotine cutting is particularly common in the glass industry. Glass sheets are scored along horizontal and vertical lines, and then broken along these lines to obtain smaller panels.[1] It is also useful for cutting steel plates, cutting of wood sheets to make furniture, and cutting of cardboard into boxes.[2]

There are various optimization problems related to guillotine cutting, such as: maximize the total area of the produced pieces, or their total value; minimize the amount of waste (unused parts) of the large sheet, or the total number of sheets. They have been studied in combinatorial geometry, operations research and industrial engineering.[3]

A related but different problem is guillotine partition. In that problem, the dimensions of the small rectangles are not fixed in advance. The challenge comes from the fact that the original sheet might not be rectangular - it can be any rectilinear polygon. In particular, it might contain holes (representing defects in the raw material). The optimization goal is usually to minimize the number of small rectangles, or minimize the total length of the cuts.

Terminology and assumptions

The following terms and notations are often used in the literature on guillotine cutting.

Some problems accept additional inputs, as explained below. The goal is to cut, from the raw rectangle, some smaller rectangles having the target dimensions. The following assumptions are often made:

Checking a given pattern

In the pattern verification problem, there is a cutting-pattern given as a sequence of points (xi,yi), for i in 1,...,m, where (xi,yi) is the bottom-left coordinate of rectangle i (there is a single rectangle of each target-dimension). The goal is to decide whether this pattern can be implemented using only guillotine cuts, and if so, find a sequence of such cuts.

An obvious necessary condition is that no two input rectangles overlap in both dimensions. Ben Messaoud, Chengbin and Espinouse[4] present a stronger condition, which is both necessary and sufficient. The input rectangles are ordered from left to right, such that x1 ≤ ... ≤ xm. There is a permutation p on the indices such that, with this permutation, the rectangles would be ordered from bottom to top, i.e., yp(1) ≤ ... ≤ yp(m). Given four indices i1i2 and j1j2, the set E(i1,i2,j1,j2) contains the indices of all rectangles whose bottom-left corner is in the rectangle [''x<sub>i</sub>''<sub>1</sub>,''x<sub>i</sub>''<sub>2</sub>] X [''y<sub>p</sub>''<sub>(''j''1)</sub>,''y<sub>p</sub>''<sub>(''j''2)</sub>]. A cutting pattern is a guillotine pattern if and only if, for all quadruplets of indices i1i2 and j1j2, at least one of the following conditions is fulfilled for E(i1,i2,j1,j2):

  1. E(i1,i2,j1,j2) contains at most one element;
  2. The union of the horizontal segments (xi, xi+wi), over all i in E(i1,i2,j1,j2), is made up of at least two disjoint intervals;
  3. The union of the vertical segments (yi, yi+hi), over all i in E(i1,i2,j1,j2), is made up of at least two disjoint intervals.

Condition 2 implies that the rectangles in E(i1,i2,j1,j2) can be separated by a vertical cut (going between the two disjoint horizontal intervals); condition 3 implies the rectangles in E(i1,i2,j1,j2) can be separated by a horizontal cut. All conditions together imply that, if any set of adjacent rectangles contains more than one element, then they can be separated by some guillotine cut.

This condition can be checked by the following algorithm.

Finding a guillotine cut for a given pattern is done as follows:

The ordering step is done once, and the merging step is done m-1 times. Therefore, the run-time of the entire algorithm is O(m2).

When the algorithm returns "yes", it also produces a sequence of guillotine cuts; when it returns "no", it also produces specific subsets of rectangles that cannot be separated by guillotine cuts.

The necessary and sufficient condition can be used to present the guillotine-strip-cutting problem as a mixed integer linear program. Their model has 3n4/4 binary variables and 2n4 constraints, and is considered not practically useful.

Finding an optimal cutting-pattern

These are variants of the two-dimensional cutting stock, bin packing and rectangle packing problems, where the cuts are constrained to be guillotine cuts.

Optimization algorithms

The special case in which there is only one type (i.e., all target rectangles are identical and in the same orientation) is called the guillotine pallet loading problem. Tarnowski, Terno and Scheithauer[7] present a polynomial-time algorithm for solving it.

However, when there are two or more types, all optimization problems related to guillotine cutting are NP hard. Due to its practical importance, various exact algorithms and approximation algorithms have been devised.

Implementations

Guillotine separation

Guillotine separation is a related problem in which the input is a collection of n pairwise-disjoint convex objects in the plane, and the goal is to separate them using a sequence of guillotine cuts. Obviously it may not be possible to separate all of them. Jorge Urrutia Galicia asked[18] whether it is possible to separate a constant fraction of them, that is, whether there exists a constant c such that, in any such collection of size n, there is a subset of size cn that are guillotine-separable.

Pach and Tardos[19] proved:

\pir2
128R2

n

1
40.7(R/r)2

n

. Proof: construct a grid with cell size 8R by 8R. Move the grid uniformly at random. Each object is intersected by a horizontal line with probability 1/4 and with a vertical line with probability 1/4 too, so the expected number of intersected objects is

n/2

. Therefore, there exist grid-lines that intersect at most

n/2

objects. Since the area of each grid cell is

(8R)2

and the area of each object is at least

\pir2

, each cell contains at most
(8R)2
\pir2

objects. Pick a single object from each cell, and separate it from the other objects in the same cell. The total number of objects separated in this way is at least
n
2

/

(8R)2
\pir2

=

\pir2
128R2

n.

A similar argument for the case of unit squares gives
1
27

n.

log3{2
O(n
}) \approx O(n^) of them can be separated. Particularly, for every positive integer k, there is a family of

3k

disjoint intervals such that at most

2k

of them can be separated.

\Omega(n1/3)

can be separated.

\Omega(n1/2)

can be separated. They conjecture that the worst case can be attained by line segments.

n/(2log{n})

can be separated. They conjecture that

\Omega(n)

can be separated; this conjecture is still open.

n/(cRlog{n})

objects can be saved, where

cR

is a constant that depends only on R.

n/c(R,d)(log{n})d

.

O(nlog{n})

. If the objects are polygons with N sides overall, then the separating lines can be computed in time

O(N+nlog{n})

.Abed, Chalermsook, Correa, Karrenbauer, Perez-Lantero, Soto and Wiese[20] proved:

1/2O(d)

of the total weight can be separated.

\Omega(n)

axes-parallel rectangle, while they do not settle it, they show that, if it is correct, then it implies an O(1) approximation algorithm to the problem of maximum disjoint set of axes-parallel rectangles in time

O(n5)

.Khan and Pittu[21] proved:

o(loglogn)

stages are allowed, then it is not possible to separate

\Omega(n)

rectangles.

o(log{n}/loglog{n})

stages are allowed, then it is not possible to separate

\Omega(n)

of the weight.

n/(1+log2{n})

rectangles. The algorithm partitions the rectangles into

1+log2{n}

subsets (called "levels"), and chooses the level with the largest number of rectangles. Each level can be separated by two guillotine cuts. An improved algorithm can separate

n/log3{(n+2)}

rectangles.

\Omega(n)

can be separated.

See also:

More variants

Some recently-studied variants of the problem include:

References

Abou Msabah, Slimane, and Ahmed Riadh Baba-Ali. "A new guillotine placement heuristic combined with an improved genetic algorithm for the orthogonal cutting-stock problem." 2011 IEEE International Conference on Industrial Engineering and Engineering Management. IEEE, 2011.

Notes and References

  1. Web site: Tlilane. Lydia. Viaud. Quentin. 2018-05-18. Challenge ROADEF / EURO 2018 Cutting Optimization Problem Description. 2019-06-13. Challenge ROADEF/EURO. ROADEF.
  2. Beasley. J. E.. 1985-04-01. Algorithms for Unconstrained Two-Dimensional Guillotine Cutting. Journal of the Operational Research Society. 36. 4. 297–306. 10.1057/jors.1985.51. 58059319. 0160-5682.
  3. Gerhard Wäscher, Heike Haußner, Holger Schumann, An improved typology of cutting and packing problems, European Journal of Operational Research 183 (2007) 1109–1130, http://teaching.csse.uwa.edu.au/units/CITS7212/Project/12/papers/Wascher%20et%20al%2007.pdf
  4. Ben Messaoud. Said. Chu. Chengbin. Espinouse. Marie-Laure. 2008-11-16. Characterization and modelling of guillotine constraints. European Journal of Operational Research. en. 191. 1. 112–126. 10.1016/j.ejor.2007.08.029. 0377-2217.
  5. Carlier. Jacques. Clautiaux. François. Moukrim. Aziz. 2007-08-01. New reduction procedures and lower bounds for the two-dimensional bin packing problem with fixed orientation. Computers & Operations Research. en. 34. 8. 2223–2250. 10.1016/j.cor.2005.08.012. 0305-0548.
  6. Scheithauer . Guntram . 2 . . 115–128 . Computation of optimal φ-simple guillotine cutting patterns . 29 . 1993.
  7. Tarnowski. A. G.. Terno. J.. Scheithauer. G.. 1994-11-01. A Polynomial Time Algorithm For The Guillotine Pallet Loading Problem. INFOR: Information Systems and Operational Research. 32. 4. 275–287. 10.1080/03155986.1994.11732257. 0315-5986.
  8. Gilmore. P. C.. Gomory. R. E.. 1965-02-01. Multistage Cutting Stock Problems of Two and More Dimensions. Operations Research. 13. 1. 94–120. 10.1287/opre.13.1.94. 0030-364X.
  9. Gilmore. P. C.. Gomory. R. E.. 1966-12-01. The Theory and Computation of Knapsack Functions. Operations Research. 14. 6. 1045–1074. 10.1287/opre.14.6.1045. 0030-364X.
  10. Herz. J. C.. September 1972. Recursive Computational Procedure for Two-dimensional Stock Cutting. IBM Journal of Research and Development. 16. 5. 462–469. 10.1147/rd.165.0462. 0018-8646.
  11. Christofides. Nicos. Whitlock. Charles. 1977-02-01. An Algorithm for Two-Dimensional Cutting Problems. Operations Research. 25. 1. 30–44. 10.1287/opre.25.1.30. 0030-364X.
  12. O. B. G. Masden (1980), IMSOR working paper, Technical university of Denmark, Lyngby
  13. Wang. P. Y.. 1983-06-01. Two Algorithms for Constrained Two-Dimensional Cutting Stock Problems. Operations Research. 31. 3. 573–586. 10.1287/opre.31.3.573. 0030-364X.
  14. M. Hifi, R. M’Hallah and T. Saadi, Approximate and exact algorithms for the double-constrained two-dimensional guillotine cutting stock problem. Computational Optimization and Applications, Volume 42, Number 2 (2009), 303-326,
  15. Clautiaux. François. Jouglet. Antoine. Moukrim. Aziz. 2011-10-17. A New Graph-Theoretical Model for the Guillotine-Cutting Problem. INFORMS Journal on Computing. 25. 1. 72–86. 10.1287/ijoc.1110.0478. 1091-9856.
  16. Russo. Mauro. Boccia. Maurizio. Sforza. Antonio. Sterle. Claudio. 2020. Constrained two-dimensional guillotine cutting problem: upper-bound review and categorization. International Transactions in Operational Research. en. 27. 2. 794–834. 10.1111/itor.12687. 195551953 . 1475-3995.
  17. Michael L. McHale, Roshan P. Shah Cutting the Guillotine Down to Size. PC AI magazine, Volume 13, Number 1 Jan/Feb 99. http://www.amzi.com/articles/papercutter.htm
  18. Problem presented at ACCOTA '96, Combinatorial and Computational Aspects of Optimization Topology and Algebra, Taxco, Mexico 1996
  19. Pach. J.. Tardos. G.. 2000. Cutting Glass. Discrete and Computational Geometry. en. 24. 2–3. 481–496. 10.1007/s004540010050. 1737527. 0179-5376. free.
  20. Book: Abed. Fidaa. Chalermsook. Parinya. Correa. José. Karrenbauer. Andreas. Pérez-Lantero. Pablo. Soto. José A.. Wiese. Andreas. 2015. On Guillotine Cutting Sequences. 1–19. 10.4230/LIPIcs.APPROX-RANDOM.2015.1. free . 978-3-939897-89-7.
  21. Khan. Arindam. Pittu. Madhusudhan Reddy. 2020. Byrka. Jaros\law. Meka. Raghu. On Guillotine Separability of Squares and Rectangles. Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2020). Leibniz International Proceedings in Informatics (LIPIcs). Dagstuhl, Germany. Schloss Dagstuhl–Leibniz-Zentrum für Informatik. 176. 47:1–47:22. 10.4230/LIPIcs.APPROX/RANDOM.2020.47. free . 978-3-95977-164-1.
  22. Martin. Mateus. Oliveira. José Fernando. Silva. Elsa. Morabito. Reinaldo. Munari. Pedro. 2020-11-08. Three-dimensional guillotine cutting problems with constrained patterns: MILP formulations and a bottom-up algorithm. Expert Systems with Applications. 168. en. 114257. 10.1016/j.eswa.2020.114257. 228839108. 0957-4174.
  23. Book: Baazaoui. M.. Hanafi. S.. Kamoun. H.. 2014 International Conference on Control, Decision and Information Technologies (CoDIT) . A Mathematical formulation and a lower bound for the three-dimensional multiple-bin-size bin packing problem (MBSBPP): A Tunisian industrial case . 2014-11-01. https://ieeexplore.ieee.org/document/6996896. 219–224. 10.1109/CoDIT.2014.6996896. 978-1-4799-6773-5. 18598442.
  24. Martin. Mateus. Hokama. Pedro H. D. B.. Morabito. Reinaldo. Munari. Pedro. 2020-05-02. The constrained two-dimensional guillotine cutting problem with defects: an ILP formulation, a Benders decomposition and a CP-based algorithm. International Journal of Production Research. 58. 9. 2712–2729. 10.1080/00207543.2019.1630773. 197434029. 0020-7543.