0% found this document useful (0 votes)
18 views

2002 Heuristic Algorithms For The Three-Dimensional BPP

This document summarizes a research paper that proposes heuristic algorithms for solving the three-dimensional bin packing problem. The problem involves packing three-dimensional rectangular items into bins without overlap using the minimum number of bins. The paper introduces a new heuristic algorithm that packs items into layers within bins. It also describes a Tabu Search metaheuristic approach that uses the layer packing heuristic as a subordinate algorithm. Extensive computational testing showed the heuristic and metaheuristic methods performed effectively compared to exact and other heuristic algorithms from previous literature on standard benchmark instances of the three-dimensional bin packing problem.

Uploaded by

aegr82
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

2002 Heuristic Algorithms For The Three-Dimensional BPP

This document summarizes a research paper that proposes heuristic algorithms for solving the three-dimensional bin packing problem. The problem involves packing three-dimensional rectangular items into bins without overlap using the minimum number of bins. The paper introduces a new heuristic algorithm that packs items into layers within bins. It also describes a Tabu Search metaheuristic approach that uses the layer packing heuristic as a subordinate algorithm. Extensive computational testing showed the heuristic and metaheuristic methods performed effectively compared to exact and other heuristic algorithms from previous literature on standard benchmark instances of the three-dimensional bin packing problem.

Uploaded by

aegr82
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

European Journal of Operational Research 141 (2002) 410–420

www.elsevier.com/locate/dsw

Heuristic algorithms for the three-dimensional bin


packing problem
Andrea Lodi *, Silvano Martello 1, Daniele Vigo
Dipartimento di Elettronica, Informatica e Sistemistica, Universita di Bologna, Viale Risorgimento, 2, 40136 Bologna, Italy
Received 30 October 2000; accepted 3 May 2001

Abstract

The Three-Dimensional Bin Packing Problem (3BP) consists of allocating, without overlapping, a given set of three-
dimensional rectangular items to the minimum number of three-dimensional identical finite bins. The problem is NP-
hard in the strong sense, and finds many industrial applications. We introduce a Tabu Search framework exploiting a
new constructive heuristic for the evaluation of the neighborhood. Extensive computational results on standard
benchmark instances show the effectiveness of the approach with respect to exact and heuristic algorithms from the
literature. Ó 2002 Elsevier Science B.V. All rights reserved.

Keywords: Cutting; Packing; Heuristic algorithms; Tabu Search

1. Introduction items have fixed orientation, i.e., they cannot be


rotated. We will call base of an item (resp. bin) its
Given a set of n three-dimensional rectangular wj  hj (resp. W  H ) side. We assume, without
items, each characterized by width wj , height hj loss of generality, that all the input data are pos-
and depth dj ðj 2 J ¼ f1; . . . ; ngÞ, and an unlim- itive integers, and that wj 6 W , hj 6 H and dj 6 D
ited number of identical three-dimensional rect- (j 2 J ).
angular containers (bins) having width W, height The problem is strongly NP-hard as it general-
H and depth D, the Three-Dimensional Bin Pack- izes the (one-dimensional) Bin Packing Problem
ing Problem (3BP) consists of orthogonally pack- (1BP), in which a set of n positive values wj has to
ing, without overlapping, all the items into the be partitioned into the minimum number of sub-
minimum number of bins. It is assumed that the sets so that the total value in each subset does
not exceed a given bin capacity W. Problem 3BP
also generalizes the Two-Dimensional Bin Packing
*
Problem (2BP), which consists of determining the
Corresponding author. Tel.: +39-051-644-3029; fax: +39- minimum number of identical rectangular bins of
051-644-3073.
E-mail addresses: [email protected] (A. Lodi), smartello@ width W and height H needed to orthogonally
deis.unibo.it (S. Martello), [email protected] (D. Vigo). pack a given set of n rectangles having width wj
1
Tel.: +39-051-2093022; fax: +39-051-2093073. and height hj (j 2 J ). Another related problem is

0377-2217/02/$ - see front matter Ó 2002 Elsevier Science B.V. All rights reserved.
PII: S 0 3 7 7 - 2 2 1 7 ( 0 2 ) 0 0 1 3 4 - 0
A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420 411

the Three-Dimensional Strip Packing Problem called Height first–Area second (HA), chooses the
(3SP), in which there is a single bin (strip) of width best of two possible solutions (each enhancing one
W, depth D and infinite height, and we want to of the two issues), and can logically be subdivided
pack all the items into a strip of minimum height. into two phases:
Three-dimensional packing problems have rel-
evant practical interest in industrial applications 1. The items are partitioned into clusters charac-
such as, e.g., cutting of foam rubber in arm-chair terized by non-increasing height, and a layered
production, container and pallet loading, and strip packing solution is determined. The first
packaging design. Although 3BP is a simplified 3BP solution is then constructed by combining
version of real-world problems, in many cases it the obtained layers into finite bins through a
arises as a subproblem. 1BP algorithm.
Martello et al. [8] presented exact and heuristic 2. The items are re-sorted by non-increasing area
approaches to three-dimensional packing prob- of their base and re-allocated to the current lay-
lems. Færø et al. [4] recently proposed a Guided ers, possibly modifying the layer heights, and
Local Search heuristic for 3BP, based on iterative the second solution is obtained through the
solution of constraint satisfaction problems. As far 1BP algorithm.
as 1BP and 2BP are concerned the reader is re-
ferred to the surveys by Coffman et al. [1,2] and The two phases above are described in more
Lodi et al. [6], and to the annotated bibliography detail in the following sections.
by Dyckhoff et al. [3].
In this paper we present a new approximation 2.1. Phase 1
algorithm for 3BP, and discuss its use as subor-
dinate heuristic within a Tabu Search metaheu- The algorithm starts by sorting the items by
ristic approach derived from that proposed by non-increasing height. The items are then parti-
Lodi et al. [7] for 2BP. The approximation algo- tioned into clusters, each characterized by a dif-
rithm is presented in Section 2, and the Tabu ferent height, as follows. The first (tallest) item j
Search approach in Section 3. Finally, Section 4 defines the first cluster with height hj , which in-
gives the outcome of extensive computational ex- cludes all items having height hk satisfying
periments. A preliminary version of the algorithms hk P bhj , where b (b 2 ½0; 1 ) is a prefixed para-
is described in Lodi [5]. meter. The tallest item s for which hs < bhj defines
the next cluster with height hs , and so on. The
items in each cluster are then sorted by non-
2. Heuristic algorithm increasing wj dj value, and the item set is renum-
bered, by increasing cluster, following the new
The 3BP heuristic algorithm we propose packs order.
the items by layers. The floor of the first layer Note that the value of b determines the way the
coincides with the base of a bin, and the items are items are partitioned into clusters. A value close to
packed with their bases on it. The floor of each zero produces very few clusters and disregards the
subsequent layer in the bin is defined by the height item heights, while a value close to one produces a
of the tallest item packed into the layer below. very large number of clusters and disregards the
In order to produce an ‘‘effective’’ packing into area of the item bases. A good value should ap-
layers one has to consider two main, possibly propriately take into account both information.
conflicting, issues: (i) to obtain a good ‘‘vertical’’ Through preliminary experimental evaluations we
filling, by packing items with similar height in the determined b ¼ 0:75 as the value producing, on
same layer; (ii) to obtain a good ‘‘horizontal’’ average, the partitions leading to the best pac-
filling, by effectively solving the two-dimensional kings.
packing of the item bases on the layer floors. To The first item of the first cluster initializes the
this end, the proposed algorithm, that will be first layer: it is packed with its back left corner in
412 A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420

the back left corner of the floor. The next items are More precisely, after the initial sorting, clus-
packed one at a time, by increasing cluster and tering and re-numbering, Phase 1 consists of exe-
index. Given any point p on a layer floor, we will cuting the following:
say that an item is packed in position p if its back
left corner is on p.
procedure PACK:
Consider any packing pattern relative to a layer
for j :¼ 1 to n do
‘: it is well known that there exists an equivalent
S :¼ 0;
pattern (called normal pattern) in which no item
for each normal position p in an
base can be moved leftwards or backwards. We
initialized layer ‘ satisfying H‘ P hj
will always consider normal patterns. At each it-
do
eration, the next (tallest) unpacked item j is packed
compute Sðj; ‘; pÞ;
in the layer ‘ and the normal position p deter-
S :¼ maxfS ; Sðj; ‘; pÞg
mined through a score Sðj; ‘; pÞ, whose three terms
end for;
(see Eq. (1) below) take into account, respectively,
if S > 0 then pack item j in the layer
three different factors:
and position corresponding to S
(i) the fraction of the perimeter of the base of j
else
which touches the edges of the floor of ‘ or the
for each normal position p in an
edges of items already packed in ‘;
initialized layer ‘ satisfying
(ii) the already packed portion of the floor of ‘;
H‘ < hj do
(iii) the relative difference between the height of
compute Sðj; ‘; pÞ;
‘ and the height of j.
S :¼ maxfS ; Sðj; ‘; pÞg
Let H‘ denote the height of layer ‘, and J‘ the
end for;
set of items already packed in ‘. Let P ðj; ‘; pÞ be
if S > 0 then
the perimeter of the base of j which will touch
pack item j in the layer and
the edges of the floor of ‘ or the edges of items in
position corresponding to
J‘ if j is packed in layer ‘ in position p. The score
S , and set the layer height
is then
to hj
P else
P ðj; ‘; pÞ wk dk
k2J‘ initialize a new layer with
Sðj; ‘; pÞ ¼ q þl
2wj þ 2dj WD height hj , and pack item j
jH‘ hj j into it
ð1 q lÞ ; ð1Þ end for
H‘
end.
where q and l are prefixed real values satisfying
q; l 2 ½0; 1 and q þ l 6 1. We set Sðj; ‘; pÞ ¼ 0 if
packing j in position p on the floor of ‘ would Let H1 ; . . . ; Hg be the heights of the layers pro-
cause some portion of j to overlap another item or duced by procedure PACK. A finite bin packing
to go outside the bounds of the floor. solution is obtained by solving a 1BP instance
The next item, j, is packed, in order of prefer- defined by values Hk (k ¼ 1; . . . ; g) and capacity H.
ence: We used exact algorithm MTP by Martello and
(1) in an initialized layer having height no less Toth [9], with a limit of 50 backtrackings. Due to
than hj (if any), in the maximum score position; the limited number of resulting layers, this limit
(2) in an initialized layer having height less than experimentally turned out to almost always pro-
hj (if any), in the maximum score position (by duce, for the instances we used, the optimal 1BP
appropriately increasing the layer’s height); solutions. Higher values, which could be appro-
(3) in a new layer, with its back left corner in the priate for larger instances, would however affect
back left corner of the floor. the computing times of the Tabu Search algorithm
A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420 413

described in the following section, in which algo- l ¼ 0:3 are depicted in Fig. 1(b). The third (empty)
rithm HA is executed at each move. layer is disregarded and the new finite bin solution
uses 2 bins.
2.2. Phase 2 The two steps of HA can also be executed on
the two instances we can obtain by interchanging
The items are directly sorted and re-numbered widths, heights and depths, i.e., by creating layers
by non-increasing wj dj value. The g layers pro- whose floors are, respectively, on the height–depth
duced by Phase 1 are initialized, with heights plane, or on the height–width plane. In this way we
H1 ; . . . ; Hg , but with no item packed into them. obtain three different solutions, among which to
Procedure PACK of Section 2.1 is then executed, select the best one (in terms of the number of used
and a new finite bin solution is obtained as at the bins).
end of Phase 1, by obviously disregarding empty
layers (if any). The best of the two solutions is
finally selected. 3. A Tabu Search approach

Example 1. We illustrate algorithm HA with a Lodi et al. [7] developed a unified Tabu Search
numerical example. Let n ¼ 5, W ¼ H ¼ D ¼ 10, framework for two-dimensional packing prob-
w1 ¼ 4; h1 ¼ d1 ¼ 10, w2 ¼ 5; h2 ¼ 9; d2 ¼ 6, w3 ¼ lems, by defining a search scheme and a neigh-
6; h3 ¼ 7; d3 ¼ 6, w4 ¼ h4 ¼ d4 ¼ 5, w5 ¼ 6; h5 ¼ borhood which are independent of the specific
1; d5 ¼ 10. The items are already sorted by non- problem to be solved. In practice, the approach
increasing height. By assuming b ¼ 1, each item can be used for any variant of 2BP, by just
defines a cluster. By using q ¼ 0:3 and l ¼ 0:7, we changing a subordinate inner heuristic. Due to this
obtain the packing into layers produced by PACK characteristic, it was not difficult to adapt this
in Phase 1 as depicted in Fig. 1(a). framework to 3BP as well. The main modifications
needed were the use of algorithm HA of Section 2
It is easy to see that the layers of Fig. 1(a) as inner heuristic, the extension of the so-called
produce, in Phase 2, a finite bin solution using 3 ‘filling function’ (see [7]) to the three-dimensional
bins. In Phase 3 the new order of the items, sorted case, the way forbidden moves are stored in the
by non-increasing wj dj value, is: 5, 1, 3, 2, 4. The tabu lists, and the diversification action. The re-
layers produced by PACK by using q ¼ 0:2 and sulting algorithm is briefly described hereafter.

Fig. 1. Example for algorithm HA. (a) Layers obtained in Phase 1. (b) Layers obtained in Phase 3.
414 A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420

Table 1
Results for n < 50; Digital Alpha 533 MHz; 15 CPU seconds time limit for Tabu Search; average values over 10 instances
n Class H1/V H2/V HA/V TS/V BB/V
10 1 1.14 1.00 1.08 1.00 1.00
2 1.13 1.00 1.00 1.00 1.00
3 1.03 1.00 1.00 1.00 1.00
4 1.00 1.00 1.00 1.00 1.00
5 1.15 1.00 1.00 1.00 1.00
6 1.13 1.00 1.05 1.05 1.00
7 1.33 1.05 1.05 1.05 1.00
8 1.22 1.00 1.10 1.05 1.00
Average 1.14 1.01 1.04 1.02 1.00
15 1 1.07 1.03 1.00 1.00 1.00
2 1.15 1.00 1.05 1.02 1.00
3 1.09 1.00 1.02 1.02 1.00
4 1.02 1.01 1.00 1.00 1.00
5 1.15 1.07 1.03 1.00 1.00
6 1.13 1.02 1.00 1.00 1.00
7 1.47 1.10 1.18 1.18 1.00
8 1.22 1.07 1.05 1.05 1.00
Average 1.16 1.04 1.04 1.03 1.00
20 1 1.12 1.03 1.00 1.00 1.00
2 1.04 1.00 1.02 1.00 1.00
3 1.10 1.04 1.02 1.00 1.00
4 1.02 1.00 1.00 1.00 1.00
5 1.25 1.05 1.08 1.08 1.00
6 1.12 1.03 1.00 1.00 1.00
7 1.35 1.05 1.08 1.02 1.00
8 1.09 1.00 1.00 1.00 1.00
Average 1.14 1.03 1.02 1.01 1.00
25 1 1.13 1.02 1.03 1.00 1.00
2 1.17 1.05 1.06 1.03 1.00
3 1.09 1.05 1.03 1.00 1.00
4 1.02 1.01 1.00 1.00 1.00
5 1.21 1.06 1.05 1.03 1.00
6 1.15 1.04 1.02 1.00 1.00
7 1.46 1.10 1.07 1.07 1.07
8 1.27 1.06 1.04 1.02 1.00
Average 1.19 1.05 1.04 1.02 1.01
30 1 1.12 1.03 1.01 1.00 1.00
2 1.17 1.05 1.04 1.01 1.00
3 1.10 1.01 1.03 1.02 1.00
4 1.01 1.01 1.00 1.00 1.00
5 1.19 1.04 1.02 1.02 1.00
6 1.18 1.04 1.03 1.00 1.00
7 1.56 1.18 1.20 1.09 1.13
8 1.21 1.05 1.04 1.00 1.00
Average 1.19 1.05 1.05 1.02 1.02
35 1 1.20 1.09 1.07 1.01 1.00
2 1.11 1.03 1.03 1.00 1.00
3 1.14 1.03 1.03 1.00 1.00
4 1.01 1.01 1.00 1.00 1.00
5 1.24 1.09 1.08 1.02 1.09
A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420 415

Table 1 (continued)
n Class H1/V H2/V HA/V TS/V BB/V
6 1.21 1.10 1.07 1.05 1.00
7 1.49 1.26 1.20 1.13 1.19
8 1.35 1.20 1.09 1.08 1.16
Average 1.22 1.10 1.07 1.04 1.05
40 1 1.17 1.09 1.07 1.03 1.01
2 1.15 1.07 1.07 1.03 1.03
3 1.13 1.08 1.04 1.03 1.02
4 1.02 1.00 1.00 1.00 1.00
5 1.37 1.24 1.17 1.13 1.19
6 1.17 1.10 1.07 1.03 1.00
7 1.60 1.30 1.26 1.17 1.29
8 1.30 1.17 1.10 1.06 1.02
Average 1.24 1.13 1.10 1.06 1.07
45 1 1.17 1.11 1.07 1.03 1.06
2 1.16 1.07 1.07 1.04 1.04
3 1.17 1.10 1.10 1.05 1.05
4 1.02 1.00 1.00 1.00 1.00
5 1.24 1.13 1.06 1.04 1.09
6 1.18 1.12 1.08 1.02 1.00
7 1.69 1.45 1.37 1.32 1.42
8 1.32 1.18 1.13 1.06 1.06
Average 1.24 1.15 1.11 1.07 1.09

The first incumbent solution is obtained by ex- If the move packs the items of S into k (or less)
ecuting algorithm HA. Let z be the number of bins, i.e., item j has been removed from the target
bins used in the incumbent solution. The search is bin, a new item is selected, a new set S is defined
started by generating an initial (naive) current accordingly, and a new move is performed. Other-
solution which packs each item into a separate bin. wise S is changed by selecting a different set of k
Let zc be the number of bins used in the current bins, or a different item from the target bin (when
solution. all possible configurations of k bins have been
A move modifies the current solution by chang- attempted for the current j). Whenever a move
ing the packing of a subset S of items, trying to produces a solution using less than z bins, the in-
empty a specified target bin. Let Si be the set of items cumbent solution is updated.
currently packed into bin i: the target bin t is the one We halt the current search when one of the two
minimizing, over all bins i, the filling function situations occurs: (i) all items j from the target bin
P and all possible configurations of k bins have been
j2Si wj hj dj jSi j
uðSi Þ ¼ a ð2Þ attempted without finding a feasible move; (ii) ‘
WHD n moves have been attempted without improving the
(a is a pre-specified positive weight), which gives a incumbent solution (where ‘ is a prefixed para-
measure of the easiness of emptying the bin. meter). In both cases, if k < kmax (where kmax is a
Once the target bin has been selected, subset S prefixed upper limit) then the value of k is in-
is defined so as to include one item, j, from the creased by one and the new (enlarged) neighbor-
target bin and the current contents of k other bins. hood is explored; otherwise a diversification action
The new packing for S is obtained by executing is performed.
algorithm HA on S. The value of parameter k, There are a tabu list and a tabu tenure sk for
which defines the size and the structure of the each value of k. A tabu list stores, for each for-
current neighborhood, is automatically updated bidden move, the sum of the filling function values
during the search. Initially, k is set to 1. of the k þ 1 involved bins.
416 A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420

Table 2
Results for n P 50; Digital Alpha 533 MHz; 60 CPU seconds time limit for Tabu Search; average values over 10 instances
n Class H1/V H2/V HA/V TS/V BB/V
50 1 1.19 1.14 1.08 1.04 1.06
2 1.25 1.14 1.11 1.08 1.08
3 1.20 1.14 1.11 1.05 1.07
4 1.02 1.01 1.00 1.00 1.00
5 1.34 1.28 1.13 1.11 1.24
6 1.20 1.12 1.07 1.01 1.00
7 1.49 1.32 1.27 1.17 1.28
8 1.40 1.29 1.21 1.13 1.24
Average 1.26 1.18 1.12 1.07 1.12
60 1 1.26 1.15 1.14 1.08 1.10
2 1.21 1.15 1.11 1.07 1.09
3 1.22 1.14 1.12 1.08 1.09
4 1.02 1.02 1.01 1.01 1.01
5 1.45 1.31 1.25 1.16 1.31
6 1.15 1.13 1.06 1.02 1.00
7 1.56 1.41 1.28 1.22 1.38
8 1.25 1.17 1.10 1.04 1.09
Average 1.26 1.18 1.13 1.08 1.13
70 1 1.24 1.15 1.13 1.09 1.11
2 1.22 1.15 1.11 1.07 1.09
3 1.22 1.16 1.13 1.08 1.11
4 1.05 1.02 1.02 1.02 1.02
5 1.30 1.27 1.16 1.11 1.25
6 1.22 1.20 1.11 1.05 1.05
7 1.65 1.47 1.33 1.25 1.46
8 1.36 1.27 1.15 1.09 1.17
Average 1.28 1.21 1.14 1.09 1.16
80 1 1.19 1.17 1.12 1.08 1.09
2 1.19 1.15 1.12 1.08 1.10
3 1.17 1.13 1.09 1.06 1.09
4 1.03 1.03 1.02 1.02 1.02
5 1.36 1.33 1.18 1.12 1.33
6 1.20 1.20 1.11 1.06 1.08
7 1.45 1.39 1.24 1.18 1.38
8 1.36 1.34 1.19 1.15 1.25
Average 1.24 1.22 1.13 1.09 1.17
90 1 1.18 1.14 1.10 1.07 1.09
2 1.18 1.14 1.11 1.07 1.09
3 1.17 1.15 1.11 1.07 1.09
4 1.04 1.04 1.03 1.03 1.03
5 1.32 1.34 1.20 1.14 1.30
6 1.15 1.18 1.06 1.03 1.02
7 1.49 1.46 1.29 1.19 1.45
8 1.35 1.32 1.20 1.15 1.24
Average 1.24 1.22 1.14 1.09 1.16
100 1 1.19 1.14 1.10 1.07 1.09
2 1.19 1.16 1.12 1.07 1.10
3 1.17 1.14 1.10 1.07 1.10
4 1.05 1.04 1.02 1.02 1.03
5 1.37 1.40 1.22 1.17 1.36
A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420 417

Table 2 (continued)
n Class H1/V H2/V HA/V TS/V BB/V
6 1.25 1.26 1.14 1.09 1.10
7 1.46 1.41 1.23 1.16 1.41
8 1.23 1.25 1.14 1.10 1.16
Average 1.24 1.22 1.13 1.09 1.17

Two different diversification actions are per- type 4: wj uniformly random in ½12 W ; W , hj in
formed alternatively. The first one (‘soft’ diversifi- ½12 H ; H , dj in ½12 D; D ;
cation) simply consists in selecting as target bin the type 5: wj uniformly random in ½1; 12 W , hj in
one having the second smallest filling function value ½1; 12 H , dj in ½1; 12 D ;
(see (2)). The second one (‘hard’ diversification)
consists in re-packing into separate bins the items for Class k (k ¼ 1; . . . ; 5), each item is of type k
currently packed in the bzc =2c bins with the small- with probability 60%, and of the other four types
est uðSi Þ value. In both cases, all tabu lists are reset with probability 10% each. Classes 6–8 are as
to empty, and the search is restarted with k ¼ 1. follows:
Preliminary computational experiments allowed
to set the parameters needed by the Tabu Search Class 6: bin size W ¼ H ¼ D ¼ 10; wj ; hj ; dj uni-
to the following values: a ¼ 1:5, kmax ¼ 3, sk ¼ 20 formly random in ½1; 10 ;
for all k, and ‘ ¼ 100 25ðk 1Þ. (More details Class 7: bin size W ¼ H ¼ D ¼ 40; wj ; hj ; dj uni-
on these experiments can be found in Lodi [5].) formly random in ½1; 35 ;
Class 8: bin size W ¼ H ¼ D ¼ 100; wj ; hj ; dj
uniformly random in ½1; 100 .
4. Computational experiments
In Tables 1–3, the proposed algorithms are
The algorithms of the two previous sections compared with the algorithms proposed by Mar-
were coded in FORTRAN 77 and run on a Digital tello et al. [8], namely heuristic algorithms H1 and
Alpha 533 MHz. For algorithm HA of Section 2, H2 and exact algorithm BB. For each class, 140
the parameters were experimentally set to the fol- instances were solved, 10 for each value of
lowing values: b ¼ 0:75; q ¼ 0:3 for Phase 1 and n 2 f10; 15; 20; 25; 30; 35; 40; 45; 50; 60; 70; 80; 90;
q ¼ 0:2 for Phase 3; l ¼ 0:7 for Phase 1 and l ¼ 0:3 100g, yielding a total of 1120 instances. In Tables 1
for Phase 3. The algorithms were tested on eight and 2, we report, for each algorithm, the aver-
classes of instances proposed by Martello et al. [8]. age ratio (solution value)/V, where V is the opti-
(The instance generator is available at http:// mal solution value if known, or the highest lower
www.diku.dk/pisinger/codes.html.) The same bound value otherwise. V was computed by run-
classes have been used by Færø et al. [4] for testing ning the branch-and-bound algorithm of [8] with a
their Guided Local Search heuristic (GLS) for 3BP. time limit of 2000 CPU seconds on a HP PA9000/
For Classes 1–5, the bin size is W ¼ H ¼ D ¼ 782 (200 MHz). The Tabu Search algorithm, TS,
100 and the following five types of items are con- was run with a time limit of 15 CPU seconds for
sidered: instances with n < 50, and with a time limit of 60
CPU seconds for instances with n P 50. The com-
type 1: wj uniformly random in ½1; 12 W , hj in puting times of algorithm HA, as well as those of
½23 H ; H , dj in ½23 D; D ; H1 and H2, were negligible.
type 2: wj uniformly random in ½23 W ; W , hj in Although the proposed algorithms can only
½1; 12 H , dj in ½23 D; D ; obtain solutions composed by layers (thus solving
type 3: wj uniformly random in ½23 W ; W , hj in a more constrained packing problem), Tables 1
½23 H ; H , dj in ½1; 12 D ; and 2 show a satisfactory behavior of HA and TS
418 A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420

with respect to H1 and H2. In particular, HA

Percentage
dominates H1 on all instances, and dominates H2
for n > 30. The Tabu Search approach was effec-

95.80
21.79
60.18
tive in improving the solutions found by HA: with
few exceptions for very small instances, it domi-
nates all other heuristic algorithms. Furthermore,
Total
1073
244
674
for sufficiently large n values, it produced solutions
consistently better than the best incumbent solu-
tions obtained by branch-and-bound within a much
100
79
47
4

larger time limit.


The good behavior of TS is further illustrated in
Table 3, where we report aggregated results com-
90
78
39
13

paring it with the branch-and-bound algorithm,


BB. For each value of n, we give the number of
instances (over 80) where TS: (i) was at least as
80
78
39
15

good as BB; (ii) was strictly better than BB, and


(iii) obtained a proven optimal solution.
70
78
36
20

Finally, in Table 4, we compare our TS approach


with the Guided Local Search heuristic, GLS,
recently proposed by Færø et al. [4]. This algorithm
60
78
29
29
Aggregated results for Tabu Search; entries give the number of instances out of 80 (1120 in total)

is not restricted to layer packings. We ran TS on the


same instances considered in [4], i.e., Classes 1–8
50
79
21
43

with n 2 f50; 100; 150; 200g. The entries give, for


each algorithm and for different time limits, the
average solution value (number of bins) over 10
45
75
13
50

instances. The values in columns GLS are taken


from [4], where, for Classes 2 and 3, the authors say
73

57
8
40

that the results were very similar to those of Class 1


(without explicitly reporting them). The experi-
ments of Færø et al. [4] were performed on a Digital
35
75
10
67

workstation 500 a.u. 500 MHz, similar in speed to


the Digital Alpha 533 MHz we used. The results
77

74
1
30

show a satisfactory behavior of both approaches.


In one third of the cases, they produced exactly the
same average solution values. For Classes 1 (hence,
75

74
1
25

presumably, 2 and 3 as well) and 4, TS is gener-


ally better than GLS. The reverse holds for Classes
77

77
0

5, 7 and 8, while equivalent performances can be


20

observed for Class 6. It turns out that the two


approaches complement each other well.
74

74
0
15
77

77
0

Acknowledgements
10

We thank the Ministero dell’Universita e della


TS < BB
TS 6 BB

TS opt

Ricerca Scientifica e Tecnologica (MURST) and


Table 3

the Consiglio Nazionale delle Ricerche (CNR),


n

Italy, for the support given to this project. The


A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420 419

Table 4
Comparison of metaheuristic approaches
Class n GLS TS
tl ¼ 60 tl ¼ 150 tl ¼ 1000 tl ¼ 60 tl ¼ 150 tl ¼ 1000
1 50 13.4 13.4 13.4 13.4 13.4 13.4
100 26.9 26.7 26.7 27.1 26.6 26.6
150 37.5 37.2 37.0 37.3 37.3 36.7
200 52.8 52.1 51.2 51.9 51.6 51.2
2 50 – – – 13.8 13.8 13.8
100 – – – 25.8 25.7 25.7
150 – – – 37.5 37.4 37.2
200 – – – 50.5 50.5 50.1
3 50 – – – 13.4 13.3 13.3
100 – – – 26.3 26.3 26.0
150 – – – 38.1 38.0 37.7
200 – – – 50.6 50.6 50.5
4 50 29.4 29.4 29.4 29.4 29.4 29.4
100 59.0 59.0 59.0 59.0 59.0 59.0
150 87.1 86.9 86.8 86.8 86.8 86.8
200 119.9 119.7 119.0 118.8 118.8 118.8
5 50 8.3 8.3 8.3 8.4 8.4 8.4
100 15.1 15.1 15.1 15.1 15.1 15.0
150 20.7 20.3 20.2 20.7 20.7 20.4
200 27.8 27.5 27.2 28.0 27.8 27.6
6 50 9.8 9.8 9.8 9.9 9.9 9.9
100 19.3 19.1 19.1 19.3 19.1 19.1
150 29.5 29.4 29.4 29.7 29.4 29.4
200 38.5 38.0 37.7 38.2 38.0 37.7
7 50 7.4 7.4 7.4 7.5 7.5 7.5
100 12.5 12.3 12.3 12.6 12.5 12.5
150 16.1 15.8 15.8 16.5 16.3 16.1
200 24.4 24.1 23.5 24.6 24.4 23.9
8 50 9.2 9.2 9.2 9.3 9.3 9.3
100 18.9 18.9 18.9 19.0 18.9 18.9
150 24.5 24.1 23.9 24.6 24.6 24.1
200 30.6 30.1 29.9 31.0 30.9 30.3

computational experiments have been executed at natorial Optimization, Kluwer Academic Publishers, Bos-
the Laboratory of Operations Research of the ton, MA, 1999, pp. 151–207.
[2] E.G. Coffman Jr., M.R. Garey, D.S. Johnson, Approxima-
University of Bologna (Lab. OR). Thanks are also tion algorithms for bin packing: A survey, in: D.S. Hoch-
due to Matteo Porc u for his help with program- baum (Ed.), Approximation Algorithms for NP-Hard
ming. Problems, PWS Publishing Company, Boston, 1997, pp.
46–93.
[3] H. Dyckhoff, G. Scheithauer, J. Terno, Cutting and packing
(C&P), in: M. Dell’Amico, F. Maffioli, S. Martello (Eds.),
References Annotated Bibliographies in Combinatorial Optimization,
Wiley, Chichester, 1997, pp. 393–413.
[1] E.G. Coffman Jr., G. Galambos, S. Martello, D. Vigo, Bin [4] O. Færø, D. Pisinger, M. Zachariasen, Guided local search
packing approximation algorithms: Combinatorial analysis, for the three-dimensional bin packing problem, Technical
in: D.-Z. Du, P.M. Pardalos (Eds.), Handbook of Combi- paper, DIKU, University of Copenhagen, 1999.
420 A. Lodi et al. / European Journal of Operational Research 141 (2002) 410–420

[5] A. Lodi, Algorithms for two-dimensional bin packing and problems, INFORMS Journal on Computing 11 (1999)
assignment problems, Ph.D. Thesis, University of Bologna, 345–357.
Italy, 2000. [8] S. Martello, D. Pisinger, D. Vigo, The three-dimensional
[6] A. Lodi, S. Martello, M. Monaci, Two-dimensional packing bin packing problem, Operations Research 48 (2000) 256–
problems: A survey, European Journal of Operational 267.
Research, this issue. [9] S. Martello, P. Toth, Knapsack Problems: Algorithms
[7] A. Lodi, S. Martello, D. Vigo, Heuristic and metaheuristic and Computer Implementations, Wiley, Chichester,
approaches for a class of two-dimensional bin packing 1990.

All in-text references underlined in blue are linked to publications on ResearchGate, letting you access and read them immediately.

You might also like