**A Hybrid Methodology Approach for Container Loading Problem Using Genetic Algorithm to Maximize the Weight Distribution of Cargo**

Luiz Jonatã Pires de Araújo and Plácido Rogério Pinheiro *University of Fortaleza (UNIFOR) - Graduate Program in Applied Informatics Fortaleza (CE), Brazil*

### **1. Introduction**

182 Real-World Applications of Genetic Algorithms

O'Donnell, T.H.; Altshuler, E.E. & Best, S.R. (2003). The significance of genetic

Quevedo-Teruel, Ó.; Rajo-Iglesias, E. & Oropesa-García, A. (2007). Hybrid algorithms for

Paszkowicz, W. (2009). Properties of a genetic algorithm equipped with a dynamic penalty

Paszkowicz, W. (2006). Properties of a genetic algorithm extended by a random self-learning

Pérez, J.R. & Basterrechea, J. (2007). Comparison of different heuristic optimization methods

Rahmat-Samii, Y. & Michielssen, E., Eds. (1999). *Electromagnetic optimization by genetic* 

Renders, J.M. & Flasse, S.P. (1996). Hybrid method using genetic algorithms for the global

Robinson, J.; Sinton, S. & Rahmat-Samii, Y. (2002). Particle swarm, genetic algorithm, and

Rolland, A.; Ettorre, M.; Drissi, M.; Le Coq, L. & Sauleau, R. (2010). Optimization of

Salhi, S. & Queen, N.M. (2004). A hybrid algorithm for identifying global and local minima

Taub, H. & Schilling D.L. (1986). *Principles of Communication Systems*, McGraw-Hill, NY. Weile, D.S. & Michielssen, E. (1997). Genetic algorithm optimization applied to

function, *Computational Material Science*, Vol. 45, pp. 77-83.

pattern indexing, *Analytica Chimica Acta*, Vol. 566, pp. 81–98.

*IEEE Trans. Antennas Propagat*., Vol. 58, No. 9, pp. 3094–3100.

Colombus, OH, Vol. 1, pp. 149-152.

*Propag*., Vol. 55, No. 3, pp. 742-749.

*algorithms*, John Wiley & Sons, New York.

*Antennas Propag*. Vol. 1, pp. 314-317.

pp. 549-555.

155, pp. 51–67.

representation in genetic antenna design, *Proc. IEEE Int. Symp. Antennas Propag.*,

electromagnetic problems and the no-free-lunch framework, *IEEE Trans. Antennas* 

operator and asymmetric mutations: a convergence study for a task of powder-

for near-field antenna measurements, *IEEE Trans. Antennas Propag*., Vol. 55, No. 3,

optimization, *IEEE Trans. Systems, Man, and Cybernetics*, Vol. 26, No. 2., pp. 243–258.

their hybrids: optimization of a profiled corrugated horn antenna, *Proc. Inter. Symp.* 

reduced-size smooth-walled conical horns using BoR-FDTD and genetic algorithm,

when optimizing functions with many minima, *Eur. J. Operational Research*, Vol.

electromagnetics: a review, *IEEE Trans. Antennas Propag*., Vol. 45, No.3, pp. 343-353.

It is an agreement that maritime transport of goods occupies an important role in economic development throughout the history. For centuries, port cities were in center of economy, where there were traffic of all kind of products and concentration of industrial factories.

In this background, ship containerization brought great advantages to this process. Its invention in mid-1950s was a key factor in development of modern global commerce by bringing down the cost of transporting and reducing time it takes for loading and unloading cargo (Levinson, 2008).

However, the efficient use of containerization involves new and specialized logistic process, a number of technologies, logistics plans and automated systems to handle a great number of containers. To answer these requirements, computation appears as important tool. For example, software can "determine the order in which the containers are to be discharged, to sped the process without destabilizing the ship" (Levinson, 2008).

The described scenario has been treated in academic literature as the Container Loading Problem (CLP), which was firstly approached by Gilmore and Gomory (Gilmore & Gomory, 1965a). There are some variances of this problem in literature and we approach the Knapsack Loading Problem (3D-KLP), that is, the task of to orthogonally pack a subset of given boxes of various sizes within a single container with fixed dimensions optimizing a criterion such as the total loaded volume.

Still according Dyckhoff (Dyckhoff, 1990) and Wascher (Wäscher et al., 2007), the CLP is a NP-hard problem in the strong sense and belongs to cutting and packing problems problem class. It means there is no known polynomial algorithm that exactly solves the CLP in acceptable execution time.

So, to the described problem, specifically the Knapsack Loading Problem (3D-KLP), this work presents a novel backtracking heuristic that not only maximizes the packed cargo volume but also optimizes its weight distribution. It is the great contribution of present work. Mainly if we consider that the cargo to be packed is composed by items with different densities, which turns the problem more difficult. On the other hand, if we are stowing cargoes of uniform

problems with up to 6 boxes. In other work, Gilmore and Gomory (Gilmore & Gomory, 1963; 1965b) present another {0-1} integer model to solve the CLP using the Simplex method. In this model, the possible coordinates for place boxes belongs to a discrete set and there are {0-1} decision variables to determine if a box is placed is a specific position and other ones to avoid box overlapping. The model in (Gilmore & Gomory, 1963; 1965b) can be unfeasible due to its large number of variables and constraints. Larger the container is higher the number of

<sup>185</sup> A Hybrid Methodology Approach for Container Loading Problem

Due to cited characteristics, few work exist using only exact methods. It is necessary another

However exact methods find the best solution, it becomes impractical due to the necessity of high computational resources. Bypassing this problem, much work proposed strategies, heuristics, to avoid applying exact methods. Now we present some known applications in

One of the most known is the *wall building heuristic*. It was firstly described by George and Robinson (George & Robinson, 1980) to create layers across the depth of the container. Each layer is filled in a number of horizontal strips and their dimensions are determined by the first box, taken from a priority queue. A two-dimensional packing algorithm arranges the boxes

Many approaches to CLP are based on 'wall-building'. For example, Pisinger(Pisinger, 2002), that presents an algorithm in which the set of layer dimensions are defined through a backtracking algorithm in order to achieve better results. The wall building strategy was also combined with others methods to attend additional requirements. For example Davies and Bischoff (Davies & Bischoff, 1999) build segments, which are composed of one or more walls, which could be rotated and/or interchanged in order to improve the weight distribution.

It is also possible approach the CLP through metaheuristics, that is, computational methods that make few or no assumptions about the problem to be optimized, and try achieve candidate solutions with good measure of quality. These methods, however achieve good solutions in reasonable time, they do not guarantee the optimal solution. In literature we find some works which apply tabu search or simulated annealing in their algorithms with

Genetic Algorithm (GA) has been successfully used to solve the Container Loading Problem. For example, Gehring (Gehring & Bortfeldt, 1997) reduced the 3D-KLP to two-dimension packing problems by arranging items in stacks to the top of container, a strategy based on (Gilmore & Gomory, 1965a). So, a packing sequence of the stacks is represented as a chromosome. The GA process a population of solutions in order to find a good solution,

within the layers. This heuristic can be effortlessly adapted to build horizontal slices.

methodology more feasible that allow us to find good results in acceptable time.

Some characteristics of methodologies that use only exact methods:

Using Genetic Algorithm to Maximize the Weight Distribution of Cargo

variables and constraints.

**2.2 Heuristics**

literature.

significant improvements.

that is, a good packing plan.

• They aim to find the optimal solution;

• Feasible only for small instances.

• They require higher-level computational resources

density, weight distribution is not a problem. The figure 1 illustrates a container which mass center of cargo is not necessarily near to its geometric center.

Fig. 1. Different types of packed boxes.

The present methodology is composed by two phases with distinct goals. The first phase is concerned with maximizing the use of container, consequently minimizing the waste of space. It is made by combining a search algorithm, the backtracking, with heuristics that solve integer linear programming models to pack boxes. The second phase executes a Genetic Algorithm to maximize the weight distribution of previously packed cargo. In this work we intend to focus on second phase and consider why genetic algorithm is good alternative to be combined with Heuristics Backtracking.

This work is organized as follows. In section 2 we discuss some related work to solve the CLP, presenting the three main classes of methodologies to approach the problem. In section 3 we present the two phases of our proposed algorithm. We focus in second phase and how we apply a standard genetic algorithm to optimize the weight distribution. Finally, in section 4 we present some computational results. So, in section 5 we make some conclusions regarding the quality of the solutions provided and make some considerations concerning future development.

### **2. Approaches to solve the container loading problem**

In this chapter we present three categories of methodologies existing in theoretical literature on Container Loading Problem: Exact Methods, Heuristics and Hybrid Methods. We discuss these categories and some related work for each category.

### **2.1 Exact methods**

The Container Loading Problem can be modeled as an integer programming problem, as described by Chen (Chen et al., 1993). The proposed model was validated by solving small problems with up to 6 boxes. In other work, Gilmore and Gomory (Gilmore & Gomory, 1963; 1965b) present another {0-1} integer model to solve the CLP using the Simplex method. In this model, the possible coordinates for place boxes belongs to a discrete set and there are {0-1} decision variables to determine if a box is placed is a specific position and other ones to avoid box overlapping. The model in (Gilmore & Gomory, 1963; 1965b) can be unfeasible due to its large number of variables and constraints. Larger the container is higher the number of variables and constraints.

Some characteristics of methodologies that use only exact methods:


Due to cited characteristics, few work exist using only exact methods. It is necessary another methodology more feasible that allow us to find good results in acceptable time.

### **2.2 Heuristics**

2 Will-be-set-by-IN-TECH

density, weight distribution is not a problem. The figure 1 illustrates a container which mass

The present methodology is composed by two phases with distinct goals. The first phase is concerned with maximizing the use of container, consequently minimizing the waste of space. It is made by combining a search algorithm, the backtracking, with heuristics that solve integer linear programming models to pack boxes. The second phase executes a Genetic Algorithm to maximize the weight distribution of previously packed cargo. In this work we intend to focus on second phase and consider why genetic algorithm is good alternative to be combined with

This work is organized as follows. In section 2 we discuss some related work to solve the CLP, presenting the three main classes of methodologies to approach the problem. In section 3 we present the two phases of our proposed algorithm. We focus in second phase and how we apply a standard genetic algorithm to optimize the weight distribution. Finally, in section 4 we present some computational results. So, in section 5 we make some conclusions regarding the quality of the solutions provided and make some considerations concerning

In this chapter we present three categories of methodologies existing in theoretical literature on Container Loading Problem: Exact Methods, Heuristics and Hybrid Methods. We discuss

The Container Loading Problem can be modeled as an integer programming problem, as described by Chen (Chen et al., 1993). The proposed model was validated by solving small

**2. Approaches to solve the container loading problem**

these categories and some related work for each category.

center of cargo is not necessarily near to its geometric center.

Fig. 1. Different types of packed boxes.

Heuristics Backtracking.

future development.

**2.1 Exact methods**

However exact methods find the best solution, it becomes impractical due to the necessity of high computational resources. Bypassing this problem, much work proposed strategies, heuristics, to avoid applying exact methods. Now we present some known applications in literature.

One of the most known is the *wall building heuristic*. It was firstly described by George and Robinson (George & Robinson, 1980) to create layers across the depth of the container. Each layer is filled in a number of horizontal strips and their dimensions are determined by the first box, taken from a priority queue. A two-dimensional packing algorithm arranges the boxes within the layers. This heuristic can be effortlessly adapted to build horizontal slices.

Many approaches to CLP are based on 'wall-building'. For example, Pisinger(Pisinger, 2002), that presents an algorithm in which the set of layer dimensions are defined through a backtracking algorithm in order to achieve better results. The wall building strategy was also combined with others methods to attend additional requirements. For example Davies and Bischoff (Davies & Bischoff, 1999) build segments, which are composed of one or more walls, which could be rotated and/or interchanged in order to improve the weight distribution.

It is also possible approach the CLP through metaheuristics, that is, computational methods that make few or no assumptions about the problem to be optimized, and try achieve candidate solutions with good measure of quality. These methods, however achieve good solutions in reasonable time, they do not guarantee the optimal solution. In literature we find some works which apply tabu search or simulated annealing in their algorithms with significant improvements.

Genetic Algorithm (GA) has been successfully used to solve the Container Loading Problem. For example, Gehring (Gehring & Bortfeldt, 1997) reduced the 3D-KLP to two-dimension packing problems by arranging items in stacks to the top of container, a strategy based on (Gilmore & Gomory, 1965a). So, a packing sequence of the stacks is represented as a chromosome. The GA process a population of solutions in order to find a good solution, that is, a good packing plan.

distribution of cargo by using a classical genetic algorithm to determine a good arrangement of walls, layers and blocks that were built in first phase. This searching for good arrangements

<sup>187</sup> A Hybrid Methodology Approach for Container Loading Problem

In present work we focus the second phase and the justification in we used genetic algorithm

In this phase, we are concerned with maximizing the total volume of packed cargo. It is based on Pisinger's approach (Pisinger, 2000) which combines wall building heuristic with backtracking in order to determine the best dimensions of layers. In other hand, we used backtracking to determine the best implemented heuristics to be used although the packing

The Heuristics Backtracking recursively fill the container creating blocks of boxes that are through proposed heuristics. They are in order: XZ Mixed Layer (a), XY Mixed Layer (b), ZY Mixed Layer (c), Partition on X (d), Partition on Z (e), Partition on XZ - Stack (f), Strip Block

(c) A ZY Mixed Layer

(g) A Strip Block on X

(d) A Partition on X

(h) A Strip Block on

instance.

Z instance.

*th* greatest box type in a list of *n* box types

instance.

instance.

. Therefore, the algorithm lets the smaller boxes to pack in residual space,

Each heuristic solves a specific integer programming model that aims to maximize the total packed relevance, a non-linear coefficient associated to each box to priories the bigger ones

when it is small. If the model has solution, the algorithm makes the packing and generates the output problem that will be the input problem for the next recursive call to fill the residual

As another characteristic, each heuristic accept a small waste of space. This characteristic allows us to find out good solutions that would be discarded if we would accept only optimal

We use a tree data structure to maintain the solution where each node keeps the received subproblem (input problem), the well-succeeded heuristic to solve it, the list of packed boxes

on X (g) and Strip Block on Z (h). Examples of built blocks are illustrated in figure 3.

does not affect the packed items by previous phase.

Using Genetic Algorithm to Maximize the Weight Distribution of Cargo

process for each subproblem. The result is a build tree solution.

(b) A XY Mixed Layer

(f) A Partition on XZ

instance.

instance.

Fig. 3. The used heuristics in the algorithm.

during packing. The adopted relevance value for *i*

**3.1 Phase 1 - Heuristics backtracking**

in our approach.

(a) A XZ Mixed Layer

(e) A Partition on Z

instance.

instance.

is *r*(*i*, *n*) = 2*n*−*<sup>i</sup>*

space.

solutions.

Although heuristics methods have better execution time when compared with exact methods, they do not guarantee to find an optimal solution.

### **2.3 Hybrid methods**

We increasingly find papers that seek to combine exact algorithms and metaheuristics to solve combinatorial optimization problems. Conform Dumitrescu and Stuetzle (Dumitrescu & Stuetzle, 2003), these ideas fall under a category of algorithm that has been commonly referred to as *hybrid methods*.

Nepomuceno et al. (Nepomuceno et al., 2007) introduced a successful work in which reduced instances of 3D-KLP are generated by a genetic algorithm, and then solved by linear programming.

Fig. 2. Flow chart presented in (Nepomuceno et al., 2007).

We also find in literature approaches that combine heuristics methods and local search methods. For example Peng et al. (Peng et al., 2009) combine a basic heuristic algorithm to generate feasible solution from a packing sequence and a search algorithm to find an approximated optimal solution from generated solution.

Thus, once we briefly presented exact, heuristics and hybrids methods and some examples, it is interesting to say that there is no single approach that works better for all problem types or instances. As stated in no free lunch theorem for search and optimization (Wolpert & Macready, 1997), each algorithm is better for a set of specific cases or problem instances while it is worse for other ones.

### **3. The methodology for 3D knapsack loading problems**

As presented in previous works (Araújo, 2011; Araújo & Pinheiro, 2010a;b), the Heuristic Backtracking methodology consists of two independent steps that we call 'phases'. In the first phase, the algorithm is concerned with maximizing the packed volume by combining wall building heuristics with a backtracking search algorithm to choose the best order of proceeding implemented heuristics. In second phase, the algorithm optimizes the weight distribution of cargo by using a classical genetic algorithm to determine a good arrangement of walls, layers and blocks that were built in first phase. This searching for good arrangements does not affect the packed items by previous phase.

In present work we focus the second phase and the justification in we used genetic algorithm in our approach.

### **3.1 Phase 1 - Heuristics backtracking**

4 Will-be-set-by-IN-TECH

Although heuristics methods have better execution time when compared with exact methods,

We increasingly find papers that seek to combine exact algorithms and metaheuristics to solve combinatorial optimization problems. Conform Dumitrescu and Stuetzle (Dumitrescu & Stuetzle, 2003), these ideas fall under a category of algorithm that has been commonly referred

Nepomuceno et al. (Nepomuceno et al., 2007) introduced a successful work in which reduced instances of 3D-KLP are generated by a genetic algorithm, and then solved by linear

We also find in literature approaches that combine heuristics methods and local search methods. For example Peng et al. (Peng et al., 2009) combine a basic heuristic algorithm to generate feasible solution from a packing sequence and a search algorithm to find an

Thus, once we briefly presented exact, heuristics and hybrids methods and some examples, it is interesting to say that there is no single approach that works better for all problem types or instances. As stated in no free lunch theorem for search and optimization (Wolpert & Macready, 1997), each algorithm is better for a set of specific cases or problem instances while

As presented in previous works (Araújo, 2011; Araújo & Pinheiro, 2010a;b), the Heuristic Backtracking methodology consists of two independent steps that we call 'phases'. In the first phase, the algorithm is concerned with maximizing the packed volume by combining wall building heuristics with a backtracking search algorithm to choose the best order of proceeding implemented heuristics. In second phase, the algorithm optimizes the weight

they do not guarantee to find an optimal solution.

Fig. 2. Flow chart presented in (Nepomuceno et al., 2007).

approximated optimal solution from generated solution.

**3. The methodology for 3D knapsack loading problems**

it is worse for other ones.

**2.3 Hybrid methods**

to as *hybrid methods*.

programming.

In this phase, we are concerned with maximizing the total volume of packed cargo. It is based on Pisinger's approach (Pisinger, 2000) which combines wall building heuristic with backtracking in order to determine the best dimensions of layers. In other hand, we used backtracking to determine the best implemented heuristics to be used although the packing process for each subproblem. The result is a build tree solution.

The Heuristics Backtracking recursively fill the container creating blocks of boxes that are through proposed heuristics. They are in order: XZ Mixed Layer (a), XY Mixed Layer (b), ZY Mixed Layer (c), Partition on X (d), Partition on Z (e), Partition on XZ - Stack (f), Strip Block on X (g) and Strip Block on Z (h). Examples of built blocks are illustrated in figure 3.

(d) A Partition on X

instance.

(a) A XZ Mixed Layer instance.

(b) A XY Mixed Layer instance.

(c) A ZY Mixed Layer instance.

(e) A Partition on Z instance. (f) A Partition on XZ instance.

(g) A Strip Block on X instance.

(h) A Strip Block on Z instance.

Fig. 3. The used heuristics in the algorithm.

Each heuristic solves a specific integer programming model that aims to maximize the total packed relevance, a non-linear coefficient associated to each box to priories the bigger ones during packing. The adopted relevance value for *i th* greatest box type in a list of *n* box types is *r*(*i*, *n*) = 2*n*−*<sup>i</sup>* . Therefore, the algorithm lets the smaller boxes to pack in residual space, when it is small. If the model has solution, the algorithm makes the packing and generates the output problem that will be the input problem for the next recursive call to fill the residual space.

As another characteristic, each heuristic accept a small waste of space. This characteristic allows us to find out good solutions that would be discarded if we would accept only optimal solutions.

We use a tree data structure to maintain the solution where each node keeps the received subproblem (input problem), the well-succeeded heuristic to solve it, the list of packed boxes

heuristics can be rotated as illustrated in figure 5. In other words, each built block of boxes

<sup>189</sup> A Hybrid Methodology Approach for Container Loading Problem

(c) Even rotation of a XY Mixed Layer instance.

(g) Even rotation of a Partition on X instance.

(k) Even rotation of a Partition on XZ

(o) Even rotation of a Strip Block on Z

instance.

instance.

From what was defined, it is possible to represent a tree solution with *n* significant nodes by a binary chromosome with *n* genes, a gene *gi* for each significant node *ni*. The statement *gi* = 0 indicates the block of boxes in *ni* should be arranged in *even rotation*. If *gi* = 1, in the way

To illustrate how the algorithm changes the weight distribution of a tree solution, we chose that one in figure 4-b, with 5 significant nodes. We have in figure 6 two binary chromosomes with 5 genes that differ in value of node 5. It means the algorithm applies rotation to the block of boxes in node 5 of tree solution, which in turn was built through 'XY Mixed Layer', and

(d) Odd rotation of a XY Mixed Layer

(h) Odd rotation of a Partition on X instance.

(l) Odd rotation of a Partition on XZ

(p) Odd rotation of a Strip Block on Z

instance.

instance.

instance.

can be arranged in either *even rotation* (no rotation) or *odd rotation*.

Using Genetic Algorithm to Maximize the Weight Distribution of Cargo

(b) Odd rotation of a XZ Mixed Layer

(f) Odd rotation of a ZY Mixed Layer

(j) Odd rotation of a Partition on Z instance.

(n) Odd rotation of a Strip Block on X

instance.

consequently resulting in a new weight distribution of cargo.

instance.

instance.

(a) Even rotation of a XZ Mixed Layer

(e) Even rotation of a ZY Mixed Layer

(i) Even rotation of a Partition on Z instance.

(m) Even rotation of a Strip Block on X

Fig. 5. Rotations of heuristics.

instance.

called *odd rotation*.

instance.

instance.

using this heuristic and the residual subproblem, which is the input problem of the next node. Some partitions generate two output problems (Partition on X, Partition on Z and Partition on XZ). In these cases, the node has two child-nodes, firstly solving left-node and its child nodes after right node.

The figure 4 illustrates two solutions for a same problem, the benefit by using backtracking and how it achieves better solutions. A better solution *t*2, presented in 4-b, was found switching the used heuristic in second node from first found solution *t*1, presented in figure 4-a.

Fig. 4. Solutions for a problem instance.

An important feature of each heuristic regards about the type of built block of boxes, which can be rotated or not. It is explored in the next phase of our implementation, when the algorithm optimizes the weight distribution using a genetic algorithm.

### **3.2 Phase2-genetic algorithm**

As previously discussed, the weight distribution of cargo is an important practical requirement to consider during its transport. It is desirable to have the center of gravity of cargo and geometric midpoint of container as close as possible.

Davies and Bischoff (Davies & Bischoff, 1999) presented an algorithm based on Gering's approach (Gehring et al., 1990) to obtain a packing arrangement with a good weight distribution. First, it creates multiple vertical layers across the width of the container. Set of layers called *segments* are rotated or have their positions interchanged in order to improve the weight distribution in a greedy way. The second phase in our methodology is based on idea of rotating blocks of boxes in to optimize the weight distribution without the common trade-off between efficient volume utilization and weight distribution.

The output of the first phase, presented in section 3.1, is a tree solution as exemplified in figure 4-a and 4-b. A node with packed boxes is called *significant node*. In figure 4-b the nodes 0, 1, 2, 3 and 5 are significant nodes. All blocks of boxes that were built using the implemented (b) Odd rotation of a XZ Mixed Layer

(f) Odd rotation of a ZY Mixed Layer

instance.

instance.

heuristics can be rotated as illustrated in figure 5. In other words, each built block of boxes can be arranged in either *even rotation* (no rotation) or *odd rotation*.

6 Will-be-set-by-IN-TECH

using this heuristic and the residual subproblem, which is the input problem of the next node. Some partitions generate two output problems (Partition on X, Partition on Z and Partition on XZ). In these cases, the node has two child-nodes, firstly solving left-node and its child nodes

The figure 4 illustrates two solutions for a same problem, the benefit by using backtracking and how it achieves better solutions. A better solution *t*2, presented in 4-b, was found switching the used heuristic in second node from first found solution *t*1, presented in figure

(a) First solution. (b) A better solution. (c) Conventions.

An important feature of each heuristic regards about the type of built block of boxes, which can be rotated or not. It is explored in the next phase of our implementation, when the

As previously discussed, the weight distribution of cargo is an important practical requirement to consider during its transport. It is desirable to have the center of gravity of

Davies and Bischoff (Davies & Bischoff, 1999) presented an algorithm based on Gering's approach (Gehring et al., 1990) to obtain a packing arrangement with a good weight distribution. First, it creates multiple vertical layers across the width of the container. Set of layers called *segments* are rotated or have their positions interchanged in order to improve the weight distribution in a greedy way. The second phase in our methodology is based on idea of rotating blocks of boxes in to optimize the weight distribution without the common

The output of the first phase, presented in section 3.1, is a tree solution as exemplified in figure 4-a and 4-b. A node with packed boxes is called *significant node*. In figure 4-b the nodes 0, 1, 2, 3 and 5 are significant nodes. All blocks of boxes that were built using the implemented

algorithm optimizes the weight distribution using a genetic algorithm.

trade-off between efficient volume utilization and weight distribution.

cargo and geometric midpoint of container as close as possible.

after right node.

Fig. 4. Solutions for a problem instance.

**3.2 Phase2-genetic algorithm**

4-a.

(a) Even rotation of a XZ Mixed Layer instance.

(e) Even rotation of a ZY Mixed Layer instance.

(i) Even rotation of a Partition on Z instance.

(m) Even rotation of a Strip Block on X instance.

(j) Odd rotation of a Partition on Z instance.

(n) Odd rotation of a Strip Block on X instance.

(c) Even rotation of a XY Mixed Layer instance.

(g) Even rotation of a Partition on X instance.

(l) Odd rotation of a Partition on XZ

(h) Odd rotation of a Partition on X instance.

(d) Odd rotation of a XY Mixed Layer

instance.

(k) Even rotation of a Partition on XZ instance.

instance.

(o) Even rotation of a Strip Block on Z instance.

instance.

(p) Odd rotation of a Strip Block on Z

Fig. 5. Rotations of heuristics.

From what was defined, it is possible to represent a tree solution with *n* significant nodes by a binary chromosome with *n* genes, a gene *gi* for each significant node *ni*. The statement *gi* = 0 indicates the block of boxes in *ni* should be arranged in *even rotation*. If *gi* = 1, in the way called *odd rotation*.

To illustrate how the algorithm changes the weight distribution of a tree solution, we chose that one in figure 4-b, with 5 significant nodes. We have in figure 6 two binary chromosomes with 5 genes that differ in value of node 5. It means the algorithm applies rotation to the block of boxes in node 5 of tree solution, which in turn was built through 'XY Mixed Layer', and consequently resulting in a new weight distribution of cargo.

Fig. 7. Simplified flow chart of a Genetic Algorithm.

This benchmark and others are cited in section 4.

cargo in solution *s*, unconsidered y-axis.

distribution *qwd* in a solution as follows:

**3.2.1 An approach to compare results regarding weight distribution**

Let it be *Diag* the length of the diagonal of container floor, where *Diag* <sup>=</sup> <sup>√</sup>

To better understand the used variables, they are illustrated in figure 8.

There are some known benchmarks in literature to packing problems, including the 3D Knapsack Loading Problem. For example, Bischoff and Ratcliff (Bischoff & Ratcliff, 1995b) proposed a test data for comparing the different approaches for cutting and packing problems.

<sup>191</sup> A Hybrid Methodology Approach for Container Loading Problem

Using Genetic Algorithm to Maximize the Weight Distribution of Cargo

However, in most of available problems there is no information about weight. In these cases, we can stipulate a formula to define the weight from box dimensions. Moreover, most of these benchmarks differ in many aspects, for example the size of container. In this section we standard the measure to weight distribution requirement in order to facility the comparing between our results and future developments or works, even using different benchmarks. We stated in previous section about the evaluate function of a solution. It is measured by the distance *d*(*s*) between the geometric center of container and the center of mass of the entire

*D* the width and depth of container, respectively. Thus, we calculate the quality of weight

*qwd*(*s*) = *<sup>d</sup>*(*s*)

*Diag*

*W*<sup>2</sup> + *D*2, *W* and

Fig. 6. Different chromosomes obtained from a same solution.

For each individual we can apply an evaluation function that informs us how well the weight distribution is. The proposed evaluation function measures the distance between the geometric center of container and the cargo's center of mass. In both points, y-axis is disregarded. The functions is defined in function 1.

$$f = \sqrt{(\mathbf{x}\_{\mathcal{S}^c} - \mathbf{x}\_{cm})^2 + (z\_{\mathcal{S}^c} - z\_{cm})^2} \tag{1}$$

$$\text{tr}\_{\text{cm}} = \frac{\sum\_{i \in B} \text{x}\_{i} \text{w}\_{i}}{\sum\_{i \in B} \text{w}\_{i}}; \quad z\_{\text{cm}} = \frac{\sum\_{i \in B} z\_{i} \text{w}\_{i}}{\sum\_{i \in B} \text{w}\_{i}} \tag{2}$$

where (*xgc*, *zgc*) is the geometric center of the container, (*xcm*, *zcm*) is the center of mass of the entire cargo, (*xi*, *zi*) is the center of mass of a box *i* and *wi* its weigh. During implementation we assumed the center of mass as been the geometric center of box.

It is important to note that to calculate the new center of mass from combining the found solution in first phase and a set of rotations described by a chromosome is a very quick operation once it does not change the relative positions of block of boxes. Therefore, it is not necessary to execute again the first phase of implementation. The spent time to evaluate a solution (individual) directly affects the execution time. In a hypothetical scenario, if it necessary 10 seconds to evaluate an individual, a population of 100 individuals that is improved by 60 generations, for example, it leads to a total execution time greater than 16 hours.

In implementation of Genetic Algorithm, which simplified flow cart is illustrated in figure 7, we used its canonical definition:


In next sections we propose a new methodology to compare results from different instances and why we chose genetic algorithm to be used with Heuristics Backtracking.

8 Will-be-set-by-IN-TECH

For each individual we can apply an evaluation function that informs us how well the weight distribution is. The proposed evaluation function measures the distance between the geometric center of container and the cargo's center of mass. In both points, y-axis is

where (*xgc*, *zgc*) is the geometric center of the container, (*xcm*, *zcm*) is the center of mass of the entire cargo, (*xi*, *zi*) is the center of mass of a box *i* and *wi* its weigh. During implementation

It is important to note that to calculate the new center of mass from combining the found solution in first phase and a set of rotations described by a chromosome is a very quick operation once it does not change the relative positions of block of boxes. Therefore, it is not necessary to execute again the first phase of implementation. The spent time to evaluate a solution (individual) directly affects the execution time. In a hypothetical scenario, if it necessary 10 seconds to evaluate an individual, a population of 100 individuals that is improved by 60 generations, for example, it leads to a total execution time greater than 16

In implementation of Genetic Algorithm, which simplified flow cart is illustrated in figure 7,

• Fixed-length binary chromosomes: this size is determined by the quantity of significant

• Positive fitness domain: once the evaluation is the measuring of the distance between two points, the geometric center of container and the center of mass of cargo, its values is

• Fitness proportional selection: the probability *pi* of an individual *i* to be selected to

In next sections we propose a new methodology to compare results from different instances

and why we chose genetic algorithm to be used with Heuristics Backtracking.

(*xgc* − *xcm*)<sup>2</sup> + (*zgc* − *zcm*)<sup>2</sup> (1)

(2)

; *zcm* <sup>=</sup> <sup>∑</sup>*i*∈*<sup>B</sup> ziwi*

<sup>∑</sup>*i*∈*<sup>B</sup> wi*

*<sup>j</sup>*=<sup>0</sup> *fj*, where N is the number of individuals in the population

Fig. 6. Different chromosomes obtained from a same solution.

*f* = 

*xcm* <sup>=</sup> <sup>∑</sup>*i*∈*<sup>B</sup> xiwi* <sup>∑</sup>*i*∈*<sup>B</sup> wi*

we assumed the center of mass as been the geometric center of box.

disregarded. The functions is defined in function 1.

hours.

we used its canonical definition:

reproduce is *pi* = *fi*/ ∑*<sup>N</sup>*

• One-point point crossover.

non-negative;

nodes of found solution in phase 1;

and *fi* is the evaluation of individual *i*;

Fig. 7. Simplified flow chart of a Genetic Algorithm.

### **3.2.1 An approach to compare results regarding weight distribution**

There are some known benchmarks in literature to packing problems, including the 3D Knapsack Loading Problem. For example, Bischoff and Ratcliff (Bischoff & Ratcliff, 1995b) proposed a test data for comparing the different approaches for cutting and packing problems. This benchmark and others are cited in section 4.

However, in most of available problems there is no information about weight. In these cases, we can stipulate a formula to define the weight from box dimensions. Moreover, most of these benchmarks differ in many aspects, for example the size of container. In this section we standard the measure to weight distribution requirement in order to facility the comparing between our results and future developments or works, even using different benchmarks.

We stated in previous section about the evaluate function of a solution. It is measured by the distance *d*(*s*) between the geometric center of container and the center of mass of the entire cargo in solution *s*, unconsidered y-axis.

Let it be *Diag* the length of the diagonal of container floor, where *Diag* <sup>=</sup> <sup>√</sup> *W*<sup>2</sup> + *D*2, *W* and *D* the width and depth of container, respectively. Thus, we calculate the quality of weight distribution *qwd* in a solution as follows:

$$q\_{wd}(s) = \frac{d(s)}{Diag}$$

To better understand the used variables, they are illustrated in figure 8.

Fig. 9. Types of instances according tue quantity of boxes.

Using Genetic Algorithm to Maximize the Weight Distribution of Cargo

timeout execution parameter equals to 10 minutes.

Table 1. Comparing some proposals, in %.

An instance of solution of BR1 instance is presented in figure 10.

first five libraries (BR1 - BR5).

view.

the parallel genetic algorithm in (Gehring & Bortfeldt, 2002)(PGA), a proposed heuristic in

<sup>193</sup> A Hybrid Methodology Approach for Container Loading Problem

The achieved average results and the standard deviations (*σ*) by our methodology are represented in columns (HB+GA) and *σ*, respectively. These results were obtained with

Due to software limitations, for example the maximum number of variables, we tested the

**Group GA CA HBal HGA PGA PH TS HB+GA** *σ* BR1 (3) 86.77 83.37 81.76 87.81 88.10 89.39 93.23 **92.13** 4.07 BR2 (5) 88.12 83.57 81.70 89.40 89.56 90.26 93.27 **91.09** 5.09 BR3 (8) 88.87 83.59 82.98 90.48 90.77 91.08 92.86 90.38 8.45 BR4 (10) 88.68 84.16 82.60 90.63 91.03 90.90 92.40 89.07 7.08 BR5 (12) 88.78 83.89 82.76 90.73 91.23 91.05 91.61 88.17 7.52 Average 88.24 83.72 82.36 89.81 90.14 90.54 92.67 90.17 6.44

Fig. 10. A packing solution for the first instance form the BR1 set: (a) front view, and (b) back

(Bischoff, 2006)(PH) and Tabu Search proposed in (Bortfeldt et al., 2003)(TS).

Fig. 8. Variables to measure the quality of the weight distribution of a solution *s*.

Therefore, in section 4, we will present the efficiency of using of container and the quality considering the weight distribution.

In this section, we presented the two phases of proposed methodology including an approach to compare results concerning weight distribution. In next section we present some computational results to prove our approach's efficiency.

### **4. Computational results**

In order to check the quality of generated solutions, we tested some known benchmark test suites that were found in literature. We present computational results for both kinds of problems, two and three-dimensional ones. We also present a case study in which we compared our results with those in use within ESMALTEC, a stove and refrigerator manufacturer in Brazil.

The computational results were obtained using an Intel Core 2 Duo 2.1 GHz with 3 GB of RAM. The operating system is Windows Vista Home Edition. The development platform is Java 6.0 and Eclipse 3.1.1 tool, while the solver utilized was CPLEX 9.0.

Before present results, it is necessary to notice that container loading instances can be classified according its cargo. According to Dyckhoff (Dyckhoff, 1990) and (Wäscher et al., 2007) the cargo can be regarded as *homogeneous* (identical small box types), *weakly heterogeneous* (many items of relatively few different box types) or *strongly heterogeneous* (many items of many different box types). In order to detect in which type of cargo our approach works better, we tested different kinds of problems, as illustrated in figure 9. Instances of CLP are also classified according to the diversity of box types that can be loaded into the container. We evaluate our proposed algorithm on both homogeneous and weakly heterogeneous instances.

In this sense, Bischoff and Ratcliff (Bischoff & Ratcliff, 1995b) proposed a test data for comparing the different approaches for cutting and packing problems. The benchmark library with 700 problems is available on the internet on the website http://people.brunel. ac.uk/~mastjjb/jeb/info.html. This collection of test data sets is used to perform a variety of Operational Research approaches. These data sets contain several types of problems, from homogeneous (BR1) to strongly heterogeneous (BR7). In brackets the number of types of boxes. We compare our obtained results average with the following approaches: a genetic algorithm proposed in (Gehring & Bortfeldt, 1997) (GA), the constructive algorithm on (Bischoff & Ratcliff, 1995b)(CA), a constructive algorithm by Bischoff (Bischoff et al., 1995)(HBal), the hybrid genetic algorithm described in (Bortfeldt & Gehring, 2001)(HGA), 10 Will-be-set-by-IN-TECH

Fig. 8. Variables to measure the quality of the weight distribution of a solution *s*.

considering the weight distribution.

**4. Computational results**

manufacturer in Brazil.

computational results to prove our approach's efficiency.

Therefore, in section 4, we will present the efficiency of using of container and the quality

In this section, we presented the two phases of proposed methodology including an approach to compare results concerning weight distribution. In next section we present some

In order to check the quality of generated solutions, we tested some known benchmark test suites that were found in literature. We present computational results for both kinds of problems, two and three-dimensional ones. We also present a case study in which we compared our results with those in use within ESMALTEC, a stove and refrigerator

The computational results were obtained using an Intel Core 2 Duo 2.1 GHz with 3 GB of RAM. The operating system is Windows Vista Home Edition. The development platform is

Before present results, it is necessary to notice that container loading instances can be classified according its cargo. According to Dyckhoff (Dyckhoff, 1990) and (Wäscher et al., 2007) the cargo can be regarded as *homogeneous* (identical small box types), *weakly heterogeneous* (many items of relatively few different box types) or *strongly heterogeneous* (many items of many different box types). In order to detect in which type of cargo our approach works better, we tested different kinds of problems, as illustrated in figure 9. Instances of CLP are also classified according to the diversity of box types that can be loaded into the container. We evaluate our proposed algorithm on both homogeneous and weakly heterogeneous instances. In this sense, Bischoff and Ratcliff (Bischoff & Ratcliff, 1995b) proposed a test data for comparing the different approaches for cutting and packing problems. The benchmark library with 700 problems is available on the internet on the website http://people.brunel. ac.uk/~mastjjb/jeb/info.html. This collection of test data sets is used to perform a variety of Operational Research approaches. These data sets contain several types of problems, from homogeneous (BR1) to strongly heterogeneous (BR7). In brackets the number of types of boxes. We compare our obtained results average with the following approaches: a genetic algorithm proposed in (Gehring & Bortfeldt, 1997) (GA), the constructive algorithm on (Bischoff & Ratcliff, 1995b)(CA), a constructive algorithm by Bischoff (Bischoff et al., 1995)(HBal), the hybrid genetic algorithm described in (Bortfeldt & Gehring, 2001)(HGA),

Java 6.0 and Eclipse 3.1.1 tool, while the solver utilized was CPLEX 9.0.

Fig. 9. Types of instances according tue quantity of boxes.

the parallel genetic algorithm in (Gehring & Bortfeldt, 2002)(PGA), a proposed heuristic in (Bischoff, 2006)(PH) and Tabu Search proposed in (Bortfeldt et al., 2003)(TS).

The achieved average results and the standard deviations (*σ*) by our methodology are represented in columns (HB+GA) and *σ*, respectively. These results were obtained with timeout execution parameter equals to 10 minutes.

Due to software limitations, for example the maximum number of variables, we tested the first five libraries (BR1 - BR5).


Table 1. Comparing some proposals, in %.

An instance of solution of BR1 instance is presented in figure 10.

Fig. 10. A packing solution for the first instance form the BR1 set: (a) front view, and (b) back view.

As we are interested in a maximum use of container and a coefficient of weight distribution (*qwd*) near to zero, the region we aims is the circle region in figure 11. Thus, the best achieved results were BR2 and BR3. This graphic aims help us to rank the results considering use of

<sup>195</sup> A Hybrid Methodology Approach for Container Loading Problem

Using Genetic Algorithm to Maximize the Weight Distribution of Cargo

We introduced a hybrid methodology, the Heuristics Backtracking, an approach that combines a search algorithm, the backtracking, integer linear programming and genetic algorithms to solve the three dimensional knapsack loading problem considering weight distribution.

We discussed about the importance of weight distribution, among others generally unconsidered practical requirements, in practical situations in order to avoid damage of cargo during its transport by ships, trucks or airplanes. We also proposed a needed methodology to compare the quality of solutions 3.2.1, even to different benchmark tests or approaches'

Finally, we showed that the Heuristics Backtracking (HB) achieved good results without the commonly great trade-off between the utilization of container and a good weight distribution. Some benchmark tests taken from literature were used to validate the performance and

There are promising lines of investigation. Some of them to improve the already good results mainly regard with use of container and execution time, others to apply the HB to other kind

• To approach other variants of Container Loading Problem, for example the strip packing, placing boxes on shelves (Hoare & Beasley, 2001), load bearing ability (Ratcliff & Bischoff,

• To implement heuristics those solve non-linear programming models to avoid many

• To improve the weight distribution by increasing the chromosome length. Some built blocks can be rotated in more than one way, so they can be manipulated by more than one gene. This changing will allow us to increase the quantity of discrete values for

• To change the backtracking algorithm, equivalent to a brute-force search. It intends to

• An application of present methodology is in progress to solve cutting problems, similarly to what was made by other hybrid methodologies (Nepomuceno et al., 2008; Pinheiro et

This work has been financially supported by CNPq/Brazil via Grants #308249 / 2008-9,

The authors also acknowledge IBM for making the IBM ILOG CPLEX Optimization Studio

efficiency of the HB methodology as well its applicability to cutting problems.

parameterized calls. It will improve the execution time of first phase;

container and weight distribution.

**5. Conclusion and future work**

of problems. So, we intend:

1998) among others;

individuals' fitness;

**6. Acknowledgements**

al., 2011).

optimize the entire algorithm's time;

#473454 / 2008-4, and #312934 / 2009-2.

available to the academic community.

results.

With low timeout execution we achieved good results mainly for BR1 - BR3, the weakly heterogeneous problem instances. It is possible gain efficiency with set up a higher value to timeout execution and by implementing new heuristics to build layers across the container.

In order to prove the efficiency of our algorithm in to find good arrangements such way that a good weight distribution is achieved, we show the obtained results for Bischoff/Ratcliff test cases. We used the following formula to create boxes with different densities: *weight* = (*width*/(<sup>2</sup> <sup>∗</sup> 105)) <sup>×</sup> (*<sup>w</sup>* <sup>×</sup> *<sup>h</sup>* <sup>×</sup> *<sup>d</sup>*), where *<sup>w</sup>*/(<sup>2</sup> <sup>∗</sup> <sup>10</sup>5), where *<sup>w</sup>*, *<sup>h</sup>* and *<sup>d</sup>* represent the width, height and depth of the box, respectively.

We considered the crossing-over parameter equals to 0.75, mutation parameter equal to 0.3, population size equal to 64 and maximum number of generations equals to 100. The table 2 presents the average length of chromosome (length), the less distance between center of mass of cargo and the geometric center of container (dist), the diagonal of container (diag), the average quality of solution (qwd) and its standard deviation (*σ*) and the execution time in seconds.


Table 2. Best-case results of Nepomuceno et al. (Nepomuceno et al., 2007) and the present methodology.

From the table 2 we affirm that chromosome length growing allows to diversify the arrengements of cargo, even and odd rotation discussed in section . However this characteristic needs improving, all weight distribution are relatively near to geometric center of container, using boxes with very different values of density.

The presented methodology achieved good results, mainly to weakly heterogeneous problem instances. However, to Bischoff/Ratcliff test cases, the weight distribution (quality of solution) is better to heterogeneous instances. The algorithm also reduces the common trade-off between an efficient use of container and the weight distribution of cargo.

In figure 11 we compare the results considering the weight distribution and use of container.

Fig. 11. Comparative of results using different benchmarks.

As we are interested in a maximum use of container and a coefficient of weight distribution (*qwd*) near to zero, the region we aims is the circle region in figure 11. Thus, the best achieved results were BR2 and BR3. This graphic aims help us to rank the results considering use of container and weight distribution.

### **5. Conclusion and future work**

12 Will-be-set-by-IN-TECH

With low timeout execution we achieved good results mainly for BR1 - BR3, the weakly heterogeneous problem instances. It is possible gain efficiency with set up a higher value to timeout execution and by implementing new heuristics to build layers across the container. In order to prove the efficiency of our algorithm in to find good arrangements such way that a good weight distribution is achieved, we show the obtained results for Bischoff/Ratcliff test cases. We used the following formula to create boxes with different densities: *weight* = (*width*/(<sup>2</sup> <sup>∗</sup> 105)) <sup>×</sup> (*<sup>w</sup>* <sup>×</sup> *<sup>h</sup>* <sup>×</sup> *<sup>d</sup>*), where *<sup>w</sup>*/(<sup>2</sup> <sup>∗</sup> <sup>10</sup>5), where *<sup>w</sup>*, *<sup>h</sup>* and *<sup>d</sup>* represent the width,

We considered the crossing-over parameter equals to 0.75, mutation parameter equal to 0.3, population size equal to 64 and maximum number of generations equals to 100. The table 2 presents the average length of chromosome (length), the less distance between center of mass of cargo and the geometric center of container (dist), the diagonal of container (diag), the average quality of solution (qwd) and its standard deviation (*σ*) and the execution time in

> Group length dist. diag. qwd(%) *σ* time(s) BR1 8.73 100.3 626.87 16 0.19 5.1 BR2 11.01 70.4 626.87 11 0.17 10.7 BR3 15.44 73.5 626.87 12 0.17 31.7 BR4 17.7 75.06 626.87 12 0.19 0.93 BR5 19.97 45.15 626.87 8 0.15 1.04

Table 2. Best-case results of Nepomuceno et al. (Nepomuceno et al., 2007) and the present

of container, using boxes with very different values of density.

Fig. 11. Comparative of results using different benchmarks.

between an efficient use of container and the weight distribution of cargo.

From the table 2 we affirm that chromosome length growing allows to diversify the arrengements of cargo, even and odd rotation discussed in section . However this characteristic needs improving, all weight distribution are relatively near to geometric center

The presented methodology achieved good results, mainly to weakly heterogeneous problem instances. However, to Bischoff/Ratcliff test cases, the weight distribution (quality of solution) is better to heterogeneous instances. The algorithm also reduces the common trade-off

In figure 11 we compare the results considering the weight distribution and use of container.

height and depth of the box, respectively.

seconds.

methodology.

We introduced a hybrid methodology, the Heuristics Backtracking, an approach that combines a search algorithm, the backtracking, integer linear programming and genetic algorithms to solve the three dimensional knapsack loading problem considering weight distribution.

We discussed about the importance of weight distribution, among others generally unconsidered practical requirements, in practical situations in order to avoid damage of cargo during its transport by ships, trucks or airplanes. We also proposed a needed methodology to compare the quality of solutions 3.2.1, even to different benchmark tests or approaches' results.

Finally, we showed that the Heuristics Backtracking (HB) achieved good results without the commonly great trade-off between the utilization of container and a good weight distribution. Some benchmark tests taken from literature were used to validate the performance and efficiency of the HB methodology as well its applicability to cutting problems.

There are promising lines of investigation. Some of them to improve the already good results mainly regard with use of container and execution time, others to apply the HB to other kind of problems. So, we intend:


### **6. Acknowledgements**

This work has been financially supported by CNPq/Brazil via Grants #308249 / 2008-9, #473454 / 2008-4, and #312934 / 2009-2.

The authors also acknowledge IBM for making the IBM ILOG CPLEX Optimization Studio available to the academic community.

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., Robinson, D.F. (1980). A heuristic for packing boxes into a container. *Computers*

<sup>197</sup> A Hybrid Methodology Approach for Container Loading Problem

Gilmore, P.C., Gomory, R.E. (1963). A linear programming approach to the cutting stock

Gilmore, P.C., Gomory, R.E. (1965). Multistage cutting and packing boxes into a container.

Gilmore, P.C., Gomory, R.E. (1965). Multistage cutting stock problems of two and more

Glover, F., Laguna, M. (1993). Tabu search, In: C.R. Reeves (Ed.), *Modern Heuristic Techniques for Combinatorial Problems*, Blackwell Scientific Publications - Oxford, 70-150. (1993) Goldberg, D. E. (1989) Genetic algorithms in search, optimization, and machine learning.

Hoare, N.P., Beasley, J.E. (2001) Placing boxes on shelves: a case study. *Journal of the Operational*

Holland, J.H. (1975) Adaptation in Natural and Artificial Systems. *University of Michigan Press*. Holland, J.H. (1992) Adaptation in Natural and Artificial Systems, 2nd edition, *The MIT Press*. Kirkpatrick, S.; Gelatt Jr., C.D.; Vecchi, M.P.: Optimization by Simulated Annealing. Science

Levinson, M.: The box: how the shipping container made the world smaller and the world

Liang, S., Lee C., Huang, S.: A Hybrid Meta-heuristic for the Container Loading Problem.

Loh, T.H., Nee, A.Y.C. (1992) A packing algorithm for hexahedral boxes. Proceedings of the

Mack, D., Bortfeldt, A., Gehring, H.: A parallel hybrid local search algorihtm for the container

Michalewicz, Z. (1992) Genetic Algorithms + Data Structures = Evolution Programs. *New York:*

Morabito, R., Arenales, M.: An and/or-graph approach to the container loading problem.

Murata, H., Fujiyoshi, K., Nakatake, S., Kajitani, Y.: VLSI module packing based on

Nepomuceno, N., Pinheiro, P.R., Coelho, A.L.V.: Tackling the Container Loading Problem: A

Optimization (EVOCOP). Berlin: Springer, 2007. v.4446. p.154 - 165. (2007) Nepomuceno, N.V., Pinheiro, P.R., Coelho, A.L.V. (2008) A Hybrid Optimization Framework

International Transactions in Operational Research. 1:59-73 (1994)

of Integrated Circuits and Systems. 15:1518-1524. (1996)

loading problem. International Transactions in Operations Research, 11:511-533.

rectangle-packing by the sequence pair. IEEE Transaction on Computer Aided Design

Hybrid Approach Based on Integer Linear Programming and Genetic Algorithms. In: VII European Conference on Evolutionary Computation in Combinatorial

for Cutting and Packing Problems: Case Study on Constrained 2D Non-guillotine Cutting. In: *C. Cotta and J. van Hemert (Eds.), Recent Advances in Evolutionary Computation for Combinatorial Optimization*, Chapter 6, pp. 87-99, Book of the Series "Studies in Computational Intelligence"", Vol. 153, Springer-Verlag (ISBN:

*and Operations Research* 7:147-156.

*Reading, MA: Addison-Wesley*.

*Research Society* 52:6:605-614.

220, 4598:671-680 (1983)

(2004)

*Springer-Verlag*.

978-3-540-70806-3).

problem - Part II. *Operations Research* 11:863-888.

Using Genetic Algorithm to Maximize the Weight Distribution of Cargo

*Computer abd Operations Research* 13:94-120.

dimensions. *Operations Research* 14:1045-1074.

economy bigger. Princeton University Press. (2008)

Communications of the IIMA. 73:7:4 (2007)

Conference of Industrial Automation, 115-126.

#### **7. References**


14 Will-be-set-by-IN-TECH

Araújo, L.J.P. (2011). A Hybrid Methodology to solve the Container Loading Problem with

Araújo, L.J.P., Pinheiro, P.R. (2010). Combining Heuristics Backtracking and Genetic

Araújo, L.J.P., Pinheiro, P.R. (2010). Heuristics Backtracking and a Typical Genetic Algorithm

Araújo, L.J.P., Pinheiro, P.R. (2011). Applying Backtracking Heuristics for Constrained

Bischoff, E.E. (2006) Three dimensional packing of items with limited load bearing strength.

Bischoff, E.E., Ratcliff, M.S.W. (1995). Issues in the Development of Approaches to Container

Bischoff, E.E., Janetz, F., Ratcliff, M.S.W. (1995). Loading Pallets with non-identical Items.

Bortfeldt, A., Gehring, H. (1998) Ein Tabu Search-Verfahren für Containerbeladeprobleme mit

Bortfeldt, A., Gehring, H. (2001) A Hybrid Genetic Algorithm for the Container Loading

Bortfeldt, A., Gehring, H., Mack, D. (2003). A Parallel Tabu Search Algorithm for Solving the

Chen, C.S., Lee, S.M., Shen, Q.S. (1993). An analytical model for the container loading

Christensen, S.G., Rousøe, D.M. (2009). Container loading with multi-drop constraints.

Davies, A.P., Bischoff, E.E. (1999). Weight distribution considerations in container loading.

Derelia, T., Dasb, G.S. (2010). A hybrid simulated annealing algorithm for solving

Dumitrescu, I., Stuetzle, T. (2003). Combinations of local search and exact algorithms.

Dyckhoff, H. (1990). A typology of cutting and packing problems. *European Journal of*

Egeblad, J., Pisinger, D. (2009) Heuristc 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*

Faroe, O., Pisinger, D., Zachariasen, M. (2003). Guided local search for the three-dimensional

Gehring, H., Bortfeldt, A. (1997). A Genetic Algorithm for Solving the Container Loading

Gehring, H., Bortfeldt, A. (2002). A Parallel Genetic Algorithm for Solving the Container Loading Problem. *International Transactions in Operational Research* 9:497-511.

bin packing problem. *Informs Journal on Computing* 15:3:267-283.

Problem. *International Transactions in Operational Research* 4:401-418.

multi-objective container-loading problems. *Applied Artificial Intelligence* 24:5:463-486.

*Applied Informatics at University of Fortaleza*.

*Computer and Information Science* 16:252-259.

7030:113-120, to appear.

Loading. *Omega* 23:4:377-390.

*Operational Research* 44:145-159.

*Operational Research* 141:393-409.

*Advances in Intelligent and Soft Computing* 73:95-102.

*European Journal of Operational Research* 168:952-966.

*European Journal of Operational Research* 84:681-692.

schwach heterogenem Kistenvorrat. *OR Spektrum* 20:237-250.

Problem. *European Journal of Operational Research* 131:143-161.

Container Loading Problem. *Parallel Computing* 29:641-662.

*International Transactions in Operational Research* 16:6:727-743.

*Applications of Evolutionary Computation LNCS* 2611:211-223.

problem. *European Journal of Operations Research* 80:6876.

*European Journal of Operations Research* 114:509-527.

Weight Distribution and Cutting Problems. *Master's thesis, Graduate Program in*

Algorithm to Solve the Container Loading Problem with Weight Distribution.

for the Container Loading Problem with Weight Distribution. *Communications in*

Two-dimensional Guillotine Cutting Problems. *Lecture Notes in Computer Science*

**7. References**


**1. Introduction**

and *pqj*

as *Cqj* <sup>=</sup> <sup>∑</sup>*<sup>j</sup>*

Several researches on scheduling problems have been done under the assumption that setup times are independent of job sequence. However, in certain contexts, such as the pharmaceutical industry, metallurgical production, electronics and automotive manufacturing, there are frequently setup times on equipment between two different activities. In a survey of industrial schedulers, Dudek et al. (1974) reported that 70% of industrial activities include sequence-dependent setup times. More recently, Conner (2009) has pointed out, in 250 industrial projects, that 50% of these projects contain sequence-dependent setup times, and when these setup times are well applied, 92% of the order deadline could be met. Production of good schedules often relies on management of these setup times (Allahverdi et al., 2008). This present chapter considers the single machine scheduling problem with sequence dependent setup times with the objective to minimize total tardiness of the jobs (SMSDST). This problem, noted as 1|*sij*|Σ*Tj* in accordance with the

*1Département D'informatique et de Mathématique, Université du Québec à Chicoutimi 2Département Des Sciences Économiques et Gestion, Université du Québec à Chicoutimi* 

The 1|*sij*|Σ*Tj* may be defined as a set of *n* jobs available for processing at time zero on a continuously available machine. Each job *j* has a processing time *pj*, a due date *dj*, and a setup time *sij* which is incurred when job *j* immediately follows job *i*. It is assumed that all the processing times, due dates and setup times are non-negative integers. A sequence of

*Tqj* = *max*(0, *Cqj* − *dqj*). The objective of the scheduling problem studied is to minimize the

Different approaches have been proposed by a number of researchers to solve the 1|*sij*|Σ*Tj* problem. Rubin & Ragatz (1995) proposed a Branch and Bound approach, which quickly showed its limitations. It could optimally solve only small instances of benchmark files of

*th* job in the

**10**

*Canada* 

*th* job in sequence are denoted as *dqj*

*th* job in sequence will be expressed

*th* job in sequence will be expressed as

*<sup>j</sup>*=<sup>1</sup> *Tqj* .

**Hybrid Genetic Algorithms for** 

Aymen Sioud1, Marc Gravel1 and Caroline Gagné2

**the Single Machine Scheduling Problem** 

**with Sequence-Dependent Setup Times** 

notation of Graham et al. (1979), is an NP-hard problem (Du & Leung, 1990).

the jobs *S* = [*q*0*, q*1*,..., qn*−1*, qn*] is considered where *qj* is the subscript of the *j*

sequence. The due date and the processing time of the *j*

total tardiness of all the jobs which will be expressed as ∑*<sup>n</sup>*

, respectively. Thus, the completion time of the *j*

*<sup>k</sup>*=1(*sqk*−<sup>1</sup>*qk* + *pqk* ) while the tardiness of the *j*

