Complexity

Volume 2018, Article ID 2024184, 12 pages

https://doi.org/10.1155/2018/2024184

## Optimization of Heterogeneous Container Loading Problem with Adaptive Genetic Algorithm

^{1}School of Naval Architecture and Ocean Engineering, Huazhong University of Science and Technology, Wuhan 430074, China^{2}Shenzhen Huazhong University of Science and Technology Research Institute, Shenzhen 518057, China^{3}School of Management, Huazhong University of Science and Technology, Wuhan 430074, China^{4}Department of Operations, University of Groningen, P.O. Box 800, 9700 AV Groningen, Netherlands

Correspondence should be addressed to Xianbo Xiang; nc.ude.tsuh.liam@gnaixbx and Stuart X. Zhu; ln.gur@uhz.x

Received 4 August 2018; Accepted 18 September 2018; Published 1 November 2018

Guest Editor: Andy Annamalai

Copyright © 2018 Xianbo Xiang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

This paper studies an optimized container loading problem with the goal of maximizing the 3D space utilization. Based on the characteristics of the mathematical loading model, we develop a dedicated placement heuristic integrated with a novel dynamic space division method, which enables the design of the adaptive genetic algorithm in order to maximize the loading space utilization. We use both weakly and strongly heterogeneous loading data to test the proposed algorithm. By choosing 15 classic sets of test data given by Loh and Nee as weakly heterogeneous data, the average space utilization of our algorithm reaching 70.62% outperforms those of 13 algorithms from the related literature. Taking a set of test data given by George and Robinson as strongly heterogeneous data, the space utilization in this paper can be improved by 4.42% in comparison with their heuristic algorithm.

#### 1. Introduction

Container loading problems mainly address the issues of planning the loading order and loading position on the basis of ensuring certain constraints [1–3]. Study on optimization of container loading problems has an extensive engineering background and various applications on the modern management of container terminals and container shipping [4–6]. The container loading problem is a Nondeterministic Polynomial- (NP-) Hard problem that focuses on establishing mathematical models and seeking efficient algorithms depending on the specific environments [7, 8]. Depending on the types of containers and cargoes, the container loading problem can be divided into 14 categories [9]. Our paper studies two categories of loading a single container with selections from either weakly or strongly heterogeneous set of cargoes such that the value of the loaded items is maximized.

Intelligent optimized algorithms, such as simulated annealing, tabu search algorithm, and genetic algorithm, have been proposed in literature, in order to compute the optimal solution of the complex NP-hard problem including the practical case of container loading [10, 11]. The existing algorithms can be divided into two categories: placement heuristic and improved heuristic. The placement heuristic is also known as the basic heuristic, which establishes direct search strategies and search rules with practical experience and search solutions based on these rules. The basic heuristic has a high practical value for the optimization of the packing problem. Although it cannot guarantee the optimal solution, it can usually obtain a satisfactory feasible solution. The improved heuristic is a hybrid algorithm which combines basic heuristic with neighborhood search algorithm, such as genetic algorithm, tabu search algorithm, and greedy algorithm [12–14].

The representative placement heuristic was proposed by George and Robinson who firstly introduced the concept of layers [15]. Based on the algorithm of George and Robinson, Bischoff and Marriott constructed 14 heuristics by mixing 6 sequencing rules and 3 fill methods that already existed [16]. Loh and Nee studied a heuristic for problem of weakly heterogeneous, by taking the charge density as the objective function, building horizontal layers and loading from bottom to top [17]. In addition, they designed 15 sets of test data which was often used as a classic test data for later algorithms. Ngoi et al. proposed a heuristic algorithm that the cargoes can only be loaded in the horizontal direction of rotation [18]. They abandoned the concept of layers and created a special method of matrix representation of space which simplified the loading steps.

Bischoff and Ratcliff proposed a heuristic with multiple destination constraints where the cargoes were ordered in accordance with the arrival order [19]. This algorithm did not build layers but columns in order to load similar cargoes in the same column space. They also used the matrix space representation of Nogi et al. [18]. Gehring and Bortfeldt proposed a typical hybrid genetic algorithm and introduced two-dimensional loading problem into three-dimensional loading problem [20]. Bortfeldt and Gehring proposed a tabu search algorithm for solving container loading problem considering stability constraints, rotation constraints, stack constraints, and weight constraints [10]. They have created two composite block loading methods; one block contained only the same cargoes, and the other block contained two types of cargoes. Similar to George and Robinson’s idea of building walls, Chien and Wu used a tree search strategy to find the best loading plan [21]. Each node of the tree is a set of walls depths; its child nodes are corresponding to the strips’ widths. Bortfeldt and Gehring’s hybrid genetic algorithm combined greedy algorithm with vertical layers [13]. In addition to stability constraints, rotation constraints, stack constraints, and weight constraints, they also considered balance constraints.

Chien and Deng [22] proposed a heuristic similar to the matrix space representation of Nogi and coworkers [18]. Their heuristic divides a loading space into two subspaces and then searches the suitable subspace for the current cargo to load. Moura and Oliveira [23] carried out two kinds of deformation based on George and Robinson’s method. The first deformation introduced the stability constraint. In the second deformation, the width of the new layers must be less than the width of the old one, which was convenient to merge the loading space and improve the loading stability. Lim et al. proposed two kinds of heuristics for homogeneous packing and heterogeneous packing [24]. The heuristic of Wang et al. was designed for a special kind of dynamic space decomposition method based on the trigeminal tree [25]. Wu et al. used two segments of encoding in genetic algorithm, including the number and the rotation of the cargoes [26]. Their algorithm applied simultaneous genetic operation to both segments of the encoding.

He and Huang designed a caving degree based flake arrangement to solve the packing problem [27], which constructed the flake cargoes block consisting of the same cargoes. In [28], Dereli et al.’s hybrid bee(s) algorithm inspired by the bees foraging behavior was similar to genetic algorithm where the optimal parents and some offspring were reserved to the next generation. The algorithm considered the rotation constraints of the cargoes and the LDB concept. Tian et al. considered the cargo transport priority and structured tree search algorithm based on the greedy heuristic so that blocks of similar cargoes were loaded into a container [29]. There were five evaluation functions to select the blocks which constructed the search tree branches. Lim et al. designed single container and multicontainer loading algorithms for a practical storage management system, using the dynamic sequencing method to determine the priority of cargoes [30]. In the single container loading problem, the cargoes with a high priority are placed near the bottom of the container location. In the multicontainer loading problem, the cargoes with a high priority are placed in the higher priority container. Goncalves and Resende’s genetic algorithm adopted two-segment encoding of cargo loading sequence and position [31]. The cargo loading sequence encoding used a biased random key strategy in order to avoid the correction of the sequence encoding.

In this paper, we propose a novel adaptive genetic algorithm integrating two-stage real-number encoding method and dynamic space division method to improve the existing placement heuristic, which effectively avoids a certain amount of space loss. The novelty of the proposed method is described as follows. (1) According to the characteristics of the loading problem, a two-stage real-number encoding method is developed, where the priority of the cargoes is designed as the first half of encoding and then the placement state is designed as the second half so that the algorithm can search for the optimal solution in large search sets. (2) Dynamic adaptive crossover and mutation operators are designed in the genetic algorithm in order to avoid the bad convergence caused by coding changes. More importantly, we use both weakly and strongly heterogeneous loading data to test the proposed algorithm. By choosing 15 classic sets of test data in [17] as weakly heterogeneous data, the average space utilization reaching 70.62% outperforms those of 13 algorithms from the related literature. Taking a set of test data in [15] as strongly heterogeneous data, the space utilization can be improved by 4.42% in comparison with [15].

The rest of the paper is organized as follows. The next section provides a description ofthe general container problem model, constraints and objective functions. Sections 3 and 4 discuss the proposed algorithm, including the placement heuristic (how a layout is constructed) and the improved heuristic (how to search for better solutions). Experimental results, along with benchmark data sets, are analyzed in Section 5. Conclusions are given in Section 6.

#### 2. Problem Statement

Given a container and a set of boxes, the container loading problem aims to determine the load position and place rotation in the container in order to maximize the space utilization with basic geometric constraints [32]. This paper addresses the problem of loading a single container with the following assumptions [28, 33, 34]:(i)Each cargo can be loaded into a container(ii)The cargoes do not have a priority during the loading procedure(iii)The shape of the cargoes is regular rectangle(iv)Fillers are used to fill the gap between the cargoes to ensure the loading stability(v)The placement of the cargoes must be parallel or orthogonal to the container walls(vi)The placement of cargoes can be arbitrarily rotated

Our model uses a three-dimensional Cartesian coordinate system, as shown in Figure 1. In the coordinate system, the -axis represents the length of the container, the -axis represents the width, and the -axis represents the height. The origin point represents the left corner of the container.