Next Article in Journal
Exploring Gender Differences in the Role of Trait Preferences among Stakeholders in the Rice Value Chain in Ghana
Next Article in Special Issue
The Impact of Green Technology Investment Levels on Competitive Supply Chain Integration Decisions
Previous Article in Journal
Features of Industrial Green Technology Innovation in the Yangtze River Economic Belt of China Based on Spatial Correlation Network
Previous Article in Special Issue
Market-Incentive Environmental Regulation and the Quality of Corporate Innovation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Genetic Algorithm for Integrated Scheduling of Container Handing Systems at Container Terminals from a Low-Carbon Operations Perspective

1
College of Automobile and Traffic Engineering, Nanjing Forestry University, Nanjing 210037, China
2
School of Marketing and Logistics Management, Nanjing University of Finance and Economics, Nanjing 210046, China
3
Business School, Nanjing University, Nanjing 210093, China
*
Authors to whom correspondence should be addressed.
Sustainability 2023, 15(7), 6035; https://doi.org/10.3390/su15076035
Submission received: 9 November 2022 / Revised: 26 January 2023 / Accepted: 20 March 2023 / Published: 30 March 2023

Abstract

:
At container terminals, quay cranes, yard trucks, and yard cranes are mainly used to transfer containers. Driven by the demand for a green and low-carbon economy, an integrated scheduling problem considering three types of handling equipment of container handling systems is studied. As the task of transferring each container is completed by the three handling equipment sequentially, the optimal solution may not be found by only studying one type of equipment separately from a green operations perspective. The inter-dependency of different equipment should be considered to guarantee the overall performance of container handling systems with low-carbon operations so as to reduce energy consumption. In this paper, this integrated problem is formulated as a mixed integer linear programming (MILP). Since the MILP cannot be applied to solve large-sized practical problems, a genetic algorithm (GA) is developed. In the proposed GA, a three-dimension chromosome representation is proposed, which integrates the coordination of three handling equipment. A new mechanism including three pairs of crossover and mutation is used in parallel in GA with the aim of enhancing the efficiency of searching for good solutions. Each pair of crossover and mutation is specific to one dimension of a solution. Moreover, a novel heuristic mutation is developed to diversify solutions. The computational results indicate that the developed solution method for the integrated scheduling problem is promising and the heuristic mutation can highly improve the solution quality.

1. Introduction

The efficiency and low-carbon operations of container terminals (CTs) have a direct impact on the success of international trade and a nation’s green economy [1]. Meanwhile, governments introduce policies and regulations for organizations such as CTs to reduce carbon emissions [2,3,4]. The efficiency of CTs is usually indicated by the ship turnaround time. Terminals with shorter ship turnaround times and low-carbon operations can keep pace with the world trade competition. Thus, the cooperation of different activities with respect to three types of integrated handling equipment in CTs is needed to be considered.
Containers are boxes in a standard size (i.e., forty-foot-equivalent unit, twenty-foot-equivalent unit) in most CTs [5]. They are mainly handled and transferred by three types of equipment which are quay cranes (QCs), yard trucks (YTs), and yard cranes (YCs). In the studies of Abdelmaguid et al. [6], Deroussi et al. [7], and Zheng et al. [8], the importance of the integrated scheduling of cooperated resources in flexible manufacturing systems (FMS) has been addressed. The key difference in the operations of material handling equipment between FMS and CTs lies in the buffer space. There is buffer space between machines and material handling equipment but no buffer space between container handling equipment in CTs. Due to the absence of buffer space between cranes and YTs, a blocking situation may happen during the process of transferring containers. When a QC or YC lifts a container, it must place the container onto an available YT instead of placing it on the ground. As such, QCs and YCs cannot continue their next task until an empty YT has arrived. In another aspect, containers have to remain on YTs until QCs or YCs lift the containers off YTs. Such a blocking situation happens because of the poor coordination between cranes and YTs. The ignorance of interaction between cranes and YTs would lead to local optimality and consequently result in the loss of performance. Therefore, the overall performance with good efficiency and low-carbon emission can be guaranteed when QCs, YTs, and YCs are simultaneously considered in an integrated model.
This paper studies an integrated problem of concurrently scheduling QCs, YTs, and YCs with low-carbon operations, named P_QYY. The objective is to minimize the ship turnaround time (i.e., makespan) from the low-carbon perspective. As introduced by Zeng & Yang [9], the solution methodologies were applied to schedule the loading operations for outbound containers and the unloading operations for inbound containers, respectively. In this paper, the process of loading operations is studied. However, the proposed solution approach is not limited to loading operations, also valid for unloading operations. In our problem, QCs assignment to ships and locations of containers in ships are known in advance. The sequence of handling containers by each QC is to be determined. Meanwhile, the determination on YTs assignment to containers and YCs assignment to blocks is to be made. YCs shared by different blocks could enhance the utilization of YCs and then reduce potential investment costs [10]. Thus, the purpose of P_QYY is to resolve three sub-problems: the sequence of loading containers on ships by each QC, YTs assignment to containers, and YCs assignment to blocks.
A mixed integer linear programming (MILP) model is formulated to determine the optimal solution for P_QYY. However, since even the sub-problem YT scheduling problem is of NP-hard class [11], P_QYY is also an NP-hard problem as it can be reduced to a YT scheduling problem when the other two sub-problems are treated as the input data. To solve large-sized practical problems, a solution method based on a genetic algorithm (GA) is developed. The experimental results reveal that the proposed algorithm is efficient to find good solutions for P_QYY.

2. Literature Review

Considerable research has been conducted in the field of CTs as a result of the increasing importance of port container terminal systems. Previous research mainly focused on only one aspect of terminal scheduling problems, such as QC scheduling problems, YT scheduling problems, and YC scheduling problems.
Meisel & Bierwirth [12] stated diverse models for QCs scheduling problems. A unified approach and a new platform were presented for the evaluation of distinct models and solution procedures. Liu et al. [13] proposed the QC scheduling problem with non-crossing constraints for QCs and precedence constraints for container tasks. The authors also studied the computational complexity of the problem and developed a GA to get near-optimal solutions. AI-Dhaheri et al. [14] studied the QC scheduling problem while considering the dynamics and the uncertainty inherent to the container handling process. A simulation-based GA was presented to solve this problem.
Ng et al. [11] studied a fleet of trucks scheduling problem with the constraints of different ready times and sequence-dependent processing times with the goal of minimizing the makespan. A GA with a greedy crossover was proposed to search the effective schedules. He et al. [15] addressed the scheduling problem for the internal trucks (IT) in CTs with the consideration of IT assignment strategy. Specially, an approach that dealt with the sharing of ITs among multiple CTs were designed and investigated. To efficiently solve this problem, the rolling-horizon approach together with a simulation optimization method was presented and verified.
Ng & Mak [16] made a study on a single YC scheduling problem with the objective of minimizing the sum of job waiting times. In their problem, both inbound containers and outbound containers were involved. In the study of Jung & Kim [17], a single YC scheduling problem was extended to multiple YC scheduling problems. Multiple YCs operating in the same block were addressed and only loading operation was considered. He et al. [10] proposed a hybrid GA to deal with the YCs scheduling problem. The necessity of YC movement among blocks was introduced. Wu et al. [18] studied the multiple YC scheduling problems while considering the operational constraints in practice such as the crane non-crossing constraint. A clustering-reassigning approach was developed to find satisfactory near-optimal solutions.
The studies addressed above focused on the scheduling problem of one single-handling equipment. The interrelation between cranes and trucks/vehicles was not involved by these authors, which resulted in poor performance of CTs with much energy consumption and low working efficiency. In recent years, integrated problems of concurrently studying the interrelated decision-making processes in CTs are considered.
Bierwirth & Meisel [19] made a survey of berth allocation and QC scheduling problems in CTs. They remarked that the integration models would receive much attention and be a new trend of future research in CTs. Rodrigues & Agra [20] surveyed the integrated problem of berth allocation and QCs assignment problem. They addressed the research trends and future study direction together with the limitation of published papers. In the study of Tang et al. [21], a solution method incorporating the discretization strategy and a MILP was presented to deal with the continuous berth allocation and QCs assignment problem. Cho et al. [22] developed an integrated method for berth allocation and QCs assignment problems, of which the reassignment of the vessel to other terminals was allowed. In Kaveshgar & Huynh [23], an integrated model for jointly scheduling QCs and YTs was proposed. A GA combined with a greedy algorithm was designed to solve this integrated scheduling problem. He [24] addressed an integrated berth allocation and QC assignment problem, in which the trade-off between time-saving and energy-saving at the operational level was studied. An integrated simulation and optimization method was used to solve the problem. Luo et al. [25] integrated vehicle scheduling and container storage problems in the unloading process in an automated container terminal. A MIP model and a GA were employed to solve this problem with the objective of minimizing the ship’s berth time.
The importance of integrating various types of handling equipment in CTs has been stated in the literature ([1,26]). A tabu search algorithm was developed in the paper of Chen et al. [1] to solve the integrated scheduling problem of QCs, yard vehicles, and YCs. In their problem, each YC served at only one block. In the work of Lau & Zhao [26], an integrated model of scheduling QCs, automated guided vehicles, and automated YCs was introduced. In their model, each block was assumed to have a specified YC. These above-mentioned two models improved the coordination of different handling equipment in CTs.
The classification of scheduling problems in CTs are shown in Table 1.
This paper addresses the integrated problem of scheduling QCs, YTs, and YCs, where YCs assignment to different blocks is considered. The proposed model is a generalization of real practice in CTs where a dedicated YC is used for each block—a special case of P_QYY. For this special case, a YCs assignment is not needed. This model can also be applied to CTs where dedicated YCs are used if a restriction is given on the selection of YCs. In some CTs, not every block has a specified YC and thus YCs need to be shared among blocks. One such widely used YCs is the rubber-tired gantry cranes (RTGC). It moves on rubber-tired wheels and needs to move to another block after it finishes the task in the current block to well utilize RTGCs [27]. Due to its mobility and flexibility, RTGC is the one of most commonly used handling equipment in the port of Hong Kong and other CTs all over the world [28]. To fully utilize YCs, the movement of YCs among different blocks is necessary. This is also helpful to relax workload congestion and imbalance [10]. Moreover, the schedule of YCs is generally made by port managers based on their experience before yard operations, which cannot guarantee the efficiency of the YC schedule. As an inefficient YCs schedule could result in the loss of productivity in the storage yard thus affecting the performance of CTs, YCs movement among blocks and YCs assignment are considered in our integrated model.

3. MILP Model for P_QYY

The typical layout of most CTs is given in Figure 1. In a CT, there are mainly two working areas: the ship’s operation area and the storage yard. QCs are located in the ship operation area and YCs serve at blocks in the storage yard. In front of each QC and each block, a transfer point is set for YTs to load/unload containers. For outbound containers, the task is to load containers in the storage yard onto ships along the seaside. Three phases are successively included to complete the loading process. First, YCs move into the storage yard to get containers and place them onto the assigned YTs. Then, YTs transfer containers to the transfer points of QCs. Finally, QCs are responsible for loading containers onto ships.
In P_QYY, a job is referred to as the complete process of transferring a container from a block to a QC. For each container, the block and QC are assigned in advance. The distance between any two transfer points is also known. In the integrated model, the following assumptions for P_QYY are adopted:
  • YTs/YCs employed in CTs are identical.
  • YTs/YCs are driven at a specific speed.
  • Each YT has a unit capacity, i.e., only one container can be moved by a YT for a job.
  • The average handling time is set to be the handling time for each QC/YC. The time spent in transferring process from YC/YT to YT/QC is included in the handling time of YC/QC.
  • Containers assigned to one QC are loaded onto ships according to the first come first served rule. Special containers are not considered in this study.
  • Traffic congestion or conflict of YTs/YCs is not taken into consideration.
The processing time of each job is the sum of the handling times of QC and YC, the travel time of YT from the origin to the destination of the job, and the waiting time. A job is in the condition of waiting when the required handling equipment is not available or in a blocking situation. The efficiency can be improved by reducing the waiting time of each job and the empty trips of YTs and YCs. Appropriate loading sequences of QCs as well as appropriately dispatching YTs and YCs to containers can significantly decrease the empty trips and the waiting time.
To describe P_QYY, notations are demonstrated as follows:
Indices:
  • i, j: Jobs, i, j = 1, 2, …, Njob, Njob is the total number of jobs
  • q: QCs, q = 1, 2, …, Nqc, Nqc is the total number of QCs
  • k: YTs, k = 1, 2, …, Nyt, Nyt is the total number of YTs
  • e: YCs, e = 1, 2, …, Nyc, Nyc is the total number of YCs
  • m, n: Locations of QCs and blocks
Parameters:
  • QC(i): QC preassigned the container of job i
  • B(i): Block where the container of job i is placed
  • iptk: The initial position of YT k
  • ipce: The initial position of YC e
  • Dmn: Distance between m and n
  • hqc: Handling time spent by a QC
  • hyc: Handling time spent by a YC
  • syt: Driving speed of YTs
  • syc: Driving speed of YCs
  • M: A very large positive constant
Sets:
  • L: Set of outbound containers
  • SQ: Set of QCs
  • ST: Set of YTs
  • SC: Set of YCs
  • SPq: Set of pairs of jobs (i,j) where QC(i) = QC(j) = q
Decision variables:
  • Cmax: Makespan
  • Tyti: Arrival time of the container of job i at QC(i) by YT
  • Tyci: Arrival time of the container of job i at B(i) by YC
  • ci: Completion time of job i
u i k = 1 ,   if   job   i   is   assigned   to   YT   k 0 ,   otherwise .
v i e = 1 ,   if   job   i   is   assigned   to   YC   e 0 ,   otherwise .
x i j q = 1 ,   if   job   i   precedes   job   j   on   Q C   q   and   ( i , j ) S P q 0 ,   otherwise .
y i j k = 1 ,   if   job   i   is   immediately   before   job   j   on   YT   k 0 ,   otherwise .
z i j e = 1 ,   if   job   i   is   immediately   before   job   j   on   YC   e 0 ,   otherwise .
f 1 i k = 1 ,   if   job   i   is   the   first   task   of   YT   k 0 ,   otherwise .
f 2 i e = 1 ,   if   job   i   is   the   first   task   of   YC   e 0 ,   otherwise .
The objective of P_QYY is the minimization of the makespan described in Constraint (1).
Minimize Cmax
Constraint (2) defines the makespan.
C max c i ,   i L
In Constraint (3), the completion time of each job is calculated. The container is handled by its preassigned QC after the container arrives at this QC.
c i h q c T y t i ,   i L
Constraint (4) implies that the container of each job is handled by the assigned YT after the container arrives at the transfer part of the block by its assigned YC. T y t i D B i Q C i / s y t is the beginning time of YT’s working on this container.
T y t i D B ( i ) Q C ( i ) / s y t T y c i ,   i L
Constraints (5a), and (5b) define the blocking situation. Constraint (5a) describes the situation where job i is handled before job j on YC e. Constraint (5b) describes the situation where the container of job i is handled before the container of job j on YT k. The handling equipment (YC or YT) can handle its next task job j after this equipment is released by the next handling equipment of job i. The container of job i will have to remain on the current handling equipment until the next equipment of job i takes this container off the current handling equipment.
T y c j h y c + M ( 1 z i j e ) T y t i D B ( i ) Q C ( i ) / s y t + D B ( i ) B ( j ) / s y c ,   i , j L , e S C
T y t j D B ( j ) Q C ( j ) / s y t + M ( 1 y i j k ) c i h q c + D Q C ( i ) B ( j ) / s y t ,   i , j L , k S T
Constraint (6a)/(6b) ensures that YTs/YCs begin their first task from the initial position.
T y t i + M ( 1 f 1 i k ) ( D i p t k B ( i ) + D B ( i ) Q C ( i ) ) / s y t ,   i L , k S T
T y c i + M ( 1 f 2 i e ) D i p c e B ( i ) / s y c + h y c ,   i L , e S C
Constraint (7a)/(7b) forces the containers of job (i, j) on QC q cannot be handled at the same time.
c j c i + M ( 1 x i j q ) h q c ,   ( i , j ) S P q , q S Q
c i c j + M x i j q h q c ,   ( i , j ) S P q , q S Q
Constraint (8a)/(8b) makes sure that the container of each job must be assigned to one YT/YC.
k = 1 N y t u i k = 1 ,   i L
e = 1 N y c v i e = 1 ,   i L
Constraint (9a)/(9b) describes the relationship between the YT k/YC e assignment and the handling sequence on YT k/YC e.
u i k + u j k 2 y i j k 0 ,   i , j L , k S T
v i e + v j e 2 z i j e 0 ,   i , j L , e S C
Constraint (10a)/(10b) determines the first task for each YT/YC.
i = 1 N j o b f 1 i k = 1 ,   k S T
i = 1 N j o b f 2 i e = 1 ,   e S C
Constraint (11a)/(11b) describes the relationship between the YT k/YC e assignment and the first task of job i.
f 1 i k u i k 0 ,   i L , k S T
f 2 i e v i e 0 ,   i L , e S C
In Constraints (12a)–(12c), the handling sequence of containers on each YT is determined.
k = 1 N y t y i j k + k = 1 N y t y j i k 1 ,   i , j L
k = 1 N y t ( f 1 i k + j L i j y j i k ) = 1 ,   i L
k = 1 N y t j L i j y i j k 1 ,   i L
In Constraints (13a)–(13c), the handling sequence of containers on each YC is determined.
e = 1 N y c z i j e + e = 1 N y c z j i e 1 ,   i , j L
e = 1 N y c ( f 2 i e + j L i j z j i e ) = 1 ,   i L
e = 1 N y c j L i j z i j e 1 ,   i L
Constraint (14) defines the binary variables.
x i j q , u i k , v i e , y i j k , z i j e , f 1 i k , f 2 i e { 0 , 1 } ,   i , j L , q S Q , k S T , e S C

4. Solution Method

Due to the NP-hardness of P_QYY, solving large-sized problems by exact methods is intractable. In this paper, a solution method based on a GA is designed to find the optimal or satisfactory solutions. The problem P_QYY is to simultaneously solve the three integrated sub-problems: the handling sequence of containers on QCs/YTs assignment and YCs assignment. To match this problem structure, a solution representation with three dimensions in GA is designed. It integrates that three sub-solution by considering the cohesive relation of QCs, YTs, and YCs. Accordingly, the three sub-solutions are searched by the three pairs of crossover and mutations. Furthermore, a novel heuristic mutation is designed to improve the possibility of finding high-quality solutions. The effect of the proposed algorithm is to shorten the empty ships and reduce the waiting time to improve the utilization and coordination of the handling equipment, and thereby finish all jobs as soon as possible.
The flowchart of the proposed GA is depicted in Figure 2. GA starts with reading the input data. The initial population is generated according to the given input data. In each generation, three pairs of crossover and mutation are implemented in parallel to generate offspring which are then evaluated. The new population is formed using a mixed selection strategy. GA searches solutions iteratively and is stopped when the stopping criterion is satisfied.

4.1. Chromosome Representation

For P_QYY, the chromosome is represented as a 3 × Njob array, named π, which has 3 rows and Njob columns. The rows from top to bottom are named π(1), π(2), and π(3), respectively. π(h) is set as π(h) = {π(h)(1), π(h)(2), …, π(h)(Njob)}(h = 1, 2, 3). π(1)gives the loading sequence of containers on QCs. π(2) shows the assignment of YTs to jobs in π(1). π(3) demonstrates the assignment of YCs to jobs in π(1). The loading sequence of containers on YTs and YCs are determined from π(2) and π(3). The gene in each column of π describes YT/YC assignment to the job.
The potential benefit of this three-dimension representation is that it builds the links of the handling process of QC, YT, and YC for each job by combining them in the same column (as each job has a predefined QC). These links may be helpful for maintaining the highly fit chromosome patterns after performing crossover and mutation operators. The survival of these good chromosome patterns more facilitates the convergence of GA than an independent single-dimension solution representation.
An example problem is given below to illustrate the chromosome representation. Consider a CT with three QCs and a storage yard consisting of three blocks. There are 10 jobs each of which has a predefined QC and block in Table 2. Numbers 1–10 in the first row indicate the jobs. The second and third rows give the information on the assigned QCs and blocks, with numbers 1–3 standing for QCs and 4–6 for blocks. There are a total of three YTs and two YCs. The initial position of each YT and YC is given in Table 3, where the numbers indicate QCs (1–3) or blocks (4–6).
For this example problem, a feasible chromosome π can be defined as a 3 × 10 array with π(1) = {2,4,1,6,3,8,9,7,10,5}, π(2) = {2,1,1,3,2,3,1,2,2,3}, and π(3) = {1,1,2,2,1,2,1,2,2,1}, which is shown in Figure 3a. π(1) is the loading sequence of jobs, π(2) represents YTs assignment to jobs in π(1), and π(3) represents YCs assignment to jobs in π(1). For example, in the first column, YT 2 and YC 1 are assigned to job 2. According to the given information on the preassigned QC and block for each job, this chromosome gives the loading sequences of jobs on QCs, YTs, and YCs in Figure 3b.
Figure 3c shows the trips of YTs and YCs needed to complete 10 jobs. It can be seen that empty trips occur when YTs head for a new task or YCs move between different blocks to pick up the required containers.

4.2. Initial Population

In this paper, the initialization of each chromosome in the population includes three parts: π(1) initialization, π(2) initialization, and π(3) initialization. π(1) is randomly initialized as a loading sequence of Njob jobs. For each gene in π(2), a YT k (kST) is randomly created. For each gene in π(3), a YC e (eSC) is randomly created.

4.3. Fitness Evaluation

For each chromosome, the objective function value is the completion time of the last job. Since P_QYY is a minimization problem and the objective function value (i.e., makespan) is always positive, the fitness value fitness(n) associated with each chromosome πn is the reciprocal of makespan, i.e., fitness(n) = 1/Cmax.
The procedure of calculating the completion time of job π(1)(i) (i = 1,2, …, Njob) in solution π is described below. The notations are first introduced as follows.
  • pyc[π(3)(i)]: Current position of YC π(3)(i)
  • pyt[π(2)(i)]: Current position of YT π(2)(i)
  • ayc[π(3)(i)]: Arrival time of YC π(3)(i) for job π(1)(i)
  • ayt[π(2)(i)]: Arrival time of YT π(2)(i) for job π(1)(i)
  • ryc[π(3)(i)]: Released time of YC π(3)(i) for job π(1)(i), i.e., the
  • ryt[π(2)(i)]: Released time of YT π(2)(i) for job π(1)(i)
  • fyc[π(3)(i)]: Finish time of job π(1)(i) on YC π(3)(i)
  • fyt[π(2)(i)]: Finish time of job π(1)(i) on YT π(2)(i)
  • fqc[QC(π(1)(i))]: Finish time of job π(1)(i) on QC(π(1)(i))
As a generated chromosome π satisfies the constraints (7a)–(13c) of the MILP model in Section 3, the completion times of jobs π(1)(i) (i = 1, 2, …, Njob) are calculated one by one according to the loading sequence of jobs in π(1) based on the constraints (2)–(6b). Since each job is successively handled by three handling equipment YC, YT, and QC, the core procedure of calculating the completion time consists of three steps: (1) the calculation of the finish time on YC, (2) the calculation of the finish time on YT, and (3) the calculation of the finish time on QC. The completion time of each job is equal to the finish time on its assigned QC. The blocking situation can be circumvented by the procedure of calculating the mekespan of each three-dimension solution representation. The containers in π(1) are handled one by one. The released time together with the finish time of the handling equipment for its processing container is calculated. The released time of YTs/YCs means the unloading time of the current container away from YTs/YCs. It is influenced by two factors: one is the finish time to complete the current job of YT/YC, and the other is the time when next handling equipment in secession QC/YT can take the job away from this YT/YC. After the handling equipment is released, its operation on the next container will start. A small example is given to show the calculation procedure in Appendix A. The calculation procedure is described as follows.
  • Step 0 Initialization.
0.1 Set i = 1.
0.2 Set pyc[e] = ipce for ∀eSC, and pyt[k] = iptk for ∀kST.
0.3 Set fyc[e] = fyt[k] = fqc[q] = ryc[e] = ryt[k] = 0 for ∀eSC, ∀ kST,qSQ.
  • Step 1 Calculation of the finish time of job π(1)(i) on YC π(3)(i).
1.1 The arrival time and finish time of YC π(3)(i) are calculated.
ayc[π(3)(i)] = ryc[π(3)(i)] + Dpyc[π(3)(i)],B(π(1)(i))/syc
fyc[π(3)(i)] = ayc[π(3)(i)] + hyc
1.2 The new position of YC π(3)(i) is updated as B(π(1)(i)).
pyc[π(3)(i)] = B(π(1)(i))
  • Step 2 Calculation of the finish time of job π(1)(i) on YT π(2)(i).
2.1 The arrival time YT π(2)(i) is calculated.
ayt[π(2)(i)] = ryt[π(2)(i)] + Dpyt[π(2)(i)],B(π(1)(i))/syt
2.2 YC π(3)(i) is released when job π(1)(i) is loaded onto YT π(2)(i). Thus, the released time of YC π(3)(i) is calculated below.
ryc[π(3)(i)] = max{ayt[π(2)(i)], fyc[π(3)(i)]}
The finish time of YT π(2)(i) is then calculated.
fyt[π(2)(i)] = ryc[π(3)(i)] + DB(π(1)(i))QC(π(1)(i))/syt
2.3 The new position of YT π(2)(i) is updated as QC(π(1)(i)).
pyt[π(2)(i)] = QC(π(1)(i))
2.4 YT π(2)(i) is released when the assigned QC is available to pick up job π(1)(i) away from this YT. Thus, the released time of YT π(2)(i) is calculated below.
ryt[π(2)(i)] = max{fyt[π(2)(i)], fqc[QC(π(1)(i))]}
  • Step 3 Calculation of the finish time of job π(1)(i) on QC.
cπ(1)(i) = fqc[QC(π(1)(i))] = ryt[π(2)(i)] + hqc
  • Step 4 Calculation of Cmax. If i = Njob, then the makespan is calculated as Cmax = max{cπ(1)(i)| i = 1,2, …, Njob}, otherwise, i = i + 1 and go to Step 1.

4.4. Generation of New Population

In the proposed GA, based on the three-dimension chromosome, three pairs of crossover and mutation (Crossover_1 & Mutation_1, Crossover_2 & Mutation_2, Crossover_3 & Mutation_3) are accordingly designed to wildly search the solution space. Crossover_1 and Mutation_1 are used for π(1) while keeping the assignment of YTs and YCs to each job unchanged. Crossover_2 and Mutation_2 are performed on π(2) while keeping π(1) and π(3) unchanged. Crossover_3 and Mutation_3 are performed on π(3) while keeping π(1) and π(2) unchanged. In each generation, the three pairs of crossover and mutation are applied in parallel to generate the offspring. By doing so, the exploration of GA is improved and the possibility of missing the solutions with good attributes is decreased.

4.4.1. Crossover

Based on the characteristics of π(a) (a = 1, 2, 3), three crossover operators are developed for different purposes. For π(1), as the simple crossover fails to generate valid permutation-structured offspring, Crossover_1 is implemented on the basis of order crossover to guarantee that the loading sequence of jobs remains feasible. For π(2) and π(3), Crossover_2 and Crossover_3 adopt simple two-point crossover. The detail of order crossover and two-point crossover is introduced in [29].
Figure 4 illustrates the order crossover for π(1). Based on Parent 1, Child 1 is produced by performing Crossover_1 on two selected parent chromosomes Parent 1 and Parent 2. In Figure 4a, a sub-sequence of π(1) in Parent 1 is randomly selected and copied to the corresponding positions in Child 1. The rest positions of Child 1 are filled with the remaining jobs of π(1) in Parent 2. The filling jobs in Parent 2 are copied to Child 1 in accordance with the sequence of jobs in Parent 2. Note that Child 1 inherits YTs and YCs assignments to jobs from Parent 1. For example, in Parent 1, YT 1 and YC 2 are assigned to job 4. Thus, job 4 of Child 1 has the same assignments YT 1 and YC 2. In the same way, Child 2 is generated based on Parent 2 by performing Crossover_1 on Parent 1 and Parent 2 as shown in Figure 4b. Crossover_1 keeps the links of YT and YC assignments to each job when changing the loading sequence in π(1).
Figure 5 illustrates the two-point crossover for π(2). Taking Parent 1 as a base, Child 1 is produced by performing Crossover_2 on two selected parent chromosomes Parent 1 and Parent 2. In Figure 5a, two cut points: cut point 1 and cut point 2 are randomly determined. For the jobs between these two cut points, the YTs assignment in π(2) of Parent 1 is copied to Child 1. YTs assignment to other jobs in Child 1 is the same as that of Parent 2. Child 1 inherits π(1) and π(3) directly from Parent 1. In the same way, Child 2 is produced based on Parent 2 by performing Crossover_2 on Parent 1 and Parent 2 as shown in Figure 5b.
For π(3), Crossover_3 is the same as Crossover_2 using the two-point crossover but keeping π(1) and π(2) unchanged.

4.4.2. Mutation

Mutation ensures that GA will have a chance to search other regions of the solution space and thus maintain genetic diversity from one generation to the next. Here different mutation operators are designed for π(a) (a = 1, 2, 3). For π(1), Mutation_1 is implemented based on the swap mutation (Goldberg 1989) [30] which mutates the selected parent chromosome by exchanging two randomly chosen jobs in π(1) as well as their assigned YTs and YCs. Figure 6 shows Mutation_1 for π(1).
Mutation_2 and Mutation_3 are specifically designed for π(2) and π(3), respectively. These two operators are based on a new heuristic mutation that seeks improvement and avoids local optimum by selecting the best-mutated chromosome as the offspring among all mutated neighbor chromosomes. In the proposed heuristic mutation, a specified number of neighbors are generated based on one chosen parent chromosome to find a more suitable schedule through the following procedure. In Mutation_2 (or Mutation_3), fixing π(1) and π(3) (or π(1) and π(2)) of the parent chromosome, neighbors are created by changing a YT (or YC) assigned to job π(1)(i) (i = 1,2,…Njob) to any one of other (Nyt − 1) YTs (or (Nyc − 1) YCs). In this way, (Nyt − 1) neighbors are created by changing the YT assignment of one job in Mutation_2 (or (Nyc − 1) neighbors in Mutation_3). Thus, Njob × (Nyt − 1) neighbors are totally generated in Mutation_2 and Njob × (Nyc − 1) neighbors in Mutation_3. After implementing Mutation_2 or Mutation_3, all obtained neighbors are evaluated and the neighbor with the minimum makespan is chosen as the mutated offspring chromosome. It can be seen that the number of generated neighbors depends on the size of integrated problems, i.e., the total number of jobs and the total number of YT or YC.
The reason for developing this heuristic mutation is that the quality of the chromosome in each generation has an important impact on the overall performance of the next generation. This operator behaves as a local search to improve the chromosome quality and to avoid the local optimum by exploiting better-mutated chromosomes in the way of searching neighbors of parent chromosomes in each generation.

4.4.3. Selection

A mixed selection strategy including the deterministic selection and roulette wheel selection is used. The last population and all generated offspring are ranked in non-ascending order in terms of fitness value. Part of the new population is formed by deterministic selection which selects the best K chromosomes with different fitness values. Here popsize denotes the population size in GA. The remaining popsize–K chromosomes are generated using one of the most commonly used selection rules roulette wheel selection.
Based on the preliminary experiments, the drawback of only using the deterministic selection (i.e., K = popsize) is that the disappearance of worse individuals may result in losing the useful attributes and thereby cause premature convergence. In another aspect, by only using roulette wheel selection, the elite individuals may be lost or destroyed by crossover and mutation operators. The deterministic selection forces GA to retain K elite individuals in each generation. The significant role of elitism in improving GA performance has been verified by many researchers [31]. Another shortcoming of only using roulette wheel selection is that many same chromosomes may be selected in the next generation. The phenomenon that too many same chromosomes exist in the population is another cause of premature convergence [32]. Therefore, this mixed selection strategy overcomes the shortcoming of only using the deterministic selection or roulette wheel selection.

4.5. Stopping Criterion

In this paper, the stopping criterion is the allowed maximum number of generations (Max_Gen). When Max_Gen is reached, GA is stopped.

5. Computational Experiments and Analysis

The MILP model and the solution method described in the above sections have been applied to 25 (ex1–ex25) problem instances. The experimental data was generated based on the published studies [26,32]. In the CT, 6 QCs berth along the seaside and 20 blocks are set in the storage yard. For each container, the preassigned QC and block are created in a random way. YTs and YCs start at their initial positions which are set randomly. YTs drive at the speed of 4 m/s, and YCs at 3 m/s. The handling time of QCs is 60 s, and the handling time of YCs is 100 s. Other information about 25 problem instances including the total number of jobs, the total time of QCs, the total number of YTs, and the total number of YCs are given in Table 4.
The proposed algorithm has been implemented using C++ language. The MILP model has been solved using ILOG CPLEX 12.2. All computation examples have been carried out on the personal computer with Inter Core 2, 3.30 GHz CPU. The parameters of the proposed algorithm include the population size popsize, probability of crossover Pc, probability of mutation Pm, and the number of elite chromosomes to be chosen in each generation K and Max_Gen. To determine the values of parameters, preliminary experiments were conducted. The best set of parameters chosen for the computational experiments is popsize = 100, Pc = 0.8, Pm = 0.2, K = 50, and Max_Gen = 1000 for ex1–ex15; Max_Gen = 2000 for ex16–ex25.
To assess the performance of the solution method, the results found by GA are compared with the results from MILP in terms of makespan and CPU time. For each instance, the algorithm has been conducted ten times. The best result obtained together with its CPU time was set to be the final result, which was reported in Table 5. For ex1 and ex2, the optimal solution has been found by MILP, since the problem size of these two instances are small. For other instances, the running time of CPLEX was set to 36 h. The best result obtained during that time period was recorded for MILP. As seen from Table 5, the computational effort required for MILP to solve even small-sized problem instances is prohibitively large. For large-sized problems, the feasible solutions cannot be found by MILP within 36 h. MILP could find the optimal or feasible solutions for seven out of 25 problem instances. For ex3–ex7, the solutions found by GA in a few seconds are better than the solutions found by MILP within 36 h. Gaps between the results from MILP and GA are also calculated. Results in Table 5 indicate that MILP cannot solve medium-sized or large-sized P_QYY within reasonable time periods. The proposed GA can efficiently find good solutions for P_QYY.
To validate the effectiveness of the proposed heuristic mutations, comparative experiments are carried out between the proposed GA with heuristic mutations (GA_HM) and GA with simple mutations (GA_SM). In GA_SM, heuristic mutations are replaced with simple mutations, which mutate the selected parent chromosome by randomly changing the assigned YT (or YC) of a randomly chosen job to a different YT (or YC). Thus, GA_HM can be considered an enhanced version of GA_SM. The same parameter set is used for two versions of GA. Table 6 shows the results obtained from GA_HM and GA_SM. Each problem instance is executed ten times and the best results are reported for comparison. The gaps between the results of the two GAs are given in Table 6.
From Table 6, it is shown that GA_HM and GA_SM can find the same solutions for the small-sized problem instances (ex1–ex8) in a short time period. However, the gaps become bigger from 0.17% to 36.32% as the problem size increases. GA_HM provides better results than GA_SM, especially for very large-sized problems. The improved results do come at the cost of CPU time. This is because the number of neighbor chromosomes generated in the heuristic mutations is enlarged as the problem size increases. For the largest problems (ex23–ex25), it takes more than 1 h to get the solutions with approximately 30% improvement. Given that a detailed loading schedule should be made a few hours before the ship arrives at the terminal, such CPU time is still justified in practical situations.
The convergence speed of GA_HM and GA_SM is examined by revealing the value of makespan changing with each generation for the largest problem instance ex25 in Figure 7. Both GA_HM and GA_SM could reach convergence within 1000 generations. Nevertheless, GA_HM could find much better solutions than GA_SM. This is because the heuristic mutations improve solutions quality by finding the best neighbor chromosome that possesses potential good patterns. In conclusion, the comparison results indicate that two GAs are efficient for solving P_QYY and GA_HM can efficiently find better solutions than GA_SM for large-sized practical problems.

6. Conclusions

From a low-carbon operations perspective, this paper studies the integrated scheduling problem of QCs, YTs, and YCs in CTs by considering the interconnections between the three types of handling equipment. To solve this integrated model, a MILP is formulated in this paper. Due to large numbers of variables and constraints, the MILP model is intractable for large-sized practical problems. A GA with three-dimension chromosome representation is developed, which links the interrelation of the three sub-problems. Based on the chromosome representation, a mechanism with three pairs of crossover and mutation is introduced. Each pair of crossover and mutation is specific to one dimension of a chromosome. This mechanism in GA well matches the property of the integrated problem. Moreover, to enhance the performance of the proposed solution method, a new heuristic mutation is proposed. Better solutions are found by applying the three pairs of crossover and mutation in parallel. The efficiency of the proposed algorithm as well as the heuristic mutation is shown by the computational results.
The developed solution method is not limited to the integrated model presented in this paper. Moreover, the proposed algorithm with a multi-dimension solution representation and a combined crossovers and mutations mechanism can be flexibly applied to other integrated problems with some modifications. In our future research, more practical constraints will be taken into consideration to consummate the P_QYY model, such as YTs/YCs conflicts, the allocation of storage space, the due date or the ready time of containers, etc. In addition, the effort on extending our proposed solution method for integrating problems in other related research fields will be made.

Author Contributions

Y.Z. and M.X. conceived and designed the experiments; Y.X. and Z.W. performed the experiments; Z.W. analyzed the data; Y.Z. and Y.X. wrote the paper. All authors have read and agreed to the published version of the manuscript.

Funding

The research has been supported by the National Natural Science Foundation of China (Grant No. 71701099, 71871111), Social Science Foundation of Jiangsu Province (No. 19GLC011), the Research Foundation of the Jiangsu (No. KJB17580008) and the Natural Science Foundation of Jiangsu Higher Education Institutions of China (Grant No. 18KJA410001,17KJB580008).

Acknowledgments

The authors are grateful to the editors and anonymous reviewers for providing the valuable comments.

Conflicts of Interest

The authors declare no conflict of interest. The founding sponsors had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, and in the decision to publish the results.

Appendix A

To be simplicity, a small example is given of which the input data is described in Table A1, Table A2 and Table A3. In this example, 2 QCs, 2 blocks, 2 YTs and 2 YCs are used to finish 4 jobs and the speeds of YTs and YCs are set to be 1. The average handling time of QCs and YCs are 60s and 100s, respectively. QCs are numbered as 1, 2 and blocks as 3, 4. Assume that the chromosome π to be evaluated is the one as shown in Figure A1.
Table A1. Distance matrix for the example problem.
Table A1. Distance matrix for the example problem.
Dmn1234
1100150200
2100200150
3150200100
4200150100
Table A2. Assignment of QC and block for each job.
Table A2. Assignment of QC and block for each job.
Job i1234
QC(i)2121
B(i)3344
Table A3. The initial position of each YT/YC.
Table A3. The initial position of each YT/YC.
YT 1YT 2YC 1YC 2
Initial position3443
Figure A1. Chromosome π of the example problem.
Figure A1. Chromosome π of the example problem.
Sustainability 15 06035 g0a1
Based on the fitness evaluation in Section 4.3, the procedure of calculating Cmax is detailed below.
(1)
Initialization
According to Table 3, set pyc[1] = ipc1 = 3, pyc[2] = ipc2 = 4 and pyt[1] = ipt1 = 4, pyt[2] = ipt2 = 3.
Set fyc[1] = fyc[2] = fyt[1] = fyt[2] = fqc[1] = fqc[2] = ryc[1] = ryc[2] = ryt[1] = ryt[2] = 0
(2)
i = 1: π(1)(1) = 2, π(2)(1) = 2, π(3)(1) = 1.
The arrival time of YC 1: ayc[1] = ryc[1] + Dpyc[1],B(2)/1 = 0 + D33 = 0 + 0 = 0
The finish time of YC 1: fyc[1] = ayc[1] + hyc = 0 + 100 = 100
The new position of YC 1: pyc[1] = B(2) = 3
The arrival time of YT 2: ayt[2] = ryt[2] + Dpyt[2],B(2)/1 = 0 + D43 = 0 + 100 = 100
The released time of YC 1: ryc[1] = max{ayt[2], fyc[1]} = max{100, 100} = 100
The finish time of YT 2: fyt[2] = ryc[1] + DB(2)QC(2)/1 = 100 + D31 = 100 + 150 = 250
The new position of YT 2: pyt[2] = QC(2) = 1
The released time of YT 2: ryt[2] = max{ fyt[2], fqc[QC(2)]} = max{ fyt[2], fqc[1]} = max{250, 0} = 250
The completion time of job 2 and the finish time of QC(2):
c2 = fqc[QC(2)] = fqc[1] = ryt[2] + hqc = 250 + 60 = 310
(3)
i = 2: π(1)(2) = 4, π(2)(2) = 1, π(3)(2) = 1.
The arrival time of YC 1: ayc[1] = ryc[1] + Dpyc[1],B(4)/1 = 100 + D34 = 100 + 100 = 200
The finish time of YC 1: fyc[1] = ayc[1] + hyc = 200 + 100 = 300
The new position of YC 1: pyc[1] = B(4) = 4
The arrival time of YT 1: ayt[1] = ryt[1] + Dpyt[1],B(4)/1 = 0 + D34 = 0 + 100 = 100
The released time of YC 1: ryc[1] = max{ayt[1], fyc[1]} = max{100, 300} = 300
The finish time of YT 1: fyt[1] = ryc[1] + DB(4)QC(4)/1 = 300 + D41 = 300 + 250 = 550
The new position of YT 1: pyt[1] = QC(4) = 1
The released time of YT 1: ryt[1] = max{ fyt[1], fqc[QC(4)]} = max{ fyt[1], fqc[1]} = max{550, 310} = 550
The completion time of job 4 and the finish time of QC(4):
c4 = fqc[QC(4)] = fqc[1] = ryt[1] + hqc = 550 + 60 = 610
(4)
i = 3: π(1)(3) = 1, π(2)(3) = 1, π(3)(3) = 2.
The arrival time of YC 2: ayc[2] = ryc[2] + Dpyc[2],B(1)/1 = 0 + D33 = 0 + 0 = 0
The finish time of YC 2: fyc[2] = ayc[2] + hyc = 0 + 100 = 100
The new position of YC 2: pyc[2] = B(1) = 3
The arrival time of YT 1: ayt[1] = ryt[1] + Dpyt[1],B(1)/1 = 550 + D13 = 550 + 150 = 700
The released time of YC 2: ryc[2] = max{ayt[1], fyc[2]} = max{700, 100} = 700
The finish time of YT 1: fyt[1] = ryc[2] + DB(1)QC(1)/1 = 700 + D32 = 700 + 200 = 900
The new position of YT 1: pyt[1] = QC(1) = 2
The released time of YT 1: ryt[1] = max{ fyt[1], fqc[QC(1)]} = max{ fyt[1], fqc[2]} = max{900, 0} = 900
The completion time of job 1 and the finish time of QC(1):
c1 = fqc[QC(1)] = fqc[2] = ryt[1] + hqc = 900 + 60 = 960
(5)
i = 4: π(1)(4) = 3, π(2)(4) = 2, π(3)(4) = 2.
The arrival time of YC 2: ayc[2] = ryc[2] + Dpyc[2],B(3)/1 = 700 + D34 = 700 + 100 = 800
The finish time of YC 2: fyc[2] = ayc[2] + hyc = 800 + 100 = 900
The new position of YC 2: pyc[2] = B(3) = 4
The arrival time of YT 2: ayt[2] = ryt[2] + Dpyt[2],B(3)/1 = 800 + D14 = 800 + 200 = 1000
The released time of YC 2: ryc[2] = max{ayt[2], fyc[2]} = max{1000, 900} = 1000
The finish time of YT 2: fyt[2] = ryc[2] + DB(3)QC(3)/1 = 1000 + D42 = 1000 + 150 = 1150
The new position of YT 2: pyt[2] = QC(3) = 2
The released time of YT 2: ryt[2] = max{ fyt[2], fqc[QC(3)]} = max{ fyt[2], fqc[2]} = max{1150, 960} = 1150
The completion time of job 3 and the finish time of QC(3):
c3 = fqc[QC(3)] = fqc[2] = ryt[2] + hqc = 1150 + 60 = 2210
(6)
Makespan Cmax = max{cπ(1)(1), cπ(1)(2), cπ(1)(3), cπ(1)(4)} = max{960, 310, 2210, 610} = 2210

References

  1. Chen, L.; Bostel, N.; Dejax, P.; Cai, J.; Xi, L. A tabu search algorithm for the integrated scheduling problem of container handling systems in a maritime terminal. Eur. J. Oper. Res. 2007, 181, 40–58. [Google Scholar] [CrossRef]
  2. Tang, W.; Du, S.; Hu, L.; Wang, B.; Zhu, Y. The effects of leadership in Clean Development Mechanism low-carbon operations. Transport. Res. Part E Logist. Transp. Rev. 2022, 158, 102575. [Google Scholar]
  3. Du, S.; Wang, L.; Hu, L.; Zhu, Y. Platform-led green advertising: Promote the best or promote by performance. Transport. Res. Part E Logist. Transp. Rev. 2019, 128, 115–131. [Google Scholar] [CrossRef]
  4. Huang, C.; Du, S.; Wang, B.; Tang, W. Accelerate or hinder it? Manufacturer transformation under competition and carbon emission trading. Int. J. Prod. Res. 2022, 1–21. [Google Scholar] [CrossRef]
  5. Carlo, H.J.; Vis, I.F.A.; Roodbergen, K.J. Transport operations in container terminals: Literature overview, trends, research directions and classification scheme. Eur. J. Oper. Res. 2014, 236, 1–13. [Google Scholar] [CrossRef]
  6. Abdelmaguid, T.F.; Nassef, A.O.; Kamal, B.A.; Hassan, M.F. A hybrid GA/heuristic approach to the simultaneous scheduling of machines and automated guided vehicles. Int. J. Prod. Res. 2004, 42, 267–281. [Google Scholar] [CrossRef]
  7. Deroussi, L.; Gourgand, M.; Tchernev, N. A simple metaheuristic approach to the simultaneous scheduling of machines and automated guided vehicles. Int. J. Prod. Res. 2008, 46, 2143–2164. [Google Scholar] [CrossRef]
  8. Zheng, Y.; Xiao, Y.; Seo, Y. A tabu search algorithm for simultaneous machine/AGV scheduling problem. Int. J. Prod. Res. 2014, 52, 5748–5763. [Google Scholar] [CrossRef]
  9. Zeng, Q.; Yang, Z. Integrating simulation and optimization to schedule loading operations in container terminals. Comput. Oper. Res. 2009, 36, 1935–1944. [Google Scholar] [CrossRef]
  10. He, J.; Chang, D.; Mi, W.; Yan, W. A hybrid parallel genetic algorithm for yard crane scheduling. Transport. Res. Part E Logist. Transp. Rev. 2010, 46, 136–155. [Google Scholar] [CrossRef]
  11. Ng, W.C.; Mak, K.L.; Zhang, Y.X. Scheduling trucks in container terminals using a genetic algorithm. Eng. Optimiz. 2007, 39, 33–47. [Google Scholar] [CrossRef]
  12. Meisel, F.; Bierwirth, C. A unified approach for the evaluation of quay crane scheduling models and algorithms. Comput. Oper. Res. 2011, 38, 683–693. [Google Scholar] [CrossRef]
  13. Liu, M.; Wang, S.; Chu, F.; Xu, Y. Some complexity results and an efficient algorithm for quay crane scheduling problem. Discret. Math. Algorithms Appl. 2016, 8, 1650058. [Google Scholar] [CrossRef]
  14. AI-Dhaheri, N.; Jebali, A.; Diabat, A. A simulation-based Genetic Algorithm approach for the quay crane scheduling under uncertainty. Simul. Model. Pract. Theory 2016, 66, 122–138. [Google Scholar] [CrossRef]
  15. He, J.; Zhang, W.; Huang, Y. A simulation optimization method for internal trucks sharing assignment among multiple container terminals. Adv. Eng. Inform. 2013, 27, 598–614. [Google Scholar] [CrossRef]
  16. Ng, W.C.; Mak, K.L. Yard crane scheduling in port container terminals. Appl. Math. Model. 2005, 29, 263–276. [Google Scholar] [CrossRef] [Green Version]
  17. Jung, S.H.; Kim, K.H. Loading scheduling for multiple quay cranes in port container terminals. J. Intell. Manuf. 2006, 17, 479–492. [Google Scholar] [CrossRef]
  18. Wu, Y.; Li, W.; Petering, M.E.H.; Goh, M.; Souza, R. Scheduling multiple yard cranes with crane interference and safety distance requirement. Transport. Sci. 2015, 49, 990–1005. [Google Scholar] [CrossRef] [Green Version]
  19. Bierwirth, C.; Meisel, F. A survey of berth allocation and quay crane scheduling problems in container terminals. Eur. J. Oper. Res. 2010, 202, 615–627. [Google Scholar] [CrossRef]
  20. Rodrigues, F.; Agra, A. Berth allocation and quay crane assignment/scheduling problem under uncertainty: A survey. Eur. J. Oper. Res. 2022, 303, 501–524. [Google Scholar] [CrossRef]
  21. Tang, M.; Ji, B.; Fang, X.; Yu, S.S. Discretization-Strategy-Based Solution for Berth Allocation and Quay Crane Assignment Problem. J. Mar. Sci. Eng. 2022, 10, 495. [Google Scholar] [CrossRef]
  22. Cho, S.W.; Park, H.J.; Lee, C. An integrated method for berth allocation and quay crane assignment to allow for reassignment of vessels to other terminals. Marit. Econ. Logist. 2021, 23, 123–153. [Google Scholar] [CrossRef]
  23. Kaveshgar, N.; Huynh, N. Integrated quay crane and yard truck scheduling for unloading inbound containers. Int. J. Prod. Econ. 2015, 159, 168–177. [Google Scholar] [CrossRef]
  24. He, J. Berth allocation and quay crane assignment in a container terminal for the trade-off between time-saving and energy-saving. Adv. Eng. Inform. 2016, 30, 390–405. [Google Scholar] [CrossRef]
  25. Luo, J.; Wu, Y.; Mendes, A.B. Modelling of integrated vehicle scheduling and container storage problems in unloading process at an automated container terminal. Comput. Ind. Eng. 2016, 94, 32–44. [Google Scholar] [CrossRef]
  26. Lau, H.Y.K.; Zhao, Y. Integrated scheduling of handling equipment at automated container terminals. Ann. Oper. Res. 2008, 159, 373–394. [Google Scholar] [CrossRef]
  27. Linn, R.; Liu, J.; Wan, Y.; Zhang, C.; Murty, K.G. Rubber tired gantry crane deployment for container yard operation. Comput. Ind. Eng. 2003, 45, 429–442. [Google Scholar] [CrossRef]
  28. Murty, K.G.; Liu, J.; Wan, Y.; Linn, R. A decision support system for operations in a container terminal. Decis. Support Syst. 2005, 39, 309–332. [Google Scholar] [CrossRef]
  29. Gen, M.; Cheng, R. Genetic Algorithms and Engineering Optimization; Wiley: New York, NY, USA, 1999. [Google Scholar]
  30. Goldberg, D.E. Genetic Algorithms in Search, Optimization and Machine Learning; Addison Wesley Longman: Boston, MA, USA, 1989. [Google Scholar]
  31. Mitchell, M. An Introduction to Genetic Algorithms; MIT Press: Cambridge, MA, UK, 1999. [Google Scholar]
  32. Cao, J.X.; Lee, D.-H.; Chen, J.H.; Shi, Q. The integrated yard truck and yard crane scheduling problem: Benders’ decomposition-based methods. Transport. Res. Part E Logist. Transp. Rev. 2010, 46, 344–353. [Google Scholar] [CrossRef]
Figure 1. The layout of a CT.
Figure 1. The layout of a CT.
Sustainability 15 06035 g001
Figure 2. Flowchart of the proposed GA.
Figure 2. Flowchart of the proposed GA.
Sustainability 15 06035 g002
Figure 3. An example problem. (a) A feasible chromosome for the example problem. (b) Sequences of jobs on QCs, YTs, and YCs retrieved from the solution in Figure 3a. (c) Trips of YTs and YCs were generated from the solution in Figure 3a.
Figure 3. An example problem. (a) A feasible chromosome for the example problem. (b) Sequences of jobs on QCs, YTs, and YCs retrieved from the solution in Figure 3a. (c) Trips of YTs and YCs were generated from the solution in Figure 3a.
Sustainability 15 06035 g003
Figure 4. Illustration of the order crossover for π(1). (a) Generation of Child 1, (b) Generation of Child 2.
Figure 4. Illustration of the order crossover for π(1). (a) Generation of Child 1, (b) Generation of Child 2.
Sustainability 15 06035 g004
Figure 5. Illustration of the two-point crossover for π(2). (a) Generation of Child 1, (b) Generation of Child 2.
Figure 5. Illustration of the two-point crossover for π(2). (a) Generation of Child 1, (b) Generation of Child 2.
Sustainability 15 06035 g005
Figure 6. Illustration of Mutation_1 for π(1).
Figure 6. Illustration of Mutation_1 for π(1).
Sustainability 15 06035 g006
Figure 7. The convergence of GA_HM and GA_SM.
Figure 7. The convergence of GA_HM and GA_SM.
Sustainability 15 06035 g007
Table 1. Classification of scheduling problems in CTs.
Table 1. Classification of scheduling problems in CTs.
Scheduling Problems in CTsRelated Literature
QC scheduling problemMeisel & Bierwirth [12], Liu et al. [13], AI-Dhaheri et al. [14]
YT scheduling problemNg et al. [11], He et al. [15]
YC scheduling problemNg & Mak [16], Jung & Kim [17], He et al. [10], Wu et al. [18]
Berth allocation and QC scheduling problemBierwirth & Meisel [19], Rodrigues & Agra [20], Tang et al. [21], Cho et al. [22], He [24]
Integrated QC and YT scheduling problemKaveshgar & Huynh [23]
Integrated vehicles scheduling and containers storage problemLuo et al. [25]
Integrated QC, yard vehicles, and YC scheduling problemChen et al. [1], Lau & Zhao [26]
Table 2. Assigned QCs and blocks for 10 jobs in the example problem.
Table 2. Assigned QCs and blocks for 10 jobs in the example problem.
Job i12345678910
QC(i)2321332231
B(i)4655644564
Table 3. The initial positions for YTs and YCs in the example problem.
Table 3. The initial positions for YTs and YCs in the example problem.
YTsYCs
YT 1YT 2YT 3YC 1YC 2
Initial position54645
Table 4. Details of 25 problem instances.
Table 4. Details of 25 problem instances.
Problem InstancesNjobNqcNytNyc
ex16122
ex26222
ex38122
ex48222
ex58232
ex610222
ex710232
ex820232
ex920343
ex1030363
ex1130384
ex1250384
ex13504104
ex1480384
ex15804105
ex161004106
ex171005146
ex182004166
ex192005188
ex202006208
ex214004208
ex2240052410
ex2350052010
ex2450062412
ex2550062812
Table 5. Comparison of results between MILP and the proposed GA.
Table 5. Comparison of results between MILP and the proposed GA.
Problem InstancesMILPGAGap (%)
Makespan (A1)CPU TimeMakespan (A2)CPU Time (Seconds)(A1–A2)/A2
ex11328.3364.45 s1328.330.800.00
ex21335.3338.36 s1335.330.910.00
ex31408.0036 h1356.001.573.83
ex41363.0036 h1363.001.560.00
ex51374.3336 h1359.001.611.13
ex61988.3336 h1798.671.7510.54
ex71661.0036 h1547.331.837.35
ex836 h1565.672.11
ex936 h1928.003.49
ex1036 h1575.004.18
ex1136 h1813.135.63
ex1236 h3149.6711.84
ex1336 h2669.6712.40
ex1436 h4809.6726.08
ex1536 h3898.3331.28
ex1636 h4412.33105.44
ex1736 h3975.00127.12
ex1836 h7881.67547.49
ex1936 h6136.00635.98
ex2036 h6011.33662.59
ex2136 h12,447.002680.81
ex2236 h9843.003103.88
ex2336 h13,613.004304.06
ex2436 h10,305.335157.29
ex2536 h9685.005704.66
“–” indicates that the feasible solution is not obtained.
Table 6. Comparison of results between GA_HM and GA_SM.
Table 6. Comparison of results between GA_HM and GA_SM.
Problem
Instances
GA_HMGA_SMGap (%)
Makespan (B1)CPU Time (Seconds)Makespan (B2)CPU Time (Seconds)(B2–B1)/B1
ex11328.330.801328.330.720.00
ex21335.330.911335.330.850.00
ex31356.001.571356.001.660.00
ex41363.001.561363.001.630.00
ex51359.001.611359.001.380.00
ex61798.671.751798.672.080.00
ex71547.331.831547.332.220.00
ex81565.672.111565.672.420.00
ex91928.003.491931.334.060.17
ex101575.004.181592.333.211.10
ex111813.135.631875.003.703.41
ex123149.6711.843258.004.943.44
ex132669.6712.402877.335.137.78
ex144809.6726.085294.007.0310.07
ex153898.3331.284214.677.208.11
ex164412.33105.444704.3317.066.62
ex173975.00127.124222.3313.266.22
ex187881.67547.498854.6725.4312.35
ex196136.00635.987480.3324.2721.91
ex206011.33662.597269.6723.8920.93
ex2112,447.002680.8115,674.0056.0925.93
ex229843.003103.8813,254.0057.2534.65
ex2313,613.004304.0617,192.6780.5326.30
ex2410,305.335157.2913,287.6779.2928.94
ex259685.005704.6613,202.3380.9236.32
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zheng, Y.; Xu, M.; Wang, Z.; Xiao, Y. A Genetic Algorithm for Integrated Scheduling of Container Handing Systems at Container Terminals from a Low-Carbon Operations Perspective. Sustainability 2023, 15, 6035. https://doi.org/10.3390/su15076035

AMA Style

Zheng Y, Xu M, Wang Z, Xiao Y. A Genetic Algorithm for Integrated Scheduling of Container Handing Systems at Container Terminals from a Low-Carbon Operations Perspective. Sustainability. 2023; 15(7):6035. https://doi.org/10.3390/su15076035

Chicago/Turabian Style

Zheng, Yan, Meixian Xu, Zhaohu Wang, and Yujie Xiao. 2023. "A Genetic Algorithm for Integrated Scheduling of Container Handing Systems at Container Terminals from a Low-Carbon Operations Perspective" Sustainability 15, no. 7: 6035. https://doi.org/10.3390/su15076035

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