Next Article in Journal
A Cross-Layer Optimization QoS Scheme in Wireless Multimedia Sensor Networks
Next Article in Special Issue
Multi-Metaheuristic Competitive Model for Optimization of Fuzzy Controllers
Previous Article in Journal
An Approach to the Dynamics and Control of Uncertain Robot Manipulators
Previous Article in Special Issue
Shadowed Type-2 Fuzzy Systems for Dynamic Parameter Adaptation in Harmony Search and Differential Evolution Algorithms
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Two-Phase Approach for Single Container Loading with Weakly Heterogeneous Boxes

by
Rommel Dias Saraiva
*,
Napoleão Nepomuceno
and
Plácido Rogério Pinheiro
Graduate Program in Applied Informatics, University of Fortaleza, Fortaleza 60811-905, Brazil
*
Author to whom correspondence should be addressed.
Algorithms 2019, 12(4), 67; https://doi.org/10.3390/a12040067
Submission received: 30 January 2019 / Revised: 21 March 2019 / Accepted: 25 March 2019 / Published: 30 March 2019
(This article belongs to the Special Issue Metaheuristic Algorithms in Optimization and Applications (volume 2))

Abstract

:
We propose in this paper a two-phase approach that decomposes the process of solving the three-dimensional single Container Loading Problem (CLP) into subsequent tasks: (i) the generation of blocks of boxes and (ii) the loading of blocks into the container. The first phase is deterministic, and it is performed by means of constructive algorithms from the literature. The second phase is non-deterministic, and it is performed with the use of Generate-and-Solve (GS), a problem-independent hybrid optimization framework based on problem instance reduction that combines a metaheuristic with an exact solver. Computational experiments performed on benchmark instances indicate that our approach presents competitive results compared to those found by state-of-the-art algorithms, particularly for problem instances consisting of a few types of boxes. In fact, we present new best solutions for classical instances from groups BR1 and BR2.

1. Introduction

Cutting and Packing (C&P) problems are combinatorial optimization problems that focus on the optimal use of existing resources (e.g., wood, glass, or even space), thus being often encountered in manufacturing industries. In a nutshell, cutting problems consist of cutting one or more large objects into small items, while packing problems consist of packing small items into one or more large objects.
In this paper, we investigate a particular C&P problem commonly referred to as the single container loading problem, a three-dimensional single large object placement problem [1]. The CLP is defined as follows: Consider a collection of boxes grouped into m types. Each box type  t = 1 , , m has a length  l t , a width  w t , a height  h t , a volume  v t , and a quantity  q t of boxes available to be loaded. Consider also a container with L, W, and H as its length, width, and height, respectively. The objective is to load—orthogonally and without overlapping—boxes inside the container with the aim of maximizing the volume utilization of the three-dimensional space. In this work, we consider the following additional constraints:
  • Orientation constraint: In principle, a box can be loaded in up to six orientations. However, in practice, some of them may be prohibited.
  • Stability constraint: Boxes that are not loaded directly on the container floor must be fully supported by top surfaces of one or more boxes.
An example of container loading is presented in Figure 1. Some other requirements may appear in real-world applications, such as load bearing strength, weight distribution/limit, and cargo priority. See [2] for an extensive review on CLP constraints.
The CLP is strictly NP-Hard [3], and therefore, exact methods can effectively solve only small size instances. To deal with larger ones, heuristics are the current alternative. In a recent paper [4], CLP heuristics were categorized into three, not necessarily disjoint, groups:
  • Conventional heuristics, which take advantage of the specific problem structure. A classical example is the wall-building procedure of George and Robinson [5], where the loading is made layer-by-layer across the depth of the container. Other examples of problem-dependent techniques applied to solve the CLP can be found in [6,7,8].
  • Metaheuristics, which have been extensively applied to the CLP. Parreño et al. [9], for instance, conceived of a constructive procedure based on maximal-space representation. Insertion and deletion shifts directly affecting the container layout were used in a variable neighborhood search to improve partial solutions. Further studies include co-evolutionary computation techniques (e.g., Genetic Algorithms (GAs) [10,11]), trajectory-based methods (e.g., simulated annealing [12], the greedy randomized adaptive search procedure [13], and tabu search [14]), and swarm intelligence systems (e.g., bee colony algorithm [15]).
  • Tree search methods, which have produced good-quality solutions to the CLP. Fanslau and Bortfeldt [4], for instance, proposed a tree search method that keeps a list of empty spaces to be filled by blocks of boxes. Similar contributions can be found in [16,17,18,19].
Despite this general classification, it has been proven to be pertinent to combine distinct optimization techniques to exploit their main advantages simultaneously (e.g., a metaheuristic with an Integer Linear Programming (ILP) solver), which has been referred to as hybrid metaheuristics [20,21]. Some authors prefer to refer to heuristic algorithms particularly made by the interoperation of metaheuristics and mathematic programming techniques as matheuristics [22]. In this paper, we propose a two-phase approach to tackle the CLP, motivated by a general idea of decomposing the CLP into two subproblems [11,23], namely a three-dimensional problem of generating blocks of boxes and a two-dimensional problem of loading blocks on the floor of the container. In our proposal, the three-dimensional problem is solved by means of constructive algorithms from the literature, and the two-dimensional problem is solved by means of a hybrid metaheuristic. Computational experiments performed on weakly-heterogeneous benchmark instances (with a few types of boxes) show that our approach competes with state-of-the-art CLP algorithms.
The remainder of this work is organized as follows. In Section 2, we describe our algorithm. In Section 3, we provide computational experiments on benchmark instances from the literature and present a discussion of the results. Finally, in Section 4, we close the paper with some conclusions and future perspectives.

2. Block-Loading Hybrid Metaheuristic

Our Block-Loading Hybrid Metaheuristic (BLHM) algorithm is segmented into two subsequent phases: block generation and block loading. On the one hand, the block generation phase is very fast and completely deterministic. Constructive algorithms from the literature [7] perform this task. On the other hand, the block loading phase is non-deterministic. It comprises the generate-and-solve methodology [24,25,26], a problem-independent hybrid optimization framework characterized by the interoperation of a metaheuristic with an ILP solver. In what follows, we describe how BLHM works to address the CLP.

2.1. Block Generation

Some CLP algorithms [4,7,8] have received notoriety for loading cuboid blocks of boxes instead of single boxes, thus being properly classified as block-building approaches. By definition, a block is a set of boxes placed compactly inside its Minimum Bounding Cuboid (MBC) [7]. Existing research classifies blocks into two types: simple blocks and guillotine blocks. Simple blocks consist of identical boxes, in the same spatial orientation and occupying the total volume of their respective MBCs. A pseudocode [7] to generate simple blocks is presented in Algorithm 1, which roughly produces valid blocks with n x boxes in a row, n y boxes in a column, and n z boxes in a stack, all of them of the same type, as illustrated in Figure 2.
Algorithm 1 Generating simple blocks (adapted from the original paper [7]).
Input: A container with dimensions L, W, and H and a collection of boxes grouped into types. Each type t has a length  l t , a width  w t , a height  h t , and a quantity  q t of boxes available to be loaded.
Output: Set B of simple blocks.
1:
B
2:
for each box type t do
3:
for each allowed orientation of ( l t , w t , h t ) do
4:
  for n x = 1 to q t do
5:
   for n y = 1 to q t n x do
6:
    for n z = 1 to q t n x × n y do
7:
     if n x × l t L & n y × w t W & n z × h t H then
8:
      Create a block b with dimensions ( n x × l t , n y × w t , n z × h t ) , and add it to B
9:
returnB
Conversely, guillotine blocks consist of multiple types of boxes possibly placed in different spatial orientations. A pseudocode to generate guillotine blocks, proposed by Zhu and Lim [7], is given in Algorithm 2. B, P G , and N G denote, respectively, the set of blocks generated so far, the set of blocks generated in the previous iteration, and the set of blocks generated in the current generation. Given one block b 1 from B and another block b 2 from P G , guillotine blocks are generated by combining the two blocks along the length, width, or height direction of the container, as illustrated in Figure 3.
Algorithm 2 Generating guillotine blocks (adapted from the original paper [7]).
Input: Set B of simple blocks (see Algorithm 1).
Output: Extended set B of guillotine blocks.
  1:
P G B
  2:
repeat
  3:
N G
  4:
for each block b 1 in P G do
  5:
  for each block b 2 in B do
  6:
   for each direction d i r in { L , W , H } do
  7:
    Combine b 1 and b 2 along the direction d i r to obtain block b
  8:
    Add b to N G if b is feasible and no equivalent block exists in B
  9:
B B N G
10:
P G N G
11:
until P G =
12:
returnB
Fully-Supported Blocks (FSBs) [7] are blocks complying with the stability constraint. They are generated handling an attribute called packing area, which is the rectangular region on the top face of the block that is fully covered by top faces of boxes belonging to its MBC. Obviously, simple blocks are FSBs. Guillotine FSBs are generated according to some rules. For instance, let b 1 and b 2 be two guillotine FSBs with packing area p 1 and p 2 , respectively. Such blocks can be combined along the length (resp. width) direction if and only if they have the same height (i.e., b 1 . h = b 2 . h ) and the sum of the lengths (resp. widths) of their packing areas spans the entire length (resp. width) of their MBCs, i.e., p 1 . l + p 2 . l = b 1 . l 1 + b 2 . l 2 (resp. p 1 . w + p 2 . w = b 1 . w 1 + b 2 . w 2 ). When b 1 and b 2 are combined along the length (resp. width) direction, the resultant packing area p 3 of the new FSB b 3 is given by p 3 . l = p 1 . l + p 2 . l (resp. p 3 . l = min { p 1 . l , p 2 . l } ) and p 3 . w = min { p 1 . w , p 2 . w } (resp. p 3 . w = p 1 . w + p 2 . w ). Another scenario arises when combining b 1 and b 2 along the height direction. One can place b 1 on the top face of block b 2 if and only if the base area of b 1 fits entirely into p 2 . Then, the packing area of the resultant FSB b 3 is equivalent to p 1 . See [4,7,27] for illustrations of the concepts related to blocks of boxes.
The first phase of our BLHM uses Algorithms 1 and 2 to generate FSBs. Let B be the set of FSBs obtained after running such algorithms. We now resort to an evaluation function to identify promising FSBs belonging to B. An FSB b i , 1 i | B | , is assumed to be promising if and only if:
f ( b i ) = v i V i M i n U t i l
where v i is the volume of boxes in b i ; V i is the volume of the virtual space occupied by b i , calculated as the product of the base area of its MBC by the height of the container (instead of the height of its MBC, since in the next phase, we just place FSBs on the floor of the container); and M i n U t i l is a parameter in the real interval [ 0 , 1 ] . Note that when M i n U t i l is near one, only promising FSBs with small residual spaces are considered to the next phase. In this way, we reject FSBs that present a considerable volume not occupied by boxes and FSBs that are too low in relation to the height of the container, as illustrated in Figure 4. In what follows, we refer to B ¯ B as the set of promising FSBs.

2.2. Block Loading

In the second phase of our BLHM algorithm, we use the GS hybrid framework. In the sequence, we first present an ILP model to the problem of loading FSBs on the container floor and then propose an application of the GS framework to the problem.

2.2.1. ILP Model

Loading FSBs on the container floor is a two-dimensional C&P problem. We implement a well-known ILP model for orthogonal two-dimensional C&P problems [28]. Let u i j k be a binary decision variable standing for the decision of whether or not to load an FSB of type i at coordinate ( j , k ) of the container floor.
u i j k = 1 , if   an   FSB   of   type   i   is   placed   at coordinate   ( j , k ) , 0 , otherwise .
The elements j and k belong, respectively, to the following discretization sets:
X = { x | x = i = 1 | B ¯ | α i l i , x L min 1 i | B ¯ | { l i } , α i Z + }
Y = { y | y = i = 1 | B ¯ | β i w i , y W min 1 i | B ¯ | { w i } , β i Z + }
To avoid overlapping of FSBs, the incidence matrix g i j k p q is defined as:
g i j k p q = 1 , if   j p j + l i 1 and   k q k + w i 1 , 0 , otherwise .
which is computed a priori for each FSB of type i, for each coordinate ( j , k ) , and for each coordinate ( p , q ) . Finally, the ILP model is defined as follows:
max i = 1 | B ¯ | j X k Y v i u i j k
s . t . i = 1 | B ¯ | j X k Y g i j k p q u i j k 1 , p X , q Y
i = 1 | B ¯ | j X k Y q i t u i j k q t , t = 1 , , m
u i j k { 0 , 1 } , i = 1 , , | B ¯ | , j X , k Y
The objective function (1) maximizes the volume of loaded FSBs inside the container. Constraints (2) avoid overlapping of FSBs in any feasible solution. Let q i t represent the quantity of boxes of type t in an FSB of type i. Constraints (3) impose that, for each box type t, the quantity of loaded boxes of this type must not exceed the number of boxes available. Finally, Constraints (4) specify the domain of variables. The ILP model (1)–(4) contains O ( | B ¯ | × | X | × | Y | ) variables and O ( | X | × | Y | ) constraints. Since the product | X | × | Y | may be too large for practical instances of this problem, the number of constraints and variables can easily reach the order of millions, which discourages the straightforward use of classical ILP techniques.

2.2.2. Generate-and-Solve

ILP solvers are very effective at coping with combinatorial optimization problems up to a certain problem-specific instance size. Recently, approaches based on problem instance reduction [29], such as generate-and-solve [24,25,30], construct, merge, solve and adapt [31], and column reduction methods [32], have shown that, when a problem instance is too large to be directly solved by an ILP solver, it might be possible to reduce the problem instance in a way such that it can be effectively solved by the ILP solver and it still contains high-quality solutions to the original problem instance.
The GS hybrid optimization framework has been introduced to cope with hard combinatorial optimization problems, such as those of the C&P family. The framework prescribes the integration of two distinct conceptual components: the Generator of Reduced Instances (GRI) and the Solver of Reduced Instances (SRI), as depicted in Figure 5.
An exact method (e.g., ILP solver) encapsulated in the SRI component is in charge of solving reduced instances (i.e., subproblems) of the original problem that still preserve its conceptual structure. Thus, a feasible solution to a given subproblem will also be a feasible solution to the original problem. At a higher level, a metaheuristic (e.g., GA) works on the complementary optimization problem of generating reduced instances, which, when submitted to the SRI, produce feasible solutions whose objective function values can be used as a figure of merit (fitness) of the associated subproblems, thus guiding the search process. The interaction between GRI and SRI proceeds until a given stopping condition is satisfied. The best solution obtained by the solver to any of the subproblems generated by the metaheuristic is deemed to be the final solution.

2.2.3. Random Key Genetic Algorithm

One can generate reduced instances of the block loading problem by removing some of the types of FSBs and/or some of the elements of the discretization sets from the ILP model (1)–(4). In our implementation, the GRI runs a Random Key Genetic Algorithm (RKGA) [33]. Individuals are represented by chromosomes (of random keys) with a size equal to | B ¯ | + | X | + | Y | , as shown in Figure 6.
In this representation, each allele of the encoding scheme denotes the decision of counting (or not) on the presence of an element in the reduced instance. Let p B ¯ , p X , and p Y be the probability of acceptance related to B ¯ , X, and Y, respectively. If an allele r k ( b i ¯ ) p B ¯ , with 1 i | B ¯ | , then the corresponding FSB will be a candidate FSB to be loaded on the container floor by the SRI. This insight is also applied to the discretization sets, i.e., if an allele r k ( x j ) p X , with 1 j | X | (resp. r k ( y k ) p Y , with 1 k | Y | ), then the corresponding element of X (resp. Y) will take part of the reduced instance. As an example in Figure 6, FSBs b 1 ¯ and b 3 ¯ take part in the subproblem to be solved by the SRI, since their alleles (or random keys) are less than the acceptance probability of 0.5. Regarding the discretization sets, elements x 2 , x 4 , y 1 , and y 3 take part of the reduced instance. Therefore, b 1 ¯ and b 3 ¯ may be possibly loaded at coordinates ( x 2 , y 1 ) , ( x 2 , y 3 ) , ( x 4 , y 1 ) , and ( x 4 , y 3 ) .
The initial population contains p chromosomes, whose alleles are randomly generated in the real interval [ 0 , 1 ] . After an individual is translated to its ILP formulation and solved by means of an ILP solver, its fitness value is computed. Note that, if a chromosome includes all FSBs and coordinates, the original problem will be generated. However, it is very likely that the corresponding ILP model cannot be handled by the ILP solver. The population is then partitioned into two groups: a small group of p e elite individuals whose corresponding reduced instances present the best fitness values (i.e., objective function values) and the remaining set of p p e non-elite individuals.
To evolve the population, a new generation must be produced. First, all elite individuals are carried over from generation g to generation g + 1 . Then, RKGA implements mutation by introducing p m mutants into the population. Mutants are vectors of random keys generated as elements of the initial population. Finally, discounting p e elite individuals and p m mutants, p p e p m offspring individuals are produced through mating to complete p individuals that will make up the population of generation g + 1 . Mating (crossover) is performed as in [34]. Given two parents A and B randomly selected from the current population and a user-chosen probability p A > 0 . 5 that an offspring inherits the allele of A, for each allele a = 1 , , n (where n is the number of genes), the child either takes the value of the a th allele of A with probability p A or the corresponding allele of B with probability 1 p A .

3. Computational Experiments

Experiments were performed on a PC Intel Pentium i7, 8 × 3.60 GHz, 16 GB DDR3 RAM under Linux Ubuntu 14.05 LTS. We used CPLEX 12.7 and Java concert technology as underlying solver of the SRI. The time limit for each instance was set to 3600 seconds. The GRI ran an RKGA implemented in Java.

3.1. Control Parameters and Calibration

We conducted preliminary experiments to figure out the best input values for BLHM. To identify promising FSBs, we set M i n U t i l = 0 . 90 . Concerning the RKGA, we set p = 200 individuals, p e = p m = 0 . 20 × p , and p A = 0 . 7 . To control the duration of the optimization process, the maximum number of generations was set to 400, while the total time to stop was set to 3600 seconds. If the best fitness value did not change in 15 consecutive generations, a new population consisting of the two best individuals and p 2 random ones was generated. The acceptance probabilities were set to p B ¯ = L × W m i n { l t × w t } × 1 | B ¯ | , p X = L m i n { l t } × 1 | X | , and p Y = 1 | Y | , for t = 1 , , m . The CPLEX time limit of 60 seconds was set to solve each subproblem.

3.2. Numerical Results

To evaluate the potentialities behind our BLHM algorithm, computational experiments were performed over difficult benchmark instances proposed by Bischoff and Ratcliff [6], which can be accessed via OR-Library [35]. Instances can be either weakly heterogeneous (few types of boxes, each one with many units available) or strongly heterogeneous (many types of boxes, each one with few units available). We decided to conduct our analysis only on weakly-heterogeneous datasets BR1 and BR2, which contain three and five types of boxes, respectively, after preliminary tests showed that the required computation time would be considerably high to compete with alternative approaches for strongly-heterogeneous instances.
We present results in Table 1 and Table 2 (BR1) and Table 3 and Table 4 (BR2). In these tables, for each instance, we present the volume utilization achieved by well-known state-of-the-art approaches enforcing orientation and stability constraints: the Container Loading by TRee Search (CLTRS) of Fanslau and Bortfeldt [4], the Iterative-Doubling-Greedy Lookahead Tree Search (ID-GLTS) of Zhu and Lim [7], and the Beam Search (BSG-VCS) of Araya, Guerrero, and Nuñes [36] with a new heuristic function for selecting boxes. To the best of our knowledge, BSG-VCS has reported the best results to date. It is important to stress that CLTRS, ID-GLTS, and BSG-VCS have a maximum runtime of 500 s for each instance. The columns related to BLHM show, for each instance, the average (avg.) and the best (best) solution values found by our algorithm over 10 runs. We indicate by bold font the best solution found among the four CLP algorithms. To compare the algorithms, since BLHM is non-deterministic, we consider its average value (and denote by * in the case that the best solution of BLHM is better than the solutions found by the other algorithms).
We begin the discussions on experimental analysis by stating that there is not a particular algorithm that stands out from the others for all instances. Taking as the reference group BR1, for instance, BLHM found new best solutions for 24 (out of 100) instances. The average solution obtained by CLTRS, ID-GLTS, BSG-VCS, and BLHM was 94.51, 94.40, 94.74, and 92.97 (considering the average column), respectively. For BR1-043, the result of 83.98 obtained by BLHM was very small when compared to the best one, namely 96.18. We believe this is due to the small number of FSBs generated in the first phase of BLHM.
Concerning group BR2, BLHM obtained the best solutions for seven (out of 100) instances. The average solution of CLTRS, ID-GLTS, BSG-VCS, and BLHM was 94.73, 94.85, 95.38, and 92.52 (considering the average column), respectively. It is important to note that the efficiency of BLHM decreased as the heterogeneity of the instances increased.

4. Conclusions

In this work, we presented a two-phase approach to tackle the container loading problem. The idea behind our algorithm is to decompose the CLP into two subproblems, namely a three-dimensional problem of generating a set of blocks of boxes and a two-dimensional problem of loading a subset of blocks on the container floor. Constructive algorithms conducted the former task, while the generate-and-solve hybrid framework dealt with the latter one. Computational experiments performed on weakly-heterogeneous datasets showed that our algorithm found new best solutions for 31 (out of 200) instances of groups BR1 and BR2. Its performance however deteriorated as the number of types of boxes increases. As future work, we intend to explore other CLP constraints, e.g., load bearing strength and weight distribution, and to investigate other strategies to compare eventually our results to methods more advantageous in solving strongly-heterogeneous problems [37]. Future studies might cover solving the multi-container loading problem [38] and ship loading problem [39] by modifying our suggested method. Another perspective is to study the application of the GS hybrid framework to classical combinatorial optimization problems.

Author Contributions

P.R.P., R.D.S., and N.N. contributed equally to the conceptualization and methodology of the work. R.D.S. was particularly in charge of coding the algorithm and performing the experiments. R.D.S. and N.N. drafted the article. All authors have done critical revision of the manuscript and final approval of the version together.

Funding

This research was funded by CNPq/Brazil Grant Number 305844/2011-3.

Acknowledgments

The authors acknowledge IBM for making CPLEX available to the academic community; and Andreas Bortfeld, Wenbin Zhu, and Ignacio Araya for providing us with detailed results of CLP instances.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
BLHMBlock-Loading Hybrid Metaheuristic
BSBeam Search
C&PCutting-and-Packing
CLPContainer Loading Problem
CLTRSContainer Loading by TRee Search
FSBFully-Supported Block
GAGenetic Algorithm
GRIGenerator of Reduced Instances
GSGenerate-and-Solve
ID-GLTSIterative-Doubling Greedy-Lookahead Tree Search
ILPInteger Linear Programming
MBCMinimum Bounding Cuboid
RKGARandom Key Genetic Algorithm
SRISolver of Reduced Instances

References

  1. Wäscher, G.; Haußner, H.; Schumann, H. An improved typology of cutting and packing problems. Eur. J. Oper. Res. 2007, 183, 1109–1130. [Google Scholar] [CrossRef]
  2. Bortfeldt, A.; Wäscher, G. Constraints in container loading—A state-of-the-art review. Eur. J. Oper. Res. 2013, 229, 1–20. [Google Scholar] [CrossRef]
  3. Scheithauer, G. Algorithms for the container loading problem. In Operations Research Proceedings 1991; Springer: Berlin, Germany, 1992; pp. 445–452. [Google Scholar]
  4. Fanslau, T.; Bortfeldt, A. A tree search algorithm for solving the container loading problem. INFORMS J. Comput. 2010, 22, 222–235. [Google Scholar] [CrossRef]
  5. George, J.A.; Robinson, D.F. A heuristic for packing boxes into a container. Comput. Oper. Res. 1980, 7, 147–156. [Google Scholar] [CrossRef]
  6. Bischoff, E.E.; Ratcliff, M. Issues in the development of approaches to container loading. Omega 1995, 23, 377–390. [Google Scholar] [CrossRef] [Green Version]
  7. Zhu, W.; Lim, A. A new iterative-doubling Greedy–Lookahead algorithm for the single container loading problem. Eur. J. Oper. Res. 2012, 222, 408–417. [Google Scholar] [CrossRef]
  8. Araya, I.; Riff, M.C. A beam search approach to the container loading problem. Comput. Oper. Res. 2014, 43, 100–107. [Google Scholar] [CrossRef]
  9. Parreño, F.; Alvarez-Valdés, R.; Oliveira, J.; Tamarit, J.M. Neighborhood structures for the container loading problem: A VNS implementation. J. Heuristics 2010, 16, 1–22. [Google Scholar] [CrossRef]
  10. Gonçalves, J.F.; Resende, M.G. A parallel multi-population biased random-key genetic algorithm for a container loading problem. Comput. Oper. Res. 2012, 39, 179–190. [Google Scholar] [CrossRef]
  11. Gehring, H.; Bortfeldt, A. A genetic algorithm for solving the container loading problem. Int. Trans. Oper. Res. 1997, 4, 401–418. [Google Scholar] [CrossRef]
  12. Mack, D.; Bortfeldt, A.; Gehring, H. A parallel hybrid local search algorithm for the container loading problem. Int. Trans. Oper. Res. 2004, 11, 511–533. [Google Scholar] [CrossRef]
  13. Moura, A.; Oliveira, J.F. A GRASP approach to the container-loading problem. IEEE Intell. Syst. 2005, 20, 50–57. [Google Scholar] [CrossRef]
  14. Liu, J.; Yue, Y.; Dong, Z.; Maple, C.; Keech, M. A novel hybrid tabu search approach to container loading. Comput. Oper. Res. 2011, 38, 797–807. [Google Scholar] [CrossRef]
  15. Dereli, T.; Das, G.S. A hybrid ‘bee(s) algorithm’ for solving container loading problems. Appl. Soft Comput. 2011, 11, 2854–2862. [Google Scholar] [CrossRef]
  16. Morabito, R.; Arenales, M. An AND/OR-graph approach to the container loading problem. Int. Trans. Oper. Res. 1994, 1, 59–73. [Google Scholar] [CrossRef]
  17. Eley, M. Solving container loading problems by block arrangement. Eur. J. Oper. Res. 2002, 141, 393–409. [Google Scholar] [CrossRef]
  18. Pisinger, D. Heuristics for the container loading problem. Eur. J. Oper. Res. 2002, 141, 382–392. [Google Scholar] [CrossRef] [Green Version]
  19. He, K.; Huang, W. An efficient placement heuristic for three-dimensional rectangular packing. Comput. Oper. Res. 2011, 38, 227–233. [Google Scholar] [CrossRef]
  20. Raidl, G.R. Decomposition based hybrid metaheuristics. Eur. J. Oper. Res. 2015, 244, 66–76. [Google Scholar] [CrossRef]
  21. Blum, C.; Raidl, G.R. Hybrid Metaheuristics: Powerful Tools for Optimization; Springer: Berlin, Germany, 2016. [Google Scholar]
  22. Boschetti, M.; Maniezzo, V.; Roffilli, M.; Bolufé Röhler, A. Matheuristics: Optimization, Simulation and Control. In Hybrid Metaheuristics; Blesa, M., Blum, C., Di Gaspero, L., Roli, A., Sampels, M., Schaerf, A., Eds.; Lecture Notes in Computer Science; Springer: Berlin, Germany, 2009; Volume 5818, pp. 171–177. [Google Scholar]
  23. Haessler, R.W.; Brian Talbot, F. Load planning for shipments of low density products. Eur. J. Oper. Res. 1990, 44, 289–299. [Google Scholar] [CrossRef]
  24. Nepomuceno, N.; Pinheiro, P.; Coelho, A.L. Tackling the Container Loading Problem: A Hybrid Approach Based on Integer Linear Programming and Genetic Algorithms. In Evolutionary Computation in Combinatorial Optimization; Cotta, C., van Hemert, J., Eds.; Lecture Notes in Computer Science; Springer: Berlin, Germany, 2007; Volume Voume 4446, pp. 154–165. [Google Scholar]
  25. Nepomuceno, N.; Pinheiro, P.; Coelho, A.L. A Hybrid Optimization Framework for Cutting and Packing Problems. In Recent Advances in Evolutionary Computation for Combinatorial Optimization; Cotta, C., van Hemert, J., Eds.; Studies in Computational Intelligence; Springer: Berlin, Germany, 2008; Volume 153, pp. 87–99. [Google Scholar]
  26. Saraiva, R.; Nepomuceno, N.; Pinheiro, P. The Generate-and-Solve Framework Revisited: Generating by Simulated Annealing. In Evolutionary Computation in Combinatorial Optimization; Middendorf, M., Blum, C., Eds.; Lecture Notes in Computer Science; Springer: Berlin, Germany, 2013; Volume 7832, pp. 262–273. [Google Scholar]
  27. Wang, N.; Lim, A.; Zhu, W. A multi-round partial beam search approach for the single container loading problem with shipment priority. Int. J. Prod. Econ. 2013, 145, 531–540. [Google Scholar] [CrossRef]
  28. Beasley, J. An exact two-dimensional non-guillotine cutting tree search procedure. Oper. Res. 1985, 33, 49–64. [Google Scholar] [CrossRef]
  29. Blum, C.; Raidl, G.R. Hybridization Based on Problem Instance Reduction. In Hybrid Metaheuristics: Powerful Tools for Optimization; Springer: Cham, Switzerland, 2016; pp. 45–62. [Google Scholar] [CrossRef]
  30. Pinheiro, P.R.; Coelho, A.L.V.; de Aguiar, A.B.; Bonates, T.O. On the concept of density control and its application to a hybrid optimization framework: Investigation into cutting problems. Comput. Ind. Eng. 2011, 61, 463–472. [Google Scholar] [CrossRef]
  31. Blum, C.; Pinacho, P.; López-Ibáñez, M.; Lozano, J.A. Construct, Merge, Solve & Adapt: A new general algorithm for combinatorial optimization. Comput. Oper. Res. 2016, 68, 75–88. [Google Scholar] [CrossRef]
  32. Çağatay Iris; Pacino, D.; Ropke, S.; Larsen, A. Integrated Berth Allocation and Quay Crane Assignment Problem: Set partitioning models and computational results. Transp. Res. Part E Logist. Transp. Rev. 2015, 81, 75–97. [Google Scholar] [CrossRef] [Green Version]
  33. Bean, J.C. Genetic algorithms and random keys for sequencing and optimization. ORSA J. Comput. 1994, 6, 154–160. [Google Scholar] [CrossRef]
  34. Spears, W.M.; De Jong, K.A. On the virtues of parameterized uniform crossover. In Proceedings of the Fourth International Conference on Genetic Algorithms, San Diego, CA, USA, 13–16 July 1991; pp. 230–236. [Google Scholar]
  35. Beasley, J.E. OR-Library: Distributing test problems by electronic mail. J. Oper. Res. Soc. 1990, 1069–1072. [Google Scholar] [CrossRef]
  36. Araya, I.; Guerrero, K.; Nuñez, E. VCS: A new heuristic function for selecting boxes in the single container loading problem. Comput. Oper. Res. 2017, 82, 27–35. [Google Scholar] [CrossRef]
  37. Liu, S.; Tan, W.; Xu, Z.; Liu, X. A tree search algorithm for the container loading problem. Comput. Ind. Eng. 2014, 75, 20–30. [Google Scholar] [CrossRef]
  38. Tian, T.; Zhu, W.; Lim, A.; Wei, L. The multiple container loading problem with preference. Eur. J. Oper. Res. 2016, 248, 84–94. [Google Scholar] [CrossRef]
  39. Çağatay, I.; Christensen, J.; Pacino, D.; Ropke, S. Flexible ship loading problem with transfer vehicle assignment and scheduling. Transp. Res. Part B Methodol. 2018, 111, 113–134. [Google Scholar] [CrossRef]
Figure 1. A container loading pattern with orientation and stability constraints.
Figure 1. A container loading pattern with orientation and stability constraints.
Algorithms 12 00067 g001
Figure 2. A simple block with four boxes in a row, two boxes in a column, and three boxes in a stack.
Figure 2. A simple block with four boxes in a row, two boxes in a column, and three boxes in a stack.
Algorithms 12 00067 g002
Figure 3. A guillotine block obtained from the combination of two simple blocks.
Figure 3. A guillotine block obtained from the combination of two simple blocks.
Algorithms 12 00067 g003
Figure 4. A representation of a guillotine block, its MBC, and the residual space on top of it.
Figure 4. A representation of a guillotine block, its MBC, and the residual space on top of it.
Algorithms 12 00067 g004
Figure 5. The generate-and-solve hybrid framework.
Figure 5. The generate-and-solve hybrid framework.
Algorithms 12 00067 g005
Figure 6. Chromosome of random keys.
Figure 6. Chromosome of random keys.
Algorithms 12 00067 g006
Table 1. Results for group BR1.
Table 1. Results for group BR1.
InstanceCLTRS [4]ID-GLTS [7]BSG-VCS [36]BLHM
AvgBest*
BR1-00193.8393.8093.5395.1295.83 *
BR1-00295.4594.9496.0195.2497.67 *
BR1-00391.0391.0391.0392.1192.67 *
BR1-00491.8491.8491.8494.5595.26 *
BR1-00595.1495.1495.1493.8594.63
BR1-00695.7294.6396.0293.2093.49
BR1-00794.1493.5794.0393.7494.60 *
BR1-00897.0597.0597.1893.8894.53
BR1-00991.5790.6291.8787.6187.61
BR1-01094.8194.6794.8193.1093.20
BR1-01191.4991.8492.5490.3791.11
BR1-01294.0893.6793.6791.4591.95
BR1-01397.1497.4397.6095.3495.58
BR1-01494.3794.6394.7091.3091.68
BR1-01595.3896.7496.9692.8493.29
BR1-01695.7595.5596.2093.1494.21
BR1-01797.8097.2997.9796.2196.40
BR1-01888.4988.4988.4988.9589.57 *
BR1-01994.7394.7395.1394.4094.81
BR1-02094.2095.2394.3091.5392.46
BR1-02194.6993.7794.6993.4793.48
BR1-02295.3494.4694.7392.5893.89
BR1-02394.1594.6794.6996.5396.54 *
BR1-02490.7591.1891.4291.5191.63 *
BR1-02594.8395.2595.1793.2794.26
BR1-02693.8193.8193.8193.1793.67
BR1-02791.6791.9592.5493.6093.60 *
BR1-02893.8493.4694.7391.4692.53
BR1-02993.9593.9294.4593.5294.45 *
BR1-03097.5497.1398.0994.4395.08
BR1-03195.5494.6595.6792.8493.32
BR1-03297.0197.0197.0194.8495.07
BR1-03397.6397.5597.7594.1794.88
BR1-03494.6294.6295.4792.6692.87
BR1-03593.6094.0594.1491.7492.30
BR1-03695.4795.3694.6894.0594.51
BR1-03795.1694.9795.4292.6593.16
BR1-03890.6490.1190.7190.9291.30 *
BR1-03996.4096.4896.4894.0794.19
BR1-04094.5293.9693.9892.9693.53
BR1-04194.5594.9795.3993.8994.55
BR1-04294.2494.8695.2993.4794.37
BR1-04395.6195.7596.1883.9886.02
BR1-04487.9788.2188.2183.9784.03
BR1-04596.3896.2396.3893.7694.12
BR1-04694.1394.1394.1390.8091.27
BR1-04795.3996.1696.2992.8393.56
BR1-04895.9595.4595.4594.9395.65
BR1-04995.0394.2994.7792.6194.10
BR1-05097.5597.7698.1694.4595.56
* The best solution of BLHM over 10 runs is better than the solutions found by the other algorithms.
Table 2. Results for group BR1 (cont.).
Table 2. Results for group BR1 (cont.).
InstanceCLTRS [4]ID-GLTS [7]BSG-VCS [36]BLHM
AvgBest*
BR1-05197.1197.1197.0895.1295.87
BR1-05294.7394.6094.7395.7895.81 *
BR1-05389.5989.5991.6593.0393.70 *
BR1-05492.3792.5493.0593.0593.33 *
BR1-05590.6290.6290.6287.6487.64
BR1-05697.2696.1497.3295.7196.68
BR1-05795.6095.4896.2294.2495.49
BR1-05894.4592.6193.9494.1794.68 *
BR1-05997.5796.7696.3895.9997.16
BR1-06095.8695.8695.9693.6194.88
BR1-06195.9095.9095.9791.6793.69
BR1-06293.0792.9694.2092.1692.76
BR1-06391.7693.1593.0592.3093.66 *
BR1-06494.5994.2495.4491.4991.83
BR1-06597.7197.8797.8795.6396.78
BR1-06696.1695.3996.2094.9295.81
BR1-06795.9295.7296.0692.9693.50
BR1-06897.0696.8197.0694.8295.23
BR1-06992.9391.3792.3891.4892.65
BR1-07091.3591.3590.7194.9495.19 *
BR1-07192.9891.9793.1493.3693.57 *
BR1-07292.4392.7292.5293.1293.60 *
BR1-07391.7191.6791.6693.5394.52 *
BR1-07494.4394.6894.9891.3392.57
BR1-07593.6694.5594.5593.1393.13
BR1-07696.5696.5996.6795.4796.30
BR1-07797.2697.2697.2693.8094.84
BR1-07893.8493.9594.6793.2293.29
BR1-07994.8294.8294.8294.8895.40 *
BR1-08095.9196.3696.6595.1195.11
BR1-08192.7792.4492.4491.1692.30
BR1-08293.7493.8394.3991.7593.17
BR1-08395.8395.8395.8392.7294.57
BR1-08493.8494.1594.4093.4794.51 *
BR1-08597.9997.5598.0395.5095.80
BR1-08696.1495.1195.1194.1594.81
BR1-08793.7693.3893.7689.4991.12
BR1-08894.2993.1994.5490.2091.40
BR1-08988.2188.2188.2193.1794.24 *
BR1-09092.8292.5292.8288.9689.46
BR1-09197.0997.1497.1495.1795.52
BR1-09293.1090.8892.7192.8093.27 *
BR1-09395.9195.9095.6793.1294.17
BR1-09495.4495.9795.9793.3995.08
BR1-09595.2095.9295.7092.9092.90
BR1-09695.7995.7995.7993.2894.22
BR1-09794.8793.7894.8793.9094.41
BR1-09896.1496.6996.6993.9694.87
BR1-09993.8294.1694.4889.1690.39
BR1-10096.6298.1698.1694.0494.68
* The best solution of BLHM over 10 runs is better than the solutions found by the other algorithms.
Table 3. Results for group BR2.
Table 3. Results for group BR2.
InstanceCLTRS [4]ID-GLTS [7]BSG-VCS [36]BLHM
AvgBest*
BR2-00195.5095.5595.9891.8592.71
BR2-00295.5095.2295.1193.4093.74
BR2-00394.1495.5295.4289.9191.63
BR2-00493.6893.3994.2393.9195.16 *
BR2-00595.8996.2496.2492.1393.77
BR2-00696.3396.2496.6591.4093.27
BR2-00796.1995.7096.7093.1394.18
BR2-00894.1294.1494.2091.3991.63
BR2-00995.2394.3995.0091.3492.12
BR2-01096.6996.1596.3394.3095.25
BR2-01193.3494.0295.2190.2491.69
BR2-01293.7594.5694.8591.1292.00
BR2-01395.7596.5896.7192.8894.64
BR2-01494.1194.1894.6092.6793.88
BR2-01595.8596.0096.1691.8093.68
BR2-01694.2194.8895.7992.4793.05
BR2-01796.0795.8895.9391.6892.85
BR2-01892.7493.4994.7090.3791.44
BR2-01995.0795.7395.6091.9493.55
BR2-02094.3694.7794.4291.9293.48
BR2-02193.3693.6895.4191.8793.05
BR2-02293.7693.9894.8190.2391.32
BR2-02391.0190.4390.9892.4892.68 *
BR2-02492.2892.4692.5591.1392.34
BR2-02595.6095.2496.3491.8792.86
BR2-02695.1995.0995.3892.5593.73
BR2-02793.3493.2493.9592.3192.90
BR2-02893.7493.8294.5291.8593.17
BR2-02996.6796.0497.0296.6297.02 *
BR2-03097.3397.5997.9494.2294.35
BR2-03195.7594.7496.2890.6692.26
BR2-03295.7295.6196.4592.6393.39
BR2-03396.0496.1495.8793.9594.31
BR2-03495.8395.1095.4392.7893.86
BR2-03595.4695.7695.7491.9892.41
BR2-03695.2795.4795.2993.9294.44
BR2-03794.4594.4195.7992.1493.32
BR2-03893.8294.6794.6790.4591.16
BR2-03995.7996.6497.2594.7595.47
BR2-04093.0693.3194.0791.0592.19
BR2-04194.1494.1493.8393.0193.45
BR2-04295.2095.1095.5692.8894.06
BR2-04394.0094.4494.4490.3390.77
BR2-04490.1490.7092.3389.3889.38
BR2-04595.1095.4395.5992.7693.84
BR2-04693.6193.6794.1293.0793.57
BR2-04795.7695.9696.0393.5193.88
BR2-04896.1896.8797.3594.0694.94
BR2-04995.9995.9496.0394.3594.41
BR2-05097.0397.0497.5893.8594.68
* The best solution of BLHM over 10 runs is better than the solutions found by the other algorithms.
Table 4. Results for group BR2 (cont.).
Table 4. Results for group BR2 (cont.).
InstanceCLTRS [4]ID-GLTS [7]BSG-VCS [36]BLHM
AvgBest*
BR2-05196.4796.1796.5694.3795.11
BR2-05295.3095.7695.3193.8994.31
BR2-05392.2793.1894.0693.7194.06 *
BR2-05494.3894.9095.3190.7791.81
BR2-05593.0393.6094.3390.9291.55
BR2-05696.2696.2696.8493.0593.87
BR2-05796.4696.4197.1492.0993.28
BR2-05894.9794.1194.9793.8694.58
BR2-05996.6397.1396.7294.6095.86
BR2-06095.6494.6295.6492.0392.35
BR2-06193.0394.8094.8090.5191.77
BR2-06295.8195.7796.1590.7491.31
BR2-06393.8092.8493.5491.4392.99
BR2-06494.7493.1193.6091.7192.17
BR2-06594.7895.3996.1793.9094.00
BR2-06695.0795.6196.6292.8893.70
BR2-06796.0495.6796.8492.4193.50
BR2-06893.7893.7895.0693.3593.78
BR2-06991.1391.7292.3492.5093.01 *
BR2-07093.2492.2194.3291.7692.75
BR2-07195.1795.3796.0493.7194.71
BR2-07292.1292.8293.3191.5692.72
BR2-07393.4293.2594.4492.5793.68
BR2-07494.0394.1895.3191.2292.53
BR2-07594.8795.1695.4792.6093.71
BR2-07696.6496.0097.0594.3895.58
BR2-07795.1896.1396.5894.2595.04
BR2-07895.2295.1795.9492.6993.78
BR2-07996.4696.2496.9894.1494.53
BR2-08093.3394.1094.3492.8293.99
BR2-08192.6893.7093.6792.7293.28
BR2-08294.5094.4195.1191.9692.80
BR2-08396.4595.8396.6193.1193.87
BR2-08492.7792.2793.2692.8293.98 *
BR2-08596.8596.9097.2495.2195.61
BR2-08694.7595.2995.8393.1394.27
BR2-08793.7694.2394.8490.5791.18
BR2-08892.3492.9993.6492.1293.62
BR2-08989.5889.9690.5792.5893.04 *
BR2-09094.5595.0495.0491.6892.17
BR2-09194.5395.1695.6492.8994.10
BR2-09293.9693.7994.3091.8092.25
BR2-09395.3595.3595.3593.3894.88
BR2-09497.1196.6697.4293.7594.36
BR2-09594.9895.8495.8594.0094.00
BR2-09696.8397.0498.2792.5693.27
BR2-09795.5394.6495.0192.7893.92
BR2-09896.3896.5897.3192.9293.74
BR2-09996.8496.8397.3393.5695.08
BR2-10095.1795.6695.5791.5195.23
* The best solution of BLHM over 10 runs is better than the solutions found by the other algorithms.

Share and Cite

MDPI and ACS Style

Dias Saraiva, R.; Nepomuceno, N.; Rogério Pinheiro, P. A Two-Phase Approach for Single Container Loading with Weakly Heterogeneous Boxes. Algorithms 2019, 12, 67. https://doi.org/10.3390/a12040067

AMA Style

Dias Saraiva R, Nepomuceno N, Rogério Pinheiro P. A Two-Phase Approach for Single Container Loading with Weakly Heterogeneous Boxes. Algorithms. 2019; 12(4):67. https://doi.org/10.3390/a12040067

Chicago/Turabian Style

Dias Saraiva, Rommel, Napoleão Nepomuceno, and Plácido Rogério Pinheiro. 2019. "A Two-Phase Approach for Single Container Loading with Weakly Heterogeneous Boxes" Algorithms 12, no. 4: 67. https://doi.org/10.3390/a12040067

APA Style

Dias Saraiva, R., Nepomuceno, N., & Rogério Pinheiro, P. (2019). A Two-Phase Approach for Single Container Loading with Weakly Heterogeneous Boxes. Algorithms, 12(4), 67. https://doi.org/10.3390/a12040067

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop