An n-tet graph approach for non-guillotine packings of n-dimensional boxes into an n-container

https://doi.org/10.1016/S0377-2217(02)00135-2Get rights and content

Abstract

In this paper we propose a simple recursive uniform algorithm for the problem of packing n-dimensional boxes into an n-container. We are particularly concerned about the special case n=3 where the boxes can be packed in a given subset of their six possible positionings. Our method studies symmetries in the packings by the use of an ordered set of three directed graphs with the same edges (a 3-tet or triad) and induced smaller structures of the same kind named minors. With the method, degeneracy and symmetry issues, which curtail the implicit enumeration to practically acceptable running times, become transparent. In order to illustrate the performance of the algorithm, computational results from solving randomly generated 3-D examples are presented and compared with the ones of a layers and knapsack approach. The present study has real world applications for the problems of pallet and container loading.

Introduction

In this study we present a simple recursive algorithm for the problem of packing n-dimensional boxes (or simply boxes) into a larger n-box, henceforth referred to as a container. The algorithm is based on the representation of a feasible packing as a depth assignment in an object called n-tet, which is a sequence of n directed graphs. To each such an assignment in the n-tet there corresponds a partition of the container into specific subcontainers. Each of these subcontainers can be recursively partitioned into further ones, according to the specifications in the n-tet. A subcontainer which is not partitioned is homogeneously loaded with the boxes. The algorithm performs a search of all feasible depth assignments of the n-tets involved to find the most valuable one, that is, the one which induces a maximum occupancy of the volume of the container by packed boxes. To organize and simplify the search, the procedure explores recursion techniques, which extends to higher dimensions the algorithm of Morabito and Morales [30] proposed for the n=2 case.

Triads are 3-tets and were introduced in [23], where it was shown how a method based on this representation can produce better 3-dimensional non-guillotine packings than methods using layers and knapsack approaches. In the present paper we formalize a general n-packing algorithm considering degenerative, reflexive and rotational symmetry issues which are essential for the performance of the method. The algorithm can be easily adapted to generate n-dimensional (n-D) guillotine packings. The 3-D packing problem (3PP) has various practical applications, as in the loading of products (packed into boxes) on pallets, or inside containers or safe-trucks. Such problems appear in the logistic activities of transporting and storing goods or supplies and, depending on the scale of the supply/distribution chain, a small increase in the volume of products loaded on a pallet, or inside a container, can result in substantial savings.

Several studies treating 2-D and 3-D packing problems have been reported in the literature in this last decade, such as Bischoff and Marriott [6], Haessler and Talbot [20], George [19], Dowsland [14], Abdou and Yang [1], Morabito and Arenales [29], Chen et al. [11], Bischoff and Ratcliff [7], Dowsland [16], Nelissen [32], Scheithauer and Terno [34], Herbert and Dowsland [21], Miyazawa and Wakabayashi [28], Liu and Hsiao [25], Bhattacharya et al. [9], Bortfeldt and Gehring [10], Chien and Wu [12], Scheithauer and Sommerweiss [33], and Morabito et al. [31]. Other references can be found in the surveys and special issues in Dowsland and Dowsland [15], Dyckhoff and Finke [17], Sweeney and Paternoster [36], Balasubramanian [4], Martello [26], [27], Bischoff and Waescher [8], Dyckhoff et al. [18], Arenales et al. [3], and the electronic databases of the Special Interest Group on Cutting and Packing (SICUP [35]).

In the present study we report some computational experience in the 3-D case in which the boxes are of equal size. However, the algorithm is given in full generality and our implementation can be applied to the more general case where the boxes are different and of higher dimensions. Moreover, the algorithm can be extended to the case where there is a limited number of boxes of each type, or the case where there is a great number of boxes to be packed in different containers, in which case it plays the role of a column generator to a simplex approach. These matters will be treated elsewhere. Here, we also assumed that the boxes, available in large quantity, are to be orthogonally arranged inside the container, that is, with their faces parallel to those of the container. This assumption provides, in general, six non-equivalent ways to position a box. The subset of the permitted positionings is an input to the algorithm.

3PP is an NP-hard problem and can be formulated as an integer linear programming, for example, extending the (0,1)-model in [5], originally proposed for the 2-D case, or applying the (0,1)-model in [37] based on disjunctive restrictions. Exact methods of branch-and-bound type exploring bounds coming from the surrogate and Lagrangean relaxation can be defined following [5], [37]. Alternatively, Dowsland [13] presented an interesting approach for the 2-D packing, which can also be extended to treat 3PP. Basically, the approach consists of finding the maximum stable set of a particular finite graph where the nodes correspond to the possible positioning of the boxes inside the container. Two nodes are the ends of an edge if the box positions which they represent overlap. However, because of the size of practical 3PPs, both the (0,1)-models mentioned above and Dowsland's graph approach are generally too large to be computationally treated. This way, most methods found in the literature are heuristics, such as those listed in the previous paragraphs. The recursive procedure treated here based on the n-tet representation is also heuristic. However, it deterministically finds the optimum over a well-defined class of patterns, which will contain an optimum in the vast majority of the cases.

The paper is organized as follows: In Section 2 we introduce the concept of n-tets and characterize their close connections with container partitions. In Section 3 we use the language of n-tets to present a recursive algorithm to generate n-D non-guillotine packing patterns. Further we present an illustrative 3-D example to justify the approach. In Section 4 we treat extensively degeneracy and reflexive/rotational symmetry issues which substantially curtail the implicit enumeration. In Section 5, in order to illustrate the performance of the algorithm, we solve randomly generated 3-D examples and compare the solutions with the 2-D, the guillotine and the layers and knapsack approaches. We finish in Section 6 with concluding remarks and some perspectives for future research.

Section snippets

n-Tets, δ-tets and partitions of n-containers

n-Tets. Let G=(G1,G2,…,Gn) (n⩾2) be a sequence of n directed graphs (digraphs) with v1,v2,…,vn vertices, respectively. Every Gj has the same number e of edges and is called a profile of G. The vertices of Gj are labeled with the elements of {0,1,2,…,vj−1} in such a way, as permitted by their acyclic conditions, that all their edges go from lower end to higher end labeled vertices. Let β=(β1,β2,…,βn) be given where βj is a 1–1 correspondence from the edge set of Gj onto the set of E={1,2,…,e}.

Tet based recursive algorithm

The class Gk(c) of container partitions. Throughout this section c is a fixed container with non-negative integers side lengths c1,c2,…,cn and G is an n-tet. Let G(c)={Gδ|δ∈Adm(G,c))}. Therefore, by identifying the sets of δ-tets and partitions of containers, the set G(c) can be thought of as a finite set of partitions of c. Let Gk(c) be a set of partitions induced by (G,c) and defined inductively as follows: G0(c) is the set of just one, the trivial partition of c, namely, c itself not

Degeneracy and symmetry issues

Degeneracy and minors. If a depth assignment δ is degenerated, then λδ(ij)=0 for some edge ij. It follows that Vδ(i)=0. That is, subcontainer si has zero volume, and may be discarded. In terms of the δ-tet, this means to contract the edge ij in Gj (identifying its ends) and to delete the edges ik in the other profiles Gk, kj. This operation is called a permissible contraction in Gj. The result is an δ-tet G having |E|=|E|−1. A δ-minor of Gδ is a non-degenerated δ-tet H obtained from Gδ by a

Computational results

In order to illustrate the computational performance of the algorithms ρ1,ρ2,ρ3 for the case G=T3, we present the results obtained for 14 randomly generated examples with a (c1,c2,c3)=(50,50,50) container. For each example, the box dimensions (d1,d2,d3) were simply sampled from a uniform distribution in the interval [5,25]. To form the set of boxes types B, in each one of the 14 examples we considered, except for column 2-D, all the six permutations of the corresponding (d1,d2,d3), that it,

Conclusions and perspectives

In this study we presented a simple recursive algorithm for the problem of packing n-dimensional boxes into an n-container. The algorithm is based on the representation of a feasible non-guillotine packing as a depth assignment in an n-tet, which is a sequence of n directed graphs. To each of such an assignment of the n-tet there corresponds a partition of the container into specific subcontainers. Each subcontainer can be recursively partitioned into further subcontainers, according to the

Acknowledgements

The authors thank the two anonymous referees for their helpful comments. This research was partially supported by FINEP, CNPq (grants #107/97, #30.1103/80, #680082/95-6, #522973/95-7) and FAPESP (grants #9522-0, #97/13930-1).

References (37)

  • R. Morabito et al.

    Loading optimization of palletized products on trucks

    Transportation Research, Part E

    (2000)
  • G. Scheithauer et al.

    4-block heuristic for the rectangle packing problem

    European Journal of Operational Research

    (1998)
  • G. Abdou et al.

    A systematic approach for the three-dimensional palletization problem

    International Journal of Production Research

    (1994)
  • M. Arenales et al.

    Special issue: Cutting and packing problems

    Pesquisa Operacional

    (1999)
  • R. Balasubramanian

    The pallet loading problem: A survey

    International Journal of Production Economics

    (1992)
  • J. Beasley

    An exact two-dimensional non-guillotine tree search procedure

    Operations Research

    (1985)
  • E. Bischoff et al.

    Loading multiple pallets

    Journal of the Operational Research Society

    (1995)
  • E. Bischoff et al.

    Special issue on cutting and packing

    European Journal of Operational Research

    (1995)
  • Cited by (0)

    View full text