Next Article in Journal
Full-Field Deformation-Aided Compressive Failure Evaluation of Seawater Concrete Using Digital Image Correlation Technique
Next Article in Special Issue
A Method for Identifying the Key Performance Shaping Factors to Prevent Human Errors during Oil Tanker Offloading Work
Previous Article in Journal
Hydrodynamic Analysis of Tidal Current Turbine under Water-Sediment Conditions
Previous Article in Special Issue
A Chronological Overview of Scientific Research on Ship Grounding Frequency Estimation Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Many-Objective Container Stowage Optimization Based on Improved NSGA-III

1
Key Laboratory of Navigation Safety Guarantee of Liaoning Province, Navigation College, Dalian Maritime University, Dalian 116026, China
2
Department of Global Transportation Sciences, Kobe University, Kobe 658-0022, Japan
*
Authors to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2022, 10(4), 517; https://doi.org/10.3390/jmse10040517
Submission received: 9 March 2022 / Revised: 6 April 2022 / Accepted: 6 April 2022 / Published: 8 April 2022
(This article belongs to the Special Issue Risk Assessment and Traffic Behaviour Evaluation of Ships)

Abstract

:
The container ship stowage planning problem (CSPP) is a very complex and challenging issue concerning the interests of shipping companies and ports. This article has developed a many-objective CSPP solution that optimizes ship stability and reduces the number of shifts over the whole route while at the same time considering realistic constraints such as the physical structure of the ship and the layout of the container yard. Use the initial metacentric height (GM) along with the ship’s heeling angle and trim to measure its stability. Meanwhile, use the total amount of relocation in the container terminal yard, the voluntary shift in the container ship’s bay, and the necessary shift of the future unloading port to measure the number of shifts on the whole route. This article proposes a variant of the nondominated sorting genetic algorithm III (NSGA-III) combined with local search components to solve this problem. The algorithm can produce a set of non-dominated solutions, then decision-makers can choose the best practical implementation based on their experience and preferences. After carrying out a large number of experiments on 48 examples, our calculation results show that the algorithm is effective compared with NSGA-II and random weighted genetic algorithms, especially when applied to solve many-objective CSPPs.

1. Introduction

The container ship stowage planning problem (CSPP) determines the specific location of a container on a ship. As an essential part of maritime container transportation, the CSPP is one of the problems that container terminals and shipping companies must face and solve every day [1,2]. The quality of stowage determines the safety and seaworthiness of a ship, which directly affects the berthing time of vessels and indirectly affects transportation efficiency. In addition, the quality of stowage is closely related to the shipping company’s efficiency and the cargo owner’s vital interests. When making a container stowage plan, the following aspects must be considered [3,4,5].
First, the seaworthiness and proper stability of the ship must be ensured. Because there are many containers on the deck, and the number of containers on the deck may even exceed the number of containers in the hold, container ships are different from other ship types. Container ships are prone to the characteristics of a sizeable wind-receiving area and a high center of gravity. During the whole process of loading and unloading and the entire process of sailing, it is necessary to ensure a certain initial metacentric height (GM), appropriate trim, and timely adjustments to the ship’s heeling, as well as to consider the influence of the blind area of the bridge’s sight. The initial metacentric height is significant for the navigation of ships, and at the same time represents a “sensitive” constraint. If its value is too small, the ship is prone to capsizing. Especially as the ship becomes larger and faster, the economic pressure of navigation in severe weather will tend to increase, thus increasing the risk of capsizing [6]. A too-large value will shorten the rolling period, aggravate hull shaking, reduce crew comfort, and increase the lashing rope’s risk of loosening. In [7], ship stability is regarded as a mandatory constraint. The ship’s operator can use ballast water to adjust non-critical stability issues [8]; however, a good stowage plan needs to optimize the use of ballast water to reduce the ship’s trim in order to improve fuel efficiency.
Second, the limitations imposed by the physical structure of the containers must be met. Both the loading and unloading of containers follow the LIFO (last in, first out) policy [9]. Special containers such as reefer containers, dangerous goods containers, and oversized containers have specific storage requirements. Due to corn fittings at the bottom, two 20-ft containers cannot stack on a 40-ft container.
Third, the container ship’s hull must have sufficient strength. Measures of the strength of a container ship’s hull includes shear force, transverse strength, torsional strength, local strength, and longitudinal strength. In loading, unloading, and transportation, stowage planning must meet the hull’s strength and safety requirements and extend the ship’s service life.
Fourth, the number of container shifts should be minimized. There are many ports of call and the loading and unloading of midway ports are more frequent, especially for transoceanic and global container liners. For this reason, when planning stowage an overall view of the whole route should be taken that carefully considers the order in which ships call and the information provided by each port of call. Earlier ports must be considered when planning for later ports. The starting port should lay the foundation for the entire route to avoid the situation of containers meant for earlier ports being blocked by those meant for later ports. Otherwise, container shifting will reduce the efficiency of loading and unloading, extend the turnaround time, and increase the cost. In addition, relocation will incur expensive additional loading and unloading costs (usually, a single loading and unloading costs tens to hundreds of US dollars) [10,11].
Finally, excessive concentration of containers in the same port of discharge is to be avoided. The makespan of quay cranes directly affects a ship’s turnaround time and port costs. Usually, two or more cranes simultaneously speed up the discharge process for large container ships [12]. However, the quay crane cannot simultaneously lift the containers in two adjacent spaces on the container ship. In the case of the above situation, containers intended for the same discharge port should not be arranged in adjacent holds.
Based on the above discussion, the following two goals are crucial in container stowage.
(a)
Ensure proper stability and trim of the ship;
(b)
Minimize the amount of container relocation on the whole route.
Goal (a) relates to the safety of ships, while goal (b) relates to the profit and efficiency of shipping companies and port terminals. While each has its own merits, in actual operation there are often conflicts. For example, reducing the number of container shifts may come at the cost of reducing the ship’s stability. In engineering applications, this type of combinatorial optimization problem is called a multi-objective CSPP (MO-CSPP). In our research, the number of objectives exceeds three (i.e., six); thus, it is a many-objective CSPP (MaO-CSPP). As a remarkably realistic engineering problem in container transportation, MaO-CSPP has attracted the attention of more and more scholars. Multi-objective optimization is a common type of optimization decision-making problem which has been applied in many fields. The optimal solution is usually based on the trade-off between two or more conflicting objectives. To solve an MaO-CSPP according to different decision-making methods, two methods are typically used, namely, the a priori and a posteriori techniques [13].
The a priori technique represents the basic idea behind solving multi-objective optimization problems in traditional mathematical programming. Before searching, the decision information is input and one solution is run to the decision-maker. The main methods include lexicographical, linear fitness, and nonlinear fitness methods. The objective functions of the MaO-CSSP are aggregated to obtain a single-objective optimization problem. Then, the single-objective optimization method is used to obtain a single Pareto-optimal solution. While the idea of this method is simple, in practical engineering applications it is difficult to determine the weighting preferences between the objectives. In MaO-CSPP, the stability and strength of the ship must be guaranteed within a specific range. However, it is difficult to determine the respective weights of the amount of container relocation and the ship’s stability and strength from the perspective of economic profit. Therefore, the priori technique is sometimes not suitable for solving MaO-CSPPs in this context.
In contrast, running the a posteriori technique generates solutions for decision-makers to choose from. This technique generates a representative subset of the global or local Pareto-optimal solutions. If at least one of its goals is not inferior to other solutions in the solution space, the solution is Pareto optimal. If it is not dominated by any other solutions in the solution space, it is Pareto optimal [14]. Domination-based multi-objective optimization has been proven to be suitable for MaO-CSPPs.
A set of Pareto-optimal solutions can be obtained in a single run without prior information by using the a posteriori technique. Decision-makers can then weigh different goals and choose an ideal solution for actual implementation. The above studies on CSPPs seldom consider the principles of ship stability, strength, draught, etc., as they are conducted from a purely mathematical point of view and the yard optimization problem is not included. At the same time, most of the literature does not incorporate the characteristics of the full-route ports of call, instead using only a single port to design the stowage plan. On this basis, the present paper proposes a many-objective method that weighs safety and economic benefits from the perspective of both ship and port, and thereby enriches the research content regarding CSPPs. The rest of this article is organized as follows. In Part Two, a literature review is provided summarizing the latest progress on CSPPs and multi-objective evolutionary optimization algorithms; in Part Three, we introduce the CSPP; in Part Four, we present an algorithm that combines local search and genetic operators, and provide specific details to solve the problems raised in Part Three; in Part Five describes the many examples and experiments we conducted; finally, Part Six contains our conclusions along with prospects for future research.

2. Literature Review

CSPP is occasionally referred to as the master bay plan problem (MBPP) or ship stowage planning problem (SSPP) [15]. In 1970, Webster and Van Dyke first studied CSPP [16]. As their research only discussed simple issues, and did not conduct many experimental data tests, it is impossible to demonstrate the practical significance of their methods. Subsequently, in the 1980s Shields proposed the CAPS system (computer-aided pre-planning system) and applied it to the American President Line (APL) [17]; this system uses Monte Carlo stochastic simulation technology to generate different stowage plans. Avriel et al., proved that the CSSP is an NP-hard problem and demonstrated its relationship with the graph coloring problem [15], then established a 0–1 mathematical programming model and designed a “Suspensory Heuristic Procedure” in which the optimal solution for the small-scale stowage plan is automatically generated [18]. Ambrosino et al., attempted to derive rules that determine a good stowage plan [19]. The authors define and characterize the feasible solution space by satisfying certain constraints. The 0–1 linear programming model was then established to solve this combined optimization problem [20,21] using rules to develop a heuristic algorithm in which containers that have the same attribute should be placed in the same hold. However, the paper does not explicitly consider the issue of relocation related to the loading process. The authors expanded the original basic model by considering the influence of different container types (i.e., 20-ft and 40-ft containers) [22,23]. Imai et al., established an integer programming model intended to minimize the shift volume of the yard and the ship’s stability. However, the model did not consider the impact of hatch covers on stowage [8]. It is difficult to estimate the number of shifts when the information left by the container truck is uncertain as to storage space. Therefore, Imai proposed an estimate of the expected number of shifts [24]. Li et al., established a 0–1 mathematical programming model [25] by maximizing container ship hold utilization while minimizing operating costs over the whole route. Cruz-Reyes et al., developed 0/1 IP and employed a constructive heuristic to find the solution [26]. Petering et al., introduced a new mathematical formula for the block relocation problem by establishing an integer programming model. This method has been proven to produce fewer decision variables and better performance [27]. N. Wang et al., established an integer programming model and solved it with a CPLEX solver [28]. Fan et al., designed an effective algorithm to solve the optimization problem of the container stowage plan while considering many practical and operational constraints. However, no specific mathematical model has been set up to describe the optimization of container stowage plans [29].
All of the above-mentioned literature relies on traditional mathematical programming methods to deal with the problem of container stowage; this is only suitable for small-scale situations, and most applications are single-bay container stowage problems [30], which do not have practical engineering significance. Therefore, scholars often adopt a multi-stage method when facing actual scale problems, i.e., the CSPP is decomposed into sub-problems that are easier to handle. The corresponding sub-problems are then dealt with separately, and the solutions of the sub-problems are spliced to obtain a solution. In addition, Monaco introduced a systematic classification scheme for CSPP [31]. Wilson et al., designed a two-stage process for a container stowage plan in which the first stage is a global stowage strategy and the second stage is a partial stowage strategy [32]. Kang and Kim decomposed the container stowage problem into two sub-problems. The first sub-problem allocates containers to different countermeasure holds, and the second sub-problem determines the specific placement of containers in each hold [33]. Ambrosino et al., described the problem as an optimization problem [22]. They defined the problem as a master bay plan problem (MBPP). In response to this problem, the author proposed a three-stage heuristic model to deal with the sub-problems of each stage separately and developed a basic 0–1 linear programming model to minimize the total loading time. The subsequent literature [23] expanded the work of [22] and achieved specific results. Based on their consideration of structural and operational constraints, Ambrosino et al., proposed a multi-port MBPP heuristic algorithm based on MIP to minimize ship berthing time [34]. Later, they offered an MIP model to minimize the number of reprocessing and crane makespan which took into account such realistic constraints as six ports of call and both standard containers and reefer containers [35]. In a recent study, the authors used a specific stowage principle to solve the CSPP in the presence of dangerous containers [36]. Delgado et al., decomposed the ship stowage plan into two sub-problems, the main stowage plan and the location plan, using the calculation result of the main stowage plan as the input data of the location plan [30]. Pacino et al., proposed a two-stage method for large container ships; the first stage deals with the multi-port main bay stowage plan and the second stage uses the constraint programming (CP) method and slot planning to allocate specific slots for each container [37]. Iris Ç et al., presented a flexible container ship loading problem for seaport container terminals. They integrated the assignment and scheduling of transfer vehicles and container load sequencing with the assignment of specific containers to specific vessel positions [38]. Gumus et al., developed a multi-stage heuristic of the CSPP by decomposing the problem into four stages, explaining many complex and realistic CSPPs [39]. Zhang et al., deteriorated the full-route container stowage problem into a bay selection sub-problem and a slot plan sub-problem. The second sub-problem was then further subdivided into single destination port and a multi-destination port bay position optimization problem [40]. Azevedo et al., studied the optimization of container stowage plans considering the operation of quay cranes, taking additional practical and operational constraints into account, and designed a new solution method to solve the problem. However, the related characteristics of the container crane and the container were simplified without considering different container weights and sizes or the additional productivity of the quay crane [41]. Christensen et al., extended the liner shipping cargo mix problem by including the concepts of block stowage and draft restrictions and restricting the number of containers able to be selected, with the aim of determining the optimal cargo mix, not of creating a fully feasible stowage plan. Instead of assigning specific containers to specific slots on the vessel, containers are grouped by container type and assigned to blocks. Each container type represents several containers with the same properties [42]. Yaagoubi et al., studied 3D container loading planning of inland navigation barges. They proposed a heuristic method based on the first fitting algorithm of the packing problem, which is able to deal with actual structural and operational constraints [43]. According to inland container liner transportation characteristics, Li et al., decomposed the current port stowage planning problem into two sub-problems and proposed two heuristic algorithms for them [44]. Iris et al., systematically reviewed the literature related to stowage planning, loading sequencing, and scheduling. From the perspective of the ship loading problem (SLP), the authors pointed out that the literature on integration efforts for the SLP was rather limited, that is, most literature focuses on optimizing partial SLP issues. These studies have contributed to solving the SLP by proposing new models or algorithms to find improved solutions to various aspects of the SLP [45].
To enhance the practicality of the algorithm, scholars have gradually begun to apply heuristic or meta-heuristic methods to the field of ship stowage. Avriel et al., developed a Suspensory Heuristic Procedure to process CSPP that minimizes the number of container shifts without considering stability or strength [18]. Based on [18], Ding extended and enriched the Suspensory Heuristic Procedure [46]. Dubrovsky et al., proposed compact coding technology to design a genetic algorithm (GA) suitable for the CSPP. The significant feature of this method is that it reduces the number of iterations [47]. Jin et al., established an MIP model based on reality constraints, proposed an interactive hybrid algorithm consisting of a combination of a heuristic algorithm and a GA based on a pre-allocation strategy, and realized the visualization of stowage plans using the VB program [48]. Sciomachen and Tanfani considered this model’s structural and operational constraints as they relate to containers and ships. They proposed a heuristic method that uses the relationship between MBPP and the three-dimensional packing problem to solve the MBPP problem [49]. Parreño proposed a greedy randomized adaptive search procedure (GRASP) to solve the problem of container stowage slot planning [3]. Similarly, they studied multi-port CSPP and proposed an IP model and a GRASP algorithm, generating a stowage plan with the smallest number of container shifts for large-scale problems [50]. Araújo et al., proposed a Pareto clustering search algorithm to solve the double objective optimization model of container stowage (with the objectives of the number of movements necessary to load and unload the container ship and the stability of the ship in each port), designed a heuristic algorithm, grouped clustering through local search, and found the Pareto frontier to obtain the effective solution of the problem [51]. Zhang studied a multi-objective CSPP, seeking to optimize the stability of the ship and the number of containers to be reprocessed at the same time. The author developed multiple heuristic algorithms to deal with both containers in the yard and containers in the bay of ships, then integrated these heuristic algorithms into a non-dominated sorting GA [52]. Wilson and Roach used Tabu Search (TS) to generate CSPP solutions, and found that TS can gradually improve the location of containers [53]. Yurtseven implemented two meta-heuristic algorithms, namely, GA and simulated annealing (SA), to solve the CSPP. Their results show that SA can reach near-optimal results faster than GA [54]. Ambrosino et al., tested the performance of three methods to solve the MBBP, i.e., TS, a simple heuristic algorithm, and an ant-colony optimization (ACO) algorithm. Their results show that ACO is the best for large-scale instances, while TS is ideal for medium-sized cases [23]. Bilican et al., proposed a two-stage heuristic solution method using IP and a swapping heuristic (SH), which effectively increases the scale of solvable problems [6]. Junqueira et al., proposed an optimization model that combines the multi-port stowage planning problem with the container relocation problem. The author presented two heuristic methods to quickly generate feasible solutions [55]. Ji et al., established a mixed-integer nonlinear programming model based on small feeder container ships’ “sensitive” characteristics to ensure navigation safety. The authors designed a heuristic algorithm to update branch routes through variable neighborhood search and GA in order to obtain the stowage plan [56].
Although the literature mentioned above discusses several objectives of CSPP, most studies treat the CSPP as a single-objective optimization problem; there are few studies on the MO-CSPP or MaO-CSPP. Imai et al., considered two criteria with respect to the MO-CSSP, namely, ship stability and the number of rehandlings [8]. However, they used a weighted sum method and designed a GA to handle single-objective CSSPs. Liu et al., considered five objectives, i.e., the number of container shifts, the quay cranes’ makespan, the number of stacks exceeding the weight limit, the number of stacks without containers, longitudinal stability, and transverse stability, then developed a random algorithm incorporating TS to find a set of Pareto-optimal solutions [57].
In 1989, David Goldberg proposed using evolutionary algorithms (EA) to achieve multi-objective optimization technology. Multi-objective evolutionary algorithms (MOEA) have subsequently attracted widespread attention from many researchers, and many research results have emerged. When solving MO-CSSPs, to the best of our knowledge only Zhang et al., have used the MOEA [52]. This paper proposes to use the concept of Pareto optimality according to the idea of non-dominated sorting to produce a set of solutions for decision-makers.

3. Problem Description

3.1. Arrangement and Layout of the Slot

Three longitudinal, horizontal, and vertical parameters are required to define a slot. The internationally unified slot code numbering method formulated by ISO is adopted. It is based on the premise that the containers are distributed longitudinally on the ship. Six digits represent the coordinates of each slot. The first two digits are ”Bay No.”, the middle two digits are “Row No.”, and the last two digits are ”Tier No.” From bow to stern, the cargo hold of a container ship is longitudinally divided into several 20-foot-long areas. Usually, two adjacent 20-foot container slots form a 40-foot container slot. Certain holds are equipped with detachable cell guides. The hold can only be used as a 20-foot container when the cell guides are installed, and can only be used as a 40-foot container when the cell guides are removed.
Container ships are complex structures, and each voyage has a different bay layout. To simplify the problem, we put forward the following assumptions.
  • The information on the containers to be loaded in each port of call of this voyage is known before stowage, including the port of loading, the port of discharge, and the cargo type, quantity, weight, etc.
  • We only consider standard containers. Reefers, dangerous containers, or other non-standard container types have a particular hold on a ship, and this article does not study them.
  • Our research only focuses on 20-foot containers and does not consider the mixed loading of 20-foot and 40-foot containers.
  • We abstract the bay position of the ship as a similar rectangular shape, i.e., the number of rows of each bay position is equal, denoted by rS. The number of bays on the ship is represented by bS, and it is assumed that the maximum height of each bay is tS. Irregular forms can be expressed by adding constraints. Our current study does not consider the influence of hatch covers, i.e., it does not distinguish between hold and deck.
  • The structure of the yard bay is similar to the design of the ship hold. Similarly, the yard bays, the number of rows of each bay, and the number of layers of each row are represented by rY, bY, and tY, respectively.

3.2. Stability Check

Stability can be divided into transverse stability and longitudinal stability, according to the inclination direction. The leading indicators of the former are initial transverse metacentric height (GM) and heel (θ) [58]; the trim mainly measures the latter. As shown in Figure 1 [59], from the respective relative positions the GM can be expressed as
G M = K M K G
where KM denotes the height from the metacenter point M to the baseline and KG denotes the height from center of gravity G to baseline.
After loading and unloading the container, the GM of the ship will change. For displacement of the ship after loading and unloading the container, the calculation process is as follows:
Δ 1 = Δ + P i
where Δ denotes the ship’s displacement before loading and unloading, Δ1 denotes the ship’s displacement after loading and unloading, and Pi means the weight of the i-th container.
According to the theorem of resultant moments, find the coordinates of the ship’s center of gravity after loading and unloading the containers.
x g 1 = Δ · x g + P i z i Δ 1 y g 1 = Δ · y g + P i y i Δ 1 x g 1 = Δ · x g + P i x i Δ 1
where (xg,yg,zg) denotes the coordinates of the ship’s center of gravity before loading and unloading, (xi,yi,zi) means the coordinate of the center of gravity of the i-th container, and (xg1,yg1,zg1) denotes the coordinates of the ship’s center of gravity after loading and unloading.
According to the displacement of the ship after loading and unloading a container Δ1, query hydrostatic data to obtain the mean draft (d1), height of the ship’s metacenter from baseline (KM1), moment to change trim 1 cm (MTC1), longitudinal distance of the center of floatation (xf), longitudinal distance of the center of buoyancy (xb) above, and any other parameters.
If there are free surfaces, perform a free surface correction. The GM of the ship after loading and unloading is as follows:
G 1 M 1 = K M 1 x g 1 ρ i i x Δ 1
where G1M1 denotes the GM of the ship after loading and unloading, ρi denotes the density of the i-th free surface liquid, and ix indicates the inertial moment of the free surface on the inclined axis.
If yg1 ≠ 0, the ship has a heel angle; the tangent value of the heel angle is expressed as follows:
tan θ = P i · y g 1 Δ 1 · G 1 M 1
If xg1xb1, the trim of the ship is as follows:
δ t = Δ 1 · ( x g 1 x b 1 ) 100 M T C 1
In the actual stowage work, the G1M1 should be within an advisable range in order to maintain sufficient stability and obtain an appropriate roll period. Generally speaking, for a container ship with twelve rows of containers the G1M1 is about 1.0 m and the roll period is about 25 s. The heel angle, θ, should be minimized in order to obtain a better floating condition for the heel angle. When constraining the trim, the target should not be set as the minimum trim; rather, it should be set to a specific value, t0, the calculation of which can be found in [60]. The paper “Trimming Optimization” shows that the optimum trim angle varies with ship speed and draft. In the actual operation process, because the relevant port usage fees of many ports are related to the maximum draft of ships arriving at the port all ships should try their best to keep an even keel when entering and leaving the port in order to reduce expenses.

3.3. Container Stowage Process

A container ship stowage plan for a whole route refers to the operation of a certain route, taking into consideration the loading and unloading ports of all containers to be loaded, determination of the specific positions of all containers to be loaded into the ship, and compiling of a ship stowage plan for each port [61]. Every voyage should as much as possible attempt to avoid or reduce the number of container shifts to ensure ship safety and achieve the goal of improving the efficiency of loading and unloading. A whole route can be subdivided into metro loop, cycloid, and hybrid type routes, as shown in Table 1.
A container ship first unloads import containers at the current port, then loads that port’s export containers. Here, we assume that the loading and unloading processes are separate and that import containers are unloaded first, then export containers are loaded. Although there are situations where loading and unloading are carried out simultaneously at certain ports, the above assumption is in line with current yard operation realities.
The unloading operation of imported containers mainly involves the optimization of container stacking in the terminal yard, of the path of the straddle carrier, and of quay crane dispatching. As this research focuses on the impact of export container loading on ship stability and subsequent container shifts, the main focus of this article is on the export container loading process. After a container ship arrives at the port of call, the containers are unloaded at the port. The loading operation is based on the layout of the unloaded containers on the ship.
For the three types of full-route container ship stowage plans mentioned above (i.e., metro loop, cycloid, and hybrid type routes), when a ship arrives at a port of call and unloads its import containers there will be containers intended for subsequent ports on board the vessel. At this time, there the following three scenarios for shifting are in play. The first occurs in the export container yard. Due to the different times at which export containers arrive at the terminal yard and the other subsequent ports of call of the export containers, under the premise of a given loading sequence the containers will be relocated when the yard containers are retrieved. Extensive research has been carried out on the optimization problem of container relocation within the yard. Pre-marshaling [62] can effectively reduce the amount of container relocation when retrieving containers from the yard. In the second scenario, container relocation may occur on container ships in the current port. To reduce the amount of container relocation required at subsequent calls, the stacking order of containers on the ship will be reorganized in the current port; such relocations are called ‘voluntary shifts’. In the third scenario, if a container is considered a blocking container, it must be relocated in order to retrieve the container below it in the next port; these relocations are called ‘necessary shifts’.
The number of shifts corresponding to a given container loading plan is composed of the following three parts.
  • As shown in Figure 2, given the loading sequence, the amount of relocation due to stacking yard turnover can be found in [63].
  • As shown in Figure 3, the container is temporarily unloaded on the dock and then added to the subsequent loading sequence, that is, voluntary shifts. The literature on voluntary shifts mainly expands on and synthesizes [18,46].
  • As shown in Figure 4, the amount of container relocation in subsequent ports are necessary shifts.

3.4. MaO-CSPP

To completely express the MaO-CSPP, it is necessary to clarify the optimization objective of the problem and the feasible solution under various constraints. As previously mentioned, the objectives for the MaO-CSPP can be divided into two categories, i.e., f1 and f2, where f1 relates to stability and f2 relates to the number of shifts; X is a feasible solution to the MaO-CSPP where X = ( x 1 , x 2 , x n ) is a stowage plan that satisfies various constraints. The objective function of the MaO-CSPP with six optimization objectives, as studied in this paper, can be expressed as
f ( X ) = ( f 11 ( X ) , f 12 ( X ) , f 13 ( X ) , f 21 ( X ) , f 22 ( X ) , f 23 ( X ) )
where { f 11 , f 12 , f 13 } f 1 , { f 21 , f 22 , f 23 } f 2 . The specific meanings of the above six objective functions are shown in Table 2.
The MaO-CSPP can be described as
min { f 11 ( X ) , | f 12 ( X ) | , | f 13 ( X ) | , f 21 ( X ) , f 22 ( X ) , f 23 ( X ) }
s . t . X X
Equation (8) is called the objective function. For multi-objective functions, the a priori technique can be adopted. In the case of a given weight preference, the goals of the original multi-objective problem are aggregated in a linear or non-linear manner to obtain a single-objective optimization problem. Then, the single-objective optimization method is used to find a single Pareto-optimal solution, e.g., Equation (10):
min g w s ( X | λ ) = λ 1 ( f 11 ( X ) ) + λ 2 | f 12 ( X ) | + λ 3 | f 13 ( X ) | + λ 4 f 21 ( X ) + λ 5 f 22 ( X ) + λ 6 f 23 ( X )
which satisfies λ i 0 , i = 1 , , 6 and i λ i = 1 .
In Equation (9), X is the feasible solution space. There are usually two ways of expressing the feasible solution of x, one of which uses MIP, which can accurately provide the specific value of the feasible solution. Moreover, it generates a large number of constraints on decision variables. For example, in [55], the sub-problem that solves the CSPP (i.e., the block relocation problem) is solved using the mathematical model and the MIP method. The binary variable designed by the model exceeds r Y 2 h Y 2 N T , where N is the number of containers in each bay and T is the upper bound of the number of containers shifting. The article pointed out that the MIP solver can only solve small-scale instances, such as no more than r Y h Y < 4 × 5 per bay. Unlike the above, a compact coding method can be adopted to represent feasible solutions. Here, we use rigorous methods to describe the feasible solution space and solve the problem through practical heuristic algorithms.

4. Multi-Objective Optimization Method

In this part, we describe the design of a variant based on the non-dominated sorting genetic algorithm III (NSGA-III) to solve the MaO-CSPP. The basic framework and overview of the algorithm is introduced in Section 4.1. In Section 4.2, a compact coding method is used to represent feasible solutions. The heuristic methods for the relocation problem of containers in the yard and for voluntary shifting are delivered in Section 4.3 and Section 4.4, respectively. The method of generating the initial solution is provided in Section 4.5. The crossover and mutation of genetic operators is introduced in Section 4.6. In Section 4.7, local search is added to the designed algorithm. Finally, the neighborhood operators for local search and mutation are presented in Section 4.8.

4.1. Framework of Optimization Method

The NSGA-III was proposed by Deb et al., in 2013; based on NSGA-II, it aimed to solve problems for which NSG-II was not competent due to increased objective dimensionality [64]. Deb et al., proposed NSGA-II in 2000. NSGA-II can handle multi-objective optimization problems well [65]. However, NSGA-II only shows good performance for low-dimensional optimization problems in which objective dimensionality is less than or equal to 3. The basic framework of NSGA-III is similar to that of NSGA-II. The significant change lies in the selection mechanism of the critical layer. In NSGA-II, the solution with a more substantial crowding distance in the essential layer, i.e., a solution with a smaller crowding density, will be selected first. However, the crowded distance metric is unsuitable for solving high-dimensional multi-objective optimization problems. Therefore, the crowding distance is no longer used in NSGA-III; instead, the reference point method is used to select individuals. In addition, in order to realize the individual’s self-learning in the life cycle a local search strategy known as memetic algorithms is introduced into the iterative process of NSGA-III, [66].
The framework process of NSGA-III is provided in Algorithm 1.
Algorithm 1. NSGA-III framework with local search
Input: H structured reference points Zs or supplied aspiration points Za, parent population Pt, population size N.
Output: Pt+1
1: P0 ← InitializePopulation ()
2: t ← 0
3: while termination criteria not reached do
4: Qt ← Recombination + Mutation (Pt)
5: Qt ← LocalSearch (Qt)
6: RtPtQtQt
7: Rt ← EliminateDuplicates (Rt)
8: {F1, F2, …} ← FastNonDominatedSort (Rt)
9: Pt+1 ← Ø
10: i ← 1
11: while |Pt+1| + |Fi| < N do
12: Pt+1Pt+1Fi
13: ii + 1
14: end while
15: Choose K members to form the last front Fi: K = N − |Pt+1|
16: Pt + 1Pt+1 ∪ Selection (Pt+1, Fi, K)
17: tt + 1
18: end while
First, the algorithm generates an initial population P0 of size N. For the specific details of the initial population P0, please refer to Section 4.5. Steps 4–18 are looped and iterated until the termination condition is met. In each generation of the algorithm, the current population Pt, known as the parent population, generates a population of offspring Qt of the same scale through recombination and mutation. Then, the local search strategy is used to perform a fine search of the progeny population Qt to obtain an improved population, Qt; see Section 4.8 for a specific introduction to the local search strategy. In Step 6, the populations Pt, Qt, and Qt are merged into a population Rt; in addition, the size of Rt is 2N. Because Rt may contain individuals with the same objective value, and this affects the search quality, in Step 7 further mutation operations are performed on repeated individuals. In Step 8, the fast nondominated sorting method is used to divide Rt into different non-dominated layers {F1, F2, …}. Then, the non-dominated set with the highest priority is retained in the next generation. When |F1F2, …, ∪Fi-1| and |F1F2, …, ∪Fi−1| > N, Fi is defined as the critical layer and the critical layer selection method is used to select K individuals into the next generation until the size of the offspring population is equal to N. The critical layer selection method in Step 16 includes the determination of reference points, adaptive normalization, an association operation, and a niche-preservation operation. For additional details on NSGA-III, please refer to [64].

4.2. Chromosome Encode

For the MaO-CSPP, each feasible solution S corresponds to a complete loading plan Lp which can determine the loading sequence Ls of the container and the specific location of the container on the ship. The loading sequence Ls of containers includes the set CY of all containers to be loaded in the container yard and part of the set CS (V) of containers on board. CS (V) refers to a container undergoing voluntary shift. Once the loading sequence Ls is determined, the container yard’s container relocation (f21) can be calculated according to the method provided in [63]. Simultaneously, voluntary shifts by quay cranes (f22) can be made out. As the loading plan includes the specific location of the container on the ship, the container stowage map when the ship leaves the port can be obtained based on this; then, the ship stability-related results (f11, f12, and f13) can be calculated based on the stowage map and necessary shifts at future ports (f23) can be calculated at the same time. Therefore, a complete loading plan Lp is regarded as a feasible solution, that is, a chromosome.
As mentioned above, a loading plan Lp needs to include the loading sequence Ls and specific location of a container on the ship. Then, each gene in the chromosome can be represented by a triplet (IDi, Bi, Ri) where I = 1,2,…,n (with n being the number of containers in a loading sequence Ls, i.e., n = |CY| + |CS (V)|) and 1 ≤ BibS, 1 ≤ RirS. A feasible solution is one in which a chromosome can be expressed, as shown in Figure 5.
Figure 5 shows a legal chromosome code through which a complete loading plan can be obtained: Lp = 〈(7,1,1), (4,1,1), (12,1,2), (1,2,1), …〉. The first triplet (7,1,1) represents that container_7 was first loaded on the ship and its location on the ship was (bay1, row1), then container_4 was loaded onto the ship, and its position is (bay1, row1) as well. Container_12 is the “voluntary shift” container, i.e., the container on the ship. It needs to be temporarily moved to the side of the dock for container relocation at a future port, and then is loaded onto the ship according to the “new” loading sequence. Then, the container will be loaded in position (bay1, row2) after container_4 is loaded. A schematic diagram of the loading process is shown in Figure 6. The number in the figure represents the container number. The complete loading sequence is Ls = 〈7,4,12,1,…〉 and the loading sequence for the yard container is LYs = 〈7,4,1,…〉 (LYsLs). This information is found in the loading plan; Lp = 〈(7,1,1), (4,1,1), (12,1,2), (1,2,1), …〉 can be used to find the number of container shifts and the stowage plan, and the stability of the ship can then be calculated from the stowage plan. However, because container relocation is an NP-hard problem, the true value of the number of container shifts in the yard cannot be obtained in polynomial time when the loading plan Lp is given. Based on the literature [67], here we replace the optimal plan with a near-optimal plan based on a greedy heuristic. We have reason to adopt this approach, and it is in line with the actual production situation.
  • Containers arrive at the terminal yard before they are loaded. The advance time is usually more than ten hours or a few days. Therefore, there is sufficient time for processing of the yard containers, such as pre-marshalling, to meet the requirements of loading containers in order of loading sequence. In addition, the cost of container shifts in a container yard is lower than shifts on ships.
  • Different loading plans under the solution space many times must be verified and evaluated, and thus a fast and efficient heuristic is urgently needed.

4.3. Heuristic Rules for Relocation of Yard Containers

It is assumed that before the loading operation begins the storage status in the yard of the containers to be loaded and the loading sequence LYs of the containers on the ship are both known. The shifting operation takes place in the same bay, and there are enough slots for relocation. Figure 7 shows a schematic diagram of a yard bay layout. We define (i, j) as the position corresponding to the row and tier in the container yard. RiN is defined as the total number of containers in stack i; thus, the total number in all bay stacks can be expressed as BN = i = 1 r Y R i N . We define the priority, pi,j, according to the order of the destination port of container (i, j); pi,j = D represents the destination port of container (i, j) as D. The later the destination port, i.e., the larger the value of D, the earlier a container should be loaded on the ship. In other words, at the front end of the loading sequence the priority of a given container is higher. Dimax is the maximum value of the destination port in the i-th stack and Dimin is the minimum value of the destination port in the i-th stack, i.e., Dimax = max{pi,j | 1 ≤ j ≤ RiN} and Dimin = min{pi,j | 1 ≤ j ≤ RiN}.
The idea of a greedy heuristic algorithm is proposed in [67]. According to a given LYs in the container loading sequence, a container (i, j) is the target container to be retrieved; the following operation strategy is then implemented until all containers are loaded on board.
  • STRATEGY:
    • j = RiN: a container (i, j) is located at the top of the i-th stack and is retrieved directly.
    • jRiN: there is a blocking container (i, b) (b = j + 1, …RiN) when the container (i, j) is retrieved, and the blocking container needs to be temporarily relocated to stack k (ki). There may be only one blocking container, i.e., the top container (i, RiN) (b = RiN) in the i-th stack, or several, i.e., (b = j + 1, …RiN). According to the following rules, each blocking container is relocated to k (ki). The selection of stack k (ki) follows the following rules.
  • RULE:
    • RkN < tY and pi,bDkmax: RkN < tY means that stack k has space to accommodate blocking containers, and relocation will not block the containers in stack k. If there are multiple stacks to choose from, choose the smallest Dkmax. If there is a tie, select the nearest one.
    • RkN < tY and pi,b < Dkmax means that relocation will block the container in stack k. At this time, the smallest Dkmax should be selected. If there are multiple columns to choose from, choose the shortest column.
A feasible solution can be produced according to the above strategies and rules whenever there is a feasible solution.

4.4. Heuristic Rules for Container Voluntary Shifting

In Section 3.3 above, we defined voluntary shifts as shifts that occurs when to reorder the sequence of containers on the ship in order to prevent container relocation in the future. This is called the Myopic Voluntary Shifting Rule in [18,46], and the specific details of these heuristic rules can be found in these two works.

4.5. Generating Initial Population

Drawing lessons from the actual production experience of the container stowage plan, when generating the initial population P0 of NSGA-III a two-stage method is used to generate the initial population of scale N.
Section 4.3 defines the priority, pi,j, in the terminal yard. The farther away the destination port of container (i, j) is, the earlier the container will be loaded on the ship. At the same time, the larger the corresponding D (pi,j = D) value, the higher the container’s priority. The concept of container priority is used in this section.
Stage 1: 
Randomly adopt the following two mechanisms to generate a loading sequence Ls for the feasible solution; pay attention to Ls = LYs at this time.
1.
Retrieve the top container with the highest priority among all the columns of the yard containers each time, i.e., retrieve {C_Topmost | Dimax, i ∈ all rows in the yard}. If there are more choices, choose the one with the highest quality.
2.
Retrieve the container with the highest priority in the current yard each time, i.e., retrieve {C_Dimax, i ∈ all rows in the yard}. If there are more choices, choose the one with the fewest blocking containers. If there is a tie, retrieve the heaviest one.
Stage 2: 
In Stage 1, we obtain a complete loading sequence. Each container C in this given loading sequence must now be assigned to a specific ship stack. Due to the particular physical structure of container ships, their stacked containers follow the LIFO policy. Now, operating according to the following mechanism, we can finally obtain a feasible solution. In the above two stages, the strategy of voluntary shifts is not used. Therefore, there are no container shifts in the initial population.
1.
Suppose a stack k satisfies RkN < tS and a container C does not block other containers in stack k, i.e., the priority of container C satisfies pC ≤ Dkmin; then, select this stack. If there are multiple choices, choose the one with the smallest Dkmin value.
2.
If a stack with the properties mentioned above does not exist and container C blocks other containers in stack k, i.e., pC > Dkmin, choose the one that satisfies RkN < tS and has the largest Dkmin value in stack k.

4.6. Genetic Operations

Genetic manipulation is used to generate individual offspring, including by crossover and mutation. Crossover operates on a pair of chromosomes, while mutation operates only on a single individual.
First, consider one chromosome of only the yard containers CHY. Assuming that the chromosome contains only seven genes, that is, only seven yard containers (i.e., containers 1–7), set one parent chromosome as P1:〈(3,1,1), (2,2,1), (5,2,3), (1,1,2), (4,1,1), (7,2,2), (6,1,1)〉 and the other parent chromosome as P2:〈(4,2,1), (1,1,1), (6,1,2), (3,1,2), (5,2,2), (2,1,1), (7,1,1)〉. In this example, the size of the container is set to bS = 2, rS = 3, tS = 3. The crossover operation uses a double cut point crossover. In this example, the cut point positions are set to 2 and 5; the specific process of generating the two offspring chromosomes C1 and C2 is shown in Figure 8.
Two problems arise after the cross-recombination operation process. One is that the chromosome encoding of the offspring is illegal, and the other is that a certain row of containers exceeds its containment range, causing a stack overflow. In response to the above problems, we provide the following two renovations.
  • RENOVATION:
    • A partially mapped crossover (PMX) uses a unique repair program to solve the illegality caused by a simple double-point intersection. The specific steps are shown in Figure 9.
    • A greedy heuristic strategy is used to solve certain stack overflow problems, as follows. Load the container into the row with the least number of stacked containers in the same bay. If there are more choices, select the closest column. A schematic diagram of the stack overflow resolution strategy is shown in Figure 10.
      A complete loading plan includes both yard containers and ship containers that are voluntarily shifted. Consider the chromosome CH of both the yard container and the shipping container. This chromosome is added to five shipping containers (i.e., 8–12) based on the above CHY; thus, chromosome CH contains twelve genes. Due to voluntary shifts, the length of the chromosomes of the two parents will be different, i.e., the CY is the same and CS (V) is not, which in turn leads to different positions of the cut points when addressing them. We provide a third repair strategy, called the addressing strategy, in response to this problem.
  • RENOVATION:
    3.
    The addressing strategy is as follows. Mark the voluntary shifted containers in the loading sequence and record their relative positions. Ignore these containers; then, when determining the location of the tangent point, the chromosome gene will only contain the yard containers and will record the location of the tangent point at this time. The containers undergoing voluntary shifts can now be restored according to their previously-registered relative positions.
To obtain a complete chromosome, first determine the position of the tangent point of the double-point crossing according to the addressing strategy, then perform partial mapping and stack overflow repair, respectively, according to repair strategies 1 and 2 to obtain two legitimate offspring chromosomes.
After the crossover operation is performed, several offspring individuals in the population will be selected according to the mutation probability, Pm, to perform mutation operations in order to increase the diversity of the population and avoid falling into the local optimum. We have designed three types of operators to introduce a small amount of perturbation into the offspring genes and expand the search space to find more promising neighborhoods for exploration. A detailed introduction to specific operation operators is provided in Section 4.8.

4.7. Local Search

The local search we propose here is a kind of memetic algorithm that uses a selection mechanism similar to that in [68] to select certain individuals for local search. Local search is added to the framework of NSGA-III, that is, we introduce local search strategies into the iterative process of NSGA-III to realize the self-learning of individuals in the life cycle. After adding local search, NSGA-III uses local search to locally improve certain individuals, which can better balance the relationship between exploration and development in order to obtain a better solution with a higher probability.
First, we define the following aggregate function:
g ( X | λ ) = λ 1 ( f 11 ( X ) ) + λ 2 | f 12 ( X ) | + λ 3 | f 13 ( X ) | + λ 4 f 21 ( X ) + λ 5 f 22 ( X ) + λ 6 f 23 ( X )
where λ = [λ12,…λ6] is a weight vector, then the method of generating reference points in NSGA-III is used to generate a set of weight vectors that meet the constraints (as shown in Equation 12 and are uniformly distributed in the objective space. Therefore, the number of weight vectors is C ζ + 5 6 . If we set ζ in the equation to be 5, 252 weight vectors are generated for six-objective optimization problems.
λ 1 + λ 2 + λ 3 + λ 4 + λ 5 + λ 6 = ζ , λ i { 0 , 1 , , ζ } , i = 1 , 2 , 6
When selecting an individual for local search, we first randomly choose one from these weight vectors using the aggregate function (12) as the comparison index and choose an elite solution through the tournament selection method without replacement. Then, a local search is performed on the solution to obtain one or a set of improved solutions. Algorithm 2 shows the local search process.
Algorithm2. Framework of local_search (Qt)
1: Qt ← Ø
2: for i = 1 to N × P l s do
3: The weight vector λ is randomly selected from the set of weight vectors
4: S ← Tournament Selection with Replacement (Qt, λ)
5: Ei ← Local Search for Individual (S, λ, l_ier)
6: QtQtEi
7: end for
8: return Qt
Here, N × P l s represents the number of offspring populations selected to perform a local search and/is the probability of a local search. In other words, the selection operation of “select the elite solution and apply the local search” is repeated/times. As is well-known, local search requires a great deal of calculation time; thus, only a portion of offspring individuals can be selected for local search. If a partial improvement is made to an individual offspring, three types of neighborhood operations that are similar to mutation operations are randomly selected and applied to each selected offspring. This operation is performed l_ier times.

4.8. Neighborhood Operator

There is one last key issue in the algorithm that needs to be explained, namely, the neighborhood operator applied to the mutation operator and how to search locally. In the variant of NSGA-III presented here, the proposed neighborhood calculation is directed at the loading plan, Lp, rather than the solution S, which helps to introduce knowledge related to the optimization problem of container stowage. Therefore, each generated neighborhood must be calculated.
In Section 4.2., we defined a complete loading plan as consisting of a loading sequence Ls and the specific location group of a given container on the ship, i.e., Lp = 〈(ID1, B1, R1), (ID2, B2, R2), …, (IDn, Bn, Rn)〉. According to the scope and effect of the neighborhood operator, the neighborhood operator is divided into the following three categories.
1.
Operators applied to the loading sequenceLs: this type only acts on the loading sequence, including three operators.
(1)
Forward shift operator: two indexes x and y (1 ≤ x < yn) are randomly generated, then the triplet (IDy,By,Ry) is shifted forward to the position of x−1. At this time, the loading plan is Lp = 〈(ID1,B1,R1), …, (IDy,By,Ry), (IDx,Bx,Rx),…, (IDn,Bn,Rn)〉.
(2)
Backward shift operator: two indexes x and y (1 ≤ x < yn) are randomly generated, then the triplet (IDx,Bx,Rx) is shifted back to the position of y + 1. At this time, the loading plan is Lp = 〈(ID1,B1,R1), …, (IDy,By,Ry), (IDx,Bx,Rx),…, (IDn,Bn,Rn)〉.
(3)
ID_swap operator: two indexes x and y (x ≠ y) are randomly generated, then the sequential positions of the two triplets of (IDx, Bx, Rx) and (IDy, By, Ry) are swapped.
The loading plan obtained after applying this type of operation operator remains feasible.
2.
Operators applied to the stack of the container ship: this operator will change the container stack information in the loading plan, mainly including the following two operators.
(1)
Reassign operator: one index x (1 ≤ xn) and a container ship slot A are randomly generated; slot A satisfies tAtS and is not in the same position as a slot (Bx, Rx) corresponding to (IDx, Bx, Rx), i.e., (BA, RA) (Bx, Rx). Then, replace (IDx, Bx, Rx) with (IDx, BA, RA) in the former loading plan Lp to obtain a new neighbor loading plan.
(2)
Container slot swap operator: two indexes x and y (1 ≤ x < yn) are randomly generated, then their slot position information is exchanged. At this time, the loading plan is Lp = 〈(ID1,B1,R1), …, (IDx,By,Ry),…, (IDy,Bx,Rx) …, (IDn,Bn,Rn)〉.
3.
Operators applied to voluntary shifts: As mentioned earlier, in order to reduce the number of container shifts in future ports certain containers CS (V) will be temporarily placed on the quay shore and on the containers in the yard before being loaded back onto the ship. Two operators are proposed to add or reduce containers for the set CS (V).
To better explain the following operating procedures, we first define the concept of the “demarcation line”. The “demarcation line” is a vertical partition that divides the final ship container layout into two parts. The upper part of the demarcation line consists of the yard container CY and the voluntary shift container CS (V), i.e., CYCS (V); the lower part is the container on the ship, i.e., CS\CS (V), except for the part undergoing the voluntary shift. Figure 11 shows an example of the “demarcation line”.
(1)
To add a voluntary relocation container, randomly select a container below the demarcation line and activate it as a voluntary shift container, IDs. The original position of the selected container should have two or more containers in the stack, and it should be at the uppermost position f of the lower part of the demarcation line. Then, randomly insert the container into the loading plan and randomly assign a position to it to obtain a neighborhood loading plan, i.e., 〈(ID1,B1,R1), …, (IDi-1,Bi-1,Ri-1), (IDs,Bs,Rs), (IDi,Bi,Ri)…, (IDn,Bn,Rn)〉.
(2)
To remove a voluntary relocation container, randomly select a voluntary relocation container in the upper part of the dividing line and remove it from the loading plan.

5. Experiment and Analysis

In this section, we describe a series of numerical experiments used to test the effectiveness of the algorithm proposed in this paper and the design a comparative experiment involving other optimization methods. The experimental results are analyzed and discussed in the following sections. The test data are explained in Section 5.1; a comprehensive evaluation index of the experimental results is provided in Section 5.2; the parameter settings used in the experiment and the comparison experiment with other algorithms are provided in Section 5.3; and Section 5.4 lists the results of the test and the analysis of the results. The algorithm proposed in this paper was implemented in MATLAB R2019b (win64). All experiments were performed on a Windows server with 16.0 GB RAM and an Intel (R) Core (TM) i7 processor clocked at 3.0 GHz. The times used in the text are the CPU seconds of this machine.

5.1. Setting Data

To verify the effectiveness and practicability of our proposed algorithm, we set up 48 sets of calculation examples for the experiment according to the ship structure and stacking methods. The examples are summarized in Table 3. All containers are 20 ft in size, the weight in group A is set to unit 1, and the weight of containers in group B ranges from unit 10 to unit 20. bY, rY, tY, and NY represent the number of bays, the number of stacks, the height of the layer, and the number of yard containers, respectively, in each group of calculation examples. Similar to the yard containers, the relevant values concerning the ship are set to bS, rS, tS, and NS. The value set indicates the different bay position structures, which ensures enough places to accommodate the containers.
A rectangular structure is adopted for the ship or yard bay structure and different layers and numbers of columns are set. Each type of bay structure has a different bay layout randomly generated according to certain principles. The principle of generating the bay position layout is as follows: the containers in the yard bay are 50~80% of the total amount of the bay capacity and the shipping container occupancy rate is 20~30%; according to different destinations, different priorities are generated according to which more distant destinations have higher priority. We set six different priorities in this article.
The establishment of the ship coordinate system is intended to accurately express the spatial position of any point on the ship, which is convenient for positional determinations and ship performance calculations. According to our assumptions the ship is considered as a box structure, and we use the O-xyz rectangular coordinate system fixed on the ship, as shown in Figure 12.
Assuming that the center of gravity of the container is at the geometric center, this is true in practice as well. As the container is a cube with a side length of 1, the coordinates of the center of gravity of each container can be obtained according to the coordinate system we have established. The ship in the example consists of four bays (bay1~bay4), each bay has four stacks (row1~row4), and each stack has five layers (tier1~tier5); thus, the coordinates of the center of gravity of each container in this example are as shown in Table 4.
The essence of the stability calculation for different loading plans (i.e., different solutions) is the problem of “variation of weight in the ship”, which conforms to the attributes of the ship displacement and metacenter position (i.e., KM) invariants. According to the above settings, the three objective functions in the category of ship stability (i.e., the ship’s initial transverse metacentric height, heel angle, and trim) can be expressed as (1) f 11 = min { p i z i p i | i C Y C S ( V ) } ; (2) f 12 = min { | p i y i | p i | i C Y C S ( V ) } ; (3) f 13 = min { | p i x i | p i | i C Y C S ( V ) } where ρ i represents the weight of the i-container.

5.2. Performance Indicators

Researchers have proposed many methods for evaluating the performance of objective evolutionary algorithms, which can be summarized into three categories. The first type is used to assess the tightness between the computed set and the true Pareto-optimal surface, and is mainly used to evaluate the convergence of the algorithm. Here, we use the index of coverage between two solution sets (CS). The second category is used to assess the distribution of the solution set; here we use the maximum spread (MS). The third category allows for comprehensive consideration of the convergence and distribution of the solution set in order to evaluate the comprehensive performance of the solution. Here, we use the inverse generation distance (IGD).
In 2000, Zitzler proposed an evaluation method to compare the relative coverage of the two solution sets in the algorithm [69]. Assuming that P′ ⊆ P and P″ ⊆ P are two solution sets in the objective space (with P being the objective space solution set) and the coverage ratio is between P′ and P″ (two set coverage, CS), the equation is as follows:
C S ( P , P ) | { a P | a P , a a } | | P |
If all points in P′ dominate or are equal to all points in P″, then CS = 1 can be defined; otherwise, CS = 0. Suppose CS (P′, P″) > CS (P″, P′); in that case, the dominance relationship of P′ is considered to be better than that of P″. Generally speaking, the intersection of the two solution sets P′ and P″ is not empty CS (P′, P″), and therefore CS (P″, P′) must be considered together when evaluating an algorithm.
The Maximum Spread (MS) evaluation method (known as the D method) is used to measure the spreading performance of the solution set distribution of the algorithm. The larger the MS value, the better the extension performance of a solution set. In particular, when the MS is 1, the solution set completely covers the entire real Pareto front. Assuming that P′⊆ P is a non-dominated solution set in the objective space, the for the MS value is calculated as follows:
M S ( P ) = i = 1 M ( max a P f i ( a ) f i min f i max f i min min a P f i ( a ) f i min f i max f i min ) 2
where fimin and fimax represent the minimum and maximum values of the i-th goal (total M) in the objective space solution.
Inverted Generational Distance (IDG) is the inverse mapping of Generational Distance. It uses the average distance from the individual in the Pareto-optimal solution set, P*, to the non-dominated solution set P′ obtained by the algorithm. Therefore, it is calculated as follows:
I G D ( P , P * ) = 1 | P * | a P min a * P * d ( a , a * )
where d (a’, a*) represents the Euclidean distance between solutions a’ and a* in the objective space solution. The calculation expression is as follows:
d ( a , a * ) = i M ( f i ( a ) f i min f i max f i min f i ( a * ) f i min f i max f i min ) 2 = i M ( f i ( a ) f i ( a * ) f i max f i min ) 2
If |P*| can represent the Pareto front fully, then IGD (P′, P*) can, in a certain sense, comprehensively measure the convergence and diversity of the solution set. Because the solution set P′ must be close enough to the Pareto front surface in the objective space in order to obtain a smaller value of IGD (P′, P*), that is, the smaller the value of IGD, the better, and any part of P* has a corresponding solution to represent in P′, in an ideal situation solving the algorithm is a process of continuously approaching the optimal boundary P* and finally reaching the optimal boundary. However, in practical applications it is often difficult to find the true Pareto optimal surface. Here, P* is the Pareto front of all solutions obtained in all comparison algorithms in our experiment.

5.3. Parameter Setting and Comparison Algorithm

The parameter settings of the numerical calculation are shown in Table 5. Because the result of the calculation provides a set of Pareto optimal solutions, allowing the decision-maker to compromise the choice, we therefore set the population size to 100 based on experience. The algorithm uses the systematic method proposed by Das and Dennis to generate structured reference points. The number of reference points generated by this method depends on the number of objective functions M and another positive integer p, where p represents the goal of evenly dividing each dimension into p parts; the equation is H = C p + M 1 M 1 [70]. According to [64], the number of reference points should be equivalent to the population size. Therefore, we set the value of p to be equal to 4 and the number of reference points to 126.
We used calculation examples 1A and 1B to find the optimal Pc and Pm by adjusting different crossover probabilities and recombination probabilities while keeping the other parameters unchanged. For each set of calculation examples, we performed 30 independent calculations and used average result as the final output value. P* is the set of non-dominated solutions for all operations. The average IGD of 30 operations is provided in Table 6, and the best result (i.e., the smallest value 0.0106) is marked in bold. It can be seen from Table 6 that the crossover probability, Pc, has a more significant impact on the comprehensive performance of the algorithm. Therefore, we set the crossover probability to 100% and the mutation probability to 5%.
As described in Section 4.8, we designed three kinds of neighborhood operators for local search and mutation. To verify the influence of neighborhood operators on the algorithm’s performance, we set up comparative experiments. The results of this comparative experiment are shown in Table 7. The comprehensive version of the algorithm under each combination (i.e., average IGD) is provided as well.
From Table 7, it can be seen that the operator acting on the container stack (i.e., N2) has the most significant impact on the algorithm, the operator working on the loading sequence (i.e., N1) has the second-most, and the operator (i.e., N3) acting on the voluntary shifts has the least impact on the algorithm. When all operation operators are included, the algorithm’s overall performance is the best; thus, the neighborhood operator we proposed has a positive impact on the algorithm’s performance.
In our experiment, we designed six different algorithms; the related explanations of these algorithms are provided in Table 8. As previously mentioned, in order to comprehensively evaluate the performance of the proposed algorithm it is necessary to obtain the true Pareto front. However, due to the complexity of the MaO-CSPP, the true Pareto front cannot be obtained in polynomial time. Therefore, the best possible approximate solution must be found. We compared the other five algorithms to obtain the best approximate solution P*. In Table 8, RWGA is a random weighted genetic algorithm, a better algorithm in the priori technology. Specific details regarding the algorithm can be found in [54].

5.4. Results and Discussion

According to the parameter settings in Section 5.3, we conducted experiments on each algorithm. Each algorithm was applied to the 48 instances generated in Section 5.1, and each instance of examples of each algorithm was independently run 30 times. Then, according to the performance indicators set in Section 5.2, the average value of each instance indicator was obtained. The average values of the indicators are summarized in Table 9, Table 10 and Table 11, with the best results for each group in bold.
It can be seen from the results in Table 9 that among the 48 examples, 31 instances of NSGA-III-L achieved the best results (i.e., the smallest IGD), and 17 instances of NSGA-III-NL achieved the best results. This shows that the proposed local search significantly improves the performance of NSGA-III, making it more pertinent when solving MaO-CSPPs. It can be seen from the average value of IGD in the 48 examples that the performance of NSGA-III is better than that of NSGA-II, and that of NSGA-II is better than RWGA. Although the performance of NSGA-III-NL is slightly worse than that of NSGA-III-L, it is generally better than the other four algorithms. The results show that NSGA-III is more suitable for handling MaO-CSPPs. For each type of algorithm, whether it is NSGA-III, NSGA-II, or RWGA, the performance of the algorithm itself improved after adding local search, making IGD_ave (NSGA-III-L) < IGD_ave (NSGA-III-NL), IGD_ave (NSGA-II-L) < IGD_ave (NSGA-II-NL), and IGD_ave (RWGA-L) < IGD_ave (RWGA-NL).
When calculating CS, we considered only the pairwise comparison under the optimal performance of each algorithm, i.e., only the algorithm with local search. The experimental results for CS are shown in Table 10.
From the results in Table 10, it can be seen that the solution produced by NSGA-III-L dominates most of the solutions produced by NSGA-II-L, i.e., in 47 out of 48 examples, and dominates approximately 92% (44 out of 48) solutions produced by RWGA-L; thus, the above calculation holds. From Table 9, we can conclude that the overall performance of NSGA-II-L is better than that of RWGA-L. However, when comparing the CS, the solutions produced by RWGA-L dominate most of the solutions produced by NSGA-II-L (44 out of 48 examples). This is because the solution space of each calculation example is vast. RWGA-L can generate solutions with the help of the previously-set weights. When comparing the coverage of the two algorithms, RWGA-L performs better than NSGA-II-L. This result reflects the limitations of NSGA-II-L in solving multi-objective optimization problems, that is, when the number of objective functions is greater than three its searchability for non-dominated solution sets decreases sharply.
Table 11 shows that we can obtain the MS calculation results of each algorithm. These results show that NSGA-II-NL performs the best in terms of the extent of the target spatial distribution of solution sets, and NSGA-II-NL performs second. However, RWGA-L and RWGA-NL show poor results. Although NSGA-III is superior to RWGA, it is not as good as NSGA-II. The above results show that NSGA-II-NL and NSGA-II-L can better obtain the wide distribution of the entire solution set in the target space, and therefore can provide decision-makers with a more complete and extensive solution space.
To better display the discrete distribution of the calculation results of each algorithm, we use the form of box plots for display. We selected twelve representative calculation instances (1A, 3A, 5A, 7A, 9A, 11A, 1B, 3B, 5B, 7B, 9B, 11B); each calculation example was independently run thirty times under each algorithm, and the data from those thirty runs are displayed in the form of box plots, as shown in Figure 13.
The upper line of the box is the upper 1/4 median Q 1 , the middle line of the box is the median Q 2 , the lower line of the box is the lower 1/4 median Q 3 , and the top and bottom short lines represent the largest observations. For the observation of the box plot, first, the value of the box must be within the convergence range to indicate that the individual has converged. Second, smaller box lengths are better, and mean that the individuals are more concentrated, leading to relatively more stable algorithm performance. In addition, the distribution of individuals can be seen from the position of the median line. Finally, the number of extremely discrete individuals is as small as possible.
It can be seen from Figure 13 that NSGA-III can produce the most promising non-dominated solution. The individuals in the solution are relatively concentrated, the algorithm’s performance is stable, the convergence is good, and the robustness is strong.
In order to more intuitively describe the distribution of the solution in the high-dimensional objective space, Figure 14 and Figure 15 use parallel coordinates to plot the non-dominated solutions generated by the different algorithms used in the two calculation examples (1A and 24B). For each algorithm and instance, we collected the non-dominated solutions (30 × 100 = 3000 solutions in total) generated by thirty independent runs and removed the dominated solutions. As the value of each objective function is not in the same dimension, the value of each dimension of the solution space is normalized, and the value in the figure is the normalized result. Figure 14 is the result of calculation example 1A, and Figure 15 is the result of calculation example 24B. It can be seen from the results that NSGA-III-L and NSGA-III-NL show the most vital convergence, especially in the face of complex situations (instance 24B), and result in better non-dominated solution sets. Although NSGA-II is not as convergent as NSGA-III when dealing with many-objective problems, it can provide a clear compromise solution. When RWGA deals with multi-objective problems, finding a convergent compromise solution is difficult. The results in Figure 14 and Figure 15 are consistent with the results in Table 9, Table 10 and Table 11. When dealing with many-objective problems, the NSGA-III and NSGA-II methods can cover the objective space more completely and consistently than RWGA, and provide clearer compromise solutions for decision-makers to choose from.
In summary, considering the different evaluation indexes of the algorithm’s distribution, convergence, and versatility, it is impossible to find an algorithm that performs perfectly under every index. Although the comprehensive performance of NSGA-III is more outstanding in multiple calculation examples, it is not the only perfect algorithm. The results show that our proposed variant based on NSGA-III can provide decision-makers with excellent and satisfying diverse non-dominated solutions, especially when dealing with high-dimensional multi-objective container stowage planning problems. This algorithm can achieve a better compromise between convergence and diversity. In practice, therefore, we recommend using NSGA-III-L.

6. Conclusions

As the container stowage plan often represents the major bottleneck in container transportation, effective methods to solve the problem of container stowage planning can ensure safety and improve economic benefits. Our study simultaneously considers ship stability and the number of container shifts and proposes an MaO-CSPP with six objective dimensions. This study mainly involves two categories, namely, ship stability and the number of shifts, and contains six specific objectives. To solve this problem, we added local search and neighborhood operators based on NSGA-III and designed a variant of NSGA-III. These variants can provide decision-makers with better non-dominated solutions. To evaluate the performance and effectiveness of the algorithm, we generated 48 calculation examples based on the EDI files of actual production and operation. We carried out extensive experiments on each algorithm. The experimental results verify the effectiveness of the algorithm. Compared with other algorithms, we found that the comprehensive performance of the algorithm is more prominent and that good results can be achieved in more calculation examples. Therefore, this algorithm is the most suitable for handling MaO-CSPPs.
The research in the present study mainly involves the coordinated optimization of ship bay stowage and container yard retrieval. In further research combining the coordinated optimization of yard pre-marshalling and crane schedules can allow more realistic problems to be solved. In addition, this research on many-objective visualization provides decision-makers with a more intuitive form in which to display result, allowing them to quickly choose among many compromise solutions according to different needs and based on different preferences.

Author Contributions

The idea for this research work was proposed by Y.W. and G.S. achieved the MATLAB code, and the writing and the data analysis were completed by Y.W. and K.H. completed the proofreading and instance setting. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Fundamental Research Funds for the Central Universities, grant number 3132020134, 3132020139, and 3132021125.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

This study did not report any data.

Acknowledgments

Thanks to Li Jiagen, the second officer of COSCO, for providing the EDI documents used for the experiments. The authors thank the anonymous referees for their helpful comments.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Lee, C.Y.; Song, D.P. Ocean container transport in global supply chains: Overview and research opportunities. Transp. Res. B Ethodol. 2017, 95, 442–474. [Google Scholar] [CrossRef]
  2. Hsu, H.-P.; Chiang, T.-L.; Wang, C.-N.; Fu, H.-P.; Chou, C.-C. A Hybrid GA with Variable Quay Crane Assignment for Solving Berth Allocation Problem and Quay Crane Assignment Problem Simultaneously. Sustainability 2019, 11, 2018. [Google Scholar] [CrossRef] [Green Version]
  3. Parreño, F.; Pacino, D.; Alvarez-Valdes, R. A GRASP algorithm for the container stowage slot planning problem. Transp. Res. E Logistics Transp. Rev. 2016, 94, 141–157. [Google Scholar] [CrossRef] [Green Version]
  4. Zhang, W.Y.; Lin, Y.; Ji, Z.S.; Zhang, G.F. Review of containership stowage plans for full routes. J. Mar. Sci. Appl. 2008, 7, 4. [Google Scholar] [CrossRef]
  5. Héctor, J.C.; Vis, I.F.A.; Roodbergen, K.J. Storage yard operations in container terminals: Literature overview, trends, and research directions. Eur. J. Oper. Res. 2014, 235, 2. [Google Scholar] [CrossRef]
  6. Bilican, M.S.; Evren, R.; Karatas, M. A Mathematical Model and Two-Stage Heuristic for the Container Stowage Planning Problem with Stability Parameters. IEEE Access 2020, 8, 113392–113413. [Google Scholar] [CrossRef]
  7. Low, M.Y.H.; Zeng, M.; Hsu, W.J.; Huang, S.Y.; Liu, F.; Win, C.A. Improving Safety and Stability of Large Containerships in Automated Stowage Planning. IEEE Syst. J. 2011, 5, 50–60. [Google Scholar] [CrossRef]
  8. Imai, A.; Sasaki, K.; Nishimura, E. Multi-objective simultaneous stowage and load planning for a containership with container rehandle in yard stacks. Eur. J. Oper. Res. 2006, 171, 373–389. [Google Scholar] [CrossRef] [Green Version]
  9. Lk, A.; Mj, A.; Zg, A. Joint optimization of container slot planning and truck scheduling for tandem quay cranes—ScienceDirect. Eur. J. Oper. Res. 2020, 293, 149–166. [Google Scholar] [CrossRef]
  10. Gimenez-Palacios, I.; Alonso, M.T.; Alvarez-Valdes, R. Logistic constraints in container loading problems: The impact of complete shipment conditions. TOP 2020, 29, 177–203. [Google Scholar] [CrossRef]
  11. Du, G.; Sun, C.; Weng, J. Liner Shipping Fleet Deployment with Sustainable Collaborative Transportation. Sustainability 2016, 8, 165. [Google Scholar] [CrossRef] [Green Version]
  12. Sheng, L.; Shang, X.; Cheng, C. Heuristic algorithm for the container loading problem with multiple constraints. Comput. Ind. Eng. 2017, 108, 149–164. [Google Scholar] [CrossRef]
  13. Subramanian, S.; Sankaralingam, C.; Elavarasan, R.M.; Vijayaraghavan, R.R.; Raju, K.; Mihet-Popa, L. An Evaluation on Wind Energy Potential Using Multi-Objective Optimization Based Non-Dominated Sorting Genetic Algorithm III. Sustainability 2021, 13, 410. [Google Scholar] [CrossRef]
  14. Hu, S.; Wu, X.; Liu, H.; Wang, Y.; Li, R.; Yin, M. Multi-Objective Neighborhood Search Algorithm Based on Decomposition for Multi-Objective Minimum Weighted Vertex Cover Problem. Sustainability 2019, 11, 3634. [Google Scholar] [CrossRef] [Green Version]
  15. Avriel, M.; Penn, M.; Shpirer, N. Container ship stowage problem: Complexity and connection to the coloring of circle graphs. Discret. Appl. Math. 2000, 103, 271–279. [Google Scholar] [CrossRef] [Green Version]
  16. Webster, W.C.; Van Dyke, P. Container loading: A Container Allocation Model I and II: Introduction, Background, Strategy, Conclusion. In Proceedings of the Computer-Aided Ship Design Engineering Summer Conference, Detroit, MI, USA, 1970. [Google Scholar]
  17. Shields, J.J. A computer aided preplanning system. Marine Technol. 1984, 21, 370–383. [Google Scholar]
  18. Avriel, M.; Penn, M.; Shpirer, N. Stowage planning for container ships to reduce the number of shifts. Ann. Oper. Res. 1998, 76, 55–71. [Google Scholar] [CrossRef]
  19. Ambrosino, D.; Sciomachen, A. A constraint satisfaction approach for master bay plans. WIT Trans. Built Environ. 1998, 39, 175–184. [Google Scholar]
  20. Ambrosino, D.; Sciomachen, A.; Tanfani, E. Stowing a containership: The master bay plan problem. Transp. Res. Part A Policy Pract. 2003, 38, 81–99. [Google Scholar] [CrossRef]
  21. Ambrosino, D.; Sciomachen, A.; Tanfani, E. A decomposition heuristics for the container ship stowage problem. J. Heuristics 2006, 12, 211–233. [Google Scholar] [CrossRef]
  22. Ambrosino, D.; Anghinolfi, D.; Paolucci, M. A new three-step heuristic for the Master Bay Plan Problem. Marit. Econ. Logist. 2009, 11, 98–120. [Google Scholar] [CrossRef]
  23. Ambrosino, D.; Anghinolfi, D.; Paolucci, M. An Experimental Comparison of Different Heuristics for the Master Bay Plan Problem. In Experimental Algorithms, Proceedings of the International Conference on Experimental Algorithms, Naples, Italy, 20–22 May 2010; Springer: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
  24. Imai, A.; Sasaki, K.; Nishimura, E.; Papadimitriou, S. The containership loading problem. Int. J. Marit. Econ. 2002, 4, 126–148. [Google Scholar] [CrossRef]
  25. Li, F.; Tian, C.; Cao, R.; Ding, W. An integer linear programming for container stowage problem. In Computational Science—ICCS 2008; Springer: Berlin, Germany, 2008; pp. 853–862. [Google Scholar]
  26. Cruz-Reyes, L.; Hernández, P.; Melin, P. Constructive algorithm for a benchmark in ship stowage planning. In Recent Advances on Hybrid Intelligent Systems; Springer: Berlin, Germany, 2013; pp. 393–408. [Google Scholar]
  27. Petering, M.E.H.; Hussein, M.I. A new mixed integer program and extended look-ahead heuristic algorithm for the block relocation problem. Eur. J. Oper. Res. 2013, 231, 120–130. [Google Scholar] [CrossRef]
  28. Wang, N.; Zhang, Z.; Lim, A. The stowage stack minimization problem with zero rehandle constraint. In Modern Advances in Applied Intelligence, Proceedings of the International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, Kaohsiung, Taiwan, 3–6 June 2014; Springer: Cham, Switzerland; pp. 456–465.
  29. Fan, L.; Yoke, M.; Low, H.; Ying, H.S.; Jing, H.W.; Min, Z.; Aye, W.C. Stowage planning of large containership with tradeoff between crane workload balance and ship stability. In Proceedings of the World Congress on Engineering 2012, London, UK, 4–6 July 2012; pp. 1537–1543. [Google Scholar]
  30. Delgado, A.; Jensen, R.M.; Janstrup, K. A Constraint Programming model for fast optimal stowage of container vessel bays. Eur. J. Oper. Res. 2012, 220, 251–261. [Google Scholar] [CrossRef]
  31. Monaco, M.F.; Sammarra, M.; Sorrentino, G. The Terminal-Oriented Ship Stowage Planning Problem. Eur. J. Oper. Res. 2014, 239, 256–265. [Google Scholar] [CrossRef]
  32. Wilson, I.D.; Roach, P.A. Container stowage planning: A methodology for generating computerised solutions. J. Oper. Res. Soc. 2000, 51, 1248–1255. [Google Scholar] [CrossRef]
  33. Kang, J.G.; Kim, Y.D. Stowage planning in maritime container transportation. Oper. Res. Soc. 2002, 53, 415–426. [Google Scholar] [CrossRef]
  34. Ambrosino, D.; Paolucci, M.; Sciomachen, A. Experimental evaluation of mixed integer programming models for the multi-port master bay plan problem. Flex. Serv. Manuf. J. 2015, 27, 263–284. [Google Scholar] [CrossRef]
  35. Ambrosino, D.; Paolucci, M.; Sciomachen, A. Computational evaluation of a MIP model for multi-port stowage planning problems. Soft Comput. 2017, 21, 1753–1763. [Google Scholar] [CrossRef]
  36. Ambrosino, D.; Sciomachen, A. A shipping line stowage-planning procedure in the presence of hazardous containers. Marit. Econ. Logist. 2018, 23, 49–70. [Google Scholar] [CrossRef]
  37. Pacino, D.; Delgado, A.; Jensen, R.M.; Bebbington, T. Fast generation of near-optimal plans for eco-efficient stowage of large container vessels. In Computational Logistics; Springer: Berlin, Germany, 2011; pp. 286–301. [Google Scholar]
  38. Iris, Ç.; Christensen, J.; Pacino, D. Flexible ship loading problem with transfer vehicle assignment and scheduling. Transp. Res. Part B Methodol. 2018, 111, 113–134. [Google Scholar] [CrossRef] [Green Version]
  39. Gumus, M.; Kaminsky, P.; Tiemroth, E.; Ayik, M. A multi-stage decomposition heuristic for the container stowage problem. In Proceedings of the 2008 MSOM Conference, Haifa, Israel, 27–29 June 2008. [Google Scholar]
  40. Zhang, W.Y.; Lin, Y.; Ji, Z.S. Model and algorithm for container ship stowage planning based on bin-packing problem. J. Mar. Sci. Appl. 2005, 4, 30–36. [Google Scholar] [CrossRef]
  41. Azevedo, A.T.; de Salles Neto, L.L.; Chaves, A.A.; Moretti, A.C. Solving the 3D stowage planning problem integrated with the quay crane scheduling problem by representation by rules and genetic algorithm. Appl. Soft Comput. 2018, 65, 495–516. [Google Scholar] [CrossRef]
  42. Christensen, J.; Erera, A.; Pacino, D. A rolling horizon heuristic for the stochastic cargo mix problem. Transp. Res. Part E Logist. Transp. Rev. 2019, 123, 200–220. [Google Scholar] [CrossRef]
  43. Yaagoubi, A.E.; Alaoui Hilali, A.; Boukachour, J. A Heuristic Approach for Solving Container-on-Barge Stowage Planning Problem Based on Bin-Packing First-Fit Algorithm. In Proceedings of the 2020 5th International Conference on Logistics Operations Management (GOL), Rabat, Morocco, 28–30 October 2020; pp. 1–6. [Google Scholar]
  44. Li, J.; Zhang, Y.; Ji, S. Multi-stage hierarchical decomposition approach for stowage planning problem in inland container liner shipping. J. Oper. Res. Soc. 2020, 71, 381–399. [Google Scholar] [CrossRef]
  45. Iris, C.; Pacino, D. A survey on the ship loading problem. In Computational Logistics, Proceedings of the International Conference on Computational Logistics, Enschede, The Netherlands, 28–30 September 2020; Springer: Cham, Switzerland, 2015; pp. 238–251. [Google Scholar]
  46. Ding, D.; Chou, M.C. Stowage planning for container ships: A heuristic algorithm to reduce the number of shifts. Eur. J. Oper. Res. 2015, 246, 242–249. [Google Scholar] [CrossRef]
  47. Dubrovsky, O.; Levitin, G.; Penn, M. A Genetic Algorithm with a Compact Solution Encoding for the Container Ship Stowage Problem. J. Heuristics 2002, 8, 585–599. [Google Scholar] [CrossRef]
  48. JIN, Z.H.; LAN, H.; GUO, B.B. Optimization and visualization of the container loading problem with realistic constraints. Comput. Eng. Appl. 2012, 48, 236–243. [Google Scholar]
  49. Sciomachen, A.; Tanfani, E. The master bay plan problem: A solution method based on its connection to the three-dimensional bin packing problem. Ima J. Manag. Math. 2003, 14, 251–269. [Google Scholar] [CrossRef]
  50. Parreño-Torres, C.; Alvarez-Valdes, R.; Parreño, F. Solution Strategies for a Multiport Container Ship Stowage Problem. Math. Probl. Eng. 2019, 2019, 9029267. [Google Scholar] [CrossRef]
  51. Araújo, E.J.; Chaves, A.A.; Salles Neto, L.L.; Azevedo, A.T. Pareto clustering search applied for 3D container ship loading plan problem. Expert Syst. Appl. 2016, 44, 50–57. [Google Scholar] [CrossRef]
  52. Zhang, Z.; Lee, C.Y. Multiobjective Approaches for the Ship Stowage Planning Problem Considering Ship Stability and Container Rehandles. IEEE Trans. Syst. Man Cybern. Syst. 2016, 46, 1374–1389. [Google Scholar] [CrossRef]
  53. Wilson, I.D.; Roach, P.A. Principles of combinatorial optimization applied to container-ship stowage planning. Heuristics 1999, 5, 403–418. [Google Scholar] [CrossRef]
  54. Yurtseven, M.E.; Turan, B.O.; Papadopoulos, N. Optimization of container stowage using simulated annealing and genetic algorithms. In Proceedings of the17th International Congress of the International Maritime Association of the Mediterranean (IMAM 2017), Lisbon, Portugal, 9–11 October 2017; pp. 881–886. [Google Scholar]
  55. Junqueira, C.; Quiones, M.P.; Azevedo, A.D. An Integrated Optimization Model for the Multi-Port Stowage Planning and the Container Relocation Problems. arXiv preprint 2020, arXiv:2006.06795. [Google Scholar]
  56. Ji, M.; Kong, L.; Guan, Y. Integrated optimization of feeder routing and stowage planning for containerships. Soft Comput. 2021, 25, 4465–4487. [Google Scholar] [CrossRef]
  57. Liu, F.; Low, Y.H.; Wen, J.H. Randomized Algorithm with Tabu Search for Multi-Objective Optimization of Large Containership Stowage Plans. In Computational Logistics, Proceedings of the International Conference on Computational Logistics, Hamburg, Germany, 19–22 September 2011; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
  58. Barrass, B. Ship Stability: Notes and Examples; Elsevier: Amsterdam, The Netherlands, 2000. [Google Scholar]
  59. Semenov-Ti͡a︡n-Shanskiĭ, V. Statics and Dynamics of the Ship: Theory of Buoyancy, Stability and Launching; Peace Publishers: Honolulu, HI, USA, 1960. [Google Scholar]
  60. Islam, H.; Soares, C.G. Effect of trim on container ship resistance at different ship speeds and drafts. Ocean. Eng. 2019, 183, 106–115. [Google Scholar] [CrossRef]
  61. Zheng, H.; Hu, Q.; Yang, C.; Chen, J.; Mei, Q. Transmission Path Tracking of Maritime COVID-19 Pandemic via Ship Sailing Pattern Mining. Sustainability 2021, 13, 1089. [Google Scholar] [CrossRef]
  62. Tanaka, S.; Tierney, K. Solving real-world sized container pre-marshalling problems with an iterative deepening branch-and-bound algorithm. Eur. J. Oper. Res. 2018, 264, 165–180. [Google Scholar] [CrossRef]
  63. Zhu, W.; Qin, H.; Lim, A. Iterative Deepening A* Algorithms for the Container Relocation Problem. IEEE Trans. Autom. Sci. Eng. 2012, 9, 710–722. [Google Scholar] [CrossRef]
  64. Deb, K.; Jain, H. An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems with Box Constraints. IEEE Trans. Evol. Comput. 2014, 18, 577–601. [Google Scholar] [CrossRef]
  65. Deb, K.; Pratap, A.; Agarwal, S. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 2002, 6, 182–197. [Google Scholar] [CrossRef] [Green Version]
  66. Moscato, P.; Cotta, C. A Gentle Introduction to Memetic Algorithms; Springer: Boston, MA, USA, 2010; Volume 164, pp. 141–183. [Google Scholar]
  67. Caserta, M.; Voss, S.; Sniedovich, M. Applying the corridor method to a blocks relocation problem. OR Spectr. 2011, 33, 915–929. [Google Scholar] [CrossRef]
  68. Ishibuchi, H.; Yoshida, T.; Murata, T. Balance between genetic search and local search in memetic algorithms for multiobjective permutation flowshop scheduling. IEEE Trans. Evol. Comput. 2003, 7, 204–223. [Google Scholar] [CrossRef] [Green Version]
  69. Zitzler, E.; Deb, K.; Thiele, L. Comparison of multiobjective evolutionary algorithms: Empirical results. Evol. Comput. 2000, 8, 173–195. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  70. Das, I.; Dennis, J.E. Normal-Boundary Intersection: A New Method for Generating the Pareto Surface in Nonlinear Multicriteria Optimization Problems. Siam J. Optim. 1996, 8, 631–657. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Ship stability factors.
Figure 1. Ship stability factors.
Jmse 10 00517 g001
Figure 2. Example of container relocation in the yard.
Figure 2. Example of container relocation in the yard.
Jmse 10 00517 g002
Figure 3. Example of voluntary container shifts.
Figure 3. Example of voluntary container shifts.
Jmse 10 00517 g003
Figure 4. Example of necessary container shifts.
Figure 4. Example of necessary container shifts.
Jmse 10 00517 g004
Figure 5. Schematic diagram of chromosome coding.
Figure 5. Schematic diagram of chromosome coding.
Jmse 10 00517 g005
Figure 6. Flow chart of the CSPP.
Figure 6. Flow chart of the CSPP.
Jmse 10 00517 g006
Figure 7. Container storage layout of a bay in the yard.
Figure 7. Container storage layout of a bay in the yard.
Jmse 10 00517 g007
Figure 8. Illegal code generated by sequence code crossing.
Figure 8. Illegal code generated by sequence code crossing.
Jmse 10 00517 g008
Figure 9. Schematic diagram of PMX operation.
Figure 9. Schematic diagram of PMX operation.
Jmse 10 00517 g009
Figure 10. Stack overflow solution strategy.
Figure 10. Stack overflow solution strategy.
Jmse 10 00517 g010
Figure 11. Examples of the “demarcation line”.
Figure 11. Examples of the “demarcation line”.
Jmse 10 00517 g011
Figure 12. Ship coordinate system.
Figure 12. Ship coordinate system.
Jmse 10 00517 g012
Figure 13. IDG box plot comparison: (a) NSGA-III-L; (b) NSGA-III-NL; (c) NSGA-II-L; (d) NSGA-II-NL; (e) RWGA-L; (f) RWGA-NL.
Figure 13. IDG box plot comparison: (a) NSGA-III-L; (b) NSGA-III-NL; (c) NSGA-II-L; (d) NSGA-II-NL; (e) RWGA-L; (f) RWGA-NL.
Jmse 10 00517 g013aJmse 10 00517 g013b
Figure 14. Parallel coordinates plot of instance 1A: (a) NSGA-III-L; (b) NSGA-III-NL; (c) NSGA-II-L; (d) NSGA-II-NL; (e) RWGA-L; (f) RWGA-NL.
Figure 14. Parallel coordinates plot of instance 1A: (a) NSGA-III-L; (b) NSGA-III-NL; (c) NSGA-II-L; (d) NSGA-II-NL; (e) RWGA-L; (f) RWGA-NL.
Jmse 10 00517 g014aJmse 10 00517 g014b
Figure 15. Parallel coordinates plot of instance 24B: (a) NSGA-III-L; (b) NSGA-III-NL; (c) NSGA-II-L; (d) NSGA-II-NL; (e) RWGA-L; (f) RWGA-NL.
Figure 15. Parallel coordinates plot of instance 24B: (a) NSGA-III-L; (b) NSGA-III-NL; (c) NSGA-II-L; (d) NSGA-II-NL; (e) RWGA-L; (f) RWGA-NL.
Jmse 10 00517 g015aJmse 10 00517 g015b
Table 1. Types of containership stowage plans for full routes.
Table 1. Types of containership stowage plans for full routes.
TypesMetro LoopCycloidHybrid
Sketch Jmse 10 00517 i001 Jmse 10 00517 i002 Jmse 10 00517 i003
Cargo Flow Jmse 10 00517 i004 Jmse 10 00517 i005 Jmse 10 00517 i006
Table 2. The specific meaning of the six objective functions of the MaO-CSPP.
Table 2. The specific meaning of the six objective functions of the MaO-CSPP.
CategoryObjectiveRangeTarget
Stability ( f 1 )Initial metacenter height ( f 11 ) [ 0 ,   + ) max f 11 ( X )
Heel angle ( f 12 ) ( ,   + ) min | f 12 ( X ) |
Trim value ( f 13 ) ( ,   + ) min | f 13 ( X ) |
Shifting ( f 2 )relocation in the yard by yard cranes ( f 21 ) [ 0 ,   + ) min f 21 ( X )
container voluntary shifts by quay cranes ( f 22 ) [ 0 ,   + ) min f 22 ( X )
container necessary shifts at future ports ( f 23 ) [ 0 ,   + ) min f 23 ( X )
Table 3. Experimental example.
Table 3. Experimental example.
InstanceYARDSHIP
bYrYtYNYbSrStSNS
1A1B2452144520
2A2B4454684533
3A3B2483644838
4A4B4487984866
5A5B2854648541
6A6B48510988573
7A7B2887048873
8A8B488182888130
9A9B2452344524
10A10B4454184534
11A11B2483544829
12A12B44810184860
13A13B2856048547
14A14B4859988565
15A15B2887548869
16A16B488188888130
17A17B2452844516
18A18B4454084548
19A19B2484644837
20A20B44810084869
21A21B2855648541
22A22B4859788575
23A23B2886548862
24A24B488168888103
Table 4. Container ship slot location index.
Table 4. Container ship slot location index.
Slot   No .   ( b S , r S , t S ) Center   of   Gravity   ( x , y , z )
(1, 1, 1)(1.5, 0.5, 0.5)
(1, 2, 1)(1.5, −0.5, 0.5)
(1, 3, 1)(1.5, 1.0, 0.5)
(4, 4, 5)(−1.5, −1.5, 4.5)
Table 5. Parameter setting for algorithms.
Table 5. Parameter setting for algorithms.
ParametersValueFoundation
Population size N100Rule of thumb
Reference point number H126Equivalent to population size
Crossover probability Pc100%Experimentally obtained
Mutation probability Pm5%Experimentally obtained
Local search probability Pls20%Experimentally obtained
Local search iterations ls_ier100Rule of thumb
Tournament size τ10Rule of thumb
Termination principleLimit time is 3 minExperimentally obtained
Table 6. Parameter optimization of crossover probability and mutation probability.
Table 6. Parameter optimization of crossover probability and mutation probability.
Pm051020
Pc
00.02760.02730.03080.0503
500.02490.02300.02960.0479
800.02070.01890.03070.0512
1000.01980.01060.02840.0551
Table 7. The influence of different neighborhood operators on the NSGA-III.
Table 7. The influence of different neighborhood operators on the NSGA-III.
N1N2N3N1 + N2N1 + N3N2 + N3N1 + N2 + N3
0.03480.03050.03280.02790.02730.02460.0209
Table 8. Algorithms used in the comparative experiment.
Table 8. Algorithms used in the comparative experiment.
AbbreviationAlgorithmDecision-Making MethodsParameter Setting
NSGA-III-LNSGA-III with local searchPosteriorSame as Table 5.
NSGA-III-NLNSGA-III without local searchPosteriorSame as Table 5, but it does not include local search parameters.
NSGA-II-LNSGA-III with local searchPosteriorSame as Table 5, but it does not include reference point parameters.
NSGA-II-NLNSGA-II without local searchPosteriorSame as Table 5, but it does not include reference points and local search parameters.
RWGA-LRWGA with local searchPriorSame as Table 5, but it does not include reference point parameters.
RWGA-NLRWGA without local searchPriorSame as Table 5, but it does not include reference points and local search parameters.
Table 9. Experimental results of IGD.
Table 9. Experimental results of IGD.
InstanceNSGA-III-LNSGA-III-NLNSGA-II-LNSGA-II-NLRWGA-LRWGA-NL
1A0.02870.01700.05310.06660.10740.1293
2A0.01580.05340.04220.05020.14130.1341
3A0.09980.05920.12590.13940.24650.2827
4A0.10710.10440.13290.14170.24780.3082
5A0.04670.05200.07520.12150.17830.1895
6A0.06300.06150.11190.16080.18420.2643
7A0.08560.05760.11520.18300.19550.2368
8A0.08100.07290.10170.16010.20490.2588
9A0.06060.08680.07490.12140.15820.1736
10A0.05790.07330.08660.12840.24710.2711
11A0.10510.12220.14940.20090.25660.3077
12A0.10670.13520.17710.16990.24330.2941
13A0.03490.06260.15290.21380.24890.3691
14A0.07250.08510.14140.18910.25950.3060
15A0.15080.10980.25460.31360.37120.4004
16A0.16880.14500.25160.30700.33620.3910
17A0.08990.09970.14630.20940.26870.3085
18A0.09520.13000.19190.23100.26350.3261
19A0.11900.12540.21160.27010.31030.3718
20A0.14070.16400.26910.34090.37700.4419
21A0.07160.06830.16530.20930.25220.3165
22A0.06070.06510.20020.23930.30310.3453
23A0.09350.06400.14870.18970.23660.3165
24A0.10150.07840.18900.22280.26980.3886
Average0.08570.08720.14870.19080.24620.2972
1B0.03060.01950.05030.05760.24520.2858
2B0.00920.01220.05350.06660.17770.2320
3B0.15650.16580.22420.28290.37310.4177
4B0.10780.11710.18870.24840.30570.3390
5B0.04140.03290.10710.14600.25850.3535
6B0.07200.06470.10690.17000.25550.3285
7B0.08090.09160.13130.14430.27180.3618
8B0.09680.10720.15610.20920.31190.4070
9B0.05460.04610.11290.16730.27800.3665
10B0.08460.08420.13980.17950.27200.3322
11B0.10670.08890.16900.21340.31790.4394
12B0.11950.11120.17970.21380.35140.4213
13B0.06120.08140.18080.24990.37080.4430
14B0.06400.07680.21620.25900.36820.4277
15B0.16970.18660.23680.29120.36670.4250
16B0.15360.17510.22890.28790.38200.4315
17B0.09900.11600.18930.23720.32080.4764
18B0.10960.12920.19780.23610.35490.4847
19B0.17200.19220.26840.31540.40650.5108
20B0.14830.17340.18020.22000.32780.4397
21B0.09990.11190.15110.21100.25100.3519
22B0.08720.11020.18980.23750.29520.3921
23B0.13970.16460.18450.23120.27260.3772
24B0.14820.18510.21650.25400.30530.4671
Average0.10050.11020.16920.21370.31000.3963
Table 10. Experimental results of CS.
Table 10. Experimental results of CS.
InstanceNSGA-III-L/NSGA-II-LNSGA-III-L/RWGA-LNSGA-II-L/RWGA-L
C S ( P , P ) C S ( P , P ) C S ( P , P ) C S ( P , P ) C S ( P , P ) C S ( P , P )
1A0.00550.00860.20240.01680.01290.3528
2A0.11840.08060.19530.01060.00530.6876
3A0.84570.00140.54210.03530.36930.1820
4A0.74540.00090.36360.03510.18980.3810
5A0.44470.00050.33980.08550.17060.0114
6A0.44100.00020.19710.29700.18140.0162
7A0.92850.00000.29610.02430.00660.7916
8A0.93540.00020.30370.00540.00810.5881
9A0.94530.00040.25130.01610.00800.6791
10A0.95570.00060.47250.01480.00120.5036
11A0.95100.00070.37750.00630.00400.4112
12A0.95470.00030.46620.03360.02210.4146
13A0.90080.00070.30220.01250.01320.7542
14A0.89500.00160.34010.02390.12970.0307
15A0.91870.00150.35970.02020.00300.4894
16A0.93690.00100.39120.04050.00870.4266
17A0.97030.00020.25150.34000.00250.9035
18A0.95160.00100.14150.25040.00370.8372
19A0.91150.00040.20130.02150.00220.6931
20A0.93280.00110.15060.00910.00190.5981
21A0.92890.00040.31450.02050.00570.3948
22A0.91750.00210.32170.00630.00190.7926
23A0.91430.00180.45930.04590.00120.4867
24A0.93790.00110.24520.02030.01180.5894
Average0.80780.00450.31190.05800.04850.5006
1B0.93150.00090.02030.16350.00100.4136
2B0.90670.00120.09490.00890.00140.7476
3B0.82070.00110.88710.01420.00000.3765
4B0.72340.00060.66920.21170.00110.4380
5B0.62170.00050.53450.01760.00090.9457
6B0.75430.00020.15460.24710.00010.4231
7B0.88400.00000.19270.28510.00050.7905
8B0.96100.00030.19970.01160.00060.5886
9B0.94450.00040.20630.00200.00000.7278
10B0.97550.00040.04520.19090.00000.5441
11B0.95290.00050.18160.08670.00030.4537
12B0.94740.00040.17260.02080.00000.5152
13B0.90380.00060.19980.30110.00000.7571
14B0.93440.00090.07330.16820.00000.6884
15B0.91230.00120.02900.12710.00200.4891
16B0.94050.00070.02970.12980.00010.4713
17B0.97090.00020.02530.12390.00080.9040
18B0.96140.00040.20940.01450.00050.8446
19B0.90450.00040.16480.01140.00000.6908
20B0.95730.00050.17350.01170.00000.6064
21B0.92680.00050.27040.02540.00040.4498
22B0.93370.00120.20410.00610.00020.8011
23B0.94840.00120.26980.01850.00000.5480
24B0.97810.00070.02410.16450.00000.6497
Average0.90400.00060.20970.09840.00040.6194
Table 11. Experimental results of MS.
Table 11. Experimental results of MS.
InstanceNSGA-III-LNSGA-III-NLNSGA-II-LNSGA-II-NLRWGA-LRWGA-NL
1A0.54080.52380.99841.01230.74800.7299
2A0.47420.42260.78181.06210.84360.7917
3A0.85730.90511.01561.20580.37460.3264
4A0.90930.95131.05731.20560.44120.3902
5A0.78980.88951.06621.10140.26850.2143
6A0.68900.82750.97590.57850.42880.3746
7A0.89510.84901.05050.71120.39890.3486
8A0.89910.85361.02060.69970.28500.2444
9A0.93100.94931.09731.15540.22370.1794
10A0.95031.01571.11941.15090.24750.2493
11A0.99361.05901.14801.20020.69780.6164
12A0.96450.99261.14901.29140.39950.3419
13A0.85300.89431.13821.38260.13480.1251
14A0.87600.90531.12991.32780.12990.1208
15A1.11381.04501.10861.39410.33230.2949
16A1.04031.08321.16711.44720.47380.4126
17A0.90070.95731.17771.59910.50960.4484
18A0.89110.96461.14711.69200.51160.4607
19A0.94760.99921.15091.54090.36400.3161
20A0.84890.90801.12111.34020.37090.3145
21A1.15691.20781.29531.61150.50240.4486
22A1.06831.21391.31441.68290.36360.3153
23A1.48451.54181.58421.99610.17320.1245
24A1.10721.13431.23371.62540.35960.2968
Average0.92430.96221.12701.29230.39930.3536
1B0.60050.55681.05641.20160.67800.6481
2B0.52970.54251.07331.18030.79000.7923
3B0.90670.82251.00461.13760.30720.2252
4B0.96740.91011.11961.32780.39200.3405
5B0.88880.83201.15151.34340.23580.1614
6B0.78470.89491.14221.38950.37780.3305
7B0.98391.02911.15141.38080.36640.3028
8B1.07171.09621.15001.42200.22860.1704
9B1.03311.08441.08451.19810.17470.1229
10B1.03761.07881.12741.20480.29320.3050
11B1.14121.15711.20411.22150.74630.6895
12B0.93550.61921.24411.43330.44970.4001
13B0.93160.97991.18211.84390.17150.1371
14B0.92230.97461.21221.84810.18550.1302
15B1.25151.26361.25171.95330.38800.3421
16B1.06521.19361.27281.95060.51080.5118
17B1.00131.16341.30051.94850.56030.5124
18B0.99591.11951.19451.86030.48100.4206
19B0.95731.10591.26021.84620.30000.2687
20B0.95751.03831.25641.76520.40680.3602
21B1.24431.32561.61272.06040.59010.4937
22B1.19271.28181.66191.98490.39900.3647
23B1.61971.62251.70492.15140.23120.1833
24B1.21801.26981.60752.11390.44520.4070
Average1.00991.04011.25111.61530.40450.3592
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Wang, Y.; Shi, G.; Hirayama, K. Many-Objective Container Stowage Optimization Based on Improved NSGA-III. J. Mar. Sci. Eng. 2022, 10, 517. https://doi.org/10.3390/jmse10040517

AMA Style

Wang Y, Shi G, Hirayama K. Many-Objective Container Stowage Optimization Based on Improved NSGA-III. Journal of Marine Science and Engineering. 2022; 10(4):517. https://doi.org/10.3390/jmse10040517

Chicago/Turabian Style

Wang, Yuchuang, Guoyou Shi, and Katsutoshi Hirayama. 2022. "Many-Objective Container Stowage Optimization Based on Improved NSGA-III" Journal of Marine Science and Engineering 10, no. 4: 517. https://doi.org/10.3390/jmse10040517

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