Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

A Heuristic Approach For Solving The Multi-Pallet Packing Problem

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

A Heuristic Approach for Solving the Multi-Pallet

Packing Problem
Guntram Scheithauer Johannes Terno
Institute for Numerical Mathematics, Technical University Dresden
Mommsenstr. 13, D - 01062 Dresden, Germany

Abstract
We consider the Distributer's Pallet Packing Problem. This problem is to pack a
set of distinct products with given quantities in greater volumes (pallets, containers)
and to minimize the number of used volumes.
The theoretical objective of nding the best space utilization is restricted by a
list of practical aspects (technological constraints, weight distribution over the pallet,
stability aspects, etc.). Keeping in mind a general branch and bound framework an
ecient heuristic for the considered multi-pallet packing problem is developed. The
three-dimensional solution approach uses in the kernel a layer-wise packing strategy
with optimal two-dimensional packing patterns. Linear Programming lower bounds
for the number of pallets needed to pack the total consignment are developed. Com-
putational experiments show the eciency of the proposed algorithms.

1
1 Introduction
In this paper we consider the problem of optimal packing of small rectangular-shaped boxes
(so-called pieces) on a minimal number of rectangular pallets. Thereby several restrictions
have to be taken into account, such as order demands, placement and weight conditions,
stability and others. Using the classi cation of Dyckhoff [7], the considered problem is
of type 3/V/I/R.
This problem is of considerable practical interest. It arises e.g. in distribution centres
where a reduction of the number of pallets needed leads in general to a saving of trans-
portation costs. The problem under consideration occurs in various forms which di er by
the packing restrictions.
Since the well-known knapsack problem is involved in the packing problem, the latter
also belongs to the class of NP -hard problems. Therefore, work situated in this eld
is reported in general for heuristic approaches or/and for special sceneries. A review on
packing problems is given in [6]. For a general overview on work connected with packing
and cutting problems we refer also to [4], [8], [28], [29].
Most of the publications are concerned with the problem of nding an optimal packing of
identical pieces for one pallet. This kind of problem has been termed the Manufacturer's
Pallet Packing Problem (Hodgson [12]). The present paper, by contrast, deals with
the Distributer's Pallet Packing Problem (Bischoff/Ratcliff [3]), which involves the
determination of an ecient loading scheme for a consignment of items of various di erent
sizes.
The (three-dimensional) problem of calculating an optimal packing pattern of identical
pieces for one pallet (so-called Pallet Loading Problem) is very often reduced to a two-
dimensional problem. A lot of work is concerned with that special kind of packing problems.
Exemplarily we refer to [27], [1], [13], and [18] where various heuristics are proposed. In
[5] an exact branch and bound algorithm is presented. The best heuristic known so far
([25]) is based on structure investigations of optimal (two-dimensional) packing patterns
and produces optimal solutions for the most of the instances of practical relevance.
Also a lot of work has been published which is concerned with the Container Loading
Problem where a (three-dimensional) packing pattern has to be determined which maxi-
mizes the used volume of the container. Here, of course, pieces of di erent sizes have to
be packed. We refer exemplarily to [10], [26], [21] and [17] for heuristic and exact solution
approaches.
For the multi-pallet packing problem one has to take into consideration, in contrast to
container loading, in a much higher degree stability aspects of the patterns. Recent work
as well for the problem of packing a single pallet as for the multi-pallet problem is done
in [2] and [3] but there some practical restrictions which are of our interest are not taken
into account.
There can also be found within the published literature some work which analyses and
compares existing software in this eld. Here we refer to [14] and [9] where also the packing
of non-rectangular pieces is considered.
Summarizing, although there exists a lot of published work in the eld of packing
problems, there remain many open and unsolved questions, e.g. with respect of regarding
practical constraints. Therefore, the purpose of this paper is to develop a heuristic approach

2
for the multi-pallet packing problem (MPPP) which regards such additional restrictions.
The paper is organized as follows: In the next section we formulate the problem under
consideration in more detail. Especially, we discuss practical requirements which have to
be taken into account. In Section 3, we propose our solution strategy and then, starting
with Section 4, some details will be discussed. At the end we present some computational
experience and give some concluding remarks.

2 Problem Formulation
In order to formulate the MPPP more precisely we use the following notations:
L the length of the (identical) pallets,
W the width of the pallets,
H the maximal height, pieces are allowed to be packed on a pallet,
m the number of (di erent) types of pieces,
I = f1; : : : ; mg the set of indices of piece types,
li the length of a piece Ti of type i; i 2 I ,
wi the width of Ti; i 2 I ,
hi the height of Ti; i 2 I ,
pi the weight of Ti; i 2 I ,
bi the order demand of Ti; i 2 I .
Some or all of the piece types may be packed in di erent orientations. The objective
of the MPPP is to nd a minimum number of feasible packing patterns such that all order
demands are ful lled. A packing pattern of a pallet is said to be feasible if the pieces
are orthogonally allocated, if they do not overlap each other, if they t completely within
the volume LWH of the pallet and if additional conditions (discussed below) are ful lled.
(Without loss of generality we assume that all Input-data are positive integers.)
Practical conditions which we have to take into account are as follows:
{ The sum of the weights of the packed pieces of a pattern has to be not-greater than
a given limit.
{ Since the items have in general a di erent density there exist restrictions of the form
pieces of type i are not allowed to be packed on top of pieces of type j . Sometimes, pieces
have to be packed on the bottom of the pallet, or reversely, on the top of the pallet. In
any case, pieces are allowed to be packed on top of pieces of the same type.
{ If the order demand of a piece type is large enough to pack one pallet only with
pieces of this type then such a uniform pallet has to be used, which can be computed
independently a priori. Hence, we may assume an order demand for any piece type, which
does not ll completely a pallet. If the order demand is not to large then all ordered pieces
of that type have to be packed on the same pallet to save the amount within the packing
and re-packing process. The only exception is, if there is a possibility to reduce the number
of pallets needed, then pieces of some types may be packed on several pallets, but as few
as possible.
{ If pieces of a certain type have to be packed on a (single) pallet then it is required
that all pieces of this type can be packed in a sequential manner, i.e., it is not allowed that
3
the storage of a piece type has to be visited several times whilst packing the pallet or that
pieces have to be re-packed during the packing process. This demand is due to reduce time
and covered distance of the packer needed to pack a pattern. The same aspects are also of
interest for the customer which has to re-pack the pallet.
{ Furthermore, the packing patterns have to ful ll stability conditions, that means
during the process of packing a pallet only stable sub-packings should occur and the com-
plete packed pallet should be stable for the transport to the customer. (A more precise
declaration what stable means will be given below.)

3 Solution Approach
Since it is very unlikely to nd a polynomial algorithm for solving the MPPP (only if
P = NP ) we have to look for a heuristic approach to handle instances of medium size.
An obvious technique consists in a sequential computation of packing patterns for
always one pallet as used in [3]. Of course, such an approach does not lead to an optimal
solution in any case but as the computational tests (reported in [3]) show, optimal solutions
can be obtained in a high percentage of the test instances.
A second possibility consists in an a priori partition of the whole consignment in a
number of smaller consignments which ll only one pallet. But here we have the problems,
what is an appropriate number and how to partition the consignment? Below we will give
some remarks how to calculate a lower bound for the minimum number of pallets needed.
In order to get a desired partition one can apply e.g. techniques used for bin packing
problems.
Although the computational tests in [3] show that the sequential approach is more
successful then a simultaneous packing of pallets for the problem considered there, we
intend to investigate numerically a suitable combination of both strategies.
Applying the approaches discussed above we have either the problem to compute a
packing pattern which packs all pieces of the (sub-)consignment, or the problem to nd a
packing pattern which uses a sucient large portion of the pallet volume. Note, it does
not look appropriate to compute a packing pattern with maximal utilization of the pallet
volume since this problem is NP -hard by itself. But what means sucient large? This
depends on the total volume of the consignment and on the number of pallets to be packed.
In order to generate a packing pattern for a single pallet we use a branch-and-bound
approach. Thereby we use local optimization to support the branching decisions and we
restrict the number of such branchings in a strong manner to keep thin the branching tree.
(Some details will be discussed below.)
Moreover we try to use complete layers, i.e. if we have a piece type i with order demand
bi sucient large to ll one layer (and we are still able to pack layers) then we prefer such
a packing. This is motivated on the one side by the experience of practitioners, who use
such layers if possible, and on the other side, on our experience in connection with staged
cutting stock problems where a two-dimensional problem can be (in principle) reduced
to a one-dimensional successfully (cf. [20]). The calculation of such (two-dimensional)
layer-patterns will be discussed below.
If the packing in such a layer-wise manner is no longer possible we turn to a gener-

4
15 43 45 47
8 10 22 23
14 42 44 46
13 39 41
21
28 29
12 38 40
7 9 20
11 37
19 27
32 33
6 36
18 26
2 3
17 25 31
4 5 34 35
1 16 24 30

Figure 1: Optimal pattern for the instances (40,25,7,3) and (52,33,9,4)

alization of the three-dimensional packing strategy which is used in [21]. Thereby, in a


greedy-like manner, several possibilities of packing a piece (or a subset of pieces) are com-
pared and a number of best ones is accepted as a basis for further packings. Within the
evaluation of di erent packing possibilities the structure of the resulting sub-pattern can
be regarded, and, if a packing occurs which allows a layer-wise packing in the following,
then it is preferred.
In case, a feasible packing pattern is computed for the pallet with a sucient high usage
of the pallet volume then the next pallet can be lled if still necessary. In the opposite
case we have either to weaken the volume utilization, or we have to change the partition
of the initial consignment or, we have to increase the number of pallets used.
Since the last two cases lead to a rapid increase of computer time we have to be very
carefully by xing the number of pallets and the corresponding partition of the consign-
ment.

4 Optimal Two-Dimensional Packing Patterns


Because of the chosen strategy to pack in a layer-wise manner if possible we have relative
often to consider problems of the form compute an optimal (two-dimensional) packing
pattern where at most k di erent types of pieces occur (with k 2 f1; 2; : : :g).
In case k > 1 we have additionally to take into account the order demands of the packed
pieces.
In order to compute a suitable packing pattern where only pieces of the same type are
contained (i.e. k = 1) we use the so-called G4-heuristic proposed in [25]. The reasons
to use this heuristic consist in two aspects: rstly, the (classical) pallet loading problem
5
Figure 2: Volume utilization = 98.8%, at most 2 pieces of type 1 are allowed
(PLP) belongs to the NP -hard problems, and secondly, the G4-heuristic produces very
often optimal solutions. More precisely, for any instance (L; W; l; w) of the PLP (l and w
denote the sizes of the piece) with 1  L=W  2, 1  l=w  4, 1  LW=(lw) < 51, the
G4-heuristic calculates optimal packing patterns (cf. [25]).
The G4-heuristic is based on the de nition of so-called 4-block patterns. A 4-block
pattern consists of at most 4 sub-patterns which represent by itself a 4-block pattern of a
smaller rectangle. Now the G4-heuristic computes simply an optimal pattern within the
set of 4-block patterns.
The pattern shown in Figure 1 is used to illustrate this de nition. The pieces numbered
with 1 to 15 and from 16 to 47 form two sub-patterns which can be considered again as
4-block patterns. The latter e.g. consists of four 4-block patterns (16{21, 22{23, 24{41 and
42{47). The pattern shown is an optimal one which is not obtained by any other heuristic
known from the literature.
In order to compute (two-dimensional) packing patterns with more than one type of
pieces but not more than four, we apply the heuristic proposed in [24]. This heuristic can
be viewed as a generalization of the G4-heuristic. It is to remark that various restrictions
can be regarded when using this heuristic. Figure 2 gives a packing pattern obtained with
this heuristic.

5 Lower Bounds
As discussed above, it is of large importance to have a strong estimation for the number
of pallets needed to pack the total consignment.
The natural volume bound which is simply the ratio of the total sum of the volumes of
the ordered pieces and the volume of a pallet rounded up, i.e.
Xm
d biliwihi = LWH e;
i=1
gives a rst information. But if we take into account the philosophy of normalization [11]
and of raster points [29] we obtain a stronger bound in general. (The sets of raster points
represent all suitable combinations of piece-sizes to obtain optimal packings.)
But the best results can be obtained using a generalization of the approach proposed
in [23] to compute lower bounds for the (two-dimensional) rectangle packing problem. The
6
basic idea in [23] is as follows: any (two-dimensional) packing pattern of smaller rectangles
within a larger one can be considered as a combination of horizontal stripe patterns (so-
called L-patterns) of unit width which represent in fact one-dimensional pattern. In the
same way the two-dimensional pattern can be viewed as a combination of (vertical) W-
patterns.
In order to get an LP-(linear programming-)bound for the rectangle packing problem
let aj = (a1j ; : : :; amj )T and Ak = (A1k; : : : ; Amk )T denote the L- and W-patterns where
m is determined by the di erent orientations of the pieces. (We extend the vectors of
piece-lengths and -widths in a similar way.) Assigning non-negative integer variables xj
and yk to the L-patterns and the W-patterns, respectively, we obtain the following linear
optimization model:

zP =
Xn Xm liaij xj ! max! (1)
j =1 i=1
subject to
Xn liaij xj ? Xn wiAikyk = 0; i = 1; : : :; m; (2)
j k
Xn xj  W;
=1 =1

(3)
j =1

Xn yk  L; (4)
k=1
xj  0; j = 1; : : : ; n; yk  0; k = 1; : : : ; n: (5)
The objective function (1) counts the used area. (3) ensures that no more than W L-stripes
are used, and similar, (4) ensures that no more than L W-stripes are used. Conditions (2)
guarantee that for any piece type i (i = 1; : : : ; m) the same area is used in both the length
and width direction.
(A detailed description of the generalization of that bound for the two-dimensional case
to the three-dimensional one is in preparation.)

6 Three-Dimensional Packing
In case a layer-wise packing is no longer possible we turn to a general three-dimensional
packing strategy. This strategy is based on the so-called concept of contours (cf. [21]).
The de nition of a contour is, in principle, as follows: Let be given a partition of the
bottom area L  W of the pallet in rectangles. We assign to each of these rectangles
an already used height. Then such a combination of rectangle partition together with
corresponding heights is called a contour. Obviously, if a piece is placed on top of a
contour, a new contour arises. Since for any packing pattern there exist sequences of such
contours where the successor results through the packing of a further piece, it is sucient
to consider such sequences. Moreover, it is sucient to consider only monotone contours
(a contour is said to be monotone if the height-function is monotone over the pallet area).

7
Then the heuristic proposed in [21] works as follows (we describe only a general step):
Based on a set of feasible (sub-)packings, characterized by their contours, all contours
are generated which result by packing a further piece. Then all of these new packings
(contours) are evaluated and a subset of them having the greatest valuations is chosen.
This new set of contours is used to repeat the general step until no further packing is
successful. This strategy can also be used in a more general sense if we pack a set of pieces
instead of a single piece.
In this approach the cardinality of the set of contours chosen for further packings is a
very important parameter with respect to the eciency of the approach.

7 Underlying Branch and Bound Strategy


Since it is in general not uniquely determined which type of pieces has to be pack next we
use an underlying branch and bound concept. In the following we discuss some branching
rules which are applied using the LIFO strategy.
First, in case of a layer-wise packing, if there exists more than one piece type with
which a complete layer can be lled, then we branch with respect to di erent heights of
the resulting layers. The sequence of investigation of the resulting subproblems is thereby
determined by some decision criterion as e.g. area utilization in the layer, remaining order
demand of that piece type, weight.
Second, if for a chosen layer-height there exist several piece types then we branch
with respect to the type of the packed pieces. The sequel in which the subproblems are
investigated is again determined by some additional criterion similar to that above.
Third, if there does not exist any piece type with which a layer can be lled in a sucient
rate, we try to combine pieces which uses the layer height completely. Thereby also the
sequence of the packed types is of importance and is used for branching if necessary.
In case a layer-wise packing is no longer possible branching is done only forward in
the sense of the strategy discussed in the previous section. This technique may be viewed
as branching with respect to the sequence of chosen piece type or/and the position to be
placed.
In all these cases we do not consider all the resulting subproblems but restrict that
number in a very strong way, e.g. by 2.
In order to get an upper bound for the volume which can be still used we apply the
volume bound which uses raster point informations. Moreover, we have the possibility to
accept a subproblem to be investigated only if there is a sucient large gap to generate an
essential better solution.

8 Stability of Packing Patterns


The handling of stability conditions is a very hard task since there is no exact de nition
what is meant with stability.
In a rst stage we use a similar concept like in [3]. They consider only such packings
which are placed on top of packings done before. Unfortunately this may lead to the build-

8
Table 1: Input-data and optimal solution of a test instance
No. length width height weight order packing pattern
[mm] [mm] [mm] [kg] quantity PAL.1 PAL.2 PAL.3
1 400 266 100 6.5 27 0 0 27
2 390 200 270 6.5 14 0 14 0
3 400 255 100 3.2 25 7 18 0
4 395 395 360 13.3 8 0 0 8
5 395 300 150 13.5 14 14 0 0
6 400 132 124 3.4 18 0 18 0
7 360 399 112 11.5 20 0 20 0
8 264 285 180 6.7 24 24 0 0
9 390 242 194 13.0 14 14 0 0
10 297 226 302 12.7 8 0 0 8
volume utilization [%] 2.7  100 89.4 91.0 89.1

up of towers. Therefore we generalize their approach by requiring that any packed piece
has a sucient large area in common with the pieces packed beneath.
In a more general case this de nition of stable packing patterns is not sucient since
so-called guillotine-cuts or partial guillotine cuts should be avoided if possible. The reason
is that walls or towers may occur which are much more instable. In order to avoid such
situations we try to nd packings where a packed piece has sucient large area in common
with at least two pieces beneath. But this is done in post-processing.
The demand to avoid guillotine cuts is not an absolute restriction since the packer has
some possibilities to make a pattern stable, i.e. by using a surrounding foil or ribbon. But
this takes time and causes additional costs.

9 Computational Experiments
The already implemented version of the approach discussed here does not contain all of the
possibilities proposed. Table 1 gives the Input-data of a test instance which was obtained
from a practical problem. The volume bound proves that the 3 packing patterns given in
Table 1 and Fig. 3 represent an optimal solution for this instance.

10 Outlook
The approach proposed in this paper can be used as a basis for further investigations in
connection with MPPP. A more general situation arises when the order demand for a piece
type is only given by a lower and upper bound. Hence, one has to deal with questions
of the form Which order demands are suitable to save transportation costs and use the
available volume maximal?.

9
(a) pallet 1 (b) pallet 2 (c) pallet 3

Figure 3: Packing patterns of an optimal solution for the test instance

A further condition of practical interest is as follows: In some cases it is allowed to pack


the pieces in a somewhat overhanging position. But this should only be used if an essential
increase of the quality of the packing pattern arises. Hence, stability investigations are
required, that means, we have to calculate somewhat increased sizes (length or/and width)
of the pallet for which new packing patterns are obtained.
Moreover, the consideration of pieces which are not box-shaped is of large practical
interest.

Acknowledgements
The work has been supported by the German Federal Ministry for Education, Science,
Research and Technology (BMBF), grant 03-TE7-DRE.
The authors are grateful to Jan Riehme and Uta Sommerwei for doing the implemen-
tation of the algorithms and the extensive numerical tests.

References
[1] Bischo , E., Dowsland, W.B., An application of the micro to product design and
distribution, J. Opl. Res. Soc. 33 (1982) 271-280.
[2] Bischo , E., Janetz, F., Ratcli , M., Loading pallets with non-identical items, EJOR
(Europ. J. OR) 84 (1995) 681-692.
[3] Bischo , E., Ratcli , M., Loading multiple pallets, Working paper (1995), Europ. Bus.
Man. School, Swansea.
10
[4] Co man, E.G., Luecker, G.S., Probabilistic analysis of packing and partitioning algo-
rithms, New York et al. 1991.
[5] Dowsland, K.A., An exact algorithm for the pallet loading problem, EJOR 31 (1987)
78-84.
[6] Dowsland, K.A., Dowsland, W.B., Packing problems, EJOR 56 (1992) 2-14.
[7] Dyckho , H.: A typology of cutting and packing problems. EJOR 44 (1990) 145-160.
[8] H.Dyckho , and U.Finke, Cutting and packing in production and distribution, Physica
Verlag, Heidelberg, 1992.
[9] Fraser, H.J., Integrated container loading software for pulp and paper industry, EJOR
77 (1994) 466-474.
[10] George, J.A., Robinson, D.F., A heuristic for packing boxes into a container, Comput.
& OR 7 (1980) 147-156.
[11] Herz, J., Recursive computational procedure for two-dimensional cutting, IBM J. Res.
Develop. 16 (1972) 462-469.
[12] Hodgson, T.J., A combined approach to the pallet loading problem, IIE Transactions
14/3 (1982) 175-182.
[13] Isermann, H., Ein Planungssystem zur Optimierung der Palettenbeladung mit kon-
gruenten rechteckigen Versandgebinden, OR Spektrum 9 (1987) 235-249.
[14] Kaschel, J., Madler, A., Richter, K., Software zur Verpackungslogistik, OR Spektrum
13 (1991) 229-238.
[15] Mohanty, B.B., Mathur, K., Ivancic, N.J., An integer programming based heuristic
approach to the three-dimensional packing problem, J. Mg. Oper. Mgt. 2 (1989) 268-
298.
[16] Mohanty, B.B., Mathur, K., Ivancic, N.J., { Value considerations in three-dimensional
packing - A heuristic procedure using the fractional knapsack problem, EJOR 74
(1994) 143-151.
[17] Morabito, R., Arenales, M., An AND/OR-graph approach to the container loading
problem, Int. Trans. OR 1 (1994) 59-73.
[18] Nelien, J., Neue Ansatze zur Losung des Palettenbeladungsproblems, Dissertation
RWTH Aachen (1994).
[19] Ngoi, B.K.A., Taj, L., Chua, E.S., Applying special techniques to the container loading
problem, Int. J. Proc. Res. 32 (1994) 111 - 123.
[20] Riehme, J., Scheithauer, G., Terno, J., The solution of two-stage guillotine cutting
stock problems having extremly varying order demands, Preprint MATH-NM-05-1995,
TU Dresden 1995 (to appear in EJOR).
11
[21] Scheithauer, G., Algorithms for the container loading problem, OR Proceedings 1991,
Springer-Verlag Berlin Heidelberg, 445-452, 1992.
[22] Scheithauer, G., Equivalence and Dominance for Problems of Optimal Packing of
Rectangles, Preprint MATH-NM-04-1995, TU Dresden (1995, submitted for publica-
tion).
[23] Scheithauer, G., A new LP-bound for the Rectangle Packing Problem, Preprint
MATH-NM-23-95, TU Dresden 1995 (submitted for publication).
[24] Scheithauer, G., Sommerwei, U., Heuristics for the Rectangle Packing Problem,
Preprint MATH-NM-24-95, TU Dresden 1995 (submitted for publication).
[25] Scheithauer, G., Terno, J., The G4-Heuristic for the Pallet Loading Problem, Preprint
MATH-NM-06-95, TU Dresden 1995 (to appear in JORS 1996).
[26] Sculli, D., Hui, C.F., Three-dimensional stacking of containers, OMEGA 6 (1988)
585-594.
[27] Steudel, H.J., Generating pallet loading patterns: a special case of the two-dimensional
cutting stock problem, Management Sc. 25 (1979) 997-1004.
[28] Sweeney, P.E., and E.I. Ridenour, Cutting and packing problems: A categorized
application-oriented research bibliography, Working Paper 610, School of Business
Administration, University of Michigan, 1989.
[29] Terno, J., R. Lindemann, G. Scheithauer, Zuschnittprobleme und ihre praktische
Losung, Verlag Harry Deutsch, Thun und Frankfurt/Main, 1987.

Authors
Guntram Scheithauer, Johannes Terno
Institute of Numerical Mathematics
Technical University Dresden
D - 01062 Dresden, Mommsenstr. 13, Germany
e-mail: scheit@math.tu-dresden.de, terno@math.tu-dresden.de

12

You might also like