[IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia...

8
Parallelization of the Multi-Objective Container Loading Problem Jesica de Armas, Yanira Gonzalez, Gara Miranda, and Coromoto Le´ on Abstract— This work presents a multi-objective approach to solve the Container Loading Problem. The single-objective formulation of the problem has been widely studied in the related literature, trying to optimise the total volume of the packed pieces into the container. However, a rather common aspect in the scope of this problem is the weight limit of the containers, since they normally cannot exceed a certain weight for their transportation, and they should make the most without exceeding that limit. For this reason, we have focused on a multi-objective formulation of the problem which seeks to maximize the volume at the same time that the weight, without exceeding the weight limit. To solve this multi-objective problem we have applied multi-objective optimisation evolutionary algorithms given their great effectiveness with other types of real-world multi-objective problems. One of the goals of this work is to improve the results of the only known work in the literature that addresses the same problem with multiple objectives. Once we have achieved it, we have parallelized the problem applying different island- based models to enhance the effectiveness and efficiency of our approach. I. I NTRODUCTION 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 Computaci´ on, Universidad de La Laguna, Avda. Astrof´ ısico Fco. S´ anchez 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 P max , and a set of N rectangular boxes. These boxes belong to one of the sets of boxes types D = {T 1 ...T m }, where the i-th type T i is of dimensions w i W , l i L and h i H . Associated with each T i type exists a weight p i <P max , a volume v i , a demand b i , and a number of orientations allowed o i [1, 6]. Ultimately, the aim is to find a packing into the container without overlapping, with x i boxes of type T i maximizing the total volume used of the container and the total weight of packaging: max m i=1 x i v i and max m i=1 x i p i subject to x i [0,b i ] and m i=1 x i p i 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

Transcript of [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia...

Page 1: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

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

Page 2: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

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.

Page 3: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

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

Page 4: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

– 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

Page 5: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

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

Page 6: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

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

Page 7: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

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.

Page 8: [IEEE 2012 IEEE Congress on Evolutionary Computation (CEC) - Brisbane, Australia (2012.06.10-2012.06.15)] 2012 IEEE Congress on Evolutionary Computation - Parallelization of the multi-objective

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.