# A Multilayer Genetic Algorithm for Automated Guided Vehicles and Dual Automated Yard Cranes Coordinated Scheduling

Authors: Qianru Zhao; Shouwen Ji; Wenpeng Zhao; Xinling De
Journal: Mathematical Problems in Engineering
 (2020)

---

## Abstract

At present, a lot of studies on automatic terminal scheduling are aimed at the shortest operating time. An effective way to reduce the operating time is to increase the amount of operating equipment. However, people often ignore the additional costs and energy consumption caused by increasing the amount of equipment. This paper comprehensively considers the two aspects of the equipment operation time and equipment quantity matching. With the minimum total energy consumption of the operating equipment as the objective function, a cooperative scheduling model of Automated Guided Vehicles (AGVs) and dual Automated Yard Cranes (AYCs) is established. In the modelling process, we also considered the interference problem between dual Automated Yard Cranes (AYCs). In order to solve this complex model, this paper designs an improved multilayer genetic algorithm. Finally, the calculation results from CPLEX and a multilayer genetic algorithm are compared, and the effectiveness of the model and algorithm is proved by experiments. In addition, at the same time, it is proved that it is necessary to consider the interference problem of dual Automated Yard Cranes (AYCs), and the optimal quantity matching scheme for the equipment and the optimal temporary storage location is given.


---

## Body

## 1. Introduction and Literature Review

With the deepening of economic globalization, the status of automated container terminals is becoming increasingly prominent. Reasonable scheduling of loading and unloading machinery and equipment has become the key to improving the efficiency of terminal operations. In addition, with the increasingly serious problem of climate change, low carbon and energy-saving have become urgent issues in container terminal production. The main operating equipment includes dual Automated Yard Cranes (AYCs), and Automated Guided Vehicles (AGVs) are also energy-intensive equipment in the automated container terminal. Sim [1] pointed out that the total carbon emissions of the container terminal were comprised of 37.34% from the container loading and unloading process, 1.04% from the container transportation process, and 9.92% from the container receiving and delivery process. Therefore, it is of great significance for container terminals to realize green and low-carbon development by jointly optimizing the configuration and scheduling of double AYCs and AGVs to reduce the energy consumption of terminal loading and unloading operations.Figure1 shows the operating system of an automated container terminal. Taking the unloading operation as an example, the containers are transported to the container yard by Automated Guided Vehicles (AGVs) from vessel. The dual Automated Yard Cranes (AYCs) are responsible for stocking and retrieving containers. The loading process is reversed.Figure 1
Automated container terminal layout.The dual AYCs often interfere with each other when completing their loading and unloading tasks. Therefore, the key point of this article is to solve the scheduling problems in the environment of double AYC interference: (1) AGV resource configuration; (2) the energy consumption of AGVs; (3) the operation path of AYCs; and (4) the energy consumption of AYCs.At present, a great deal of research has been done on the energy consumption of container terminal loading and unloading operations and the configuration and scheduling of AYCs and AGVs. He et al. [2] pointed out that the YC scheduling problem was firstly converted into a vehicle routing problem with soft time windows (VRPSTW). This problem was formulated as a mixed-integer programming (MIP) model, whose two objectives minimize the total completion delay of all task groups and the total energy consumption of all YCs. Liu and Ge [3] proposed a convex mathematical programming model for the QC assignment problem, in which the queuing theory is used to model the queuing behavior of automatic guided vehicles (AGVs). The objective of the proposed model was to minimize CO2 emission during an unloading process of containers from QCs to AGVs by optimizing the number of QCs. Huang Xiaobo et al. [4] considered three sources of carbon emissions during the moving process, the loading and unloading process, and the preparation process, based on the feature of RTGs that they cannot cross each other. A mathematical route programming model for RTGs is developed to minimize the carbon emissions. A path strategy for RTGs is designed to address the computational complexity of a mixed-integer programming model. A simulated annealing algorithm is applied to find the near-optimal solution. Xin et al. [5] provided a methodology for determining the trajectory of interacting machines that transport containers between the quayside area and the stacking area in an automated container terminal. Simulation studies illustrate that energy consumption of container handling can indeed be reduced by the proposed methodology. Yang et al. [6] proposed a mixed-integer programming (MIP) model for the integrated scheduling issue of AGVs and Rail-Mounted Gantry Cranes (RMGs) so as to minimize the makespan of unloading operations with the task allocation constraints of AGVs and RMGs. S. Hu and Z. Hu [7] considered the cooperative scheduling mechanisms among the three types of devices, a full freedom optimization problem for an integrated quay crane, yard crane, and yard truck is studied and a mixed-integer programming model is built. Via simulation, the sequencing and operating times of tasks with different combinations of quay cranes, yard cranes, and yard trucks are analysed. The study provides a basic model to coordinate the allocation and dispatch of critical operating resources in container terminals. Chang and Zhu [8] developed an integrated scheduling model to improve the coordination of different types of equipment in a container terminal. This model considers not only loading and unloading simultaneously but also the gantry crane interference and safety margin and the gantry crane and yard crane travel times. Moreover, the buffer area and congestion between inner trucks are also considered. Then, an improved multilayer genetic algorithm is proposed to solve the problem. Le and Bo [9] considered the synchronization between YCs and YTs. Based on this information, the constraints that exist in actual operations are first considered, such as the noncrossing constraint when several YCs share a bidirectional lane. There are other constraints, such as fixed YC separation distances and job-precedence constraints. A mathematical model is formulated to describe the problem, and the objective is to minimize the makespan.The interference in among multiple cranes is also widely studied. Liang et al. [10] used two operation modes, which are the relay mode and the mixed mode, to study the effects of different operation modes on the efficiency of dual-ARMG operations. Considering the relaying problem of the dual-ARMG task, the safety distance between the temporary buffer area and the dual-ARMG was set. Huang and Han [11] proposed a mixed-integer programming model for the collaborative scheduling problem of dual automatic stacking cranes (AYCs) with both of the operations (storage and retrieval) on a single container block of an automated container terminals. A genetic algorithm based on job sequence coding was designed and multiple sets of practical examples were solved by using CPLEX and a genetic algorithm and by considering the interference between dual AYCs. Zhan et al. [12] discussed the load scheduling problem of multiple yard cranes. A mathematical model, which considers the interference between adjacent yard cranes, is provided that use a time–space network to formulate the problem and a two-stage hybrid algorithm composed of a greedy algorithm and dynamic programming is developed to solve the proposed model. Liang et al. [13] studied the rail-mounted gantry cranes scheduling problem (RMGCSP) that considers the interference and safety distance between these cranes. A firefly algorithm (FA) is proposed. Park et al. [14] proposed heuristic-based and local-search-based real-time scheduling methods for dual rail-mounted gantry (RMG) cranes working in a block at an automated container terminal. Yang et al. [15] proposed a multiagent model to solve the problem in which moving the yard cranes is always hampered by each other.There is a great deal of research on the improvement of the algorithm when studying the scheduling problem. Gharehgozli et al. [16] studied an operational problem arising at a container terminal, consisting of scheduling a yard crane to carry out a set of container storage and retrieval requests in a single container block. The problem is modelled as a continuous-time integer programming model and the complexity is proven. They used the intrinsic properties of the problem to propose a two-phase solution method to optimally solve the problem. Lee et al. [17] proposed a novel approach that integrates these two problems as one. The objective is to minimize the weighted sum of the total delay of requests and the total travel time of yard trucks. Due to the intractability of the proposed problem, a hybrid insertion algorithm is designed to find effective problem solutions. Ng [18] examined the problem of scheduling multiple yard cranes to perform a given set of jobs with different ready times in a yard zone with only one bidirectional traveling lane. They developed a dynamic programming-based heuristic to solve the scheduling problem and an algorithm to find the lower bounds for benchmarking the schedules found by the heuristic. Li et al. [19] developed an efficient model for YC scheduling by taking into account realistic operational constraints such as intercrane interference, fixed YC separation distances, and simultaneous container storage/retrievals. They show how the model can be solved quickly using heuristics and a rolling-horizon algorithm, yielding close-to-optimal solutions in seconds. Ulrich and Schneider [20] described an approach for scheduling triple crossover stacking cranes in an automated container storage block with asynchronous handover at the transfer areas at both block front ends. Wang and Xiao [21] applied ant colony optimization for efficient crane scheduling and reducing some of the terminal costs. In 2011, they applied differential evolution optimization to achieve the same goal. Jin et al. [22] presented a scheduling model for the subsystem to minimize the overall operational time of a gantry crane. A hybrid algorithm called the NSGA based on the nearest neighbour strategy (NS) and genetic algorithm (GA) was developed. Chen et al. [23] proposed a mixed-integer programming model to minimize the total operating time and determined the crane movement and work status (moving or handling) by considering the time and space synchronization constraints of dual crane parallel operations. A genetic algorithm was developed to quickly solve the near-optimal solutions for large-scale problems. Pei and Chang [24] proposed a mixed-integer programming model to minimize the total operating time and the distance between dual ARMGs on the basis of considering the coordination of the ARMGs and the capacity of the seaside handover point. In view of the complexity of solving the problem, an innovative strategy was used that combines the genetic algorithm with simulation in which the simulation model is designed to optimize the problem, and a genetic algorithm was employed to optimize the initial generated solutions. Zeng et al. [25] developed a scheduling optimization model to consider the characteristics of no waiting, block and batch processing. The lower bound of the model was formulated and algorithms based on the taboo search and heuristics dispatching rule were designed. Feng et al. [26] developed an integrated optimization model of a handling and retrieving sequence for inbound containers to optimize the retrieving sequence yard crane assignment and handling scheme. To solve the model, a dynamic programming-based heuristic is designed.Compared with other literatures, the innovations of this paper are shown in Table1.Table 1
The innovations of this paper compared with other literatures.
CitationCollaborative operationInterference between the double AYCsAlgorithmConsiders energy consumption[6]YesNoGenetic algorithmNo[11]NoYesGenetic algorithmNo[7]YesNoSimulationNo[8]YesYesMultilayer genetic algorithmNo[27]YesNoGenetic algorithmYesHuang Xiaobo et al., 2016NoNoSimulated annealingYesalgorithmThis paperYesYesMultilayer genetic algorithmYesThe rest of this paper is organized as follows. In Section2, we describe the technical aspects of the problem and present the mathematical model. In Section 3, the solution method is developed. Section 4 presents the computational experiments, and Section 5 contains the conclusions.


## 2. Problem Description and Model

### 2.1. Problem Description

The automated yard crane used in this paper is a relay-type double-yard crane. Each block is equipped with two cranes, which are, respectively, recorded as AYC1 and AYC2. The two AYCs cooperate with each other to complete tasks. The specific process is shown in Figure 2. First, the AGV transports a container to the handover area of the yard from the vessel. Then, AYC1 unloads the container from the AGV and places it in the temporary storage area of the block. At the same time, AYC2 unloads the container in the temporary storage area and moves it to the designated position until all unloading tasks are completed.Figure 2
Handover flowchart.In addition to considering the cooperative scheduling problem of the AGVs and AYCs, the interference between the two AYCs should also be considered in this paper. In order to effectively solve the problem of coscheduling interference in dual AYC access blocks, the following task splitting rules are adopted. The temporary storage area is set in the block, and the yard is divided into two blocks. Each AYC can only operate in its own half-block, and the tasks across the half-blocks need to be completed by the double AYC using the relay area. The interference between the two AYCs only occurs in the relay area. The import blocks and export blocks designed in this paper are separated. There are only two situations in which interference may occur. Assume that the import container (the container is transported from vessels to yard by AGV) is represented byi and the export container (the container is transported from yard to vessels by AGV) is represented by j.These two situations include the following: (1) import containeri+1 is unloaded by AYC1 and import container i is loaded by AYC2, and the times of the two tasks are the same; (2) export container j+1 is unloaded by AYC2 and export container j is loaded by AYC1, and the times of the two tasks are the same. The interference process from the two AYCs is shown in Table 2.Table 2
The interference process from the two AYCs.
SituationsContainersOperationsAYCs①i+1UnloadingAYC1iLoadingAYC2②jLoadingAYC1j+1UnloadingAYC2In this paper, the cooperative scheduling of AGVs and dual AYCs is studied in two stages. In the first stage, AGV is configured according to the number and location of containers to be loaded and unloaded, and the initial scheduling scheme for AGV is obtained. In the second stage, the mutual interference in double AYCs is considered to obtain the walking track of double AYCs. And the initial scheduling scheme for AGV is adjusted to obtain the optimal scheduling scheme. It can realize the minimum energy consumption of AGVs and AYCs.


### 2.2. Mathematical Model

We make the following assumptions based on problems. (1) The AGVs can transport all containers (import containers and export containers) and the AGVs can serve any AYC. (2) In the process of import and export operations, the AYCs choose the container group with small turnovers and short empty driving times as the priority. (3) The dual AYCs work at the same rate and energy consumption. (4) All AGVs have the same performance such as driving speed and energy consumption. (5) Uncertain factors such as path conflict in AGV transportation are not considered.The first stage is to assign loading and unloading tasks to each AGV and arrange the sequence of operations, so as to ensure that the loading and unloading from each AYC1 is not delayed. The optimization goal is to minimize the total energy consumption of the AGV. Table 3 shows the relevant symbols.Table 3
The description of symbols.
SymbolDescriptioniThe number of import containersi=1,2,…,njThe number of export containersj=1,2,…,mvThe number of AGVsv=1,2,…,VkThe number of AYC1s in the import (export) container yard k=1,2,…,KTviThe moment when the AGVv unloads the container i in the import container handover areaTvjThe moment when the AGVv loads the container j in the export container handover areaETkiThe earliest moment when the AYCk unloads the container i from the AGV v in the import container handover areaLTkiThe latest moment when the AYCk unloads the container i from the AGV v in the import container handover areaETkjThe earliest moment when the AYCk loads the container j from the AGV v in the export container handover areaLTkjThe latest moment when the AYCk loads the container j from the AGV v in the export container handover areatkThe average time required for the AYCk to complete a container load/unload operationtviThe time for the AGVv to transport the import container i from the vessel to handover areatvjThe time for the AGVv to transport the export container j from the handover area to vesseltii′The time for the AGVv to transport empty to the next container i′ after delivery of the container itjj′The time for the AGVv to transport empty to the next container j′ after delivery of the container jtijThe time for the AGVv to transport empty to the container j after delivery of the container iwviThe waiting time of the AGVv for the AYC k to unload the container iwvjThe waiting time of the AGVv for the AYC k to load the container jC1The energy consumption for each AGV to transport containers per unit timeC2The energy consumption for each AGV to transport empty per unit timeC3Each AGV’s waiting energy consumption per unit time at the handover areaThe decision variables are as follows:xvi∈0,1, 1 if the container i is assigned AGV v, 0 otherwise.yvj∈0,1, 1 if the container j is assigned AGV v, 0 otherwise.zij∈0,1, 1 if the AGV v executes container j after container i, 0 otherwise.aii′∈0,1, 1 if the AGV v executes container i′ after container i, 0 otherwise.bjj′∈0,1, 1 if the AGV v executes container j′ after container j, 0 otherwise:(1)f1=minC1×∑v=1V∑i=1nxvitvi+∑v=1V∑j=1myvjtvj+C2×∑i=1n∑i′=1naii′tii′+∑j=1m∑j′=1mbjj′tjj′+∑i=1n∑j=1mzijtij+C3∑v=1V∑i=1nwvi+∑v=1V∑j=1mwvj.Equation (1) shows that the energy consumption of the AGV transportation process is minimized. It specifically refers to the minimization of the total energy consumption including the load and no-load energy consumption of the AGV and the waiting energy consumption of the AGV:(2)∑i=1nxvi=1,∀v∈V,(3)∑j=1myvj=1,∀v∈V.Equations (2) and (3) indicate that a container ij is transported by only one AGV v:(4)LTki=Tvi,ETki=Tvi−tk,∀k∈K,∀v∈V,i=1,2,…,n,(5)ETkj=Tvj,LTkj=Tvj+tk,∀k∈K,∀v∈V,j=1,2,…,m.Equations (4) and (5) represent the time window constraint that the AGV v should meet in the import (export) container handover area:(6)wvki=maxETki−Tvi−tvi,0,∀v∈V,∀k∈K,i=1,2,…,n,(7)wvkj=maxETki−Tvj,0,∀v∈V,∀k∈K,j=1,2,…,m.Equations (6) and (7) represent the waiting time of the AGV v in the import and export container handover area:(8)P=C1×∑v=1V∑i=1nxvitvi+∑v=1V∑j=1myvjtvj+C2×∑i=1n∑i′=1navii′tvii′+∑j=1m∑j′=1mbvjj′tvjj′+∑i=1n∑j=1mzvijtvijf1,(9)Tvi≥0,Tvj≥0,∀v∈V,i=1,2,…,n,j=1,2,…,m.Equation (8) represents the utilization rate of the AGV and equation (9) represents the value range of the parameters.In the second stage, AYC1 and AYC2 alternately complete the task of loading and unloading containers. Considering the interference constraints on the dual AYCs operation in the temporary storage area, the goal is to minimize the total energy consumption. Table 4 shows parameters and variables.Table 4
The parameters.
ParametersDescriptionbThe bay number of container yard∀b∈BBksiThe AYCs start the bay position of the containerii=1,2,…,nBkfiThe AYCs finish the bay position of the containerii=1,2,…,nBksjThe AYCs start the bay position of the containerjj=1,2,…,mBkfjThe AYCs finish the bay position of the containerjj=1,2,…,mTsiThe moment of the dual AYC starts to operate the import containeriTfiThe moment of the dual AYC finish the import containeriTsjThe moment of the dual AYC starts to operate the export containerjTfjThe moment of the dual AYC finish the export containerjtkiThe time for the dual AYCk to transport the import container itkjThe time for the dual AYCk to transport the export container jwkiThe waiting time of the dual AYCk for the AGV v to transport the container iwkjThe waiting time of the dual AYCk for the AGV v to transport the container jwkk′The time that AYC1 and AYC2 wait for each otherC4The energy consumption for each AYC to transport containers per unit timeC5The energy consumption for each AYC to load (unload) containers per unit timeC6Each AYC’s waiting energy consumption per unit timehA safe distance between the dual AYCsThe decision variables are as follows:xki∈0,1, 1 if the container i is assigned dual AYC k, 0 otherwise.ykj∈0,1, 1 if the container j is assigned dual AYC k, 0 otherwise.zkii′∈0,1, 1 if the container i is assigned dual AYC k after container i′, 0 otherwise.ukjj′∈0,1, 1 if the container j is assigned dual AYC k after container j′, 0 otherwise:(10)f2=minC4×∑k=1K∑i=1nxkitki+∑k=1K∑j=1mykjtkj+2C5×∑k=1K∑i=1nxkitk+∑k=1K∑j=1mykjtk+C6×∑k=1K∑i=1nwki+∑k=1K∑j=1mwkj+∑k=1K∑k′Kwkk′.Equation (10) shows that the energy consumption of the AYC operation process is minimized. It specifically refers to the minimization of the total energy consumption including the load and unload energy consumption of the AYC, the transportation energy consumption, and the waiting energy consumption of the AYC:(11)∑k=1Kxki=1,i=1,2,…,n,(12)∑k=1Kykj=1,j=1,2,…,m.Equations (11) and (12) indicate that each container can only be assigned to one dual AYC:(13)∑i′=1nzkii′−∑i′=1nzki′i=0,∀k∈K,i=1,2,…,n,(14)∑j′=1nukjj′−∑j′=1nukj′j=0,∀k∈K,j=1,2,…,m.Equations (13) and (14) indicate that there is a task in the front and at back of each container:(15)I=i,i′|∀i∈n,∀i′∈n,(16)J=j,j′|∀j∈m,∀j′∈m.Since each container needs to be operated alternately by AYC1 and AYC2, equations (15) and (16) mean that each container is split into a container pair:(17)Tsi+tki≤Tsi′,Bksi+h<Bksi′,∀i,i′∈I,∀k∈K,(18)Tfi+tki′≤Tfi′,Bkfi+h<Bkfi′,∀i,i′∈I,∀k∈K,(19)Tsj−tkj≥Tsj′,Bksj<Bksj′−h,∀j,j′∈J,∀k∈K,(20)Tfj−tkj≥Tfj′,Bkfj<Bkfj′−h,∀j,j′∈J,∀k∈K.Equations (17)–(20) represent the interference between the dual AYCs.


## 2.1. Problem Description

The automated yard crane used in this paper is a relay-type double-yard crane. Each block is equipped with two cranes, which are, respectively, recorded as AYC1 and AYC2. The two AYCs cooperate with each other to complete tasks. The specific process is shown in Figure 2. First, the AGV transports a container to the handover area of the yard from the vessel. Then, AYC1 unloads the container from the AGV and places it in the temporary storage area of the block. At the same time, AYC2 unloads the container in the temporary storage area and moves it to the designated position until all unloading tasks are completed.Figure 2
Handover flowchart.In addition to considering the cooperative scheduling problem of the AGVs and AYCs, the interference between the two AYCs should also be considered in this paper. In order to effectively solve the problem of coscheduling interference in dual AYC access blocks, the following task splitting rules are adopted. The temporary storage area is set in the block, and the yard is divided into two blocks. Each AYC can only operate in its own half-block, and the tasks across the half-blocks need to be completed by the double AYC using the relay area. The interference between the two AYCs only occurs in the relay area. The import blocks and export blocks designed in this paper are separated. There are only two situations in which interference may occur. Assume that the import container (the container is transported from vessels to yard by AGV) is represented byi and the export container (the container is transported from yard to vessels by AGV) is represented by j.These two situations include the following: (1) import containeri+1 is unloaded by AYC1 and import container i is loaded by AYC2, and the times of the two tasks are the same; (2) export container j+1 is unloaded by AYC2 and export container j is loaded by AYC1, and the times of the two tasks are the same. The interference process from the two AYCs is shown in Table 2.Table 2
The interference process from the two AYCs.
SituationsContainersOperationsAYCs①i+1UnloadingAYC1iLoadingAYC2②jLoadingAYC1j+1UnloadingAYC2In this paper, the cooperative scheduling of AGVs and dual AYCs is studied in two stages. In the first stage, AGV is configured according to the number and location of containers to be loaded and unloaded, and the initial scheduling scheme for AGV is obtained. In the second stage, the mutual interference in double AYCs is considered to obtain the walking track of double AYCs. And the initial scheduling scheme for AGV is adjusted to obtain the optimal scheduling scheme. It can realize the minimum energy consumption of AGVs and AYCs.


## 2.2. Mathematical Model

We make the following assumptions based on problems. (1) The AGVs can transport all containers (import containers and export containers) and the AGVs can serve any AYC. (2) In the process of import and export operations, the AYCs choose the container group with small turnovers and short empty driving times as the priority. (3) The dual AYCs work at the same rate and energy consumption. (4) All AGVs have the same performance such as driving speed and energy consumption. (5) Uncertain factors such as path conflict in AGV transportation are not considered.The first stage is to assign loading and unloading tasks to each AGV and arrange the sequence of operations, so as to ensure that the loading and unloading from each AYC1 is not delayed. The optimization goal is to minimize the total energy consumption of the AGV. Table 3 shows the relevant symbols.Table 3
The description of symbols.
SymbolDescriptioniThe number of import containersi=1,2,…,njThe number of export containersj=1,2,…,mvThe number of AGVsv=1,2,…,VkThe number of AYC1s in the import (export) container yard k=1,2,…,KTviThe moment when the AGVv unloads the container i in the import container handover areaTvjThe moment when the AGVv loads the container j in the export container handover areaETkiThe earliest moment when the AYCk unloads the container i from the AGV v in the import container handover areaLTkiThe latest moment when the AYCk unloads the container i from the AGV v in the import container handover areaETkjThe earliest moment when the AYCk loads the container j from the AGV v in the export container handover areaLTkjThe latest moment when the AYCk loads the container j from the AGV v in the export container handover areatkThe average time required for the AYCk to complete a container load/unload operationtviThe time for the AGVv to transport the import container i from the vessel to handover areatvjThe time for the AGVv to transport the export container j from the handover area to vesseltii′The time for the AGVv to transport empty to the next container i′ after delivery of the container itjj′The time for the AGVv to transport empty to the next container j′ after delivery of the container jtijThe time for the AGVv to transport empty to the container j after delivery of the container iwviThe waiting time of the AGVv for the AYC k to unload the container iwvjThe waiting time of the AGVv for the AYC k to load the container jC1The energy consumption for each AGV to transport containers per unit timeC2The energy consumption for each AGV to transport empty per unit timeC3Each AGV’s waiting energy consumption per unit time at the handover areaThe decision variables are as follows:xvi∈0,1, 1 if the container i is assigned AGV v, 0 otherwise.yvj∈0,1, 1 if the container j is assigned AGV v, 0 otherwise.zij∈0,1, 1 if the AGV v executes container j after container i, 0 otherwise.aii′∈0,1, 1 if the AGV v executes container i′ after container i, 0 otherwise.bjj′∈0,1, 1 if the AGV v executes container j′ after container j, 0 otherwise:(1)f1=minC1×∑v=1V∑i=1nxvitvi+∑v=1V∑j=1myvjtvj+C2×∑i=1n∑i′=1naii′tii′+∑j=1m∑j′=1mbjj′tjj′+∑i=1n∑j=1mzijtij+C3∑v=1V∑i=1nwvi+∑v=1V∑j=1mwvj.Equation (1) shows that the energy consumption of the AGV transportation process is minimized. It specifically refers to the minimization of the total energy consumption including the load and no-load energy consumption of the AGV and the waiting energy consumption of the AGV:(2)∑i=1nxvi=1,∀v∈V,(3)∑j=1myvj=1,∀v∈V.Equations (2) and (3) indicate that a container ij is transported by only one AGV v:(4)LTki=Tvi,ETki=Tvi−tk,∀k∈K,∀v∈V,i=1,2,…,n,(5)ETkj=Tvj,LTkj=Tvj+tk,∀k∈K,∀v∈V,j=1,2,…,m.Equations (4) and (5) represent the time window constraint that the AGV v should meet in the import (export) container handover area:(6)wvki=maxETki−Tvi−tvi,0,∀v∈V,∀k∈K,i=1,2,…,n,(7)wvkj=maxETki−Tvj,0,∀v∈V,∀k∈K,j=1,2,…,m.Equations (6) and (7) represent the waiting time of the AGV v in the import and export container handover area:(8)P=C1×∑v=1V∑i=1nxvitvi+∑v=1V∑j=1myvjtvj+C2×∑i=1n∑i′=1navii′tvii′+∑j=1m∑j′=1mbvjj′tvjj′+∑i=1n∑j=1mzvijtvijf1,(9)Tvi≥0,Tvj≥0,∀v∈V,i=1,2,…,n,j=1,2,…,m.Equation (8) represents the utilization rate of the AGV and equation (9) represents the value range of the parameters.In the second stage, AYC1 and AYC2 alternately complete the task of loading and unloading containers. Considering the interference constraints on the dual AYCs operation in the temporary storage area, the goal is to minimize the total energy consumption. Table 4 shows parameters and variables.Table 4
The parameters.
ParametersDescriptionbThe bay number of container yard∀b∈BBksiThe AYCs start the bay position of the containerii=1,2,…,nBkfiThe AYCs finish the bay position of the containerii=1,2,…,nBksjThe AYCs start the bay position of the containerjj=1,2,…,mBkfjThe AYCs finish the bay position of the containerjj=1,2,…,mTsiThe moment of the dual AYC starts to operate the import containeriTfiThe moment of the dual AYC finish the import containeriTsjThe moment of the dual AYC starts to operate the export containerjTfjThe moment of the dual AYC finish the export containerjtkiThe time for the dual AYCk to transport the import container itkjThe time for the dual AYCk to transport the export container jwkiThe waiting time of the dual AYCk for the AGV v to transport the container iwkjThe waiting time of the dual AYCk for the AGV v to transport the container jwkk′The time that AYC1 and AYC2 wait for each otherC4The energy consumption for each AYC to transport containers per unit timeC5The energy consumption for each AYC to load (unload) containers per unit timeC6Each AYC’s waiting energy consumption per unit timehA safe distance between the dual AYCsThe decision variables are as follows:xki∈0,1, 1 if the container i is assigned dual AYC k, 0 otherwise.ykj∈0,1, 1 if the container j is assigned dual AYC k, 0 otherwise.zkii′∈0,1, 1 if the container i is assigned dual AYC k after container i′, 0 otherwise.ukjj′∈0,1, 1 if the container j is assigned dual AYC k after container j′, 0 otherwise:(10)f2=minC4×∑k=1K∑i=1nxkitki+∑k=1K∑j=1mykjtkj+2C5×∑k=1K∑i=1nxkitk+∑k=1K∑j=1mykjtk+C6×∑k=1K∑i=1nwki+∑k=1K∑j=1mwkj+∑k=1K∑k′Kwkk′.Equation (10) shows that the energy consumption of the AYC operation process is minimized. It specifically refers to the minimization of the total energy consumption including the load and unload energy consumption of the AYC, the transportation energy consumption, and the waiting energy consumption of the AYC:(11)∑k=1Kxki=1,i=1,2,…,n,(12)∑k=1Kykj=1,j=1,2,…,m.Equations (11) and (12) indicate that each container can only be assigned to one dual AYC:(13)∑i′=1nzkii′−∑i′=1nzki′i=0,∀k∈K,i=1,2,…,n,(14)∑j′=1nukjj′−∑j′=1nukj′j=0,∀k∈K,j=1,2,…,m.Equations (13) and (14) indicate that there is a task in the front and at back of each container:(15)I=i,i′|∀i∈n,∀i′∈n,(16)J=j,j′|∀j∈m,∀j′∈m.Since each container needs to be operated alternately by AYC1 and AYC2, equations (15) and (16) mean that each container is split into a container pair:(17)Tsi+tki≤Tsi′,Bksi+h<Bksi′,∀i,i′∈I,∀k∈K,(18)Tfi+tki′≤Tfi′,Bkfi+h<Bkfi′,∀i,i′∈I,∀k∈K,(19)Tsj−tkj≥Tsj′,Bksj<Bksj′−h,∀j,j′∈J,∀k∈K,(20)Tfj−tkj≥Tfj′,Bkfj<Bkfj′−h,∀j,j′∈J,∀k∈K.Equations (17)–(20) represent the interference between the dual AYCs.


## 3. Solution Algorithms

According to the characteristics of the two-way cooperation model of the AGVs and the AYCs, and considering the interference constraint on the dual AYCs, a multilayer genetic hybrid algorithm is designed to solve the problem. The genetic algorithm used in this paper is divided into two layers. The first layer is used to determine the order for AGV transporting containers, and the second layer is used to determine the optimal AYCs completion order according to the order of the first layer. Therefore, the generation of chromosomes in the second layer is limited by the chromosomes in the first layer.


### 3.1. Encoding and Decoding

In order to deal with the cooperative scheduling problem of AGVs, AYC1 and AYC2, the multilayer chromosome and integer code methods are adopted. First, the import and export containers’ blocks of the automated containers yard are coded. Each gene is composed of several subgenes, and the import and export containers corresponded to subgenes. It is assumed that each container block comes equipped with dual AYCs. The number of AGVs is 5. Second, it is assumed that the initial number of tasks of each import container block is m and the initial number of tasks of each export container block is n. Import container tasks i and i+1 represent that the subtasks are split from the same initial task i, and i is the precedence task. Export container tasks j and j+1 represent that the subtasks are split from the same initial task j, and j is the precedence task. Suppose that the number of the tasks in the import container blocks is 10. According to the task splitting rules, 20 subtasks are obtained, which are jointly completed by AYC1 and AYC2. Figure 2 is the schematic diagram of the chromosome coding.The individual structure of the first layer represents an alternative solution of AGV operation sequence. Correspondingly, the individual structure of the second layer represents an alternative solution of AYC. The initial solution of the first layer individual is generated under the constraint of priority order, and the second layer individual is generated randomly under the constraint of the first layer individual. Take 5 AGVs, 1 dual AYC, and 10 container tasks as an example. As shown in Figure3, the first group is the code of containers (1–20). A container task was split into a pair (12, 34, 56, …). The second group is the first level individual. 0 is used to separate the operating sequence groups of different AGVs. The operation sequence of the first AGV is (1, 11), the second AGV is (3, 19), the third AGV is (5), the fourth AGV is (7, 13, 17), and the fifth AGV is (9, 15). The third group is the second layer individual. The assignment sequence of AYC1 is (1, 11, 3, 19, 5, 7, 13, 17, 9, 15), and the assignment sequence of AYC2 is (2, 12, 4, 20, 6, 8, 14, 18, 10, 16).Figure 3
The schematic diagram of chromosome coding.


### 3.2. Crossover and Mutation

The first level individuals adopted order crossover (OX). The order crossover is used as the crossover operator for the container chromosome (the first vector in a chromosome). Since the aforementioned initialization procedure and order crossover ensure that the first gene of each offspring is the first container of a route, we can determine the specified AGV for the first gene. After the crossover operation of the container chromosome, the AGV chromosome (the second vector in a chromosome) is determined by the following procedure. First, we randomly select a substring in the parent chromosome. The second step is to generate an offspring and ensure that the selected genes in the offspring are in the same positions as the parents. The third step is to find the positions of the genes selected in the first step in the other parent and then place the remaining genes into the offspring generated in the previous step in order. The order crossover is shown in Figure4.Figure 4
The order crossover operation.For the second level of individuals, the structure is more complicated because it is related to the structure of the first level. The ordinary order crossover method is not suitable for the first level individuals. The crossover method of the second level requires to merge two-parent generations to produce an offspring, as shown in Figure5.Figure 5
The crossover operation of the second level individuals.In addition, two genetic positions are randomly selected as crossing points in the two-parent chromosomes of the AYC segments, and the corresponding matching segments are exchanged to obtain the offspring chromosomes. The crossover process is shown in Figure6.Figure 6
The crossover operation of the AYCs.The main task of the mutation is to promote the diversity of population and avoid the GA’s premature convergence to local optimal solutions. In this paper, a swap mutationoperator is used for the container chromosome. The mutation method used in this article randomly selects two elements and then swaps their positions. The operation sequence of AGV aftermutation is (1, 11), (3, 17), (5), (7, 13, 19), (9, 15). The assignment sequence of AYC1 after mutation is (1, 11, 3, 17, 5, 7, 13, 19, 9, 15), and the assignment sequence of AYC2 after mutation is (2, 12, 4, 18, 6, 8, 14, 20, 10, 16). The mutation results of the first level are shown in Figure 7, and the mutation results of the second level are shown in Figure 8.Figure 7
The mutation results of the first level.Figure 8
The mutation results of the second level.


## 3.1. Encoding and Decoding

In order to deal with the cooperative scheduling problem of AGVs, AYC1 and AYC2, the multilayer chromosome and integer code methods are adopted. First, the import and export containers’ blocks of the automated containers yard are coded. Each gene is composed of several subgenes, and the import and export containers corresponded to subgenes. It is assumed that each container block comes equipped with dual AYCs. The number of AGVs is 5. Second, it is assumed that the initial number of tasks of each import container block is m and the initial number of tasks of each export container block is n. Import container tasks i and i+1 represent that the subtasks are split from the same initial task i, and i is the precedence task. Export container tasks j and j+1 represent that the subtasks are split from the same initial task j, and j is the precedence task. Suppose that the number of the tasks in the import container blocks is 10. According to the task splitting rules, 20 subtasks are obtained, which are jointly completed by AYC1 and AYC2. Figure 2 is the schematic diagram of the chromosome coding.The individual structure of the first layer represents an alternative solution of AGV operation sequence. Correspondingly, the individual structure of the second layer represents an alternative solution of AYC. The initial solution of the first layer individual is generated under the constraint of priority order, and the second layer individual is generated randomly under the constraint of the first layer individual. Take 5 AGVs, 1 dual AYC, and 10 container tasks as an example. As shown in Figure3, the first group is the code of containers (1–20). A container task was split into a pair (12, 34, 56, …). The second group is the first level individual. 0 is used to separate the operating sequence groups of different AGVs. The operation sequence of the first AGV is (1, 11), the second AGV is (3, 19), the third AGV is (5), the fourth AGV is (7, 13, 17), and the fifth AGV is (9, 15). The third group is the second layer individual. The assignment sequence of AYC1 is (1, 11, 3, 19, 5, 7, 13, 17, 9, 15), and the assignment sequence of AYC2 is (2, 12, 4, 20, 6, 8, 14, 18, 10, 16).Figure 3
The schematic diagram of chromosome coding.


## 3.2. Crossover and Mutation

The first level individuals adopted order crossover (OX). The order crossover is used as the crossover operator for the container chromosome (the first vector in a chromosome). Since the aforementioned initialization procedure and order crossover ensure that the first gene of each offspring is the first container of a route, we can determine the specified AGV for the first gene. After the crossover operation of the container chromosome, the AGV chromosome (the second vector in a chromosome) is determined by the following procedure. First, we randomly select a substring in the parent chromosome. The second step is to generate an offspring and ensure that the selected genes in the offspring are in the same positions as the parents. The third step is to find the positions of the genes selected in the first step in the other parent and then place the remaining genes into the offspring generated in the previous step in order. The order crossover is shown in Figure4.Figure 4
The order crossover operation.For the second level of individuals, the structure is more complicated because it is related to the structure of the first level. The ordinary order crossover method is not suitable for the first level individuals. The crossover method of the second level requires to merge two-parent generations to produce an offspring, as shown in Figure5.Figure 5
The crossover operation of the second level individuals.In addition, two genetic positions are randomly selected as crossing points in the two-parent chromosomes of the AYC segments, and the corresponding matching segments are exchanged to obtain the offspring chromosomes. The crossover process is shown in Figure6.Figure 6
The crossover operation of the AYCs.The main task of the mutation is to promote the diversity of population and avoid the GA’s premature convergence to local optimal solutions. In this paper, a swap mutationoperator is used for the container chromosome. The mutation method used in this article randomly selects two elements and then swaps their positions. The operation sequence of AGV aftermutation is (1, 11), (3, 17), (5), (7, 13, 19), (9, 15). The assignment sequence of AYC1 after mutation is (1, 11, 3, 17, 5, 7, 13, 19, 9, 15), and the assignment sequence of AYC2 after mutation is (2, 12, 4, 18, 6, 8, 14, 20, 10, 16). The mutation results of the first level are shown in Figure 7, and the mutation results of the second level are shown in Figure 8.Figure 7
The mutation results of the first level.Figure 8
The mutation results of the second level.


## 4. Computational Experiments

We take the Qingdao port automated container terminal as an example. It is assumed that there are four import container blocks and four export container blocks. The length of the container blocks is 20 bays, and the bay 0 is the handover area between the AGVs and the AYCs. The number of containers is 8–400. The number of AGVs is 4–20. Each container blocks is equipped with dual AYCs. Tables5 and 6 represent the basic parameters of the AGVs and the AYCs, respectively.Table 5
The basic parameters of the AGV.
The basic parametersNumerical valueThe overload speed (m∗ min−1)60The no-load speed (m∗ min−1)120The overload energy consumption (Kwh∗ (h ∗ vehicle)−1)21The no-load energy consumption (Kwh∗ (h∗ vehicle)−1)14The traveling time of the AGVs obeys a uniform distributionU (20 s, 90 s)Table 6
The basic parameters of the AYC.
The basic parametersNumerical valueThe overload lifting speed (m/min)70The no-load lifting speed (m/min)140The speed of trolley (m/min)160The overload speed of the AYCs (m/min)140The no-load speed of the AYCs (m/min)270The overload energy consumption of the AYCs (Kwh/(h∗ vehicle))30The no-load energy consumption of the AYCs (Kwh/(h∗ vehicle))15The time for handling containers of AYC1 (s)12The time for handling containers of AYC2 obeys a uniform distribution (s)U (40 s, 70 s)In order to make the experimental results have better convergence, this paper debugs the basic parameters of the genetic algorithm through many experiments and finally obtains the parameters shown in Table7.Table 7
The basic parameters of the multilayer genetic algorithm.
The basic parametersNumerical valueThe size of the first layer population50The size of the second layer population200The maximum number of iterations for the first layer200The maximum number of iterations for the second layer300The crossover probability of the first layer0.8The crossover probability of the second layer0.5The mutation probability of the first layer0.05The mutation probability of the second layer0.1At first, an example is given to illustrate the result of the algorithm. Figure9 is the distribution diagram of containers to be loaded and unloaded in a container block. The number of AGVs is 4, the number of dual AYCs is 1, and the number of containers is 10.Figure 9
The operating distribution diagram of containers.The results of multilayer genetic algorithm are as follows:The operating sequence of AGV1: 1-5-10.The operating sequence of AGV2: 3-6.The operating sequence of AGV3: 2-8-4.The operating sequence of AGV4: 7-9.The operating sequence of AYC1: 10-2-6-3-5-9-8-7-4-1.The operating sequence of AYC2: 2-10-3-6-9-5-8-1-7-4.In order to illustrate the importance of interference between dual AYCs, according to the above examples, the results are calculated without considering the interference.The operating sequence of AGV1: 3-6-10.The operating sequence of AGV2: 4-7-8.The operating sequence of AGV3: 1-5-9.The operating sequence of AGV4: 2.The operating sequence of AYC1: 3-6-10-4-7-1-4-5-2-9.The operating sequence of AYC2: 3-10-4-6-4-1-7-2-9-5.As shown in Figure10, it can be seen which bay of the dual AYCs at any time. The operation track of AYC1 and AYC2 intersects in Figure 10(b). It indicates that there is a crossover between dual AYCs, and it is also not allowed. This fully proves the importance of considering interference issues.Figure 10
(a) is the operation travel path of dual AYCs under the interference conditions, and (b) is the traveling path of dual AYCs without interference.
(a)(b)In addition, in order to verify the effectiveness of the algorithm, small-scale and large-scale examples are used to estimate the results. The number of containers for small-scale problems is 8–40. The CPLEX and GA are used to solve the problem. In order to reduce the random error in the GA solution, the average operation timeT− and the average optimal value C− are recorded. The difference in the optimal value DOV indicates the difference between the optimal value obtained by the GA and the optimal value obtained by CPLEX. The calculation results are shown in Table 8.Table 8
The comparison of performance results in CPLEX and genetic algorithms.
The serial numberThe number of containersCPLEXGADOV%T−sC−kwhT−sC−kwh183.343.674.563.772.6296.593.96.733.992.331010.254.9310.415.154.3415104.567.796.547.58−2.7520454.638.957.038.87−0.9625637.5310.127.839.81−3.2730800.2911.558.5212.433.4840384413.279.515.44.8950——4.1821.24—10100——9.9428.93—According to examples 1–3, when the number of containers is small, CPLEX can quickly calculate the results. However, as the number of containers increases, the solution time of CPLEX becomes increasingly longer, as shown in examples 6–8. When the number of containers reaches 50, CPLEX cannot obtain the optimal solution in an acceptable time, as shown in examples 9-10. As the number of containers increases, the solution time of the GA does not change dramatically and is almost stable within 4–10 s. There is little difference between the optimal solution obtained by the GA and the optimal solution obtained by CPLEX. The biggest difference is in example 8, which is only 4.8%. This shows that the GA is very effective at solving the dual scheduling problem.When the example size is large, it is difficult for CPLEX to obtain the optimal solution in an acceptable time. However, the GA has unique advantages in solving large-scale examples, and the results are shown in Table9.Table 9
The results of the experiments.
The serial numberN∗T−sCAGVkwhCAYCkwhC−kwh117/7/15014.3814.922.3337.23127/8/15012.8513.8423.2637.1137/7/20017.2715.5125.7341.24148/7/20017.8416.1925.7341.92158/8/25018.7915.5829.3644.94169/7/25018.9314.2334.1748.4179/8/30023.6521.9935.557.491810/7/30020.5421.4937.3458.83199/8/40025.4924.7240.3665.082010/8/40026.8322.6943.5966.28Notes:N∗ represents the number of AGVs/the number of AYCs/the number of containers. CAGV represents the energy consumption of the AGVs. CAYC represents the energy consumption of the AYCs.According to the results of the experiments, the GA can obtain the optimal solution in a short time. It can be seen that when the number of containers increases and the numbers of AGVs and AYCs remain unchanged, the energy consumption will inevitably increase, as shown in examples 11 and 13. With the number of containers and AYCs remaining unchanged, the energy consumption will increase as the number of AGVs increases, as shown in examples 13, 14, 19, and 20. This shows that the impact of the number of AGVs on the energy consumption is greater than that of the operation time. According to examples 15–18, as the number of AGVs increases, the number of AYCs decreases, and the energy consumption increases significantly. To sum up, the impact of the number of AGVs on the energy consumption is greater than that of the AYCs. Therefore, the scheduling of the AGVs should be considered first, and then the AYCs must be coordinated to improve the overall operating efficiency and reduce the energy consumption.The interference in the dual AYCs will increase the waiting times of AYCs and AGVs, thus increasing the energy consumption. Therefore, the following section will analyze the interference problem of dual AYCs.A temporary storage area is set in the container block, as shown in Figure3, so that the AYCs can complete the loading and unloading from containers through the temporary storage area, which can reduce the frequency of interference among the dual AYCs. Therefore, determining the location of the temporary storage area is the key to optimizing the interference problem in the dual AYCs. We take experiment 5 with the smallest difference in Table 7 as an example and use the CPLEX and the GA to solve the interference problem. The experimental results for when the location of the temporary storage area is changed are as shown in Figure 11.Figure 11
The comparison of the calculation between the CPLEX and the GA.The locations of the temporary storage area obtained by the two algorithms are the same, and there are 23 bays. This result further proves the effectiveness of the GA in solving such problems.


## 5. Conclusion and Further Research

This paper studies the cooperative scheduling problem of AGV and dual Automated Yard Cranes (AYCs) and considers the influence of the interference in the dual AYCs on the overall scheduling efficiency. This article considers both the amount of operating equipment and the operating time. Aiming at minimizing the total energy consumption of the operating equipment, a mixed-integer programming model is established. Due to the complexity of the problem model, this paper designs a multilayer genetic algorithm to solve the problem. In addition, large- and small-scale numerical examples are analysed, and the effectiveness of the GA is verified by comparing CPLEX with the GA.The main conclusions of this article are as follows. (1) By evaluating the performance of the algorithm for solving AGV and AYC collaborative scheduling problems under different scale tasks, it is concluded that the multilayer genetic algorithm is very effective at solving complex scheduling problems. When the container’s loading and unloading tasks are determined, the collaborative scheduling optimization scheme of AGVs and AYCs can be obtained by using the multilayer genetic algorithm. (2) By changing the location of the temporary storage area, CPLEX and the GA are used to determine the optimal location of the temporary storage area, and the walking paths of the dual AYCs are also obtained. This fully proves the effectiveness of the proposed model and algorithm to solve the interference problem between double AYCs.This article only considers the coordinated scheduling between AGVs and AYCs. However, the scheduling of automated container terminals requires the integration of automated shore cranes, automated guided vehicles, automated yard cranes, trucks, trains, etc. In future research, we will focus on the cooperative scheduling of multiple operating equipment while considering uncertain environments, such as equipment failures, path congestion, and other issues.



---

*Source: 5637874-2020-11-17.xml*