0 views

Uploaded by Gabriel Lucas

Fine strategy of loading algo

- 20.IJASRAPR201720
- Binary Artificial Bee Colony Algorithm for Solving 0-1 Knapsack Problem
- 2_1_35-46
- JCW Case
- Introduction to Backtracking
- my paper 11
- GA
- CPM - 13
- 12 Recursive Backtracking
- Optimal design of storm water inlets for highway drainage
- Backtracking 40 Page
- Chapter 8
- Slide Perkenalan VIP-Plan Opt
- CHAPTER 6 - Transportation
- modCsoln
- Modified Non-stationary Critical Input Excitation by a Design Oriented Objective Function
- Advanced Automation & Robotics
- 99-0878
- Mar 818 Exam
- Taylored Roller Blank

You are on page 1of 11

www.elsevier.com/locate/dsw

David Pisinger *

Abstract

The knapsack container loading problem is the problem of loading a subset of rectangular boxes into a rectangular

container of ﬁxed dimensions such that the volume of the packed boxes is maximized. A new heuristic based on the

wall-building approach is proposed, which decomposes the problem into a number of layers which again are split into a

number of strips. The packing of a strip may be formulated and solved optimally as a Knapsack Problem with capacity

equal to the width or height of the container. The depth of a layer as well as the thickness of each strip is decided

through a branch-and-bound approach where at each node only a subset of branches is explored.

Several ranking rules for the selection of the most promising layer depths and strip widths are presented and the

performance of the corresponding algorithms is experimentally compared for homogeneous and heterogeneous in-

stances. The best ranking rule is then used in a comprehensive computational study involving large-sized instances.

These computational results show that instances with a total box volume up to 90% easily may be solved to optimality,

and that average ﬁllings of the container volume exceeding 95% may be obtained for large-sized instances. 2002

Elsevier Science B.V. All rights reserved.

work of Gilmore and Gomory [13] in the early

The problem addressed in this paper is that of sixties, and numerous papers and algorithms have

orthogonally packing a subset of some given been presented for its solution. There are, how-

rectangular-shaped boxes into a rectangular con- ever, several variants of the container loading

tainer of ﬁxed dimensions. The problem has nu- problem depending on the objective function and

merous applications in the cutting and packing side constraints present.

industry, e.g., when cutting wood or foam rubber Strip packing. In this variant of the problem,

into smaller pieces, loading pallets with goods, or the container has ﬁxed width and height but inﬁ-

ﬁlling containers with cargo. An optimal ﬁlling of nite depth. The problem is to pack all boxes such

a container reduces the shipping costs as well as that the depth of the container is minimized. The

increasing the stability and support of the load. strip packing problem has applications in multi-

drop situations, where the load should be divided

into distinct sections corresponding to the diﬀer-

*

Tel.: +45-35-32-14-00; fax: +45-35-32-14-01. ent destinations. Several algorithms for this prob-

E-mail address: pisinger@diku.dk (D. Pisinger). lem are compared in Bischoﬀ and Marriott [2].

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 2 - 7

D. Pisinger / European Journal of Operational Research 141 (2002) 382–392 383

The multi-drop problem in general is considered in cargo consists of identical boxes it is denoted ho-

Bischoﬀ and Ratcliﬀ [3]. mogeneous, while it is strongly heterogeneous if

Knapsack loading. In the knapsack loading of a many diﬀerent types of boxes are present. In the

container each box has an associated proﬁt, and case of a small set of box types in the cargo, the

the problem is to choose a subset of the boxes that problem is denoted weakly heterogeneous. As

ﬁts into a single container so that maximum proﬁt noted by Gehring and Bortfeldt [10] algorithms for

is loaded. If the proﬁt of a box is set to its volume, the container loading problem frequently assume a

this problem corresponds to the minimization of speciﬁc distribution of the box types which makes

wasted space. Heuristics for the knapsack loading them perform badly when given an instance with a

problem have been presented in Gehring et al. [11] diﬀerent distribution of the boxes.

and Scheithauer [21]. The problem considered in this paper is the

Bin-packing. In this problem, all containers have Knapsack Container Loading Problem (KCLP)

ﬁxed dimensions, and all the boxes are to be packed where we assume that the proﬁt of a box equals its

into a minimum number of containers. This prob- volume. The boxes may be rotated in any or-

lem has been considered in Scheithauer [20], Faroe thogonal directions, although it is easy to modify

et al. [9], and Martello et al. [16]. The latter paper the algorithm such that it respects constraints on

considers exact methods for the solution. the orientation. The objective is to ﬁll the con-

Multi-container loading. This problem is similar tainer most possible, without taking the support

to the Bin-packing problem except that the con- of the items into consideration. In principle, the

tainers may have varying dimensions and the ob- empty spaces could be ﬁlled out with foam rubber

jective is to choose a subset of the containers which to ensure a proper support of the boxes. As will be

results in the minimum shipping costs. Formula- clear from the computational experiments, very

tions and solution methods are discussed in Chen little empty space is left open thus limiting the need

et al. [5]. for extra support.

For a general classiﬁcation of packing and We will use the following terminology: the

loading problems, we refer to Dyckhoﬀ [7] and container has width W, height H and depth D. A

Dyckhoﬀ et al. [8]. Several other constraints may set N ¼ f1; . . . ; ng of boxes is given, each box j

be imposed to the above problems: Only speciﬁc having width wj , height hj and depth dj . The vol-

rotations (if any) may be allowed, feasible solu- ume of each box is vj ¼ wj hj dj .

tions might be restricted to those which are guil- The organization of this paper is the following:

lotine cuttable, it may be demanded that the Section 2 presents several heuristics for the KCLP

weight of the container is balanced, there may be with special focus on the wall-building approach

restrictions on which or how many boxes may be presented by George and Robinson [12]. In Section

put on top of each other, or it may be necessary to 3, we present an improved algorithm based on

place boxes from one lot next to each other. Also the wall-building approach which incorporates a

the support of the boxes must be taken into con- backtracking step to improve the solution quality.

sideration, as a box cannot be placed at a corner of The layer itself is packed by considering a number

another box only. Bischoﬀ and Ratcliﬀ [3] give an of strips of alternating directions, where each strip

excellent overview of practical requirements which is solved optimally as a Knapsack Problem. Al-

may be imposed to the problem. though both approaches include a backtracking

A related problem is the pallet loading problem. facility the depths of the considered layers and

As pallets unlike containers provide no lateral strips should be chosen with care. Thus Section 3.1

support for the boxes, the stability of the loading proposes 27 ranking functions to select an appro-

arrangement is an important constraint. A heuristic priate subset of promising layer depths and strip

algorithm for the pallet loading problem with non- widths. Computational experiments with homoge-

identical items was presented by Bischoﬀ et al. [1]. neous and heterogeneous instances are reported in

One should also distinguish between homoge- Section 4 where all the diﬀerent ranking func-

neous and heterogeneous types of cargo. If the tions are considered for the tree-search algorithm.

384 D. Pisinger / European Journal of Operational Research 141 (2002) 382–392

The paper is concluded by some ﬁnal remarks in ing. Each slicing tree corresponds to a guillotine

Section 5. A ﬁrst version of this paper appeared in partitioning of the container into smaller parts,

[19]. where the leaf nodes correspond to the boxes. The

cuboid arrangement approach, presented by Bort-

feldt and Gehring [4], recursively ﬁlls the container

2. Heuristic algorithms with cuboid arrangements (arrangement of similar

boxes). Cuboid arrangements will always provide

The KCLP is NP-hard in the strong sense and a suﬃcient support of the boxes. Tabu search can

also in practice very diﬃcult to solve. Only small- be applied to iteratively improve the local ar-

sized instances can be solved to optimality thus rangements.

when dealing with real-life instances of large size The heuristic algorithm presented in this paper

heuristic approaches are applied. The most com- is based on the wall building approach, thus in

mon heuristic approaches can be classiﬁed as wall the following we will go into details with previous

building algorithms, stack building algorithms, algorithms based on this approach. George and

guillotine cutting algorithms, and cuboid arrange- Robinson [12] presented the ﬁrst wall building

ment algorithms. The wall-building approach, in- heuristic for KCLP. Only layer depths d which

troduced by George and Robinson [12], ﬁlls the equal some box dimensions were considered (these

container in a number of layers across the depth of are called normalized layer depths), but still the

the container as illustrated in Fig. 1. The wall depth of a layer must be carefully selected to ob-

building approach has been used by e.g., Bischoﬀ tain a good performance. Hence, when opening a

and Marriott [2], Hemminki [14], and Gehring new layer, George and Robinson apply a ranking

et al. [11]. The stack building approach, proposed rule for selecting d: among the remaining boxes

by Gilmore and Gomory [13], packs the boxes into they choose the box ‘ which has largest size of the

suitable stacks which then are arranged at the ﬂoor smallest dimension, the rationale being that such a

of the container by solving a two-dimensional box may be diﬃcult to accommodate later in the

packing problem. Using a genetic algorithm for packing procedure. The box is rotated such that its

solving the two-dimensional packing problem, depth d‘ is maximized, and the layer depth d is

Gehring and Bortfeldt [10] presented a heuristic then chosen as d ¼ d‘ .

based on this idea. Morabito and Arenales [17] Having determined the depth of a layer, the

proposed the guillotine cutting approach which is wall is packed in a greedy way as a number of

based on a slicing tree representation of the pack- horizontal strips (see Fig. 2). Every strip is packed

D. Pisinger / European Journal of Operational Research 141 (2002) 382–392 385

Once the layer depth and strip width has been

settled, a single strip may ﬁlled optimally by

solving a Knapsack Problem (KP). For every layer

depth d10 ; . . . ; dM0 1 , we choose the layer ﬁlling which

has the overall best use of the volume before

Fig. 2. Each layer is ﬁlled by a number of horizontal strips. proceeding to the next layer. This leads to the

following algorithm:

by consecutively inserting boxes with the largest For a given subset of boxes N 0 , residual con-

ranking, where the ranking is based on the smallest tainer depth d and previous packing of volume

dimension of a box (the larger it is, the larger V, the recursive procedure choose_depth selects

ranking). In case of ties, the ranking rule depends M1 diﬀerent layer depths according to the ranking

on the number of remaining boxes of a given type rule to be described in Section 3.1. For each depth

and on the length of the largest dimension. d 0 , it is attempted to pair boxes two by two in

Bischoﬀ and Marriott [2] compare 14 heuristics order to obtain uniform dimensions. This ap-

based on the wall-building approach, where dif- proach will be described in Section 3.3. The layer

ferent ranking functions are applied. Their results of dimensions W H d 0 is then ﬁlled by calling a

indicate that there is no clear winning strategy thus procedure fill_layer. The chosen boxes L for

they propose a ‘‘hybrid’’ version where all 14 the current layer are removed from the problem,

heuristics are run and the best solution is selected. and choose_depth is called recursively. The al-

A major disadvantage about the proposed wall- gorithm backtracks when there is no more space

building heuristics is that they are greedy, i.e., they for a layer. The procedure makes use of two global

make locally optimal choices which however may variables: X is the currently best solution (i.e., a

lead to bad ﬁnal solutions. To obtain a better set of chosen boxes and their positions), and V is

performance it is necessary to have a kind of the corresponding volume. Initially, one should set

backtracking possibility. Hemminki [14] presented V ¼ 0 before calling choose_depth ðD; 0; N Þ.

a genetic algorithm for choosing the depths of the Upon completion, X is the heuristic solution and

layers. Each chromosome consists of a string of V its volume.

layer depths, and as the generations evolve, proper

combinations of layers will appear.

if V > V then Save solution in X ,

Our algorithm is an extension of the wall- set V V.

building approach where a tree-search algorithm is if d < minj2N 0 minfwj ; hj ; dj g then return;

used to ﬁnd the set of layer depths and strip widths Select M1 best ranked layer

which results in the best overall ﬁlling. Ideally we depths fd10 ; d20 ; . . . ; dM0 1 g.

would like to consider all normalized layer depths for each depth d 0 2 fd10 ; d20 ; . . . ; dM0 1 g

and strip widths, but this would be computation- begin

ally too expensive. To decrease the complexity an Pair boxes to obtain a depth

m-cut approach [15] is used for the enumeration close to d 0 , and set U 0;

where only a ﬁxed number of sub-nodes are con- Call fill_layerðW ; H ; d 0 ; 0; N 0 Þ;

sidered for every branching node. Let L be the chosen boxes, and

Hence, at each branching node we consider M1 U their volume.

diﬀerent layer depths selected according to a spe- Call choose_depthðd d 0 ; V þ U ;

ciﬁc ranking rule. Each layer is then ﬁlled as a N 0 n LÞ;

number of strips, where the strips may be oriented end;

horizontally or vertically. Again, only a limited

386 D. Pisinger / European Journal of Operational Research 141 (2002) 382–392

layer of dimensions w h d 0 with a subset of the

items N 00 . The volume of already placed boxes in If the bound shows that it will not be possible to

this layer is given by the parameter U. The layer is reach a better solution than the current incumbent

ﬁlled by a number of strips which may be ei- solution U , a backtracking step is performed. A

ther vertical or horizontal. Before ﬁlling a strip, similar approach is used for the choose_depth

some preprocessing of the items in N 00 is made, algorithm.

such that they are rotated to occupy least possi- The fill_layer algorithm may have exces-

ble height (or width). This is further described sive computational times if all the boxes are very

in Section 3.2. The procedure makes use of the small and thus the search tree gets very deep. To

global variables L and U , holding the current best get around this problem an upper limit R1 is im-

ﬁlling of the layer and the corresponding objective posed on the depth of the search tree. For nodes

value. with a larger depth in the tree than R1 the number

of considered widths or heights is set to M2 ¼ 1.

An additional bound R2 is assigned to the number

of branching nodes considered in fill_layer.

algorithm fill_layer ðw; h; d 0 ; U ; N 00 Þ Having reached this number the algorithm imme-

if U > U then Save solution in L, diately terminates, returning the incumbent solu-

set U U; tion.

‘ minj2N 00 minfwj ; hj ; dj g;

if ðw < ‘Þ or ðh < ‘Þ then return;

3.1. Ranking of depths and widths

comment: pack vertical strip:

Select M2 best ranked widths

At each branching node we consider the M1 best

fw01 ; w02 ; . . . ; w0M2 g.

ranked depths of a layer, or the M2 best ranked

for each width w0 2 fw01 ; w02 ; . . . ; w0M2 g

widths/heights of a strip. Computational experi-

begin

ments showed that the performance of the algo-

Rotate the boxes and solve a KP

rithm strictly depends on the ranking of these

with capacity h. Let K be the

dimensions, thus several ranking functions were

set of chosen boxes.

investigated.

Call fill_layerðw w0 ; h; U þ

P 00

All the ranking functions are based on some

j2K vj ; N n KÞ; statistics on the dimensions of the remaining

end;

boxes. Thus let a and b be the smallest, respec-

comment: pack horizontal strip:

tively, largest dimension of the boxes, taking into

select M2 best ranked heights

account that the resulting layer or strip should ﬁt

fh01 ; h02 ; . . . ; h0M2 g.

within the container at the present stage of the al-

for each height h0 2 fh01 ; h02 ; . . . ; h0M2 g

gorithm. We consider three diﬀerent frequency

begin

functions.

Rotate the boxes and solve a KP

with capacity w. Let K be the

• For a given value of k the frequency func-

set of chosen boxes.

tion f 1 returns the number of occurrences of

Call

P fill_layerðw; h h0 ; U þ

00 this dimension among the remaining boxes,

j2K vj ; N n KÞ; considering all dimensions wi ; hi ; di of the boxes:

end;

X

n

fk1 ¼ 1ðwi ¼k_hi ¼k_di ¼kÞ for k ¼ a; . . . ; b:

i¼1

In order to speed up the fill_layer algorithm

an upper bound is derived at each recursive call as • The second frequency function f 2 returns the

follows: number of occurrences of dimension k among

D. Pisinger / European Journal of Operational Research 141 (2002) 382–392 387

the remaining boxes, considering only the larg- situations where M is large. This should make

est dimension of each box: it easier to select the proper number of dimen-

Xn

sions.

fk2 ¼ 1ðmaxfwi ;hi ;di g¼kÞ for k ¼ a; . . . ; b: (e) Choose the most frequent dimensions, i.e., the

i¼1

M dimensions k with largest values of fk .

• Finally, the frequency function f 3 returns the (f) This priority rule is equivalent to rule (b) but if

number of occurrences of dimension k among less than M dimensions are selected, priority

the remaining boxes, considering only the rule (a) is applied for the remaining dimensions

smallest dimension of each box: to be chosen.

X

n (g) This priority rule is equivalent to (c), using

fk3 ¼ 1ðminfwi ;hi ;di g¼kÞ for k ¼ a; . . . ; b: rule (a) if less than M dimensions are selected.

i¼1

(h) This priority rule is equivalent to (c), using

All the above frequency functions only consider wi rule (e) for the remaining dimensions.

and hi of a box i for the case when M2 best ranked (i) This priority rule is equivalent to (d), with rule

widths/heights of a strip are selected. This is due to (e) for the remaining dimensions.

the fact, that the depth of the layer already has

been ﬁxed and the boxes have been rotated such In certain situations, it may not be possible to ﬁnd

that di ﬁts the layer depth. all the wanted M dimensions. In such a case, the

Based on the three frequency functions, we may algorithm simply considers this smaller set.

deﬁne a number of priority rules. The motivation Notice the generality of the above frequency

of all the rules is either to choose the largest di- functions and priority rules. E.g., the priority

mensions ﬁrst (in order to get rid of the diﬃcult function of George and Robinson – selecting

boxes) or to choose the most frequent dimensions the layer depth according to the largest value of

(to obtain a homogeneous layer or strip with a the smallest dimension of a box – can be achieved

good ﬁlling). Several of the priority rules express a by using frequency function f 3 with priority rule

tradeoﬀ between these two goals. (a).

(a) Choose the largest dimensions, i.e., choose the 3.2. Filling a single strip

M largest dimensions k with fk > 0.

(b) Choose the largest dimensions with increasing Strips may be ﬁlled horizontally or vertically.

frequency, i.e., ﬁrst choose the largest dimen- Since the cases are symmetrical, we will consider a

sion k with fk P 1. Then choose the largest di- vertical ﬁlling in the following. The ﬁlling of a

mension k 0 with fk0 > fk . Repeat this process single strip of width w0 and depth d 0 may be for-

until up to M dimensions have been selected. mulated as a Knapsack Problem. First, each box j

(c) Choose the largest dimensions with pseudo- is rotated in one of six directions such that wj 6 w0 ,

increasing frequency (ﬁrst version), i.e., ﬁrst dj 6 d 0 and hj is minimized. If it is not possible to

choose the largest dimension k with fk P 1. ﬁt the box j within w0 d 0 then add it to the set of

Then choose the largest dimension k 0 with discarded boxes D. Otherwise set

fk0 P 2. The ith chosen value should have fre- aj ¼ hj ; cj ¼ vj ¼ wj hj dj

quency fk P i.

(d) Choose the largest dimensions with pseudo in- for each feasible box j 2 N n D. Then the strip

creasing frequency (second version), i.e., ﬁrst packing problem becomes

X

choose the largest dimension k with fk P 1. maximize cj xj

The ith chosen value should have frequency j2N nD

fk P 4i=M, where M is the number of dimen- X

sions to be selected. The motivation for prior- subject to aj xj 6 b;

j2N nD

ity rule (d) in comparison to (c) is to have a

slower increase in the frequency demands for xj 2 f0; 1g; j 2 N n D;

388 D. Pisinger / European Journal of Operational Research 141 (2002) 382–392

where N n D is the set of feasible boxes, and b is the since this gave a good trade-oﬀ between solution

strip height h from algorithm fill_layer. The quality and computational time. The maximum

resulting problem is a Knapsack Problem (KP) depth of the search tree in fill_layer was set to

which may be solved in OðjN n DjbÞ time through R1 ¼ 6, and the maximum nodes considered in a

dynamic programming. single call to fill_layer was set to R2 ¼ 10 000.

In the computational experiments we used the Finally a time limit of 120 seconds was assigned to

very eﬀective minknap algorithm from Pisinger each instance. The code is available for academic

[18] for solving the strip problem. Since about half use at http://www.diku.dk/pisinger.

a million of knapsack problems are solved during Data instances were randomly generated using

a typical ﬁlling of a single container, the majority the scheme of Hemminki [14] which reﬂects typical

of the computational time is spent for solving this properties of industrial loading problems. The

problem. container has dimensions W ¼ H ¼ 230 and D ¼

590, corresponding to the size of a standard 20 ft

3.3. Pairing of boxes container (measured in cm). Twenty diﬀerent box

types are generated with wj ; hj and dj randomly

The solution found by the KP may be improved distributed in the interval ½25; 115. Then the

by pairing boxes two by two whenever possible. cargo is generated by randomly choosing box i as

Since the complexity of this algorithm is Oðn2 Þ it is one of the 20 box types. New boxes are generated

only executed once for each layer having depth d 0 . until the overall volume of the boxes exceeds

Thus assume that a box j has been rotated such Tc ¼ 90% of the containers volume WHD. In this

that its depth dj is largest possible satisfying way, each instance consists of about 50–150 boxes.

dj 6 d 0 . A measure of how well it ﬁlls the depth is We will denote these instances weakly heteroge-

aðjÞ ¼ vj =ðwj hj d 0 Þ ¼ dj =d 0 . We aim at improving neous.

this ﬁlling by pairing box j with another box i. Table 1 shows a typical weakly heterogeneous

Thus for each box i 6¼ j all diﬀerent rotations instance. The box types are given by their width

of i and j are considered where di þ dj 6 d 0 each wj , height hj and depth dj and the last row shows

time deriving the ﬁlling ratio bði; jÞ ¼ ðvi þ vj Þ= how many boxes were generated of the given type.

ðd 0 maxfwi ; wj g maxfhi ; hj gÞ. If bði; jÞ 6 aðjÞ for all Fig. 3 shows a packing chart of the instance where

boxes i and all rotations, then the box j remains it was possible to ﬁt all boxes into the container.

alone. Otherwise, the box i (and corresponding To get a more balanced picture of the algo-

rotation) leading to the largest value of bði; jÞ is rithm, we also considered homogeneous problems

chosen and a new box k is constructed with di- where only one box type is present, and strongly

mensions heterogeneous problems where all boxes may have

diﬀerent dimensions. The strongly heterogeneous

wk ¼ maxfwi ; wj g; hk ¼ maxfhi ; hj g; dk ¼ d 0 : problems involve 70–100 boxes, while the homo-

ð1Þ geneous problems involve 20–700 boxes. Due to

the diversity in the number of boxes in a homo-

The original boxes i and j are temporarily removed

geneous problem, the algorithm is tested in quite

from the problem, to avoid that they are selected

extreme situations.

twice in the layer ﬁlling.

In order to determine the best ranking function

from Section 3.1 a series of 100 problems was run

for each ranking function. The three frequency

4. Computational experiments functions and nine ranking rules could be com-

bined into 27 ranking functions. The outcome of

The above algorithm was implemented in C and this test is shown in Table 2 where the ﬁrst two

tests were run on a AMD Athlon 1.1 GHz pro- columns deﬁne the priority rule, and the following

cessor. Appropriate values of M1 and M2 were three columns give the average percentage of the

experimentally found to be 4 and 8, respectively, volume which was ﬁlled, the average number of

D. Pisinger / European Journal of Operational Research 141 (2002) 382–392 389

Table 1

Dimensions of boxes for instance number 76 with Tc ¼ 90%

Box type 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Width wj 85 36 68 71 28 109 94 32 52 29 42 97 106 105 107 39 29 31 39 101

Height hj 60 69 26 100 31 29 52 106 115 68 41 59 53 68 43 62 56 47 41 38

Depth dj 26 28 46 100 42 51 43 113 45 44 115 48 40 32 110 80 73 42 114 40

Number 5 7 6 5 6 8 9 6 13 9 12 8 5 3 3 6 7 10 8 10

of boxes

In total 146 boxes were generated with a total volume of 91.8% of the container volume.

Fig. 3. Optimal solution of instance 76 with Tc ¼ 90%. All boxes are packed into the container. The values d state the depth of each

layer. Dotted boxes are placed behind the full-drawn boxes, forming a ‘‘pair’’.

boxes which could not be packed, and ﬁnally the The results in Table 2 show a satisfactory

average solution time. The ﬁrst three columns behavior of the algorithm. The best results are

correspond to the weakly heterogeneous problems, obtained for the heterogeneous problems as the

the next columns are for the strongly heteroge- variance in dimensions apparently makes it easier

neous problems, and ﬁnally the last columns cor- to combine the boxes into appropriate strips and

respond to the homogeneous problems. layers. The ﬁlling rate achieved for these problems

Since the algorithm terminates when an optimal is close to 91%, meaning that nearly all the boxes

ﬁlling has been found, the solution times strictly could be packed. The algorithm also performs

depend on the number of optimal ﬁllings. The quite well for the homogeneous problems where

table clearly demonstrates that frequency function the average ﬁlling rate becomes around 84%. One

f 1 is superior to the two other frequency functions should not expect as good solution values for the

f 2 and f 3 . The best values of the objective function homogeneous problems as it is almost impossible

(pct. vol. ﬁlled) was obtained for ranking functions to obtain a good ﬁlling rate when the dimensions

(h), although function (g) and (i) in general also of the box type are huge.

performed well. Thus ranking rule (h) was selected For the weakly heterogeneous problems,

for the following tests. Hemminki [14] obtained a ﬁlling ratio of 84.5%

390 D. Pisinger / European Journal of Operational Research 141 (2002) 382–392

Table 2

Comparison of the 27 diﬀerent ranking functions for Tc ¼ 90%. Average values of 100 instances

Frequency Priority Weakly heterogeneous Strongly heterogeneous Homogeneous

function rule

pct. vol. Boxes Time pct. vol. Boxes Time pct. vol. Boxes Time

ﬁlled not (seconds) ﬁlled not (seconds) ﬁlled not (seconds)

packed packed packed

f1 (a) 90.44 0.6 13.25 89.44 2.3 14.18 83.79 5.9 35.38

(b) 90.10 1.1 0.76 90.34 1.5 0.68 79.17 9.5 1.57

(c) 90.70 0.3 1.27 90.58 1.2 0.91 83.79 5.9 35.37

(d) 90.73 0.2 4.81 90.87 0.5 2.48 83.79 5.9 35.56

(e) 90.73 0.2 13.39 90.51 1.0 88.07 83.74 6.1 35.95

(f) 90.68 0.3 6.10 90.87 0.6 8.25 83.79 5.9 35.41

(g) 90.77 0.1 4.69 90.88 0.5 6.67 83.79 5.9 35.39

(h) 90.79 0.0 9.33 90.98 0.3 24.86 83.79 5.9 35.41

(i) 90.76 0.1 9.46 90.97 0.3 23.86 83.79 5.9 35.61

f2 (a) 90.11 1.0 13.34 89.42 2.5 13.81 78.89 10.7 0.26

(b) 88.75 2.8 0.46 88.50 4.0 0.10 78.89 10.7 0.26

(c) 90.11 1.3 1.51 89.17 3.5 0.28 78.89 10.7 0.26

(d) 90.36 0.8 2.95 89.79 2.5 0.82 78.89 10.7 0.26

(e) 90.54 0.6 7.36 90.77 0.8 39.79 78.89 10.7 0.26

(f) 90.36 0.9 9.61 90.18 1.8 11.86 78.89 10.7 0.26

(g) 90.42 0.7 8.31 90.34 1.8 11.58 78.89 10.7 0.26

(h) 90.52 0.5 7.57 90.86 0.6 29.03 78.89 10.7 0.26

(i) 90.51 0.6 9.08 90.82 0.7 26.41 78.89 10.7 0.26

f3 (a) 89.86 1.4 81.60 90.55 1.0 77.44 75.66 17.6 0.16

(b) 89.00 2.5 18.60 89.17 3.0 2.34 75.66 17.6 0.16

(c) 89.83 1.4 40.04 89.34 2.7 3.36 75.66 17.6 0.16

(d) 90.04 1.1 53.96 89.93 1.8 11.23 75.66 17.6 0.16

(e) 88.86 1.8 102.33 83.72 3.3 119.43 75.66 17.6 0.16

(f) 89.91 1.3 80.16 90.51 1.1 86.27 75.66 17.6 0.16

(g) 89.95 1.1 73.95 90.46 1.2 88.28 75.66 17.6 0.16

(h) 89.99 1.2 76.90 90.11 1.4 105.06 75.66 17.6 0.16

(i) 89.99 1.1 79.31 90.19 1.5 102.93 75.66 17.6 0.16

using 12 diﬀerent ranking strategies in the George– ﬁlling ratio of around 95% for problems similar to

Robinson algorithm and choosing the best solu- the weakly heterogeneous problems where an un-

tion obtained this way. Using genetic algorithms to limited number of each box type is available. The

choose the depths of the layers Hemminki obtained latter assumption, however, makes it considerably

an average ﬁlling ratio of 87.0%. Bischoﬀ and easier to achieve good packings.

Ratcliﬀ [3] report a ﬁlling ratio of around 83.0% for To see how the tree-search algorithm behaved

problems similar to the weakly heterogeneous when the total volume of the boxes was increased, a

problems (i.e., 20 box types), although the box di- series of tests were run where boxes were generated

mensions are slightly diﬀerent. It should be em- until the overall volume of the boxes exceeded

phasized that Bischoﬀ and Ratcliﬀ only consider Tc ¼ 80%; 85%; 90%; . . . ; 200% of the container

solutions where the boxes are properly supported. volume. The outcome of these experiments is

Bortfeldt and Gehring [4] obtained ﬁlling ratios of summarized in Table 3. For instances with Tc up to

around 83.9% for the same instances, providing full 90%, all the boxes are easily packed into the con-

support of all boxes. Gehring and Bortfeldt [10] tainer. When Tc is increased, it is possible to obtain

obtained a ﬁlling ratio of around 87.7% for weakly an even better ﬁlling rate. This is due to the fact

heterogeneous instances similar to those of Bischoﬀ that additional boxes give more freedom to the

and Ratcliﬀ. Morabito and Arenales [17] obtain a algorithm when solving the strip problems. The

D. Pisinger / European Journal of Operational Research 141 (2002) 382–392 391

Table 3

Performance of the best algorithm, using frequency function f 1 and priority rule (h) as ranking rule, for instances with varying total

volume of the boxes

Min. volume Weakly heterogeneous Strongly heterogeneous

of boxes Tc

Total no. pct. vol. Boxes not Time Total no. pct. vol. Boxes not Time

of boxes ﬁlled packed (seconds) of boxes ﬁlled packed (seconds)

80 75.5 80.79 0.0 0.45 73.4 80.70 0.0 0.46

85 80.2 85.75 0.0 0.76 77.8 85.88 0.0 0.59

90 84.7 90.79 0.0 9.34 82.5 90.98 0.3 24.88

95 89.3 92.95 4.2 84.97 86.8 92.71 4.7 101.72

100 94.1 93.47 8.8 87.47 91.3 93.40 9.3 107.81

110 103.3 94.16 17.2 89.48 100.2 94.20 18.5 115.42

120 113.0 94.44 27.7 89.90 109.5 94.73 28.2 118.80

130 122.6 94.64 36.6 88.64 118.4 95.15 36.8 118.38

140 131.7 94.82 45.5 82.36 127.4 95.46 45.6 117.92

150 140.7 94.92 53.9 74.19 136.8 95.71 54.8 117.37

160 149.8 95.03 63.0 64.56 145.9 95.93 64.4 117.56

170 159.0 95.08 72.0 58.24 155.3 96.13 73.2 118.57

180 168.3 95.23 81.8 51.14 164.5 96.31 82.0 117.59

190 177.6 95.25 90.3 48.05 173.7 96.43 91.1 116.88

200 186.8 95.30 99.4 44.75 182.8 96.57 100.9 115.22

Average values of 100 instances solved.

ﬁlling rate exceeds 95% of the container volume The algorithm diﬀers from previous wall-

for large-sized instances. The solution times are building algorithms for the KCLP in several re-

very reasonable, not exceeding one minute on av- spects: by using the m-cut enumeration scheme for

erage for the weakly heterogeneous problems and choosing depths and widths/heights, the algorithm

two minutes for the strongly heterogeneous prob- has a possibility of backtracking in order to reach

lems. depth and width/height combinations that ﬁt well

As noted by Gehring and Bortfeldt [10] and together. Each strip ﬁlling problem is solved to

Davies and Bischoﬀ [6] the wall building approach optimality by use of an eﬃcient knapsack algo-

makes it easier to obtain a good weight distribu- rithm, and pairings of boxes are allowed to form

tion by repeatedly swapping the walls and inter- layers of uniform depth. Finally, the alternating

changing walls with their mirror image. As the directions of strips (and thus varying lengths of

here generated walls consist of separate strips, the strips) allow us to place small series of similar

strips may also be interchanged and the ordering boxes next to each other.

of the boxes within a strip can be changed. It is a Several ranking rules for the selection of layer

topic of future research to develop a postprocess- depths and strip widths have been investigated,

ing algorithm which will be able to balance the pointing out that a compromise between the larg-

cargo and to improve the support of the boxes. est and most frequent dimensions leads to the best

solution quality.

5. Conclusion

References

A heuristic algorithm for the Knapsack Con-

tainer Loading Problem has been presented [1] E.E. Bischoﬀ, F. Janetz, M.S.W. Ratcliﬀ, Loading pallets

with non-identical items, European Journal of Operational

which is able to ﬁll more than 95% of the total

Research 84 (1995) 681–692.

volume for large-sized instances. This is a consid- [2] E.E. Bischoﬀ, M.D. Marriott, A comparative evaluation

erable improvement compared to previous ap- of heuristics for container loading, European Journal of

proaches. Operational Research 44 (1990) 267–276.

392 D. Pisinger / European Journal of Operational Research 141 (2002) 382–392

[3] E.E. Bischoﬀ, M.S.W. Ratcliﬀ, Loading multiple pallets, [12] J.A. George, D.F. Robinson, A heuristic for packing boxes

Journal of the Operational Research Society 46 (1995) into a container, Computers and Operations Research 7

1322–1336. (1980) 147–156.

[4] A. Bortfeldt, H. Gehring, Applying tabu search to [13] P.C. Gilmore, R.E. Gomory, Multistage cutting stock

container loading problems, in: Operations Research problems of two and more dimensions, Operations Re-

Proceedings 1997, Springer, Berlin, 1998, pp. 533–538. search 13 (1965) 94–120.

[5] C.S. Chen, S.M. Lee, Q.S. Shen, An analytical model [14] J. Hemminki, Container loading with variable strategies in

for the container loading problem, European Journal each layer, presented at ESI-X, EURO Summer Institute,

of Operational Research 80 (1995) 68–76. Jouy-en-Josas, France, 2–15 July 1994.

[6] A.P. Davies, E.E. Bischoﬀ, Weight distribution consider- [15] T. Ibaraki, Enumerative Approaches to Combinatorial

ations in container loading, European Journal of Opera- Optimization – Part 2, Annals of Operations Research 11

tional Research 114 (1999) 509–527. (1987), Baltzer, Basel.

[7] H. Dyckhoﬀ, A typology of cutting and packing problems, [16] S. Martello, D. Pisinger, D. Vigo, The three-dimensional

European Journal of Operational Research 44 (1990) 145– bin packing problem, Operations Research 48 (2000) 256–

159. 267.

[8] H. Dyckhoﬀ, G. Scheithauer, J. Terno, Cutting and [17] R. Morabito, M. Arenales, An AND/OR graph approach

Packing, in: M. Dell’Amico, F. Maﬃoli, S. Martello to the container loading problem, International Transac-

(Eds.), Annotated Bibliographies in Combinatorial Opti- tions in Operational Research 1 (1994) 59–73.

mization, Wiley, Chichester, 1997. [18] D. Pisinger, A minimal algorithm for the 0–1 Knapsack

[9] O. Faroe, D. Pisinger, M. Zachariasen, Guided local Problem, Operations Research 45 (1997) 758–767.

search for the three-dimensional bin packing problem, [19] D. Pisinger, A tree-search heuristic for the container

INFORMS Journal on Computing, 2000, forthcoming. loading problem, Ricerca Operativa 28 (1999) 31–48.

[10] H. Gehring, A. Bortfeldt, A genetic algorithm for solving [20] G. Scheithauer, A three-dimensional bin packing algo-

the container loading problem, International Transactions rithm, Journal of Information Processing and Cybernetics

in Operational Research 4 (1997) 401–418. 27 (1991) 263–271.

[11] M. Gehring, K. Menscher, M. Meyer, A computer-based [21] G. Scheithauer, Algorithms for the container loading

heuristic for packing pooled shipment containers, Euro- problem, in: Operations Research Proceedings 1991,

pean Journal of Operational Research 44 (1990) 277–288. Springer, Berlin, 1992, pp. 445–452.

- 20.IJASRAPR201720Uploaded byTJPRC Publications
- Binary Artificial Bee Colony Algorithm for Solving 0-1 Knapsack ProblemUploaded byKleber Rissardi
- 2_1_35-46Uploaded bysheetal taneja
- JCW CaseUploaded byEshan Bhatt
- Introduction to BacktrackingUploaded byVikram Aditya
- my paper 11Uploaded bysurbhisingha
- GAUploaded byRiza Nindiana Valery
- CPM - 13Uploaded byprasad perka
- 12 Recursive BacktrackingUploaded byCociorba Andrei
- Optimal design of storm water inlets for highway drainageUploaded byandershellman
- Backtracking 40 PageUploaded bySree Neelakanth M
- Chapter 8Uploaded byJunior Loarte Trujillo
- Slide Perkenalan VIP-Plan OptUploaded byYessica Gloria
- CHAPTER 6 - TransportationUploaded byshirley lyn
- modCsolnUploaded byggleichgesinnten
- Modified Non-stationary Critical Input Excitation by a Design Oriented Objective FunctionUploaded byrezakamgar1363
- Advanced Automation & RoboticsUploaded byaidimac
- 99-0878Uploaded byArjun Shende
- Mar 818 ExamUploaded byThan Htet
- Taylored Roller BlankUploaded byFahrgeruste
- Strategic Supply Chain Management in Process IndustriesUploaded byganeshdhage
- Going Organic in Aircraft Carrier DesignUploaded byAltairEnlighten
- ME682 optimizationUploaded bySyed Majeed
- 1Uploaded byEndayenewMolla
- Computer Assignments 2Uploaded bysalim
- me syllabus 2013 regulationUploaded byapi-282104564
- Design and Optimization of Three Phase Induction Motor using Genetic AlgorithmUploaded byeditor3854
- Optimal Management of Renewable Based Mgs an Intelligent Approach Through the Evolutionary AlgorithmUploaded byIJSTR Research Publication
- Kuliah 8 OptimisasiUploaded byzydanputra
- v4-1690-1695Uploaded byDanna Dea

- tortao pra direitaUploaded byGabriel Lucas
- Problema de ContainerUploaded byGabriel Lucas
- tortao pra esquerdaUploaded byGabriel Lucas
- VigitelUploaded byAnonymous ov4KfwW
- FuzzyUploaded byGabriel Lucas
- Entra DasUploaded byGabriel Lucas
- FCT-Lista de Oferta Do 2 Periodo 2015 FCT v8Uploaded byGabriel Lucas
- RedeseduardyUploaded byGabriel Lucas
- Homework 03Uploaded byGabriel Lucas
- Homework 5Uploaded byGabriel Lucas
- AODV (Ad-hoc On-demand Distance Vector) Routing ProtocolUploaded byGabriel Lucas

- AVL Trees - Horowitz Sahni CPP - Lec43Uploaded byhailos
- Towards Generalizing the Success of Monte-Carlo Tree Search Beyond the Game of GoUploaded byolsonbro
- 3 bsc Computer ScienceUploaded byLakshmi Lakshminarayana
- ISETL functionsUploaded byJacob Greenfield
- Crack the InterviewUploaded byPrashant Singh
- Computer SkillsUploaded byVarunBatra
- Decision Trees for Uncertain DataUploaded byocularsystems
- Nc Launch TutorialUploaded byJones Goebel
- Churn Prediction in the Mobile Telecommunications IndustryUploaded byOrkhan Guliyev
- The IJCAI-09 Workshop on Automated Reasoning about Context and Ontology Evolution (ARCOE-09)Uploaded byIvan José Varzinczak
- The Trinary TreeUploaded byeduardo_ricaldi
- CS583 Unsupervised LearningUploaded byAnonymous FLIij1f
- Mio Petri NetUploaded byHassan Ahmed Khan
- Pruning Decision TreesUploaded byLn Amitav Biswas
- A Three Phase Power Flow Algorithm for Distribution System Power Flow Based on Loop Analysis MetUploaded byRafael Rorato
- r5220502 Design and Analysis of AlgorithmsUploaded bysivabharathamurthy
- HM 3320 PenetrationUploaded byKĩSưT
- 3.pdfUploaded bySanjeev Kumar Rawani
- Useful C ProgramsUploaded bySwaraj Kumar
- 1. What Will Be the Output of the Following Code?Uploaded bygrsrik
- Binary TreeUploaded bypram92
- CONNECTIVITY-AWARE AND ADAPTIVE MULTIPATH ROUTING ALGORITHM FOR MOBILE ADHOC AND SENSOR NETWORKSUploaded byJohn Berg
- A Survey On Data Mining Techniques In Customer Churn Analysis For Telecom IndustryUploaded byAnonymous 7VPPkWS8O
- AmortizedAnalysisExplained_FiebrinkUploaded byVo Thanh Minh Tue
- Merkle Hash Tree based Techniques for Data Integrity of Outsourced DataUploaded byUtkarshAgarwal
- Database Management SystemUploaded byedudivya
- Webdynpro ABAP-2Uploaded byArun Praveen
- i3 GuideUploaded bypchirn
- Memory Based Programming AMCAT Questions PART 1 _ AMCATBLOGUploaded byVishnu Kumar
- Algorithms NotesUploaded byWuon Maraga Rooney