A Comparative Review of 3D Container Loading Algorithms
A Comparative Review of 3D Container Loading Algorithms
TRANSACTIONS
IN OPERATIONAL
Intl. Trans. in Op. Res. 23 (2016) 287–320 RESEARCH
DOI: 10.1111/itor.12094
Abstract
Three-dimensional cutting and packing problems have a range of important applications and are of particular
relevance to the transportation of cargo in the form of container loading problems. Recent years have seen a
marked increase in the number of papers examining a variant of the container loading problem ranging from
largely theoretical to implementations that focus on meeting the many critical real-world constraints. In this
paper, we review the literature focusing on the solution methodologies employed by researchers, with the aim
of providing insight into some of the critical algorithmic design issues. In addition, we provide an extensive
comparison of algorithm performance across the benchmark literature.
1. Introduction
The three-dimensional (3D) packing problem is a natural generalization of the classical one- and
two-dimensional (1D and 2D) problems. The most commonly cited application for such problems is
the transportation of goods that may be packed directly into containers or trucks or first packed on
pallets. With a few exceptions, the literature focuses on items contained within 3D boxes. Even with
this restriction, it is clear that the relevance and scope of application is high. Despite its important
industrial and commercial applications, historically, publications on this problem area are relatively
few in comparison to its 1D and 2D counterparts. However, recent years have seen rapid growth in
research and publications on this problem, including new research avenues that examine integrating
packing with routing and scheduling.
Arranging boxes into a container, truck, or pallet is one of the more complex packing problems
with respect to real-world constraints. While aiming to produce a packing arrangement that makes
the best use of resources, an underestimate of the number of containers required to transport certain
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
Published by John Wiley & Sons Ltd, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main St, Malden, MA02148,
USA.
288 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
goods may be very costly in terms of delay or carrying extra containers that are underutilized,
resulting in a wasted resource. In addition to the box sizes, there is a host of constraints associated
with weight distribution, stacking, stability, and support that need to be respected when determining
the number of containers. Further, clients may constrain consignments to be carried together, or
delivery vehicles need to unload at several locations. Bortfeldt and Wäscher (2013) provide a
comprehensive review of such constraints.
The aim of this paper is to review the literature on 3D container loading. Here, the term “container
loading” is used in its broadest sense, in a similar way to Bortfeldt and Wäscher (2013), who
recently provided a review that specifically focuses on the inclusion of authors of various constraints
encountered in practice but gives relatively little attention to the solution approaches. Our paper is
a complementary review to that of Bortfeldt and Wäscher (2013) in that it focuses on the design
and implementation of solution methodologies for solving these problems. We also provide an
experimental comparison of different algorithms on benchmark data sets to identify the state of
the art in solution methods in the area. In order to contain the size of the review, we have excluded
pallet loading, irregular objects, and do not explicitly reviewed the open dimension problem though
some papers addressing this problem are mentioned.
The rest of the paper is structured as follows. The next section provides a detailed description of
the problem types reviewed in the paper, following the typology of Wäscher et al. (2007). Section
3 briefly discusses the constraints met in practice. Sections 4 and 5 discuss specific aspects of
the solution approaches, these are the placement heuristics (how a layout is constructed) and the
improvement heuristics (how to search for better solutions), respectively. Section 6 presents the
research that examines the use of exact methods. Section 7 gives an overview of how the literature
is split between different problem variants. Experimental results, along with benchmark data sets,
are analyzed in section 8. Conclusions are given in Section 9.
2. Problem variants
According to Wäscher et al. (2007), cutting and packing problems can be grouped by dimensionality,
assortment of large items, assortment of small items, and the objective. Here we are only concerned
with 3D items that are cuboid. We will call the large items as containers and the small items as boxes.
Boxes may be “identical, weakly heterogeneous” (many boxes but a few box types) or “strongly
heterogeneous” (few boxes and many box types). If there is more than one container, these can be
identical, weakly or strongly heterogeneous. They provide the following problem typology.
If the objective is one of “input minimization,” then the aim is to pack all the boxes in as few
containers as possible. Combining the classes of large and small item assortments gives six unique
problems as follows:
r Single stock-size cutting stock problem (SSSCSP) if the containers are identical and boxes are
weakly heterogeneous.
r Single bin-size bin packing problem (SBSBPP) if the containers are identical and the boxes are
strongly heterogeneous.
r Multiple stock-size cutting stock problem (MSSCSP) if the containers and the boxes are weakly
heterogeneous.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 289
r Multiple bin-size bin packing problem (MBSBPP) if the containers are weakly heterogeneous
and boxes are strongly heterogeneous.
r Residual cutting stock problem (RCSP) if the containers are strongly heterogeneous and boxes
are weakly heterogeneous.
r Residual bin packing problem (RBPP) if the containers and the boxes are strongly heterogeneous.
If the objective is one of “output maximization,” then the aim is to pack a subset of boxes that
give the highest value to a fixed set of containers. Here there may be a single container or multiple
containers. Seven unique problems can be defined as follows:
r Identical item packing problem (IIPP) if there is a single container and the boxes are identical.
r Single large object placement problem (SLOPP) if there is single container and weakly heteroge-
neous boxes.
r Single knapsack problem (SKP) if there is a single container and the boxes are strongly heteroge-
neous.
r Multiple identical large object placement problem (MILOPP) if there are multiple identical
containers and weakly heterogeneous boxes.
r Multiple heterogeneous large object placement problem (MHLOPP) if the containers are weakly
or strongly heterogeneous and weakly heterogeneous boxes.
r Multiple identical knapsack problem (MIKP) if there are multiple identical containers and
strongly heterogeneous boxes.
r Multiple heterogeneous knapsack problem (MHKP) if the containers are weakly or strongly
heterogeneous and strongly heterogeneous boxes.
All the above problems assume that the containers have fixed dimensions. There is one further
case where two dimensions are fixed and one, either the length or height, is variable. Clearly, this
is a single container input minimization problem, defined by Wäscher et al. (2007) as the open
dimension problem. We do not explicitly review this problem type here, some example papers are
Allen et al. (2011), Bortfeldt and Mack (2007), Faina (2000), Fujiyoshi et al. (2009), He et al. (2012),
Lai et al. (1998), Li and Cheng (1992), Miyazawa and Wakabayashi (1997, 1999), and Yeung and
Tang (2005).
3. Problem constraints
There are three basic constraints that are fundamental to the problem and observed by all research
papers. These are stated as follows:
r Boxes may only be placed with their edges parallel to the walls of the container.
r All boxes must be placed within the container.
r Boxes may not intersect each other.
In many cases only solutions that result in the entire base of the box being fully supported are
acceptable, others allow a small amount of overhang. In cases where the centre of gravity of a box
must be supported, it is assumed to be at the same position as its geometrical centre.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
290 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
Beyond these basic constraints are a multitude of practical considerations. These are largely
associated with box orientation, stability, stacking, weight distribution, weight capacity, multidrop,
prioritization, and bearing strength of boxes. These are comprehensively discussed by Bortfeldt
and Wäscher (2013), who divide them into constraints in relation to the container, items, cargo,
positioning, and load. We describe them only briefly here.
There are six unique orientations for a box. Many authors allow boxes to freely rotate, for
example, Gehring and Bortfeldt, (1997), Wang et al. (2008), Egeblad and Pisinger (2009). Perhaps
more realistically is the case when the vertical orientation is fixed but boxes may rotate horizontally,
for example, Haessler and Talbot (1990), Chien and Deng (2004). While a few papers (Scheithauer,
1992; Morabito and Arenales, 1994) disallow any rotation among boxes.
Load stability is an important consideration in practice, yet is inconsistently dealt with in the
literature. If a load is unstable it can lead to cargo damage and difficulty loading and unloading. Use
of straps and filling gaps with airbags between boxes and between boxes and the container wall is an
industry practice, but costly and less desirable. Load stability is most commonly achieved through
guaranteeing full support for the bottom of the boxes (Gehring and Bortfeldt, 1997). Others relax
this constraint and allow partial support by defining a maximum overhang (Parreño et al., 2008,
2010). Several papers include further constraints such as requiring at least one side to be attached to
another box. Two measurements for evaluating cargo stability are proposed by Bischoff and Ratcliff
(1995).
Stacking constraints refer to restrictions on how boxes are placed on top of each other as a result
of the bearing strength of the boxes. Each box has a maximum weight per unit of area it can support
that may vary depending on the box orientation. Also, Bischoff and Ratcliff (1995) argue that the
load-bearing strength of a box is primarily provided by its side walls. Therefore, in some cases it
would be feasible to place an identical box directly on the top of the existing box, but damage may
be caused if a box half the size with half the weight is placed centrally on top. Limits on the height
a heavy box can be placed in the container may also be associated with stability.
The weight capacity and how the weight is distributed across the container are both important
practical constraints for shipping and handling the already loaded container. The ideal weight
distribution is measured if a container’s centre of gravity is close to the geometrical midpoint of its
floor. An unevenly distributed weight may cause difficulties for certain handling operations. In the
case of loading a vehicle, the weight on the axels is the critical measure. Further, containers may
not exceed a total weight, and in some scenarios, weight capacity, rather than the limited available
loading space, is the binding constraint.
Multidrop is a situation in which a container will be unloaded in a number of different terminals
(Bischoff and Ratcliff, 1995; Lai et al., 1998; Ren et al., 2011). Boxes with different consignments
are packed separately as an effective strategy to deal with this situation. Therefore, the arrangement
of packing patterns is better to be designed in a way that unloading and reloading a large part of
cargo at every destination is avoided.
The above-mentioned constraints, with direct impact on the packing patterns, have to be taken
into consideration within the single container heuristic. Eley (2003) defines two other constraints
that impact the distribution of boxes among the different containers. Separation of boxes refers to
the situation that boxes of two different types must be stored in separate containers. In practice,
foodstuff and perfumery articles are required to be transported separately. Complete shipment refers
to the situation in which shipment should include all other boxes belonging to a certain subset.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 291
4. Placement heuristics
In any heuristic solution approach, there should be a mechanism to decide how to put the boxes
in the container, whether this is simply to generate an initial solution or as an integral part of the
approach. Here we call this the placement heuristic, also commonly known as the construction
heuristic. For container loading, there are a wide range of approaches. When the mix of boxes is
weakly heterogeneous then the most common are wall building and layer building, whereas in the
strongly heterogeneous case, boxes will be placed one at a time.
Under wall- and layer-building schemes, boxes of the same type are arranged in rows or columns
to fill one side or the floor of the empty space. A list of empty spaces is created for all the feasible
placement positions. Once an empty space accommodates a wall or layer, new spaces are generated.
Generally, once a wall or layer is built, the remaining space is treated as a reduced-sized container.
Both approaches mimic manual packing by attempting to create flat packing faces.
Along with the decision of how to pack the boxes comes the decision of which box type to pack
next. Common approaches include predetermined ordering and dynamic ordering. The predeter-
mined ordering is achieved by employing some sort criteria, such as box volume, number of boxes,
base area, or a certain dimension of a box. Dynamic sorting tends to be based on the usable space
remaining after the next placement, volume of remaining boxes of the same type and free-floor
space.
The following sections discuss the placement heuristics including the sequencing decisions. Many
of these papers may employ improvement strategies in addition, these are discussed in the following
section.
The basic wall-building scheme fills the container with a number of walls across the depth of the
container. While the walls are created sequentially, issues around weight distribution can be dealt
with by swapping, interchanging, or taking the mirror image, provided the boxes do not interlock.
The earliest example of wall building is by George and Robinson (1980). They design a two-
section heuristic based on a real industry example of 800 boxes with no more than 20 types.
Given the next empty space, initially the whole container, they select the first box of each wall
so that each wall has a size that is not too deep or too shallow using the following ranking
criteria. First, select the box whose smallest dimension is the largest among all candidates. In
case there is a tie in the first criterion, select the box type with the highest quantity. If there is
still a tie, select the box type with the longest largest dimension. Once at least one of a certain
box type has been packed, that box type is open. Open box types are given preference where
the type with largest quantity has the highest ranking. If the length of unfilled container is too
short, usually below a certain defined amount, the rest packing no longer follows the wall-building
rules.
Based on the George–Robinson framework, Bischoff and Marriott (1990) compare 14 different
heuristics, combined by six ranking rules and three filling methods developed by others, with
different ranking criteria. Without a clear winner, they proposed a hybrid version where all 14
heuristics are executed and compared to select the best solution.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
292 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
Moura and Oliveira (2005) adopt the placement heuristic of George and Robinson (1980) with two
modifications. The first modification arises from new space creation. While George and Robinson’s
heuristic assumes the width of original space as the width of the new created height space, Moura
and Oliveira (2005) restrict the space to the area above the packed boxes, citing issue with stability
in the former approach. The second modification restricts the width of new wall to be no longer
than that of the previous wall, resulting in the amalgamation of unpacked spaces into larger more
useful spaces and increasing cargo stability.
Instead of using a fixed sorting criteria, Chien and Wu (1998) and Pisinger (2002) deter-
mine the arrangement of boxes by a tree-search algorithm and use the wall approach first
proposed by George and Robinson (1980). In Pisinger’s (2002) extension of wall-building ap-
proach, a tree search is designed to find the set of wall depths and strip widths, which can be
either vertically or horizontally oriented, to make up the wall. First different wall depths are
selected at each branching node, followed by the strip width. Only a fixed number of subn-
odes are considered for each branching node and back tracking is permitted. Several differ-
ent wall depths are considered according to a total of 27 ranking criteria at each branching
node.
Bischoff and Ratcliff (1995) consider the container loading with where cargo has multiple des-
tinations. Their approach packs each consignment in a sequence starting with those assigned
to the final destination. Given a consignment, the next box packed and its orientation is se-
lected in order to maximize the remaining usable space. In the case of a tie, they select the box
space combination with the smallest length protrusion. Two further tie-breakers are to choose
the box with largest volume and then to choose the space with shortest width. Here the wall-
building strategy sequentially adds individual columns or a container width instead of complete
walls.
Gehring et al. (1990) pack boxes into a single container of known dimensions using a wall-building
approach. The length (thickness) of each wall is decided by the length of the “layer determining
box” (LDB), which is the first, usually largest, box placed in that wall. Two nonoverlapping spaces
are generated in that section once the LDB is placed. The first space stays next to the LDB with
the same height. The second space is above LDB and the first place and is across the container
width. Each box is allowed to stay within a wall rather than project into adjacent walls. Davies and
Bischoff (1999) adopt the concept of LDB for generating a block that consists of a fixed number of
walls rather than a single vertical wall. Boxes are allowed to bridge the adjacent walls but not two
separate blocks. The ranking criteria for selecting box types and orientations are based on Bischoff
and Ratcliff (1995). When it is impossible to place another LDB, the current wall is considered as
the last wall and its wall depth is extended to the end of the container rather than the length of the
LDB. Bortfeldt and Gehring (2001) also use the wall construction heuristic based on LDB as part
of a hybrid genetic algorithm (GA).
Bortfeldt and Gehring (1998) and Bortfeldt et al. (2003) construct cuboid configurations of a
single box depth, which are effectively walls. In a 1-arrangement, the cuboid consists of as many
of one box type as can feasibly fit along the width and height. A 2-arrangement places two 1-
arrangement cuboids next to or one on top of the other. All empty spaces are stored in a list,
and the space with smallest volume is always packed first. Two available standards are applied
alternatively to evaluate the local arrangements within a packing space. The first standard is that
the overall volume of the boxes placed in the space should be maximized. The second standard
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 293
contains double criteria of smallest possible loss volume and largest possible maximum effective
volume.
Chien and Deng (2004) describe a container packing support system to determine and visualize,
in a step-by-step manner or continuously, the container packing pattern that consists of the packing
orientation of each box and corresponding location within a fixed dimensional container. Boxes
are packed into vertical strips that later are combined into walls. The spatial matrix representation
method is adopted when searching and merging the empty spaces.
Layer building is also a common placement heuristic, although fewer researchers adopt this ap-
proach. The packing arrangement is constructed by first placing boxes on the bottom of the
container to create the base layer. Once this layer is full, the next layer is constructed on top of the
base layer, and so on until no further layers can be contained within the height of the container. It
is important to note that some paper describe layers that, according to our terminology, are walls.
The approach of Bischoff and Ratcliff (1995) is inspired by pallet loading. Patterns are built from
the container floor upwards in the form of layer building. Each layer contains no more than two
different types of boxes, selecting the box type, and orientation according to the utilization of the
loading surface on which a layer is built. Their motivation for this approach was in tackling stability
resulting from significant height differences or gaps that exist between adjacent walls of boxes found
in other approaches. Lim et al. (2012) follow the same layer-building approach as part of an iterative
heuristic that focuses on the issue of packing awkward box types. A certain boxes packing priority
is revised after each iteration to reflect how “awkward” it was to pack. As a result awkward boxes
are packed earlier.
Ratcliff and Bischoff (1998) build on the previous work and design a container loading algorithm
that allows for load-bearing constraints. Their heuristic approach iteratively packs layers of boxes
one at a time from the container floor upwards. Each layer contains no more than two rectangular
blocks. Boxes in a single block are of the same types and all have the same orientation. At each step,
the algorithm checks the inequality between the weight of the chosen block and the load limit on
the loading surface. Boxes with a low load-bearing ability cannot be packed in the early stages of
the procedure. Therefore, the opportunities for future placements on higher layers are examined at
each step.
Loh and Nee (1992) propose a layer-building construction heuristic. Weakly heterogeneous boxes
are grouped according to height and then groups are sorted tallest to shortest. Within each height
group, they are sorted by a descending base area. Boxes are packed starting at the back of the
container, in order, in the first large enough space. Lodi et al. (2002) following a similar sorting
strategy, however, group boxes if they are within a certain height tolerance. If the tallest box in the
group has height h, then all boxes with height between h and αh are also members of that group. α is
set between 0 and 1. Like Loh and Nee (1992), boxes are sorted by a nonincreasing base area within
groups. A 2D packing heuristic creates the layer by evaluating and scoring candidate positions.
After generating layers that accommodate all the pieces, they solve a 1D bin packing problem to
pack layer heights within a finite bin height. They call the heuristic height first–area second (HA)
and combine it with tabu search (TS).
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
294 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
4.3. Other placement heuristics
Blocks are homogeneous and each block consists of only identical boxes. Packing container with
homogeneous blocks results in several advantages. First of all, it is easy to arrange and requires less
loading time. Re-sorting cargo is avoided after unloading as boxes of same type are stowed closely
to one another. The constraint of load-bearing strength is less problematic when identical boxes
are stacked. The block structure provides extra stability as identical boxes packed in a rectangular
shape cannot easily slip. Liu et al. (2011a) develop a hybrid TS approach in which both a TS and
block-building heuristic run iteratively. Box types are sorted in a decreasing volume to generate the
initial solution. Blocks are made up of the same box type in a configuration to best fit the available
space. In some cases another box type is added to improve the fit. Ren et al. (2011) adopt a block
placement strategy to tackle shipment priority within a single container. They define five-block
evaluation functions and use a tree-search strategy branching on the best block placement for each
evaluation function. Wang et al. (2008) also use a tree structure to represent the container and
branch on the mutually exclusive subspaces left after placing a block of identical boxes. Zhang et al.
(2012) propose a block-building heuristic under which multiple types of boxes can be bound in one
single block. A multilayer search algorithm is designed for block selection.
Lai and Chan (1997) propose the maximal-space strategy. Maximal-space intervals are the set of
largest cuboid spaces that entirely cover the unpacked volume of the container. Note these spaces
may overlap. After a box is placed, these are generated and stored in a list. Any intervals that are
not sufficiently large to contain a box or that are entirely contained within other space intervals
are removed from the list. The next box is packed in the closest space to the bottom left corner of
the container that is large enough to accommodate the box. Many efficient algorithms adopt the
maximal-space approach. For example, Parreño et al. (2008, 2010) design a constructive heuristic
that can place columns, rows, walls, or layers of boxes of the same type. The main idea is to identify
maximal spaces and then fill them with the best configuration of identical boxes according to one
of two criteria. In each iteration the maximal space with the minimum distance to a corner of the
container is filled where space volume is used to break ties. This heuristic is combined with greedy
randomized adaptive search procedure (GRASP) in Parreño et al. (2008) and variable neighborhood
search in Parreño et al. (2010). Other recent papers generating competitive results on benchmark
data set embrace this idea (Gonçalves and Resende, 2012; Zhu and Lim, 2012; Zhu et al., 2012b;
Araya and Riff, 2014).
Gehring and Bortfeldt (1997) pack boxes into towers or stacks while dealing with strongly
heterogeneous boxes. Towers have a base box directly placed on the container floor. Each of the rest
of boxes within that arrangement is placed on another box in a way that its bottom area is entirely
supported from below. A greedy algorithm is used to minimize the spaces wasted above the base
boxes. In the second step, tower bases are arranged to cover the floor of the container using as a 2D
packing problem.
Eley (2002) solves single container loading problem with boxes in block arrangements. The
proposed greedy heuristic sorts boxes by volume in the nonincreasing order. Each combination of
box orientation and empty space is investigated by certain criteria, and the most appropriate empty
space is chosen for a box. The main criterion is that after packing a box the sum of the volume of
spaces where no remaining boxes can be packed is minimized. In the case of a tie, preference is given
to the empty space closest to the lower back left corner of the container. The solutions are further
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 295
improved through considering different box loading sequences via a tree search where branching is
carried out for different box types and box orientations.
Lim et al. (2003) sort the boxes by evaluating a pairwise priority according to the ratio of volume
and base area. They propose a new construction approach called multifaced buildup algorithm
where boxes can be placed on any wall in the container as each and every wall can be used as base
or floor. Once boxes are placed on the wall of the container to construct the first base, the other
boxes will be placed on top of these boxes.
Ngoi et al. (1994) avoid the dependency of the layout on the order of the boxes by evaluating every
potential placement location for each box. In order to improve the efficiency of their approach, they
use a spatial representation technique. A single 3D matrix (or the spatial matrix), in the form of
layers of 2D matrices, is used to represent the positions and dimensions of all the packed boxes
and empty spaces. Chua et al. (1998) and Chien et al. (2009) also use the spatial representation
techniques to model the box packing process and to track both the packed and unpacked space in
a single container. Compared to that of Ngoi et al. (1994), their algorithm allows users to preassign
positions for certain boxes. Spacial matrices are also used by Bischoff (2006) who develops a new
construction heuristic to specifically consider load-bearing strength. The approach guarantees all
boxes are directly placed on the container floor or have their whole base in direct contact with other
boxes. The constructive heuristic packs a single box in each iteration and uses a scoring system
made up of five criteria to choose between placement alternatives. The available loading surfaces
are stored and updated in two matrices, one records the height of surfaces and the other records
their corresponding load-bearing ability.
The above packing heuristics model available spaces. Martello et al. (2000) and Crainic et al.
(2008) both follow an alternative strategy of identifying placement points, the former calling it
corner points, the latter extreme points. These become the candidate placement positions for placing
the unpacked boxes. Consider the packing profile over the 3D surface (if overhang not permitted),
these points arise from contact between the face of two boxes or a box and the container and are
located at the point where three edges coincide to create a fully concave corner. Martello et al. (2000)
approach first distributes boxes between bins before determining the specific position of each box.
Each bin is constructed using a tree search where each node is a partial solution and there is a child
node for each feasible corner point for the next box, where boxes are packed in a nonincreasing
order of volume. Crainic et al. (2008) simultaneously assigns boxes to containers and packs using
the well-known best-fit decreasing heuristic.
A similar placement strategy is proposed by Huang and He (2009a) and Huang and He (2009b)
to pack boxes into a single container. In their papers, they call it caving degree where boxes
packed into a corner or even a cave, an empty hollow-like space surrounded by many boxes, when-
ever possible. The caving degree approach stores all available corners into a list and evaluates
all combinations of corners, types of boxes, and allowed orientations selecting the best combi-
nation of corner, box, and orientation based on ranking rules. He and Huang (2010) suggest a
modification to the original approach in the effort of decreasing the searching space. He and
Huang (2011) make further improvement to the modified approach including adding a local search
phase.
Han et al. (1986) construct an L-shape pattern by placing boxes along the base and one vertical
edge of the container. George (1992) designs a heuristic to solve the same problem of identical boxes.
The heuristic runs iteratively and each iteration creates a layer. The reorientation of the container
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
296 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
is allowed and layers can be built against any side wall or even floor rather than only the end wall
suggested by common approaches.
Lins et al. (2002) provide a directed graph representation of a packing arrangement that builds
on a successful application to the 2D case. Three directed graphs are needed to represent the x, y,
and z edges of each box within the container. They claim that degeneracy and symmetry lead to a
sufficient reduction in problem size to allow for enumeration. Experimental results are for identical
boxes with six orientations and a largest problem size of 394 boxes.
Clearly there are many diverse ways of creating arrangements of boxes to load a container in
terms of placement rules and static and dynamic ordering. While there is no definitive answer as
to the best approach, sorting by volume is a very common characteristic. Chien and Wu (1999)
proposed the integration of space allocation and ranking in a decision support system, although
did not provide any experimental evidence.
4.4. Sequencing
Sequencing refers to the ordering of the boxes and can be critical to the effectiveness of the packing
heuristic. Modifications to the placement heuristics often involve altering the box sequence. Here
we summarize the most common box sequences described in the literature. We categorize sequences
into two groups: static and dynamic. “Static sequencing” refers to fixed ranking of boxes or box
types before packing takes place. “Dynamic sequencing” refers to the criterion that decides the
next box or space to be packed during the packing process. Twelve static sequencing rules and five
dynamic sequencing rules are identified through the review. Table 1 provides a tabulated listing of
the sequences found in the literature. The primary ranking criteria for a particular paper is stated
as 1, and the first and second tie breaking criteria are indicated as 2, 3, and onwards. It is worth
mentioning that there are two slight exceptions. In Xue and Lai (1997), three criteria are picked
and all combinations with a third-tier tie are tried. There is no clear winner of six combinations.
Among Crainic et al.’s (2008) proposed sequencing rules, two combinations generating best results
are remained in the table. However, the first priority of both combinations is slightly different
from the ones we defined in this paper. Take the first combination, clustered area and height, as
an example. Clustered area means separating base areas into clusters defined by certain intervals.
Boxes are then assigned to clusters according to their base areas. Clusters are ordered by a certain
rule, and boxes within the same cluster are ordered by height.
5. Improvement heuristics
While the placement heuristics will provide a fast, and in many cases reasonable quality, solution,
broadening the search space using an improvement heuristic can usually provide a significant gain.
In general, these work with one or more complete solutions make neighborhood moves to find better
solutions. These vary in sophistication from simple neighborhood structures and acceptance criteria
that only accept improving moves, to complex and varying neighborhoods and acceptance criteria
that can find many local optima including many implementations of the standard metaheuristics.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
Table 1
Sequencing table
Static Dynamic
Year Article SA SB SC SD SE SF SG SH SI SJ SK SL DA DB DC DD DE Placement Container
1980 George and 1 2 3 Wall Single
Robinson (1980)
1990 Gehring et al. (1990) 1 Wall Single
1992 Loh and Nee (1992) 1 2 layer Single
1993 Lin et al. (1993) 1 2 layer Single
1994 Hemminki (1994) 2 1 Wall Single
1995 Bischoff and 3 1 2 Wall Single
Ratcliff (1995)
1997 Xue and Lai (1997) 1 1 1 Multiple identical
1998 Bortfeldt and 1 Block Single
Gehring (1998)
1998 Ratcliff and 1 Layer Single
Bischoff (1998)
2006 Takahara (2006) 2 3 4 1 Wall Multiple identical
Continued
type with same orientation; DC, the volume of remaining boxes of the same type; DD, lengthwise protrusion that is the sum of the coordinate from the packing
point and the length of the box to be packed; DE, bottom area of the left free space.
6. Exact methods
Compared to the number of heuristics available, the number of exact algorithms in 3D container
loading are limited. One reason behind this limitation is the difficulty in representing possible
patterns or practical packing constraints. Even if this can be done (and we provide pointers to the
literature below where it is), another difficulty is the solution of the resulting formulation, which
is often large scale due to the number of containers and boxes. Nevertheless, encouraging progress
has been made along this line of research for which a review is presented below.
Mohanty et al. (1994) describe an algorithm for the (3D) BPP, where the aim is to pack boxes of
different types, each with a prespecified number, length, width, and height, into a set of containers
of different sizes, with the objective of maximizing the total value of packed boxes. The problem is
originally formulated as a multidimensional knapsack problem, including an integer variable that
is defined with respect to each container type packed with respect to a given pattern. As the number
of such patterns is excessively large, the complexity of solving the formulation to optimality is a
challenge. For this reason, the authors describe a column-generation procedure where the pricing
problem involves solving an integer program, in the form of a general fractional knapsack problem
with side constraints, which itself is difficult to solve. Instead, the authors propose heuristics to solve
it. Although the overall solution approach is heuristic in nature, it is interesting that elements of exact
solution methods (i.e., mathematical formulations) are integrated within the approach. In a relevant
study, Eley (2003) looks at a similar problem setting, possibly with some side constraints, and an
objective function that minimizes the number of bins used using a two-stage column generation
algorithm. In the first stage, a limited number of patterns (columns) are generated a priori using a
heuristic, which are then fed into an integer program that is solved to optimality in the second stage.
The algorithm has the advantage of being able to incorporate a number of practical constraints,
such as box orientation or load stability. The computational results that the author presents on
benchmark problems suggests that the integer program does not require more than five seconds
of solution time, and the algorithm itself outperforms those of Ivancic et al. (1989) and Bortfeldt
(2000).
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 303
Given the success of column generation, it is not surprising to see that Zhu et al. (2012a)
have also described a similar algorithm for the MBSBPP, where the aim is to minimize the cost
of containers used. The problem also incorporates some side constraints, namely full support
and partial support for boxes and that all boxes are packed orthogonally. The pricing problem
here is a single container loading problem. Instead of generating the actual columns, which is
costly, the authors instead resort to a strategy where a reasonable approximation of the columns,
named prototype columns, are generated. Compared with the algorithm of Che et al. (2011a), the
proposed method finds solutions that improve the average gap from the optimal solutions by about
50%.
An alternative approach to mathematical models where variables are defined with respect to
each possible pattern (or packing) has been to use formulations where variables are defined with
respect to placement of individual items. Such an approach avoids the problem of dealing with a
large set of patterns, and instead relies on a discretization of the container space and an explicit
representation of decisions on whether items are placed in certain coordinates or not. Chen et al.
(1995) present such a model in the form of a mixed integer linear programming formulation for
the general 3D container loading problem, with an objective to minimize the unused space of the
containers used. The model is used to solve a sample instance of three heterogeneous containers
and six boxes using LINGO, with a solution time of 15 minutes. The authors also report results
on another sample instances with a single container and six boxes, this time to minimize the
required length of the container. A polyhedral study of an improved version of this formulation is
presented by Padberg (2000). The study provides some facet results and valid inequalities, with the
recommendation that they are used within a branch-and-cut algorithm to solve the problem. Allen
et al. (2012) provide empirical evidence that the computational reach of this formulation is only
about 20 boxes using modern solvers. The authors present an alternative formulation that is based
on space-index variables, which has better performance than that of the Chen et al. (1995) and
Padberg (2000), both with respect to the size of the instance and the computational time required to
solve to optimality. Wu et al. (2010) builds on the work of Chen et al. (1995) for the open dimension
problem.
For a mixed integer programming formulation of the BPP with identical bins, see Hifi et al.
(2010), who also present some valid inequalities and computational results. Another model based
on the Cartesian coordinate system is presented by Junqueira et al. (2012a) for the 3D container
loading problem, where constraints representing vertical and horizontal stability and load-bearing
strength of the boxes are explicitly represented in the formulation. Computational results presented
by the authors show that by using CPLEX 11.0 with default parameters, the formulation is able to
solve randomly generated instances with four types and up to 20 boxes, and between 10 and 100
containers, in most cases to optimality. The difficulty of finding an optimal solution increases with
the number containers as well as with the similarity of dimensions of the boxes. An extension of this
model to the variation of the problem with multidrop constraints is presented in Junqueira et al.
(2012b).
Lim et al. (2013) present a heuristic algorithm for a problem named the single container 3D
loading problem with axle-weight constraints, which arises due to the weight restriction for trucks
that carry containers when they are offloaded from ships. This additional restriction introduces
nonlinearities in a possible mathematical programming formulation of the problem. The authors
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
304 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
describe a heuristic procedure, but make use of integer linear programming formulations, either
mixed or binary, within the algorithm to improve the packing.
Finally, we mention the work by Hifi (2002) who presents approximation algorithms for container
loading problem. The algorithms are based on the idea of solving a series of knapsack problems
to form stacks, and then putting the stacks into the container by solving unbounded knapsack
problem.
In this section, we categorize the papers according to the problem types they address. Bort-
feldt and Wäscher (2013) provide a useful table that identifies each paper by its problem type.
Here we go further and identify the features of the methodologies employed for each of these
problems.
Among the papers we have reviewed, 25 papers tackle with SLOPP. The type and sophistication of
the methodologies vary greatly. Thirteen of the paper only employ a placement heuristic, and of
these 13 seven use a static ranking and a placement criteria (George and Robinson, 1980; Bischoff
and Marriott, 1990; Loh and Nee, 1992; Chien and Deng, 2004; Chien et al., 2009; Christensen
and Rousøe, 2009; Ren et al., 2011). The remaining six use dynamic selection of the next box or
space (Bischoff and Ratcliff, 1995; Ratcliff and Bischoff, 1998; Davies and Bischoff, 1999; Wang
et al., 2008), or a tree search to make the exploration less greedy (Morabito and Arenales, 1994;
Lins et al., 2002). Eleven papers augment the placement heuristic with an improvement heuristic,
or design an improvement heuristic that directly tackles the problem. Of these two use GA (Kang
et al., 2012; Gonçalves and Resende, 2012), three use TS (Bortfeldt et al., 2003; Mack et al., 2004;
Liu et al., 2012a), and one uses SA (Mack et al., 2004), with the rest adopting various local search
techniques (Eley, 2002; Hifi, 2002; Moura and Oliveira, 2005; Bischoff, 2006; Parreño et al., 2008,
2010; Burke et al., 2012). Finally Junqueira et al. (2012b) is the only paper we reviewed that develops
exact methods for SLOPP.
Thirty-three papers aim to solve SKP. The methodologies differ largely in terms of type and
sophistication. Ten of the paper only employ a placement heuristic, and of these 10 five use a static
ranking and a placement criteria (Gehring et al., 1990; Haessler and Talbot, 1990; Chien and Wu,
1999; Lim et al., 2003; Liu et al., 2011b). The remaining five use dynamic selection of the next box or
space (Scheithauer, 1992; Ngoi et al., 1994; Lim and Zhang, 2005; Burke et al., 2012), or a tree search
to make the exploration less greedy (Chien and Wu, 1998). Nineteen papers augment the placement
heuristic with an improvement heuristic, or design an improvement heuristic that directly tackles the
problem. Of these 19 eight use GA (Lin et al., 1993; Gehring and Bortfeldt, 1997, 2002; Bortfeldt
and Gehring, 2001; Yeh et al., 2003; Liang et al., 2007; Gonçalves and Resende, 2012; Hasni and
Sabri, 2013), one uses TS (Liu et al., 2011a), and one uses SA (Egeblad and Pisinger, 2009), with
the rest adopting various local search techniques (Pisinger, 2002; Lim et al., 2005; Parreño et al.,
2008, 2010; Huang and He, 2009a, b; Fanslau and Bortfeldt, 2010; He and Huang, 2011, 2012).
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 305
Finally the following four papers develop exact methods for SKP—Fekete et al. (2007), Junqueira
et al. (2012a, b), Padberg (2002).
To load multiple containers, three strategies are usually suggested: sequential strategy, preassignment
strategy, and simultaneous strategy (Eley, 2003). Under a sequential strategy (Xue and Lai, 1997;
de Castro Silva et al., 2003; Wu et al., 2010; Thapatsuwan et al., 2012), containers are filled one
after the other. A new container is opened once the current containers can not store any of the
available boxes. However, one of the disadvantage of this strategy is that containers filled last are
at risk of poor volume utilization ratios since large or awkwardly formed boxes are often left to
the end. The preassignment strategy first distributes boxes among different containers. No actual
packing occurs at the distribution stage. A heuristic is then applied to load assigned boxes into
each container. Boxes not be packed in their designated containers are repacked to other containers
under additional mechanisms. Jin et al. (2003) is a typical example of adopting this strategy. The
simultaneous strategy adopted by Chen et al. (1995), de Almeida and Figueiredo (2010), and Soak
et al. (2008) attempts to assign and pack boxes into more than one container at a time. It is
surprising to learn that the sequential strategy outperformed the simultaneous strategy in Eley’s
(2002) approach. A few exceptions are Che et al. (2011a), Crainic et al. (2009), and Farøe et al. (2003)
who all apply mixed strategies. Che et al. (2011a) first pack boxes into packing patterns and then
load one container at a time based on these patterns. Crainic et al. (2009) build initial solution under
a sequential strategy but apply improvement phase using preassignment strategy. Farøe et al. (2003)
construct an initial solution by first generating a number of walls before combining them into whole
bins.
Seven papers address SSSCSP. Among them, Bischoff and Ratcliff (1995) and Ivancic et al. (1989)
only propose placement heuristic, while Che et al. (2011a, b), Eley (2002), and Kang et al. (2010) de-
sign improvement heuristic. Sciomachen and Tanfani (2007) is an exceptional paper that determines
container stowage plans in a ship by comparing its own problem to SSSCSP in 3D packing. We
reviewed 14 SBSBPP papers. Most paper in this category only focus on the construction of place-
ment heuristic (Martello et al., 2000; de Castro Silva et al., 2003; Lim and Zhang, 2005; Crainic
et al., 2008; Miyazawa and Wakabayashi, 2009; Amossen and Pisinger, 2010; Epstein and Levy,
2010; Burke et al., 2012). Among those proposed improvement heuristic, TS is surprisingly chosen
by most papers (Lodi et al., 2002, 2004; Jin et al., 2003; Crainic et al., 2009), while Farøe et al. (2003)
propose a GLS. Hifi et al. (2010) is the only paper to use exact methods although these are embedded
within a broader heuristic, while Boschetti (2004) suggests a new lower bound. Among MSSCSP
papers, Ivancic et al. (1989) only give a placement heuristic while others (Eley, 2003; Brunetta and
Gregoire, 2005; Che et al., 2011a, b) all design improvement heuristic. All four MBSBPP papers (Jin
et al., 2003; Brunetta and Gregoire, 2005; de Almeida and Figueiredo, 2010; Ceschia and Schaerf,
2011) contain improvement heuristic. Chen et al. (1995) claim their paper can solve all problem types
including RCSP. However, no algorithm is proposed to tackle specifically RCSP. Two papers (Jin
et al., 2003; de Almeida and Figueiredo, 2010) in our collection solve RBPP. Similar to RCSP, Hifi’s
(2002) algorithm is capable of solving MILOPP but it is a problem type remaining almost untackled.
MIKP is the third problem type remaining unexplored. Eley (2003) and Mohanty et al. (1994) are
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
306 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
the only two papers we found solving MHLOPP. The paper of Ceschia and Schaerf (2011) also solves
MHKP.
8. Experimental results
One aim of this paper is to provide a comparison of the various algorithms described above based on
their performance on benchmark data sets, in an attempt to identify the state-of-the-art algorithms
for this class of problems. To our knowledge, five classes of benchmark data sets exist for 3D loading
problems. These are as follows:
(1) Ivancic et al. (1989): This data set contains 47 instances of weakly heterogeneous boxes. Only
one container size is assigned to each instance, but different container sizes are assigned across
different instances. The number of containers should be kept as small as possible as is typical
in the SSSCSP.
(2) Loh and Nee (1992): This data set contains weakly heterogeneous boxes and a single container
in each of its 15 problem instances. Boxes may be left over if the single container is full. This
data set is designed for the SLOPP.
(3) Bischoff and Ratcliff (1995): This set is for the SLOPP that packs weakly heterogeneous boxes
into a single container. There are seven classes in total with each class including 100 instances.
(4) Davies and Bischoff (1999): This set pertains to the SKP that packs strongly heterogeneous
boxes into a single container. There are eight classes in total with each class including 100
problem instances. This set is usually merged with Bischoff and Ratcliff (1995) to become
so-called BR1-15 data set.
(5) Martello et al. (2002): This set is for a typical SBSBPP that packs strongly heterogeneous boxes
into a minimum number of identical containers. There are eight classes of problem that are
randomly generated according to certain parameters, but the second and third classes are not
included in the result tables due to their similarity to the first class.
In the rest of the section, we provide comparisons of all algorithms published in papers listed
in Table 2, which also presents the running environment of each algorithm. Then, we present
comparison results for each data set. In particular, Table 3 is for the data set by Ivancic et al. (1989)
and Table 4 is for the data set by Loh and Nee (1992). Tables 5 and 6 jointly present the data
sets by Bischoff and Ratcliff (1995) and Davies and Bischoff (1999). Finally, Table 7 presents the
comparison results for the instances by Martello et al. (2002).
Table 2 lists all the papers whose algorithms we compare in this section. Papers are listed by
year of publication and we assign a code that contains the first letter of the author’s name and
year of publication. In cases where more than one method is presented in the same paper, extra
letters, usually short for the methods (and often assigned by the authors themselves), are added to
the end. For example, two methods are presented in Lodi et al. (2002). We therefore include both
methods in the table under names of L2002-HA and L2002-TS. Some authors present two sets
of results, one that takes account of box stability (S), and another where stability is ignored (U).
In these cases we add letter S for when box stability is included, and letter U when it is not. An
example would be Fanslau and Bortfeldt (2010) as we differentiate them as FB2010S and FB2010U.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 307
Table 2
Lists of papers included in the results comparison
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
308 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
Table 2
Continued
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
Table 3
Ivancic et al. (1989)
Box Total IMM- BR- E2002- E2002- LZ- ZE- ZE- lbE-
No. types boxes no. 1989 1995b B2000 seq sim E2003 2005 T2006 T2008 C2011 L2012 2012aU 2012aS 2002
1 2 70 26 27 25 27 26 25 25 25 25 25 25 25 25 19
2 2 70 11 11 10 11 10 10 10 10 10 10 10 10 10 7
3 4 180 20 26 20 21 22 20 19 20 20 19 19 19 19 19
4 4 180 27 27 28 29 30 26 26 26 26 26 26 26 26 26
5 4 180 65 59 51 55 51 51 51 51 51 51 51 51 51 46
6 3 103 10 10 10 10 10 10 10 10 10 10 10 10 10 10
7 3 103 16 16 16 16 16 16 16 16 16 16 16 16 16 16
8 3 103 5 4 4 4 4 4 4 4 4 4 4 4 4 4
9 2 110 19 19 19 19 19 19 19 19 19 19 19 19 19 16
10 2 110 55 55 55 55 55 55 55 55 55 55 55 55 55 37
11 2 110 18 25 18 17 18 17 16 16 16 16 16 16 17 14
22 5 95 10 11 9 9 9 8 9 9 9 8 9 8 8 8
23 5 95 21 22 20 21 21 20 20 20 20 19 20 19 20 17
24 4 72 6 7 6 6 6 6 5 5 5 5 5 5 5 5
25 4 72 6 5 5 6 5 5 5 5 5 5 5 5 5 4
26 4 72 3 4 3 3 3 3 3 3 3 3 3 3 3 3
27 3 95 5 5 5 5 5 5 5 5 5 5 5 4 4 4
Continued
Box Total IMM- BR- E2002- E2002- LZ- ZE- ZE- lbE-
No. types boxes no. 1989 1995b B2000 seq sim E2003 2005 T2006 T2008 C2011 L2012 2012aU 2012aS 2002
28 3 95 10 12 10 11 10 10 9 10 10 10 9 10 10 9
29 4 118 18 23 17 18 18 17 17 17 17 17 17 17 17 15
30 4 118 24 26 22 22 23 22 22 22 22 22 22 22 22 18
31 4 118 13 14 13 13 14 13 12 13 13 12 12 12 12 11
32 3 90 5 4 4 4 4 4 4 4 4 4 4 4 4 4
47 4 99 4 4 3 3 3 3 3 3 3 3 3 3 3 3
Total 763 777 705 725 716 699 694 698 698 692 694 691 693 572
Avg. time (seconds) <30 6.43 <2 45.94 6.43 246.2 116.7
LN01 100 0 78.12 62.5 0 62.5 0 62.5 0 62.5 0 62.5 62.5 0 62.5 0 62.5 n/a 62.5 28 0 62.5 0 62.5 62.5 62.5 7 0 62.5 62.5
LN02 200 32 76.77 90 54 80.7 35 90 39 89.5 28 96.6 76.02 51 89.8 53 90.8 80.4 45 19 92.6 35 90.7 97.9 86.3 332 25 97.9 96.4
LN03 200 0 69.46 53.4 0 53.4 0 53.4 0 53.4 0 53.4 53.43 0 53.4 0 53.4 53.4 105 0 53.4 0 53.4 53.4 53.4 18 0 53.4 53.4
LN04 100 0 77.57 55 0 55 0 55 0 55 0 55 54.96 0 55 0 55 55 54 0 55 0 55 55 55 55 0 55 55
LN05 120 1 85.79 77.2 0 77.2 0 77.2 0 77.2 0 77.2 77.19 0 77.2 0 77.2 76.7 16 0 77.2 0 77.2 77.2 77.2 32 0 77.2 77.2
LN06 200 45 88.55 83.1 48 88.7 77 83.1 32 91.1 49 91.2 79.51 45 92.4 44 87.9 84.8 34 28 91.7 37 92.9 96.7 89.2 167 21 96.3 93.5
LN07 200 21 78.17 78.7 10 81.8 18 78.7 7 83.3 0 84.7 72.14 0 84.7 0 84.7 77 56 0 84.7 0 84.7 84.7 83.2 29 0 84.7 84.7
time
(seconds)
C 2014 International Federation of Operational Research Societies
C 2014 The Authors.
311
312
BR1 3 92.63 87.81 n/a 88.10 8 89.07 >26.4 90.57 94.51 88.14 114 93.90 94.34 94.43 93.57 94.40 94.50
BR2 5 92.70 89.40 89.56 12 90.43 90.84 94.73 89.52 145 94.54 94.88 94.87 93.87 94.85 95.03
BR3 8 92.31 90.48 90.77 25 90.86 91.43 94.74 90.53 213 94.35 95.05 95.06 94.14 95.10 95.17
BR4 10 91.62 90.63 91.03 28 90.42 92.21 94.41 90.75 308 94.08 94.75 94.89 93.86 94.81 94.97
BR5 12 90.86 90.73 91.23 40 89.57 91.25 94.13 90.79 413 94.17 94.58 94.68 93.51 94.52 94.80
(seconds)
Stopping time 500 250 60+180 500 150 150
(seconds)
(seconds)
C 2014 International Federation of Operational Research Societies
C 2014 The Authors.
313
314
Table 7
Martello et al. (2000)
9. Conclusion
In this paper, we have focused our review on the design and implementation of solution method-
ologies for solving 3D container loading problem with an experimental comparison on the per-
formances of various algorithms on benchmark data sets. We have reviewed 113 papers that cover
all variants of 3D container loading and address a wide spectrum of combinatorial optimization
methodologies, which we review according to placement heuristics, improvement heuristics, and
exact methods. We have attempted to provide an insightful review that describes the main ideas
clearly. These sections do not differentiate between problem types, so we provide an overview of
these papers by problem variant. Our examination of the literature has highlighted three possible
fruitful avenues for research. First we found that there are significantly fewer papers examining
the multiple container packing problem when compared to the single container loading problem.
Further, of the papers looking at multiple containers, very few consider heterogeneous container
problem types. Another observation is that often papers that tackle the multicontainer problem do
so by simply extending their models for the single container loading problem. A second research
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
316 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
issue surrounds the consideration of real-world constraints. Only a small proportion of papers
comprehensively address this, while most other papers focus on a few specific constraints. Even
within those papers discussing real-world constraints, not all critical constraints are taken into
consideration. A consistent set of real-world constraints would benefit the research community
and make adoption by practitioners more likely. This links with the final research issue regarding
the quantity and quality of benchmark data sets. As Bortfeldt and Wäscher (2013) point out, the
current decade-old data sets might not be challenging anymore. Realistic and challenging data sets
with clear real-world constraints would help in moving this research area forward.
References
Allen, S.D., Burke, E.K., Kendall, G., 2011. A hybrid placement strategy for the three-dimensional strip packing problem.
European Journal of Operational Research 209, 219–227.
Allen, S.D., Burke, E.K., Mareček, J., 2012. A space-indexed formulation of packing boxes into a larger box. Operations
Research Letters 40, 20–24.
Amossen, R.R., Pisinger, D., 2010. Multi-dimensional bin packing problems with guillotine constraints. Computers &
Operations Research 37, 1999–2006.
Araya, I., Riff, M.C., 2014. A beam search approach to the container loading problem. Computers & Operations Research
43, 100–107.
Bischoff, E.E., 2006. Three-dimensional packing of items with limited load bearing strength. European Journal of Opera-
tional Research 168, 952–966.
Bischoff, E.E., Marriott, M.D., 1990. A comparative evaluation of heuristics for container loading. European Journal of
Operational Research 44, 267–276.
Bischoff, E.E., Ratcliff, M.S.W., 1995. Issues in the development of approaches to container loading. Omega 23, 377–390.
Bortfeldt, A., 2000. Eine Heuristik für Multiple Containerladeprobleme. OR Spektrum 22, 239–261.
Bortfeldt, A., Gehring, H., 1998. Applying tabu search to container loading problems. Operations Research Proceedings,
Vol. 1997, Springer Verlag, Berlin, pp. 533–538.
Bortfeldt, A., Gehring, H., 2001. A hybrid genetic algorithm for the container loading problem. European Journal of
Operational Research 131, 143–161.
Bortfeldt, A., Gehring, H., Mack, D., 2003. A parallel tabu search algorithm for solving the container loading problem.
Parallel Computing 29, 641–662.
Bortfeldt, A., Mack, D., 2007. A heuristic for the three-dimensional strip packing problem. European Journal of Opera-
tional Research 183, 1267–1279.
Bortfeldt, A., Wäscher, G., 2013. Constraints in container loading: a state-of-the-art review. European Journal of
Operational Research 229, 1–20.
Boschetti, M.A., 2004. New lower bounds for the three-dimensional finite bin packing problem. Discrete Applied Mathe-
matics 140, 241–258.
Brunetta, L., Grégoire, P., 2005. A general purpose algorithm for three-dimensional packing. INFORMS Journal on
Computing 17, 328–338.
Burke, E.K., Hyde, M.R., Kendall, G., Woodward, J., 2012. Automating the packing heuristic design process with genetic
programming. Evolutionary Computation 20, 63–89.
Ceschia, S., Schaerf, A., 2013. Local search for a multi-drop multi-container loading problem. Journal of Heuristics 19,
275–294.
Che, C.H., Huang, W., Lim, A., Zhu, W., 2011a. The multiple container loading cost minimization problem. European
Journal of Operational Research 214, 501–511.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 317
Che, C.H., Huang, W., Lim, A., Zhu, W., 2011b. A heuristic for the multiple container loading cost minimization problem.
In Mehrotra, K.G., Mohan, C.K., Oh, J.C., Varshney, P.K., Ali, M. (eds) Modern Approaches in Applied Intelligence,
Lecture Notes in Computer Science. Springer, Berlin, Heidelberg, pp. 276–285.
Chen, C.S., Lee, S.M., Shen, Q.S., 1995. An analytical model for the container loading problem. European Journal of
Operational Research 80, 68–76.
Chien, C.F., Deng, J.F., 2004. A container packing support system for determining and visualizing container packing
patterns. Decision Support Systems 37, 23–34.
Chien, C.F., Lee, C.Y., Huang, Y.C., Wu, W.T., 2009. An efficient computational procedure for determining the container-
loading pattern. Computers & Industrial Engineering 56, 965–978.
Chien, C.F., Wu, W.T., 1998. A recursive computational procedure for container loading. Computers & Industrial Engi-
neering 35, 319–322.
Chien, C.F., Wu, W.T., 1999. A framework of modularized heuristics for determining the container loading patterns.
Computers & Industrial Engineering 37, 339–342.
Christensen, S.G., Rousøe, D.M., 2009. Container loading with multi-drop constraints. International Transactions in
Operational Research 16, 727–743.
Chua, C.K., Narayanan, V., Loh, J., 1998. Constraint-based spatial representation technique for the container packing
problem. Integrated Manufacturing Systems 9, 23–33.
Crainic, T.G., Perboli, G., Tadei, R., 2008. Extreme point-based heuristics for three-dimensional bin packing. INFORMS
Journal on Computing 20, 368–384.
Crainic, T.G., Perboli, G., Tadei, R., 2009. TS2PACK: a two-level tabu search for the three-dimensional bin packing
problem. European Journal of Operational Research 195, 744–760.
Davies, A.P., Bischoff, E.E., 1999. Weight distribution considerations in container loading. European Journal of Opera-
tional Research 114, 509–527.
de Almeida, A., Figueiredo, M.B., 2010. A particular approach for the three-dimensional packing problem with additional
constraints. Computers & Operations Research 37, 1968–1976.
de Castro Silva, J., Soma, N.Y., Maculan, N., 2003. A greedy search for the three-dimensional bin packing problem: the
packing static stability case. International Transactions in Operational Research 10, 141–153.
Dereli, T., Das, G.S., 2011. A hybrid bee(s) algorithm for solving container loading problems. Applied Soft Computing
11, 2854–2862.
Egeblad, J., Pisinger, D., 2009. Heuristic approaches for the two- and three-dimensional knapsack packing problem.
Computers & Operations Research 36, 1026–1049.
Eley, M., 2002. Solving container loading problems by block arrangement. European Journal of Operational Research
141, 393–409.
Eley, M., 2003. A bottleneck assignment approach to the multiple container loading problem. OR Spectrum 25, 45–60.
Epstein, L., Levy, M., 2010. Dynamic multi-dimensional bin packing. Journal of Discrete Algorithms 8,
356–372.
Faina, L., 2000. A global optimization algorithm for the three-dimensional packing problem. European Journal of
Operational Research 126, 340–354.
Fanslau, T., Bortfeldt, A., 2010. A tree search algorithm for solving the container loading problem. INFORMS Journal
on Computing 22, 222–235.
Farøe, O., Pisinger, D., Zachariasen, M., 2003. Guided local search for the three-dimensional bin-packing problem.
INFORMS Journal on Computing 15, 267–283.
Fekete, S.P., Schepers, J., 1997. A new exact algorithm for general orthogonal d-dimensional knapsack problems. In
Burkard, R., Woeginger, G. (eds) Algorithms ESA 97, Lecture Notes in Computer Science. Springer, Berlin, Heidel-
berg, pp. 144–156.
Fekete, S.P., Schepers, J., 2004. A combinatorial characterization of higher-dimensional orthogonal packing. Mathematics
of Operations Research 29, 353–368.
Fekete, S.P., Schepers, J., van der Veen, J.C., 2007. An exact algorithm for higher-dimensional orthogonal packing.
Operations Research 55, 569–587.
Fujiyoshi, K., Kawai, H., Ishihara, K., 2009. A tree based novel representation for 3D-block packing. IEEE Transactions
on Computer-Aided Design of Integrated Circuits and Systems 28, 759–764.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
318 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
Gehring, H., Bortfeldt, A., 1997. A genetic algorithm for solving the container loading problem. International Transactions
in Operational Research 4, 401–418.
Gehring, H., Bortfeldt, A., 2002. A parallel genetic algorithm for solving the container loading problem. International
Transactions in Operational Research 9, 497–511.
Gehring, H., Menschner, K., Meyer, M., 1990. A computer-based heuristic for packing pooled shipment containers.
European Journal of Operational Research 44, 277–288.
George, J.A., 1992. A method for solving container packing for a single size of box. Journal of the Operational Research
Society 43, 307–312.
George, J.A., Robinson, D.F., 1980. A heuristic for packing boxes into a container. Computers & Operations Research 7,
147–156.
Gonçalves, J.F., Resende, M.G.C., 2012. A parallel multi-population biased random-key genetic algorithm for a container
loading problem. Computers & Operations Research 39, 179–190.
Gonçalves, J.F., Resende, M.G.C., 2013. A biased random key genetic algorithm for 2D and 3D bin packing problems.
International Journal of Production Economics 145, 500–510.
Haessler, R.W., Talbot, F.B., 1990. Load planning for shipments of low density products. European Journal of Operational
Research 44, 289–299.
Han, C.P., Knott, K., Egbelu, P.J., 1986. A heuristic approach to the three dimensional cargo loading problem. Computers
& Industrial Engineering 11, 109–113.
Hasni, H., Sabri, H., 2013. On a hybrid genetic algorithm for solving the container loading problem with no orientation
constraints. Journal of Mathematical Modelling and Algorithms in Operations Research 12, 67–84.
He, K., Huang, W., 2010. A caving degree based flake arrangement approach for the container loading problem. Computers
& Industrial Engineering 59, 344–351.
He, K., Huang, W., 2011. An efficient placement heuristic for three-dimensional rectangular packing. Computers &
Operations Research 38, 227–233.
He, Y., Wu, Y., de Souza, R., 2012. A global search framework for practical three-dimensional packing with variable
carton orientations. Computers & Operations Research 39, 2395–2414.
Hemminki, J., 1994. Container Loading with Variable Strategies in Each Layer. Institute for Applied Mathematics,
University of Turku, Turku, Finland.
Hifi, M., 2002. Approximate algorithms for the container loading problem. International Transactions in Operational
Research 9, 747–774.
Hifi, M., Kacem, I., Négre, S., Wu, L., 2010. A linear programming approach for the three-dimensional bin-packing
problem. Electronic Notes in Discrete Mathematics 36, 993–1000.
Huang, W., He, K., 2009a. A caving degree approach for the single container loading problem. European Journal of
Operational Research 196, 93–101.
Huang, W., He, K., 2009b. A new heuristic algorithm for cuboids packing with no orientation constraints. Computers &
Operations Research 36, 425–432.
Ivancic, N., Mathur, K., Mohanty, B., 1989. An integer programming based heuristic approach to the three-dimensional
packing problem. Journal of Manufacturing and Operations Management 2, 268–298.
Jin, Z., Ito, T., Ohno, K., 2003. The three-dimensional bin packing problem and its practical algorithm. JSME Interna-
tional Journal Series C Mechanical Systems, Machine Elements and Manufacturing 46, 60–66.
Junqueira, L., Morabito, R., Sato Yamashita, D., 2012a. Three-dimensional container loading models with cargo stability
and load bearing constraints. Computers & Operations Research 39, 74–85.
Junqueira, L., Morabito, R., Sato Yamashita, D., 2012b. MIP-based approaches for the container loading problem with
multi-drop constraints. Annals of Operations Research 199, 51–75.
Kang, M.K., Jang, C.S., Yoon, K.S., 2010. Heuristics with a new block strategy for the single and multiple containers
loading problems. Journal of the Operational Research Society 61, 95–107.
Kang, K., Moon, I., Wang, H., 2012. A hybrid genetic algorithm with a new packing strategy for the three-dimensional
bin packing problem. Applied Mathematics and Computation 219, 1287–1299.
Lai, K.K., Chan, J.W.M., 1997. Developing a simulated annealing algorithm for the cutting stock problem. Computers &
Industrial Engineering 32, 115–127.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320 319
Lai, K.K., Xue, J., Xu, B., 1998. Container packing in a multi-customer delivering operation. Computers & Industrial
Engineering 35, 323–326.
Liang, S.C., Lee, C.Y., Huang, S.W., 2007. A hybrid meta-heuristic for the container loading problem. Communications
of the International Information Management Association 7, 73–84.
Lim, A., Ma, H., Xu, J., Zhang, X., 2012. An iterated construction approach with dynamic prioritization for solving the
container loading problems. Expert Systems with Applications 39, 4292–4305.
Lim, A., Rodrigues, B., Wang, Y., 2003. A multi-faced buildup algorithm for three-dimensional packing problems. Omega
31, 471–481.
Lim, A., Rodrigues, B., Yang, Y., 2005. 3-D container packing heuristics. Applied Intelligence 22, 125–134.
Lim, A., Zhang, X., 2005. The container loading problem. Proceedings of the 2005 ACM Symposium on Applied Computing,
SAC 05, ACM, New York, pp. 913–917.
Lin, J.L., Foote, B., Pulat, S., Chang, C.H., Cheung, J.Y., 1993. Hybrid genetic algorithm for container packing in three
dimensions. Proceedings of the Ninth Conference on Artificial Intelligence for Applications, IEEE Computer Society
Press, Orlando, FL, pp. 353–359.
Lins, L., Lins, S., Morabito, R., 2002. An n-tet graph approach for non-guillotine packings of n-dimensional boxes into
an n-container. European Journal of Operational Research 141, 421–439.
Liu, J., Yue, Y., Dong, Z., Maple, C., Keech, M., 2011a. A novel hybrid tabu search approach to container loading.
Computers & Operations Research 38, 797–807.
Liu, W.Y., Lin, C.C., Yu, C.S., 2011b. On the three-dimensional container packing problem under home delivery service.
Asia-Pacific Journal of Operational Research 28, 601–621.
Lodi, A., Martello, S., Vigo, D., 2002. Heuristic algorithms for the three-dimensional bin packing problem. European
Journal of Operational Research 141, 410–420.
Lodi, A., Martello, S., Vigo, D., 2004. TSpack: a unified tabu search code for multi-dimensional bin packing problems.
Annals of Operations Research 131, 203–213.
Loh, T., Nee, A., 1992. A packing algorithm for hexahedral boxes. Proceedings of the Conference of Industrial Automation,
Singapore, pp. 115–126.
Mack, D., Bortfeldt, A., Gehring, H., 2004. A parallel hybrid local search algorithm for the container loading problem.
International Transactions in Operational Research 11, 511–533.
Martello, S., Pisinger, D., Vigo, D., 2000. The three-dimensional bin packing problem. Operations Research 48, 256–267.
Miyazawa, F.K., Wakabayashi, Y., 1997. An algorithm for the three-dimensional packing problem with asymptotic
performance analysis. Algorithmica 18, 122–144.
Miyazawa, F.K., Wakabayashi, Y., 1999. Approximation algorithms for the orthogonal Z-oriented three-dimensional
packing problem. SIAM Journal on Computing 29, 1008–1029.
Miyazawa, F.K., Wakabayashi, Y., 2009. Three-dimensional packings with rotations. Computers & Operations Research
36, 2801–2815.
Mohanty, B.B., Mathur, K., Ivancic, N.J., 1994. Value considerations in three-dimensional packing: a heuristic procedure
using the fractional knapsack problem. European Journal of Operational Research 74, 143–151.
Morabito, R., Arenales, M., 1994. An AND/OR-graph approach to the container loading problem. International Trans-
actions in Operational Research 1, 59–73.
Moura, A., Oliveira, J.F., 2005. A GRASP approach to the container-loading problem. IEEE Intelligent Systems 20,
50–57.
Ngoi, B.K.A., Tay, M.L., Chua, E.S., 1994. Applying spatial representation techniques to the container packing problem.
International Journal of Production Research 32, 111–123.
Padberg, M., 2000. Packing small boxes into a big box. Mathematical Methods of Operations Research 52, 1–21.
Parreño, F., Alvarez-Valdes, R., Oliveira, J., Tamarit, J., 2010. Neighborhood structures for the container loading problem:
a VNS implementation. Journal of Heuristics 16, 1–22.
Parreño, F., Alvarez-Valdes, R., Tamarit, J.M., Oliveira, J.F., 2008. A maximal-space algorithm for the container loading
problem. INFORMS Journal on Computing 20, 412–422.
Pisinger, D., 2002. Heuristics for the container loading problem. European Journal of Operational Research 141, 382–392.
Ratcliff, M.S.W., Bischoff, E.E., 1998. Allowing for weight considerations in container loading. OR Spektrum 20, 65–71.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies
320 X. Zhao et al. / Intl. Trans. in Op. Res. 23 (2016) 287–320
Ren, J., Tian, Y., Sawaragi, T., 2011. A tree search method for the container loading problem with shipment priority.
European Journal of Operational Research 214, 526–535.
Scheithauer, G., 1991. A three-dimensional bin packing algorithm. Journal of Information Processing and Cybernetics 27,
263–271.
Scheithauer, G., 1992. Algorithms for the container loading problem. In Gaul, W., Bachem, A., Habenicht, W. (eds)
Operations Research Proceedings 1991, Springer, Berlin, Heidelberg, pp. 445–452.
Sciomachen, A., Tanfani, E., 2007. A 3D-BPP approach for optimising stowage plans and terminal productivity. European
Journal of Operational Research 183, 1433–1446.
Soak, S.M., Lee, S.W., Yeo, G.T., Jeon, M.G., 2008. An effective evolutionary algorithm for the multiple container packing
problem. Progress in Natural Science 18, 337–344.
Takahara, S., 2006. A simple meta-heuristic approach for the multiple container loading problem. IEEE International
Conference on Systems, Man and Cybernetics, 2006 (SMC 06), Taipei, pp. 2328–2333.
Takahara, S., 2008. A multi-start local search approach to the multiple container loading problem. In Bednorz, W. (ed.)
Advances in Greedy Algorithms, IN-TECH, Vienna, pp. 55–68.
Thapatsuwan, P., Pongcharoen, P., Hicks, C., Chainate, W., 2012. Development of a stochastic optimisation tool for
solving the multiple container packing problems. International Journal of Production Economics 140, 737–748.
Wang, Z., Li, K.W., Levy, J.K., 2008. A heuristic for the container loading problem: a tertiary-tree-based dynamic space
decomposition approach. European Journal of Operational Research 191, 86–99.
Wäscher, G., Haußner, H., Schumann, H., 2007. An improved typology of cutting and packing problems. European
Journal of Operational Research 183, 1109–1130.
Wu, Y., Li, W., Goh, M., de Souza, R., 2010. Three-dimensional bin packing problem with variable bin height. European
Journal of Operational Research 202, 347–355.
Xue, J., Lai, K.K., 1997. Effective methods for a container packing operation. Mathematical and Computer Modelling 25,
75–84.
Yeh, J.M., Lin, Y.C., Yi, S., 2003. Applying genetic algorithms and neural networks to the container loading problem.
Journal of Information and Optimization Sciences 24, 423–443.
Yeung, L.H.W., Tang, W.K.S., 2005. A hybrid genetic approach for container loading in logistics industry. IEEE Trans-
actions on Industrial Electronics 52, 617–627.
Zhang, D., Peng, Y., Leung, S.C.H., 2012. A heuristic block-loading algorithm based on multi-layer search for the
container loading problem. Computers & Operations Research 39, 2267–2276.
Zhu, W., Huang, W., Lim, A., 2012a. A prototype column generation strategy for the multiple container loading problem.
European Journal of Operational Research 223, 27–39.
Zhu, W., Lim, A., 2012. A new iterative-doubling Greedy-Lookahead algorithm for the single container loading problem.
European Journal of Operational Research 222, 408–417.
Zhu, W., Oon, W.C., Lim, A., Weng, Y., 2012b. The six elements to block-building approaches for the single container
loading problem. Applied Intelligence 37, 431–445.
C 2014 The Authors.
International Transactions in Operational Research
C 2014 International Federation of Operational Research Societies