[IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia...
Transcript of [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia...
Parallelization of the Multi-Objective Container Loading Problem
Jesica de Armas, Yanira Gonzalez, Gara Miranda, and Coromoto Leon
Abstract—This work presents a multi-objective approachto solve the Container Loading Problem. The single-objectiveformulation of the problem has been widely studied in the relatedliterature, trying to optimise the total volume of the packedpieces into the container. However, a rather common aspect inthe scope of this problem is the weight limit of the containers,since they normally cannot exceed a certain weight for theirtransportation, and they should make the most without exceedingthat limit. For this reason, we have focused on a multi-objectiveformulation of the problem which seeks to maximize the volumeat the same time that the weight, without exceeding the weightlimit. To solve this multi-objective problem we have applied
multi-objective optimisation evolutionary algorithms given theirgreat effectiveness with other types of real-world multi-objectiveproblems. One of the goals of this work is to improve the resultsof the only known work in the literature that addresses thesame problem with multiple objectives. Once we have achievedit, we have parallelized the problem applying different island-based models to enhance the effectiveness and efficiency of ourapproach.
I. INTRODUCTION
The Container Loading Problem (CLP) belongs to an area
of active research and has numerous applications in the real
world, particularly in container transportation and distribution
industries. Rising fuel cost now provides a strong incentive
for container carriers to maximize available container space,
thereby minimizing the number of required trips across the
global container transportation system [1]. The efficient load-
ing of containers, that is, the minimization of empty spaces
inside of them, is not only an economic requirement but
also an ecological issue due to the adverse consequences
of increased traffic on environmental resources [2]. Among
the cutting and packing problems, container loading problems
have been highly studied. In general, these problems are to
distribute a set of rectangular pieces (boxes) in one large
rectangular object (container) so as to maximize the total
volume of packed boxes, i.e., trying to obtain a pattern of
packaging that uses the container space as much as possible.
When solving the real CLP, normally maximizing the used
space is the most important goal, but there are other issues that
may be taken into account. In [3] many practical requirements,
such as restrictions on orientation, load distribution, stability,
priority boarding or the maximum weight of containers, are
described. Sometimes, to pack all the boxes in a container
you must take care of their orientation, for example when
their content is fragile. Other times, a good load distribution
in the container should be made for a proper transportation, or
a specific order for later shipment landed is needed. However,
Dpto. Estadıstica, I. O. y Computacion, Universidad de La Laguna, Avda.Astrofısico Fco. Sanchez s/n, 38271 La Laguna, Santa Cruz de Tenerife,Spain (phone: +34 922 318180; email: [email protected], [email protected],[email protected]).
a rather common aspect in the scope of this problem is the
weight limit of the containers, since they normally can not
exceed a certain weight for their transportation, and they
should make the most without exceeding that limit. The rented
trucks to transport the shipment are paid according to the total
weight they can transport regardless of the total volume. Thus,
the decision maker prefers to load and ship a shipment with
high total weight rather than a shipment with low total weight.
For that reason, in this work we take the total weight as a
second objective. Then, the problem can be stated as a multi-
objective optimization problem, trying to optimize the pieces
layout inside the container so that the volume is maximized at
the same time that the weight, without exceeding the weight
limit. The formulation of the here addressed problem is as
follow: we have a container with known dimensions (W =width, L = length,H = height), and a maximum weight it
can hold Pmax, and a set of N rectangular boxes. These boxes
belong to one of the sets of boxes types D = {T1 . . . Tm},where the i-th type Ti is of dimensions wi ≤ W , li ≤ L
and hi ≤ H . Associated with each Ti type exists a weight
pi < Pmax, a volume vi, a demand bi, and a number of
orientations allowed oi ∈ [1, 6]. Ultimately, the aim is to find a
packing into the container without overlapping, with xi boxes
of type Ti maximizing the total volume used of the container
and the total weight of packaging:
maxm∑
i=1
xivi and maxm∑
i=1
xipi
subject to xi ∈ [0, bi] and
m∑
i=1
xipi ≤ Pmax
The problem will be solved using the following assump-
tions:
• Each box is placed in the container floor or on top of
another box.
• The stability of the distribution of the boxes is not
considered, since it is assumed the use of filler material
to prevent potential problems.
In the literature, although there is some isolated work that
uses an exact algorithm [4] to deal with it, most studies focus
on providing solutions using heuristics and metaheuristics,
because, computationally, the CLP is a NP-hard problem [5],
i.e., you can not get an exact solution in polynomial time.
The heuristics can be developed taking into acount different
specific distributions: wall-building [3], [6], cuboid arrange-
ment [7], [8], stack-building [9], [10], or guillotine cuts [11].
Although there are many heuristic algorithms [2], [6], [3],
[12], [13], [14], [15], in recent years the attention to the
metaheuristics such as genetic algorithms [9], [16], [17], sim-
ulated annealing [18], [19], [20], tabu searches [7], [21], and
U.S. Government work not protected by U.S. copyright
WCCI 2012 IEEE World Congress on Computational Intelligence June, 10-15, 2012 - Brisbane, Australia IEEE CEC
Fig. 1. Example of conflict objectives
hybrid algorithms [22], [23], [24], [25], has been increased.
Sometimes, these processes may include parallelizations, this
is the case of some parallel genetic algorithms [26], parallel
tabu searches [27], or parallel hybrid local searches [28].
On the other hand, the only known work in the literature that
addresses this problem as multi-objective, uses a simulated
annealing algorithm hybridized with filling heuristics [29], and
specifically addresses the problem treated here. So it would
be interesting to improve the values obtained in that work,
and this is one of the goals of the present work, together
with the parallelizations of the problem using island-based
models. The remaining content of this paper is organised
as follows. Section II gives a general overview of multi-
objective optimization. A description of the applied multi-
objective approach is given in section III. The experimental
results of these approaches are presented in section IV. Finally,
the conclusions and some lines of future work are given in
section V.
II. MULTI-OBJECTIVE OPTIMIZATION
Multi-objective or multi-criteria optimization problems
(MOPs) [30], [31] arise in most real-world disciplines. While
in single-objective optimization the optimal solution is usually
clearly defined, this does not hold for MOPs. Instead of a
single optimum, there is rather a set or front of alternative
trade-offs, known as Pareto-optimal front, constituted by the
non-dominated solutions. These solutions are optimal in the
sense that no other solutions in the search space are superior to
them when all objectives are considered. The final aim when
dealing with MOPs is to obtain a non-dominated solution set
which, in the best case, will coincide with the Pareto-optimal
front. From the resulting final solution set, a human decision
maker will be able to select a suitable compromise solution.
In most optimization problems in the real world, the objec-
tives are often involved in conflict between them, i.e., there is
not single solution to optimize all objectives simultaneously.
In the case of multi-objective CLP, you might think a priori
that the total volume maximization implies a maximization of
weight. However, many times the size of the pieces or boxes
to pack in the container is not proportional to their weight.
That is, a box can be large and the content thereof may be
lighter than a the content of a smaller box (see Figure 1). So
once again we have two goals with at least some degree of
conflict.
Evolutionary algorithms (EAs) have shown great promise
for calculating solutions to large and difficult optimization
problems and have been successfully used across a wide
variety of real-world applications [32]. In fact, when applied
to MOPs, EAs seem to perform better than other blind search
strategies. Although this statement must be qualified with
regard to the no free lunch theorems for optimization [33],
to date there are few, if any, alternatives to EA-based multi-
objective optimization [34]. The use of EAs to solve problems
of this special nature has been motivated mainly because
they are able to capture multiple Pareto-optimal solutions
in a single simulation run - which is possible thanks to
their population-based feature - and to exploit similarities
of solutions by recombination. EAs that are specifically de-
signed to deal with multiple objective functions are known as
MOEAs [35]. When designing MOEAs two major problems
must be addressed [36]: how to accomplish fitness assignment
and selection in order to guide the search towards the Pareto-
optimal set, and how to maintain a diverse population in order
to prevent premature convergence and achieve a well dis-
tributed trade-off front. Many alternatives have been proposed
in an attempt to adhere to such design goals [37]: VEGA [38],
NPGA [39], NSGA [40], SPEA [41], IBEA [42], etc.
III. MULTI-OBJECTIVE APPROACH
Since MOEAs have shown promise for solving multi-
objective problems in the real world, especially in cutting and
packing problems [43], [44], we wish to prove their effective-
ness in this particular problem. We want to make a comparison
with the only known multi-objective approach [29] that takes
into account the same goals: maximizing the weight and vol-
ume of the container used. Moreover, to improve performance
and deliver quality results in less time we will make a study
of parallelizations using the island-based models provided
by METCO [45], a parallel framework which provides im-
plemetations of some MOEAs. It is based on plugins for multi-
objective optimization, and allows users to simply specify the
details related to the problem (representation, evaluation of
objectives, operators, ...) without having to worry about the
internal details of the implementation of the algorithm. The
parallel framework also provides a simple interface, flexible
and efficient to establish and modify the parameters used in
the algorithm. So, we have used it to study the island-based
models. These models divide the original population in a
sub-set of independent sub-populations. Each subpopulation
is associated with an island and a MOEA configuration is
executed over each subpopulation. A configuration consists
of an optimization algorithm with their respective parameters.
Generally, each processor is an island, so that each island
evolves independently in parallel. However, since the col-
laborative schemes often achieve better results, a migration
phase is included to allow exchange of individuals between
islands. This collaborative behavior adds to the islands the
possibility of obtaining a better performance. Four different
island-based models exist [35]: all islands execute identical
MOEAs/parameters (homogeneous), all islands execute differ-
ent MOEAs/parameters (heterogeneous), each island evaluates
different objective function subsets, and each island represents
a different region of the genotype or phenotype domains.
A. Representation
For the representation of candidate solutions, we used the
structure in Figure 2. If s ∈ [1, N ] is the chromosome size,
which varies according to the grouping of pieces of each type,
the individual will consist of a sequence of genes G1, . . . , Gs
where each gene consists of three elements (ti, ni, ri), withti ∈ [t1, tm], ni ∈ [1, bi] and ri ∈ [0, oi). So, it is a
sequence formed by piece type, number of pieces of that type
and rotation for those pieces. This will determine the order
in which the pieces will be put in the container and their
orientations. Each piece has allowed two, four or six possible
orientations, as determined by the input instance. Thus, to
Fig. 2. Example of the solution representation
indicate the orientation ri of a set of pieces we use a digit
from 0 to 5, indicating a rotation of the piece with respect to
its original orientation. A valid chromosome must contain all
the pieces of each different type. Using this representation,
the chromosome size may vary, depending on how you group
the pieces of each type:
∀j ∈ [1,m]s
∑
k=1
zjk = bj
{
zjk = nk si tk = tjzjk = 0 si tk 6= tj
}
B. Generation of the initial population
For the initial generation of individuals, first a type of piece
ti for which xi < bi, must be randomly generated, i.e. there
are still pieces of that type to be placed Then, we generate the
number of pieces of that type ni ≤ bi−xi to be considered in
the current gene and a rotation allowed for this set of pieces
ri ∈ [0, oi). These steps must be carried out until you have
entered all the pieces of each type in the chromosome, i.e.,
∀i ∈ [1,m] xi = bi.
C. Evaluation of the objectives
Each chromosome represents a certain order in which
pieces are to be placed in the container and their orientation.
Based on this information, we can evaluate both optimization
objectives, total volume and weight, using a heuristic. This
heuristic is based on storage by levels of pieces within the
container and works as follows:
• The first piece is introduced at the bottom left corner of
the container. This piece will determine the width of the
first level and and will generate two holes, one in the
front and another above (Figure 3).
• The rest of the chromosome is explored trying to intro-
duce the pieces at that level and, if any piece fits in that
level, a new level is created adjacent to the previous one.
To do this check the following guidelines are followed:
Fig. 3. Creation of holes
– First we try to fill the holes that have been created in
front. If there is no hole in front where the current
piece fits, we check if it fits in one of the holes
above. If it does not fit into any of these holes, we
check if it fits in a hole beside. If the piece does not
fit into this set of holes, then we discard the piece
at this level, and try to introduce it when the next
level is created.
– In case that the piece fits in any of the holes, we
check if it fits perfectly leaving no holes. If so, then
the hole disappears and the piece is inserted into the
container. Otherwise, we insert the piece creating the
new holes generated.
• When all the pieces which fit in the container have
been introduced, the value of the objectives (volume and
weight) can be easily calculated by adding the volumes
and weights of all these pieces.
D. Operators
Taking into account an individual represented by the chro-
mosome C1 = (G11, . . . , G1s1) and another individual rep-
resented by the chromosome C2 = (G21, . . . , G2s2), a one
point crossover operator has been implemented that works as
follows:
• First, we select a random point from each individual,
p1 ∈ [1, s1] and p2 ∈ [1, s2].• We exchange the parts of each individual
after the selected points so that C1 =(G11, . . . , G1p1, G2p2+1, . . . , G2s2) and C2 =(G21, . . . , G2p2, G1p1+1, . . . , G1s1).
• The first part of each individual is modified,
G11, . . . , G1p1 and G21, . . . , G2p2, to respect the
total number of pieces of each type present in the
chromosome. That is, we remove any extra piece types
if there are too many pieces of this type, or we add if
missing.
For the mutation we have introduced three different types of
movements on the chromosome, each of which applied under
the probability of mutation:
• Add one gene: a type of piece is randomly generated
tx ∈ [t1, tm]. Then, all genes with this type of piece
are searched, and we select one with more than one
associated piece. A number of pieces nx < ny is
chosen from the selected gene Gy = (ty, ny, ry) with
ty = tx, so that the pieces are distributed between that
gene (ty , ny −nx, ry) and the new one (tx, nx, rx). Theorientation is chosen such that it is among those allowed
for that type of piece rx ∈ [0, ox). Finally, we choose theposition of the chromosome in which to insert the new
gene, moving the rest to the right (Figure 4).
• Remove a gene: a position within the chromosome is
randomly selected and we checked if the same piece type
tx of the gene Gx = (tx, nx, rx) is repeated more times
in that chromosome. If there are not more genes with
the type tx, the operation is not performed. Otherwise, a
gene Gy = (ty , ny, ry) is randomly selected from among
Fig. 4. Add mutation operator
Fig. 5. Remove mutation operator
Fig. 6. Change mutation operator
the same type, i.e. ty = tx, and the number of pieces will
be increased with the number of pieces of the first gene
to be removed (ny = ny + nx) to delete Gx. As it is
possible that both genes do not have the same type of
orientation of pieces (rx 6= ry), one of them is randomly
selected. Finally, Gx is eliminated by compaction to the
left (Figure 5).
• Change a gene: a random position of the chromosome is
selected and the type of orientation is randomly changed
within the possible orientations for the piece type (Fig-
ure 6).
IV. EXPERIMENTAL EVALUATION
The purpose of this study is to solve the multi-objective
CLP using evolutionary strategies and some parallelizations
which are offering by METCO [45], a parallel framework
based on plugins for the multi-objective optimization. The
TABLE I
REFERENCE TEST PROBLEM INSTANCE
ID Description w/l/h(cm) N. of boxes Weight(kg) Total Volume(cm3)
1 Detergent 40/36/28 325 20.00 13,104,000
2 Bleaching liquid 54/28/30 25 22.00 1,134,000
3 Personal care 54/28/30 75 2.35 3,402,000
4 Detergent 39/29/32 75 20.00 2,714,400
5 Shaving product 15/10/20 10 1.47 30,000
6 Baby care 42/37/25 150 2.80 5,827,500
7 Toothpaste 36/18/18 3 3.72 34,992
8 Shampoo 18/17/22 25 4.97 168,300
9 Shampoo 22/17/22 50 5.00 411,400
10 Shampoo 12/11/16 5 1.33 10,560
11 Bleaching liquid 30/27/40 20 17.60 648,000
12 Shaving product 19/7/21 3 0.12 8,379
Total 766 9905.37 27,493,531
aim is to improve the only known results of a work [29] that
addresses the real problem with multiple objectives. Through
the use of METCO, the implementation from scratch of
MOEAs is prevented, since it provides implementations of
some of the most widely used MOEAs in the literature. The
experimental evaluation was carried out using a dedicated
cluster with 20 nodes of dual core and Debian GNU/Linux
operating system. The framework and the problem approach
have been implemented using C++ and compilated with gcc
4.1.3 and MPICH 1.2.7. For the computational study, we have
used the real test problem instance proposed in [29]. The
instance has 12 types of products with different sizes and
associated weight (Table I). In the paper that we have taken
as reference [29] there is no information about the boxes
orientations. Therefore, and because some of the boxes contain
liquids, it is assumed that you can only rotate the base of the
boxes.
In the referenced work, the problem is solved using a
simulated annealing algorithm with a filling heuristic, and
assigning different weights, from 0 to 1, to each objective.
The parameters of the simulated annealing algorithm used
for the problem are: initial temperature Tin = 5000, finaltemperature Tf = 0.0001, the constant α = 0.987 and number
of iterations that must be performed for each temperature
ilmax = 12. However, here, we use three different MOEAs:
NSGA-II, SPEA2 and an adaptative version of IBEA. After
an initial tunning, the mutation probability has been fixed to
0.3, the crossover probability has been fixed to 0.9 and the
population size has been fixed to 20. For the adaptative version
of IBEA, the fitness scaling factor has been fixed to 0.001.
First, a sequential study with these parameters was carried
out, performing 30 repetitions of 30000 evaluations (1500
generations). The hypervolume [46] for the three different
MOEAs is shown in Figure 7. We have used the means of
the hypervolume for the 30 executions because the variances
are very low. As we can see, the hypervolume for NSGA-
II and SPEA2 has a very similar behaviour, whereas the
hypervolume for adaptative version of IBEA is a little bit
worse. In fact, the hypervolumen for NSGA-II seems to be
the best one. For this reason, we have chosen NSGA-II to
calculate the average of the highest volume obtained in each
of the 30 final fronts. The value expressed in percent of
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
0 5000 10000 15000 20000 25000 30000
Hypervolume
Evaluations
Sequential Models
NSGAII
SPEA2
IBEA adapt
Fig. 7. Hypervolume for Sequential Models
container volume used (91.13%), clearly exceeds the best
percentage (87.51%) of the results provided by the reference
paper [29]. The same happens if we calculate the average of
the highest weight in each of the 30 final fronts, obtaining
a value of 7199.52 kg against the 7157.06 kg of reference.
Table II shows the two averages previously calculated with
the corresponding value of the opposite objective, and the four
different solutions obtained in [29] for the handled instance.
Clearly, the results obtained improve the reference values,
achieving higher packaging volume than the best of the four
reference volumen values.
To identify the area of the search space being explored, and
see the general behavior of the evolutionary algorithm applied
to this problem, if we directly draw the 30 Pareto fronts
could be very confused, so, here, we have used attainment
surfaces [47]. Figure 8 shows 1, 15 and 30 attainment surfaces
for the addressed instance, and points that provide the refer-
ence paper. As we can see, the results cover a large area of the
solution space, offering a set of compromise solutions between
the two objectives, so that the decision maker may choose
the most appropriate option in each case. However, different
solutions given in [29] are behind attainment surfaces, being
completely dominated by the new solutions. The first reference
point (21427698, 6713.37) is not represented because it is
significantly below the graphic, since the weight value is
TABLE II
COMPARATIVE OF OBJECTIVES
Avg. Volume Avg. Weight Value 1 Value 2 Value 3 Value 4
Volume (%) 91.13% 90.87% 87.51% 86.13% 86.09% 85.96%
(cm3) 22315526 22250896 21427698 21089791 21079997 21048165
Weight (kg) 7197.39 7199.52 6713.37 7157.06 7150.41 7151.37
7150
7160
7170
7180
7190
7200
7210
1.9e+07 2e+07 2.1e+07 2.2e+07 2.3e+07
Weight
Volume
Attainment Surfaces
Reference point
Surface_1
Surface_15
Surface_30
Fig. 8. Attainment Surfaces for the 30 Executions
much lower than the solution fronts here represented. But it
is dominated too. That way, the validity of MOEAs to tackle
such problems is demostrated, beating the results obtained
using a simulated annealing algorithm. Moreover, the set
of compromise solution are obtained in only one ejecution,
whereas the applied algorithm in [29] assigns different weights
to each objective and for each of the combinations of weights
requires an execution.
Once this is verified, it could be interesting to see if the
island-based parallel models offered by METCO can improve
the performance of the sequential models. First, the homoge-
neous island-based models are analized, where all the islands
execute the same configuration of a MOEA. Therefore, we
have done the executions using the homogeneous model with
NSGA-II and SPEA2 algorithms using the same parameters
applied in the sequential executions, and two, four and eight
islands. We have chosen these algorithms because they have a
similar behaviour in the sequential executions. In Figure 9, the
hypervolume for each version is shown. Results for parallel
execution with two islands get better performance than the
sequential ones, especially when the numbers of evaluations is
increased, and therefore, the time. Execution with four islands
only manages to reach the quality of the sequential ones at the
end, while eight islands are not able to improve the quality of
sequential solutions in the same total number of evaluations.
This is because the more islands used, the lower the number of
evaluations or generations that makes each of them separately,
i.e., the same number of evaluations are divided among more
processors, thus, each processor less headway in exploration.
If we wanted to execute the parallel model during the same
time as the sequential one, improvements over the sequential
solutions could be possible. However, here we want to execute
the same number of evaluations, so the parallel execution
times are considerably reduced when we compare them with
the sequential ones.
Now, it would be interesting to analize the heterogeneous
island-based models, where each island executes a different
MOEA. In theory, the behavior of an heterogeneous model
using two islands, where one island uses NSGA-II and the
other uses SPEA2, should be between the behavior of the
best homogeneous and the behavior of the worst one using
two islands. However, there are several migration parameters
which must be tuned to obtain the expected behavior. Two
of the most important aspects are the selection of individual
to migrate and the selection of individual to replace in each
island. In an initial attempt, we used a random selection of
individuals to migrate and we selected individuals from the
worst ranks to replace. Nevertheless, these options didn’t give
us the expected results, so we made some tests to obtain better
migrations. Finally, we got better results selecting random
non-dominated individuals to migrate and searching the near-
est individuals in the objective space to replace. Figure 10
shows the different behaviors of the heterogeneous models
when we use the first kind of selected migrations (labeled
as first) and the final kind of selected migrations (labeled as
second). So, in Figure 11 we show two graphics: one graphic
shows the hypervolume for the final heterogeneous executions
with 2 islands, next to the hypervolume for the homogeneous
executions with 2 islands (using NSGA-II and SPEA2), and
the other graphic shows the same information for 4 islands. As
we can see, the final heterogeneous model shows the expected
behavior. Even, the hypervolume of heterogeneous model
lightly improve the hypervolume of the best homogeneous
model when we use 4 islands, so by combining the best of
the two MOEAs we obtain high quality solutions. This way, if
we did’t have the chance of making many executions to prove
each MOEA, using the heterogeneous model would give us
an alternative.
V. CONCLUSIONS
In this work we have presented a multi-objective approach
to solve the Container Loading Problem. The goal is to
optimise the usage of the container so as to maximise the
total packed volume as well as maximise the total weight
of the container, without exceeding a weight limit. For this
purpose, we have applied MOEAs and some parallelizations
using island-based models. The obtained results show the
great effectiveness of MOEAs when applied to such kind
of problems. Firstly, we have achieved to improve the only
known results of a referenced work which deals with the
same multi-objective problem. Then, we have tested some
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
0 5000 10000 15000 20000 25000 30000
Hypervolume
Evaluations
Sequential and Homogeneous Models
NSGAII seq
NSGAII hom 2
NSGAII hom 4
NSGAII hom 8
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
0 5000 10000 15000 20000 25000 30000
Hypervolume
Evaluations
Sequential and Homogeneous Models
SPEA2 seq
SPEA2 hom 2
SPEA2 hom 4
SPEA2 hom 8
Fig. 9. Hypervolume for Homogeneous Models
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
0 5000 10000 15000 20000 25000 30000
Hypervolume
Evaluations
Heterogenous Models
first het 2
first het 4
second het 2
second het 4
Fig. 10. Comparative of Hypervolume for Heterogeneous Models
island-based models, such as the homogeneous models. In this
case, results demostrate the good behaviour of these parallel
schemes, improving the quality of the sequential ones. In
addition, the heterogeneous models provide an intermediate
behavior between the worst homogeneous model and the best
one.
As future works, we should execute other heterogeneous
island-based model provided by METCO which allows for
the dynamic coperation and adaptation of the given MOEA. In
addition, it would be interesting to test other encoding schemes
for representing individuals, for example a hyperheuristic
encoding scheme.
ACKNOWLEDGMENT
This work was funded by the EC (FEDER) and the Spanish
Ministry of Science and Technology as part of the ‘Plan
Nacional de I+D+i’ (TIN2008-06491-C04-02). The Canary Gov-
ernment has also funded this work through the PI2007/015
research project. The work of Jesica de Armas was funded
by grant FPU-AP2007-02414.
REFERENCES
[1] F. Parreno, R. Alvarez-Valdes, J. F. Oliveira, and J. M. Tamarit,“Neighborhood structures for the container loading problem: a vnsimplementation,” Journal of Heuristics, vol. 16, pp. 1–22, February2010.
[2] Z. Wang, K. W. Li, and J. K. Levy, “A heuristic for the container loadingproblem: A tertiary-tree-based dynamic space decomposition approach,”European Journal of Operational Research, vol. 191, no. 1, pp. 86–99,November 2008.
[3] E. E. Bischoff, F. Janetz, and M. S. W. Ratcliff, “Loading palletswith non-identical items,” European Journal of Operational Research,vol. 84, no. 3, pp. 681–692, August 1995.
[4] M. Hifi, “Exact algorithms for unconstrained three-dimensional cuttingproblems: a comparative study,” Comput. Oper. Res., vol. 31, pp. 657–674, April 2004.
[5] G. Scheithauer, “Algorithms for the Container Loading Problem,” inOperations Research Proceedings 1991. Springer-Verlag, 1992, pp.445–452.
[6] D. Pisinger, “Heuristics for the container loading problem,” European
Journal of Operational Research, vol. 141, no. 2, pp. 382–392, 2002.
[7] A. Bortfeldt and H. Gehring, “A tabu search algorithm for weaklyheterogeneous container loading problems,” OR Spectrum, vol. 20, no. 4,pp. 237–250, December 1998.
[8] M. Eley, “Solving container loading problems by block arrangement,”European Journal of Operational Research, vol. 141, no. 2, pp. 393–409, 2002.
[9] H. Gehring and A. Bortfeldt, “A Genetic Algorithm for Solving theContainer Loading Problem,” International Transactions in Operational
Research, vol. 4, no. 5-6, pp. 401–418, 1997.
[10] W. Huang and K. He, “A caving degree approach for the single containerloading problem,” European Journal of Operational Research, vol. 196,no. 1, pp. 93–101, 2009.
[11] X. Ding, Y. Han, and X. Zhang, “A discussion of adaptive geneticalgorithm solving container-loading problem,” Periodical of Ocean
University of China, vol. 34, no. 5, pp. 844–848.
[12] H. Gehring, K. Menschner, and M. Meyer, “A computer-based heuristicfor packing pooled shipment containers,” European Journal of Opera-
tional Research, vol. 44, no. 2, pp. 277–288, 1990.
[13] J. A. George and D. Robinson, “A heuristic for packing boxes intoa container,” Computers and Operations Research, vol. 7, no. 3, pp.147–156, 1980.
[14] K. He and W. Huang, “An efficient placement heuristic for three-dimensional rectangular packing,” Comput. Oper. Res., vol. 38, pp. 227–233, January 2011.
[15] W. Zhou-jing and L. Kevin W., “Layer-layout-based heuristics forloading homogeneous items into a single container,” Journal of ZhejiangUniversity SCIENCE A, vol. 8, no. 12, 2007.
[16] D. He, J. Cha, and Y. Jiang, “Research on solution to complex containerloading problem based on genetic algorithm,” Journal of Software,vol. 12, no. 9, pp. 1380–1385, 2001.
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
0 5000 10000 15000 20000 25000 30000
Hypervolume
Evaluations
Heterogenous Model
NSGAII hom 2
SPEA2 hom 2
het 2
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
0 5000 10000 15000 20000 25000 30000
Hypervolume
Evaluations
Heterogenous Model
NSGAII hom 4
SPEA2 hom 4
het 4
Fig. 11. Hypervolume for Heterogeneous Models
[17] L. H. W. Yeung and W. K. S. Tang, “A hybrid genetic approach forcontainer loading in logistics industry,” IEEE Transactions on Industrial
Electronics, vol. 52, no. 2, pp. 617–627, 2005.
[18] M. Brusco, G. Thompson, and L. Jacobs, “A morph-based simulatedannealing heuristic for a modified bin-packing problem,” Journal of the
Operational Research Society, vol. 48, no. 4, pp. 433–439, April 1997.
[19] L. Faina, “A global optimization algorithm for the three-dimensionalpacking problem,” European Journal of Operational Research, vol. 126,no. 2, pp. 340–354, October 2000.
[20] Z. Jin, K. Ohno, and J. Du, “An efficient approach for the threedimensional container packing problem with practical constraints,” Asia-Pacific Journal of Operational Research, vol. 21, no. 3, pp. 279–295,2004.
[21] J. Liu, Z. Dong, and G. Ma, “Solving container loading based ontabu search algorithm,” Journal of Shenyang University of Technology,vol. 31, no. 2, pp. 212–216, 2009.
[22] A. Bortfeldt and H. Gehring, “A hybrid genetic algorithm for thecontainer loading problem,” European Journal of Operational Research,vol. 131, no. 1, pp. 143–161, May 2001.
[23] T. Dereli and G. Sena Das, “A hybrid [‘]bee(s) algorithm’ for solvingcontainer loading problems,” Applied Soft Computing, vol. 11, no. 2,pp. 2854–2862, 2011.
[24] J. Liu, Y. Yue, Z. Dong, C. Maple, and M. Keech, “A novel hybrid tabusearch approach to container loading,” Comput. Oper. Res., vol. 38, pp.797–807, April 2011.
[25] A. Moura and J. F. Oliveira, “A GRASP Approach to the Container-Loading Problem,” IEEE Intelligent Systems, vol. 20, no. 4, pp. 50–57,July 2005.
[26] H. Gehring and A. Bortfeldt, “A Parallel Genetic Algorithm for Solvingthe Container Loading Problem,” International Transactions in Opera-
tional Research, vol. 9, no. 4, pp. 497–511, 2002.
[27] A. Bortfeldt, H. Gehring, and D. Mack, “A parallel tabu search algorithmfor solving the container problem,” Parallel Computing, vol. 29, pp.641–662, 2003.
[28] D. Mack, A. Bortfeldt, and H. Gehring, “A parallel hybrid local searchalgorithm for the container loading problem,” International Transactionsin Operational Research, vol. 11, no. 5, pp. 511–533, 2004.
[29] T. Dereli and G. Sena Das, “A Hybrid Simulated Annealing Algorithmfor Solving Multi-objective Container Loading Problems,” Applied
Artificial Intelligence: An International Journal, vol. 24, no. 5, pp. 463–486, 2010.
[30] Y. Sawaragi, H. Nakayama, and T. Tanino, Theory of multiobjective
optimization. Orlando: Academic Press, 1985.
[31] R. E. Steuer, Multiple Criteria Optimization: Theory, Computation and
Application. New York: John Wiley, 1986.
[32] A. E. Eiben, Handbook of Evolutionary Computation, T. Back, D. Fogel,and M. Michalewicz, Eds. IOP Publishing Ltd. and Oxford UniversityPress, 1998.
[33] D. H. Wolpert and W. G. Macready, “No free lunch theorems foroptimization,” IEEE Transactions on Evolutionary Computation, vol. 1,no. 1, pp. 67–82, 1997.
[34] J. Horn, Handbook of Evolutionary Computation, T. Back, D. B. Fogel,and Z. Michalewicz, Eds. Institute of Physics Publishing, 1997.
[35] C. A. Coello, G. B. Lamont, and D. A. Van Veldhuizen, EvolutionaryAlgorithms for Solving Multi-Objective Problems, ser. Genetic and Evo-lutionary Computation, D. E. Goldberg and J. R. Koza, Eds. Springer,2007.
[36] E. Zitzler, K. Deb, and L. Thiele, “Comparison of multiobjectiveevolutionary algorithms: Empirical results,” Evolutionary Computation,vol. 8, no. 2, pp. 173–195, 2000.
[37] C. A. Coello, “An Updated Survey of Evolutionary MultiobjectiveOptimization Techniques: State of the Art and Future Trends,”in Proceedings of the Congress on Evolutionary Computation,vol. 1. IEEE Press, 1999, pp. 3–13. [Online]. Available:citeseer.ist.psu.edu/coellocoello99updated.html
[38] J. D. Schaffer, “Multiple objective optimization with vector evaluatedgenetic algorithms,” in International Conference on Genetic Algorithms
and Their Applications, J. J. Grefenstette, Ed., 1985, pp. 93–100.[39] J. Horn and et al., “A Niched Pareto Genetic Algorithm for Multiob-
jective Optimization,” in Proceedings of the First IEEE Conference on
Evolutionary Computation, vol. 1, 1994, pp. 82–87.[40] K. Deb, S. Agrawal, A. Pratab, and T. Meyarivan, “A Fast Elitist Non-
Dominated Sorting Genetic Algorithm for Multi-Objective Optimiza-tion: NSGA-II,” in VI Conference on Parallel Problem Solving from
Nature, ser. LNCS, vol. 1917. Springer, 2000, pp. 849–858.[41] E. Zitzler, M. Laumanns, and L. Thiele, “SPEA2: Improving the
Strength Pareto Evolutionary Algorithm for Multiobjective Optimiza-tion,” in Evolutionary Methods for Design, Optimization and Control.Barcelona, Spain: CIMNE, 2002, pp. 19–26.
[42] E. Zitzler and S. Kunzli, “Indicator-Based Selection in MultiobjectiveSearch,” in VIII Conference on Parallel Problem Solving from Nature,ser. LNCS, vol. 3242. Springer, 2004, pp. 832–842.
[43] J. de Armas, G. Miranda, C. Leon, and C. Segura, “Optimisation of aMulti-Objective Two-Dimensional Strip Packing Problem based on Evo-lutionary Algorithms,” International Journal of Production Research,vol. 48, no. 7, pp. 2011– 2028, 2009.
[44] J. de Armas, G. Miranda, and C. Leon, “Two encoding schemes fora multi-objective cutting stock problem,” in 2011 IEEE Congress on
Evolutionary Computation (CEC), New Orleans, LA, June 2011, pp.27–109.
[45] C. Leon, G. Miranda, and C. Segura, “METCO: A Parallel Plugin-BasedFramework for Multi-Objective Optimization,” International Journal on
Artificial Intelligence Tools, vol. 18, no. 4, pp. 569–588, 2009.[46] E. Zitzler and L. Thiele, “Multiobjective Optimization Using Evolu-
tionary Algorithms - A Comparative Case Study,” in Parallel Problem
Solving from Nature, ser. LNCS, vol. 1498. Springer, 1998, pp. 292–301.
[47] C. Fonseca and P. J. Fleming, “On the performance assessment andcomparison of stochastic multiobjective optimizers,” in Parallel ProblemSolving from Nature, ser. LNCS. Springer-Verlag, 1996, pp. 584–593.