Theory and Methodology
A global optimization algorithm for the three-dimensional packing problem

https://doi.org/10.1016/S0377-2217(99)00292-1Get rights and content

Abstract

This paper introduces a geometrical model which reduces the general three-dimensional packing problem to a finite enumeration scheme; a very efficient algorithm is derived. Several tests prove the validity of the algorithm, in particular a numerical estimate of the asymtotic performance bound is given.

Introduction

Let B be a rectangular box with a fixed-side bottom (wx,wy) 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.B={(x,y,z):0⩽x⩽wx,0⩽y⩽wy,z⩾0}.Let R be the set of all closed rectangular boxes of the Cartesian reference frame which is orthogonally oriented. Given a box b∈R, we denote by l(b), w(b), and h(b) its length, width, and height, respectively.

Let L={b1,…,bn} 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 bL. For the sake of shortness, we will write bP instead of bP(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).

The three-dimensional packing problem consists in finding a placing in Π(L,B), denoted by PLopt, which has the minimal height, i.e.H(PLopt)=minP∈Π(L,B)H(P).This framework becomes more concrete if we consider B as a container and L as a list of cartons.

This problem is referred to as a container loading problem for low density cartons, that means the cartons are loaded only on volume restrictions. No other restrictions will be considered in this paper, and the boxes can assume any of the six possible orthogonal orientations.

Packing cartons into a container is a fundamental material handling activity 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 warehousing storage.

Industrial packing problems are complex and have many constraints. The cartons have different weight, volume, and qualities. The different dimensions of the cartons cause wastage of space. Additional wastage can be caused by weight balancing and placement restrictions. In some cases cartons have to be stacked with a certain side uppermost. In other cases some goods are not allowed to be stacked in proximity. Hence, in most cases, the total volume of the cartons packed is considerably less than the volume of the container.

Clearly the three-dimensional packing problem is a natural generalization of the classical one- and two-dimensional problems, and therefore it is NP-hard. This means that, in general, optimal solutions are not known or are computationally infeasible. For this reason, most of the studies have been focused on the practical aspects of loading a container and heuristic solutions based on the concept of filling out the container with cartons organized in layers, walls, and columns. In other cases, two-dimensional pallet packing heuristics are applied to the general three-dimensional container loading problem. These heuristics are, in general, on-line packing algorithms, that means they pack boxes one by one in a given order. More precisely, when the algorithm is packing bi, it has information about b1,…,bi only, and once bi has been packed, it cannot be moved to another place.

Thus, an on-line packing heuristic, in general, requires some ranking rules for altering the ordering principle such as: ranking in increasing or decreasing order of the magnitude of the smallest side of a box; ranking in increasing or decreasing order of box volume.

Let A be an approximation algorithm to solve problem (1.1) and let A(L) be the placing produced by A for a list L.

A commonly used performance measure in packing problems is the asymptotic performance bound which characterizes the behaviour of the ratio of H(A(L)) over H(PLopt). If there are constants α and β such that for any list of boxes LH(A(L))⩽αH(PLopt)+βDLmin,whereDLmin=maxbi∈L{min{l(bi),w(bi),h(bi)}},then α is called an asymptotic performance bound of the algorithm A. Furthermore, if α is tight, i.e. for every ϵ>0 and any large N>0, there exists a list Lϵ such thatH(A(Lϵ))>(α−ϵ)H(PLϵopt)andH(PLϵopt)>N,then α is called the asymptotic performance bound.

Strategies that are suitable for the two-dimensional packing problem perform, in general, very badly for the three-dimensional case. For instance, the next-fit-decreasing-height and the first-fit-decreasing-height have unbounded worst-case performance ratios in the three-dimensional case (see [13]).

Roberts and Taylor [17] developed a procedure for loading full width racks of stamped metal parts into railcars. They were able to reduce the packing problem to that of solving two one-dimensional bin packing problems.

Haessler [10] reported a similar application involving loading large rolls of paper into railcars.

Haessler and Talbot [11] developed a heuristic procedure for sizing customer orders and developing three-dimensional load diagram for rail and truck shipment of low density products.

George and Robinson [7] studied the three-dimensional container loading problem and developed a heuristic procedure for orderly loading boxes of non-uniform size in a container. This procedure fills the container by building layers across its width and then combining spare spaces between layers in order to increase space utilization.

Bischoff and Marriott [2] enumerated and evaluated the performance of 14 container loading heuristics, and among these, several variants of the procedure of George and Robinson [7] and a new approach based on the two-dimensional packing technique by Bishoff and Dowsland [1]. Their results suggested that the performance of such heuristics depends on the number of different boxes in a load.

Gehring et al. [8] treated packing problems subjected to weight restrictions and developed a heuristic that allows packing only a subset of given cartons to maximize the container's space utilization.

Some rules and constraints for manually loading non-identical boxes into a container were enumerated and organized as an expert system by Gilmore et al. [9].

For packing a container with uniform cartons, Han et al. [12] proposed a heuristic procedure that attempts to optimize the space utilization by forming L-shaped layers and maximizing the use of the edge length of the container.

Dowsland [5] applied the knowledge of the two-dimensional pallet loading problem to the three-dimensional problem.

Li and Cheng [14] designed and analysed on-line packing algorithms for the three dimensional packing problem. They proposed a class of approximate algorithms called level-strip. A packing produced by a level strip algorithm consists of levels in the height dimension. In the length dimension, a level is further divided into strips of fixed width and variable length. Since the problem of packing these boxes into strips is just the standard on-line one dimensional bin packing problem, they used well-known bin packing algorithms such as Next-Fit, First-Fit, Best-Fit, and Harmonic. They presented nine on-line packing algorithms and some of them outperformed (in the sense of the asymptotic performance bound) the previous best column packing algorithms (see [13]). However, even if their asymptotic performance bound is improved, the additive constant β may be very large. Indeed, as the asymptotic performance bound becomes better and better, the additive constant becomes larger and larger. Furthermore, all the on-line algorithms in [14] assume an a priori upper bound on the maximum height of the boxes to be packed in advance.

Finally, Miyazawa and Wakabayashi [16] developed some heuristics which divide the given list L into sublists, and apply an approximate algorithm to each of these sublists. The final packing is obtained as a concatenation of these packings. Their results improve those of Li and Cheng [14].

All the papers referred to above have proposed heuristic solution procedures, and none of them developed an analytical model for the three-dimensional container loading problem.

Chen et al. [4] give a mathematical model that is guaranteed to lead to an optimal solution for this problem. The model is a zero–one mixed integer linear programming model for the general three-dimensional container loading problem. The problem studied involves packing a set of non-uniform cartons into inequal-sized containers. The model considers many requirements such as the issue of carton orientation, multiple carton sizes, multiple container sizes, and weight balance, which are expressed by a number of variables and constraints. However, as the authors themselves observed, their solution procedure is not efficient for large scale container loading problems, since the number of variables and constraints involved becomes too large (it grows as 2n2, where n is the number of cartons).

The present paper contributes a direct mathematical model and a very efficient solution procedure which appears to lead to an optimal solution.

First a geometric procedure (see Section 2) is introduced which generates a particular finite class of placings Π(L,B). Then it is proved analytically that the set of all feasible placings Π(L,B) does not give rise to better solutions in comparison with those of the class Π(L,B). Finally a statistical global optimization algorithm called zone3d (see Section 3), based on simulated annealing, is presented which is guaranteed to find an optimal solution.

It is important to underline that the algorithm zone3d does not require any a priori ranking rule, and that the packing criterion is not restricted to packings of walls, columns, or layers but is a full three-dimensional strategy.

Two problems limit the full generality of this result. So far it has been impossible to find a proof that an optimal solution for (1.1) is always contained in the class Π(L,B). This is discussed in Section 2. However the class of placings missing from this geometrical model is relatively small and, intuitively, it would seem that an optimal placing would not be found in these pathological placings.

Furthermore, the positive results from the numerical tests would appear to confirm this. In any case, the introduction of some further reasonable constraints such as, for example, reducing the time required to load and unload the container or avoiding the risk of product damage, make this incompleteness a relatively small, although bothersome, mathematical flaw.

The second problem is due to the intrinsic characteristic of simulated annealing. Indeed simulated annealing is asymptotically an optimization algorithm, and any implementation results in an approximation algorithm. It can be argued however that the choice of a statistical global optimization algorithm is essential since it is the only class of algorithms which has some hope of dealing efficiently with large scale combinatorial optimization problems.

In addition, the use of an approximation algorithm which derives from a truncation of a global optimization algorithm is from all points of view better than a mere heuristic procedure. A great advantage of the algorithm zone3d is that it is possible to chose between obtaining very good solutions in an acceptable time, or acceptable solutions in an incredibly fast time.

Few examples of solution placings in the literature are sufficiently detailed to allow a comparison with the algorithm zone3d. We report just one example proposed by Chen et al. [4] (see Section 4). However results of many statistical tests are given with different number of boxes (up to 15000).

In place of an analytically derived asymptotic performance bound for the algorithm zone3d, we have tried to give an experimental estimate of it. In general, given a list of boxes L, it is not possible to give an estimate of H(PLopt). Therefore, PLopt is replaced by V(L), the height of a box which perfectly fits the bottom side of the container B and whose total volume is the total of the volumes of the boxes of L. Thus, the tests give a very detailed estimate of what it is correct to call, a sub-approximate asymptotic performance bound α, i.e. the condition (1.2) is replaced byH(zone3d(L))⩽αV(L)+DLmin.Clearly, since V(L) might also be much smaller than H(PLopt), especially for large lists, and since the additive constant β is equal to 1 in (1.3) while it is much bigger in any paper quoted in the references, α is sensibly penalised in comparison with α.

However, α is a true asymptotic value while α can be calculated just for bounded lists, for computational time problems, and this means α is not useful for a theoretical comparison. But, since we use in the tests very large lists of boxes, the importance of α and α is comparable for practical purposes.

From the tests performed, it appears that α is much smaller (1.46 for 15000 boxes) than the best α found in the literature which is 2.67 (and, for boxes with square bottom, 2.36) (see [16]).

Last, but not least, the algorithm zone3d is able to reconstruct a perfect cartons puzzle in an incredibly short time (for instance, within a second for 20 cartons), and this demonstrates unequivocally that the algorithm zone3d finds optimal placings in some very difficult cases.

Section snippets

The geometrical method

The geometrical method that will be discussed is an extension to the three-dimensional case of a two-dimensional finite enumeration scheme called method of the zones, proposed by Lipovetskji [15].

The method of the zones was the first finite algorithm for the two-dimensional rectangular cutting problem. Its extension to the three-dimensional case is on one hand quite natural; but, on the other hand, the situation in the three-dimensional case is so complex, that a complete proof was not proved

The base of the packing algorithm: The simulated annealing

Simulated annealing algorithms are based on the analogy between the simulation of the annealing of solids and the problem of solving large combinatorial optimization problems.

These algorithms continuously transform the current configuration into another one by a small perturbation. The new proposed configuration, called transition, is accepted either if the cost functional is lowered or on a probabilistic basis depending on a non-zero probability which decreases exponentially as the cost

Numerical tests

The computer codes for the algorithm zone3d are written with the programming language C, with the support of WATCOM C/386 Optimizing Compiler version 9.01. All the numerical tests have been performed on a Pentium MMX 200 MHz with 40 Mb of RAM, under the Windows95 operative system in modality MS-DOS.

The first example tested, although not very significant, is a comparison with the example described in Table 1 and Fig. 2 of Chen et al. [4]. Given six cartons, that must be loaded with their

Remarks on the numerical tests

The numerical tests have the purpose of evaluating the algorithm zone3d with respect to a great variety of conditions, from small to large or very large lists of boxes, and where the boxes may have normal or small dimensions. More precisely, we consider two classes of lists, denoted by LN and LS, consisting in boxes having dimensions not bigger than w and w/2, respectively.

The tests showed that the dimensions of the boxes are very important for the numerical evaluations. For relatively small

Conclusions

In this paper we propose a geometrical model to reduce a general three-dimensional packing problem to a finite enumeration scheme. A statistical algorithm is described, based on a fully three-dimensional strategy.

This algorithm gives a very good placing when the number of boxes involved is relatively small (below 128); furthermore it enables an acceptable placing to be obtained, in real time, for lists of thousand of boxes.

Acknowledgements

I honestly wish to thank both the referees for the quantity and the quality of their comments, which have permitted a big improvement both in the presentation of the paper and in the English style.

References (17)

There are more references available in the full text version of this article.

Cited by (37)

  • Mathematical models for the two-dimensional variable-sized cutting stock problem in the home textile industry

    2023, European Journal of Operational Research
    Citation Excerpt :

    Since then, a great number of problems with essentially the same logical structure of the C&P problems have appeared under different names. Some of the highlights are Dyckhoff (1990) and Dyckhoff, Scheithauer, & Terno (1997) for an annotated bibliography on 2D-CSPs, Lodi, Martello, & Monaci (2002) for a survey on mathematical models and lower bounds for the two-dimensional bin packing problems (2BPPs), Wäscher et al. (2007) for an improved typology of the C&P problems, and Faina (1999) and Faina (2000) for a wide discussion about these problems. In our paper, we focus on the 2D-CSP, an optimization problem that has been well studied in the last 60 years due to its large number of practical applications.

  • Overview of current design and analysis of potential theories for automated fibre placement mechanisms

    2022, Chinese Journal of Aeronautics
    Citation Excerpt :

    Without considering the layup trajectory and the available steering degree, which are discussed elsewhere, the commonly used layout optimisation methods36 are discussed below. Layout design and optimisation have been investigated for decades to provide more practical schemes and improve efficiency and reliability for different projects, such as facility arrangement, packing, and circuit layout problem.119–123 Generally, the position and orientation of objects as layout variables are proposed.

  • Modelling and layout design for an automated fibre placement mechanism

    2020, Mechanism and Machine Theory
    Citation Excerpt :

    Further, there are complex constraints and strong coupling among these functional subsystems, these characteristics determine that the layout design for each functional module can promisingly optimise the fibre transmission path and mitigates the defects. The layout design has arisen and been studied in the field of the travelling salesman problem [20–23], bin packing problem [24–27], scheduling problem [28,29] and clustering problem [30,31] etc., which can be regarded as a combinatorial optimization or non-deterministic polynomial hard (NP-hard) problem [32]. The traditional layout optimization algorithms are ineffective and usually obtain a local optimal solution.

  • An effective placement method for the single container loading problem

    2016, Computers and Industrial Engineering
    Citation Excerpt :

    Considering the weight and the load bearing abilities of the boxes in the CLP, Ratcliff and Bischoff (1998) proposed an approach to adapt the solution procedures in the literature to deal with fragility consideration. Faina (2000) developed a geometrical model that reduces the CLP to a finite enumeration scheme, and presented a statistical optimization algorithm based on simulated annealing. Eley (2002) designed a greedy heuristic coupled with a tree search procedure for the single-container and multiple-container packing problems.

  • Constraints in container loading-A state-of-the-art review

    2013, European Journal of Operational Research
  • A novel hybrid tabu search approach to container loading

    2011, Computers and Operations Research
    Citation Excerpt :

    Several human knowledge-based heuristic approaches have been developed for specific arrangements, e.g. wall-building [3,4], cuboid (block) arrangement [5–7], stack building [8,9] and guillotine-cutting [10]. Metaheuristics with intelligent search have been exploited, e.g. genetic algorithms [9–12], a co-evolutionary genetic algorithm [13], simulated annealing [14] and tabu search [15,16]. Hybrid approaches have been proposed, e.g. tree search incorporated in the constructive heuristic [17], greedy randomized adaptive search procedure combined with the wall-building constructive heuristic [18].

View all citing articles on Scopus
View full text