A survey on the cutting and packing problems

This paper presents a unified approach, based on a geometrical method (see Faina in Eur J Oper Res 114:542–556, 1999; Eur J Oper Res 126:340–354, 2000), which reduces the general two and three dimensional cutting and packing type problems to a finite enumeration scheme.


Introduction
The cutting and packing problems (in short C & P problems) have a common logical structure that can be synthetized as follows. There are two groups of basic data, whose elements define geometric bodies in one or more dimensions: the stock of the so-called large objects, and the list of the so-called small items; the C & P processes realize patterns being geometric combinations of small items assigned to large objects. The residual pieces, that means figures occurring in patterns not belonging to small items, are usually treated as trim loss. The objective of most solution techniques is to minimize the wasted material.
The strong relationship between the C & P problems results from the duality of a material body and the space occupied by it. Indeed, packing a list of boxes into a container is the same as cutting the space of the container, producing pieces of space where it is possible to place the boxes. On the other side, cutting a sheet of material in order to obtain smaller items is the same as packing the items into the sheet.
The primordial study of the C & P problems seems to go back to Kantorovich [5] and Brook et al. [1]; but an extensive scientific work started only from the sixties. Since then, a great number of problems essentially of the same logical structure of the C & P problems have been appeared under different names in literature (see Dyckhoff [2] for an unified approach to the C & P type problems and Faina [3,4] for a wide discussion about the state of the research).
The motivations for this wide shared interest is that the C & P type problems are present in various industries; the cutting problems arise, for example, with the production of steel bars Al Prof. Domenico Candeloro, un matematico nel quale l'umiltà, la competenza e la disponibilità sono state coniugate in modo insolitamente armonioso. and plates, paper, adhesive tape, glass, pipes, textile, etc. In all these cases, it is usually more economic to produce large objects in only a few stardard sizes at first and later cut them into the sizes requested by the customers, than produce the required sizes directly. The packing problems arise, for example, in the manufacturing and distribution industries. Indeed, all kind of goods are packaged in cartons for easy handling; cartons are then packed into a container for transportation and warehouse storage.
The vast majority of the problems considered in literature are concerned with regular forms, expecially rectangular or block forms. Irregular forms with even nonconvex, nonsymmetric shapes are, however, typical for some industries (i.e. metal, textile, footwear, wood working industry).
A general combinatorial optimization problem is formalized as a pair (C, F), where C is the finite or possibly countably infinite set of configurations and F : C → R is a cost functional. The functional F is defined in such a way that the lower the value of F, the better (with respect to the optimization criteria) the corresponding configuration. The problem is then reduced to find a configuration for which F takes its minimum value, i.e. a configuration The C & P problems are known to be NP-hard. A NP-hard problem is unlikely to be well-solvable, i.e. solvable by an amount of computational efforts which is bounded by a polynomial function of the size of the problem. In practical terms, this simply means that algorithms which solve the problem optimally will probably have to generate and compare too many candidate solutions, and hence consume too much time to be feasible in applications where the number of items is large.
For this reason, a general C & P problem can be faced only by means of approximation algorithms or heuristics, for which there is no guarantee that the solution found by the algorithm is optimal, but for which polynomial bounds on the computational time can be given. Therefore, one seeks fast, easily implemented approximate algorithms that produce patterns having almost the optimal value, most of the time. Thus, knowledge of the quality of the final solution is traded off against computational time.
A good heuristic algorithm does not perform too badly in the average, but it might be disastrous in some cases. One way to obtain better results is to use a composite heuristic. One approach consists of running several heuristics separately and then to select the best obtained solution (compound algorithm). Another way is to combine the best features of multiple heuristics; for instance, one might use a heuristic to reach a good start solution and a further (perhaps iterative) heuristic to improve the current solution.
Anyway, there is no measure of how far the solution of a heuristic is from an optimal configuration. If the use of a problem dependent heuristic might be acceptable in a real C & P problem, especially for computational time reasons, from a theoretical point of view it is very unsatisfactory.
The author, through the papers [3,4] suggests to solve the C & P problems in two and three dimensions as an application of a general optimization algorithm, simulated annealing.
In the next section, we present the geometric procedure which generates a particular finite class of patterns * (L, B); it is proved analytically that all the feasible patterns (L, B) (at least in the two dimensional case) do not give rise to better solutions in comparison with those of the class * (L, B).

The Geometrical Method
The following method can be applied to both the two and three dimensional C & P problems. In the two dimensional case, this method was first introduced by Lipovetskji [6]. The method will be described only in the three dimensional case, since the adaptation to the two dimensional case is straightforward.
Let B be a rectangular box with a fixed-side bottom (w x , w y ) and unbounded height; consider B embedded into a three dimensional cartesian reference frame, in such a way that the lower left bottom side corner of B coincides with the origin and each side of B is parallel to a couple of reference frame axes (orthogonally oriented), i.e.
(in the 2-dimensional case, consider the projection of B into the xz plane, B xz , which becomes a semi-infinite strip of width w w ). Let R be the set of all closed rectangular boxes of the cartesian reference frame which are ortogonally oriented. Given a box b ∈ R, we denote by l(b), w(b), and h(b) its length, width, and height respectively.
Let L = {b 1 , . . . , b n } be a set of n boxes. A mapping P : L → R is called a placing if l(b) = l(P(b)), w(b) = w(P(b)), and h(b) = h(P(b)) for every b ∈ L. For the sake of shortness, we will write b ∈ P instead of b ∈ P(L). A placing P is called feasible if the interior of its boxes do not overlap.
Let (L, B) be the set of all the feasible placings P of L contained in B. If P ∈ (L, B) then the height of the box B containing P is called the height of the placing P, and it is denoted by H (P) (in the 2-dimensional case, H (P) denote the length of B xz containing P).
The three dimensional packing problem consists in finding a placing in (L, B), denoted by P L opt , which has the minimal height, i.e.
This framework is made more concrete if we consider B as a container and L as a list of cartons. This problem is referred as a container loading problem for low density cartons, that is the cartons are loaded only on volume restrictions. No other restrictions will be consider in this paper, and the boxes can assume any of the six possible orthogonal orientations.
Given  In order to establish a complete reduction scheme, the validity of the following proposition is foundamental. Proposition 2.1 is true for the two dimensional case; but, unfortunately, it is in general false for the three dimensional case (see [4]). Indeed, we can assign to each feasible placing P a directed graph T P without loops, with vertices corresponding to the rectangular boxes of P; two vertices b, c are connected by an The proposition 2.1 is proved if T P admits a topological sorting, that is if there is an enumeration I P of vertices of T P such that for each arc (b, c) we have I P (b) < I P (c). But, as it is well known, a directed graph does not admit in general a topological sorting, unless it has no cycles. The Lemma 2.1 ensures that there are no cycles of length 2. But, for example, it is easy to construct a cycle of length bigger than 2 (see [4]).
In the 3-dimensional case, the only feasible step forward -for the moment -is to set aside these pathological placings. and that the number of different enumeration is n!, we derive that the search for an optimal solution of (2) is reduced to a finite number of steps. If we accept also any rotation of 90 • of the boxes, then

The C & P algorithms
In the notation of the preceding section, a feasible placing P ∈ * (L, B) is considered a configuration and the height (length, in the 2-dimensional case) of the placing P, H (P), is the cost functional.
Given a list L, the boxes are placed one by one following a certain order that could be as simple as that in which the boxes appear in the list (the initial ordering of the list is not important, since simulated annealing does not depend on the initial configuration).
From now on, we will place a box just by assigning the position of its lower left vertex of its bottom side.
The first box is placed at the origin. By induction, suppose we have located the i-th box; now the method of the zones locates at most 2n + 1 (n + 1 in the 2-dimensional case) points where the (i + 1)-th box could be located (cf. condition (b) of Theorem 2.2), and this point is choosen at random; and so on.
In this way we obtain the initial configuration. Then, we operate a small perturbation to this initial configuration by altering slightly the order of the boxes, for example by changing the position of any two boxes-at random, and by construction a new configuration as shown above. Since this transition mechanism depends only on the boxes order, and this one is perturbed at random, any new configuration has the same probability of being generated. This property guarantees that simulated annealing would converge to a global optimal solution of problem (2) if allowed to run for sufficient time.
Numerical tests of these algorithms can be found in [3,4].