Next Article in Journal
Machine Learning and Case-Based Reasoning for Real-Time Onboard Prediction of the Survivability of Ships
Previous Article in Journal
Coastal Fish Fauna in the Cystoseira s.l. Algal Belts: Experiences from the Northern Adriatic Sea
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Iterative Re-Optimization Framework for the Dynamic Scheduling of Crossover Yard Cranes with Uncertain Delivery Sequences

Logistics Research Center, Shanghai Maritime University, Shanghai 201306, China
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2023, 11(5), 892; https://doi.org/10.3390/jmse11050892
Submission received: 9 March 2023 / Revised: 19 April 2023 / Accepted: 20 April 2023 / Published: 22 April 2023
(This article belongs to the Section Coastal Engineering)

Abstract

:
In yard-crane scheduling problems, as loading operations take priority over unloading, the delivery sequence of unloading from the quaysides to the yard is uncertain. The delivery sequence changes may make crane scheduling more difficult. As a result, the crane operations schedules developed statically become suboptimal or even infeasible. In this paper, we propose a dynamic scheduling problem considering uncertain delivery sequences. A mixed-integer linear program is developed to assign tasks to cranes and minimize the makespan of crane operations. We propose an iterative solution framework in which the schedules are re-optimized whenever the delivery sequence change is revealed. A genetic algorithm is proposed to solve the problem, and a greedy algorithm is designed to re-optimize and update the solution. To make the updated solution take effect as soon as possible, regarding batch-based task assignment, the tasks in the scheduling period are divided into several batches. In this case, the instant requests arising from the delivery sequence change are added to corresponding batch tasks and re-optimized together with the tasks of this batch. In addition, a relaxation model is formulated to derive a lower bound for demonstrating the performance of the proposed algorithm. Experimental results show that the average gap between the algorithm and the lower bound does not exceed 5%. The greedy insertion algorithm can re-optimize the instant requests in time. Therefore, the proposed iterative re-optimization framework is feasible and has the advantages (necessity) of batch-based task assignment.

1. Introduction

In automated container terminals (ACTs), the container yard is an important operation area that connects the terminal quayside and inland [1] . The yard is configured with several blocks, each with one or two yard cranes for loading and unloading tasks. However, the complex operations in the yard limit the overall production efficiency of the terminal. To improve efficiency, the ACT configures a crossover yard crane to cooperate with loading and unloading tasks in the yard block. A schematic diagram of a block is shown in Figure 1. The crossover yard cranes, one larger (Crane 1) and one smaller (Crane 2), run on different rail tracks. They can pass each other and move freely from the seaside and landside and in the reverse direction. Hence, the advantage of the crossover yard crane is that both cranes can pass each other and handle any tasks on the range of the yard block.
However, the two cranes are not allowed to perform operations (i.e., drop and lift a container) simultaneously in a certain bay; otherwise, interferences will occur [2]. In addition, the small crane cannot cross the larger crane if the larger one is working. As a result, interferences increase the complexity of modeling the crossover yard-crane scheduling problem. Specifically, the objective is not only to determine the crane scheduling and crane routing but also to prevent crane interferences (i.e., conflict-free scheduling). We will refer to our problem as the crossover yard-crane scheduling problem. Typically, the terminal divides the area of the yard block into several groups with various attributes for stacking containers Jiang and Jin (2017) [3]. For example, the export containers are stacked close to the seaside for easy loading on vessels, and the import containers are close to the landside for easy exiting. In this paper, we dispatch the crossover yard crane to handle the unloading operations (import tasks).
The priority of loading and unloading operations affects the delivery sequences of import containers to the yard block. In ACTs, the loading and unloading operations are performed simultaneously while vessels are berthing [4]. To optimize the operating time to guarantee the shipping date, in general, the loading operations are given higher priority than unloading (i.e., loading-first). To ensure continuous loading, cranes in the yard should alternately deliver containers to quay cranes [5]. However, continuous loading operations are difficult to guarantee due to too many random factors in the terminal operations. Therefore, the terminals try to relax the other optimization objectives to achieve continuous loading operations as far as possible, e.g., the delivery sequence in the unloading scheme is allowed to be adjusted frequently. As a result, the planned delivery sequence is subject to uncertainty due to the loading-first operational requirement. For example, the task may be handled behind or ahead of the planned schedule, or a container planned to be delivered to the yard block may be delivered to other blocks. Figure 2 illustrates the delivery sequences of the two yard blocks before and after adjustment. In the upper part of Figure 2, ten containers are distributed on a vessel in two tiers. The quay crane first handles the upper tier and then the lower tier. In the scheme, the ten containers are delivered to two yard blocks, and the delivery sequences are shown in Figure 2a. However, in loading-first, the continuous delivery of the export containers from yard block 2# may cause it to be unable to handle import container 5 in time. However, container 5 must be handled so that container 10 can be handled successfully, whereas waiting would cause other exceptions. Hence, the delivery of container 5 to yard block 2# is a feasible solution, as shown in Figure 2b. Therefore, in field operations of ACTs, the delivery sequence from the quay cranes to the yard block is subject to uncertainty.
The yard operations are subject to uncertain delivery sequences and may cause disturbance to the planned scheme of the crossover yard crane. The planned scheme may become suboptimal or even infeasible under uncertainty [6]. To eliminate as much as possible the impact of uncertainty on production operations, terminals need to constantly adjust the scheme of cranes. As a result, a new set of tasks (i.e., instant request) emerge to adapt to uncertainty. When instant requests occur, the terminals should update the scheme quickly. This paper proposes an iterative solution framework in which the instant request is re-optimized whenever the delivery sequence change is revealed. The dynamic scheduling of the instant request for cranes may be like solving static problems with the latest available data. Therefore, efficient re-optimization is the key to a quick response to the instant request.
Moreover, the re-optimized scheme takes effect as soon as possible to ensure continuous operation. In the literature, heuristic algorithms are widely used for solving dynamic scheduling problems, e.g., [6,7,8,9,10]. Among them, the batch-based task assignment and the rolling-horizon are usually developed to cope with uncertainty and large-scale operations at terminals. Inspired by these approaches, we divide the task to be handled within a planning period into several batches. The scheme of the crossover yard crane is generated within each batch task one by one. When instant requests emerge, we add these requests to an appropriate batch task. Then, the instant requests perform a re-optimization along with the tasks that are already in that batch. Therefore, within the re-optimization framework, the re-optimized scheme is generated quickly to ensure continuous operations. In addition, the batch-based task assignment approach can avoid extensive scheme adjustments and reduce the difficulty and cost of task adjustment in static mode.
In the scheduling of crossover yard cranes, the coupling of operational processes and the interdependence of loading and unloading decisions and uncertainties constitute the complexity [11]. To simplify, Vis and Carlo [12] formulated the crossover yard-crane scheduling problem. [13] abstracted the crane scheduling problem as a multiple asymmetric generalized traveling salesman problem (TSP) with precedence constraints. Chen et al. [14] proposed a multi-commodity network flow model to formulate the integrated scheduling of cranes and automated guided vehicles. The approach of the above studies inspires us to formulate the scheduling problem of the crossover yard crane as a vehicle routing problem with interference constraints. A workload balanced model inspired by [12] is developed to derive a lower model. In addition, interference will occur if two cranes are operating simultaneously at the same bay. To avoid interference, [15] dealt with the interference between two cranes by analyzing the minimum time interval between any two tasks and representing the interference relationship with a matrix. They developed a greedy-based insertion algorithm to re-optimize infeasible solutions. Pre-defining the obstacle graph is another approach to avoiding interference. For example, Briskorn and Angeloudis [16] pre-defined the rules for crane avoidance when interference occurs and separated the scheduling problem using a decomposition strategy. This paper analyzes two forms of interference and proposes an avoidance strategy and its exact calculation methods.
The scheduling problem of cranes is NP-hard. Most studies attempt to develop a variety of algorithms to solve large-scale problems. We summarize the algorithm in three aspects: (1) Model-based mathematical heuristics, e.g., Branch-and-Bound [14] and Branch-and-Cut [2]; (2) neighborhood search-based heuristics, e.g., greedy [15]; and (3) evolutionary algorithms based on swarm optimization, e.g., genetic algorithm [17] and Particle swarm optimization [18]. Inspired by the methods, a Branch-and-Bound and a genetic algorithm are proposed for solving the planned scheme with small-scale and medium-scale instances, respectively. The instant requests are re-optimized by a greedy insertion algorithm. The proposed algorithms run within the iterative re-optimization framework.
The uncertain delivery sequence may make the planned scheme of crossover yard crane suboptimal or even infeasible. We propose an iterative re-optimization framework for the dynamic scheduling of cranes. We propose mixed-integer linear programming to solve the solution (i.e., the sequence of the cranes). A genetic algorithm is developed to solve the planned scheme, and a greedy-based insertion algorithm is designed to re-optimize the batch tasks that include instant requests. Moreover, a relaxation model is proposed to derive a lower bound for demonstrating the performance of the proposed algorithms. The major contributions of this paper are: (1) proposing a dynamic optimization approach for complex field operations and demonstrating that the greedy algorithm can be used effectively in a dynamic environment; (2) modeling and solving the scheduling problem batch by batch, avoiding extensive adjustments to the planned scheme; and (3) providing insights into how to choose an appropriate duration of the scheme under various workloads at terminals.
The rest of the article is organized as follows. In Section 2, we present a literature review of related studies. In Section 3, we develop a model for scheduling the crossover yard crane and derive a relaxation model to provide a lower bound. Section 4 develops an iterative re-optimization framework that contains a genetic algorithm and a greedy insertion algorithm. Numerical experiments are presented in Section 5 to show that the framework can cope with the dynamic problem. Section 6 concludes this paper.

2. Related Studies

2.1. Crane Scheduling

Operations research on ACTs has gained widespread attention in the field of Port Logistics. An essential research topic is scheduling optimization for operating devices. The aim is to improve production efficiency and thereby reduce the berthing time of the vessel [15]. In the container yard, a block is usually configured with one or two cranes for handling the tasks. There are two kinds of cranes, namely, rail-mounted gantry cranes (RMGs) and rubber-tired gantry cranes (RTGs). The RMG is automatically controlled, and the ASCs (including crossover yard cranes) fall into this category. For a review of research on RTGs, see [19]. The ASCs have the advantage of high-level operational efficiency and low labor costs and are currently used in terminals such as the Hamburg Port and Shanghai Port.
Developing a scheduling plan (i.e., scheme) for cranes is complex. Generally, a mathematical program is developed subject to several assumptions. Even so, the scale of tasks that the model can solve is very limited (no more than 20 tasks). To solve large-scale instances and to improve the applicability of the model, many studies have developed a decomposition-based approach. This approach decomposes the original problem into a master problem and a series of sub-problems, e.g., [2,3,14]. To simplify the solving of sub-problems, multi-stage or multi-layer iterative algorithms are proposed to reach a continuous interaction between the main problem and several sub-problems, e.g., the column generation algorithm continuously generates new columns using an optimality test. Finally, the master problem continues to be improved and solved. In addition, swarm optimization-based algorithms have advantages in solving scheduling problems. The genetic algorithms (GAs), have adaptive and robust features which improve search diversity while avoiding premature convergence of the algorithm. For example, [15,17,20] used GAs to solve the crane scheduling problem including multiple operating devices. Table 1 lists the pioneering research on yard-crane scheduling. The development of heuristic or intelligent algorithms has been of interest to most studies.

2.2. Dynamic Optimization

In a real-world system, the constituent elements are interrelated and interlocked, constituting the complexity of the system. Among them, the dynamic nature is a major expression of complexity, and it is always throughout the system’s operational process. For example, in ACTs, multi-level operating devices are highly coordinated and orderly when completing the operations. However, the devices and their operational activities affect each other. In particular, if there is a change in an operation, then its related operational activities involve taking appropriate action to respond to the impact of that change. Therefore, the dynamic optimization of operational activities at all levels in response to changing demands is the direction of research into terminal operations.
This section summarizes the studies on three aspects of dynamic optimization, namely, distribution vehicle routing optimization, job shop scheduling, and crew (or crew) staff scheduling for aircraft (or trains). These studies are listed in Table 2. In terms of modeling, Markov decision processes and non-linear programming methods are commonly used to describe dynamic processes. To simplify the solving, mathematically based heuristic algorithms such as column generation and Lagrangian relaxation are used to deal with complex constraints in the model. On the other hand, the dynamic process is formulated as a neural network and solved using machine learning approaches.

2.3. A Summary

Crane scheduling problems are complex, and researchers work to come up with new solutions to serve the production practices of terminals. For example, 13 Gharehgozli et al. [13] formulated the crane scheduling problem as a multiple asymmetric generalized traveling salesman problem (TSP) with precedence constraints. Nossack et al. [2] proposed a decomposition approach to solve the scheduling problem of the crossover yard crane. The approach decomposes the problem into two sub-problems and connects them via logic-based Benders’ constraints to prevent crane interference. The related literature has provided rich and solid contributions that point the way to our work. Inspired by the literature, we formulate the scheduling problem as a vehicle routing problem with interference constraints. Similarly, the main component is to determine the task assignment of each crane and the operational order (i.e., sequence). The difference is that two cranes should avoid conflict at the same time on the same bay. We provide a rigorous conflict analysis process, which is an innovation of this paper.
In addition, the planned scheme of the cranes is influenced by the loading-first strategy, and the re-optimization of the affected scheme is necessary to ensure the optimality of the operations. In this paper, we study the dynamic scheduling of cranes while considering uncertain delivery sequences. To reduce the impact of the dynamic scheduling on the planned scheme, a batch-based task assignment inspired by Gans and Van Ryzin (1999) and Ozbaygin and Savelsbergh (2019) [7,8] is used to divide the task within the scheduling period into several batch tasks, and the formulations and solving are independent within each batch task. Another innovation is that we propose a solution framework with a genetic algorithm and a greedy insertion algorithm to cope with uncertainty.

3. Formulations

3.1. Problem Definition

This paper investigates a scheduling problem of the crossover yard crane with an uncertain delivery sequence. The tasks to be handled consist of a series of import containers. The import containers enter the yard block at the seaside. Each task has two locations: the starting position (i.e., origin) and the target position (i.e., destination). Origins are located on the seaside, and destinations are located in a certain position in the yard block. The crossover yard-crane configuration is two cranes that can pass each other while handling tasks. Each task is dispatched to exactly one crane. The crane lifts the container from the origin and drops it at the destination. If the cranes are ready to pass each other, the spreader of the larger crane needs to be located at the far-end side of the crane to guarantee effective operations.
However, interferences may occur if the larger crane (Crane 1) works (i.e., lift or drop a container) in a certain bay and the smaller crane (Crane 2) wants to pass or work in the same bay as well, as illustrated in Figure 3. In Figure 3, there are two crossover points for two crane operations, i.e., point A and point B. The two cranes conflict at point A, while point B is conflict-free. In addition, the two cranes are not allowed to work (i.e., lift and drop a container) simultaneously at the seaside or at a certain bay in the yard block.
Unlike the universal scheduling problem, the objective is not only to determine the crane scheduling and crane routing but also to prevent crane interferences. Therefore, three major decision problems emerge from the scheduling of crossover yard cranes, namely: (1) crane scheduling: the task is dispatched to the cranes; (2) crane routing: the handling sequence of each crane; and (3) preventing crane interferences: conflict-free scheduling.
The parameters are explained as follows. We address the case of two cranes K = 1 , 2 , where 1 represents the larger crane and 2 represents the smaller crane. The bays in the yard block are denoted by B = 0 , 1 , , 40 , where 0 represents the bay at the seaside. For each task i J , the origin O i and destination D i are known, as explained below. As a result, for each task i , its service time T i (i.e., the travel time of the crane from the origin to the destination) is known. We assume that the travel time between any two bays is measured in time units. One time unit T m corresponds to the time required by the crane to move the distance of one container (i.e., one bay)—a default of 4 s. We define T i j as the empty travel time between any two tasks i , j . In addition, T s denotes the time of lifting and dropping a container)—a default of 30 s, i.e., 7.5 T m .
Parameters
J :Set of tasks. J = 1 , 2 , , N , indexed by i , j .
J , J + : J = J O and J + = J O ¯ , where O and O ¯ indicate the start and finish dummy tasks, respectively.
K :Set of cranes, K = 1 , 2 , indexed by k .
B :Set of bays, B = 0 , 1 , , 40 , indexed by b .
O i , D i :The origin/destination of task i , D i B \ 0 , O i = 0 .
T i j :Empty travel time between two adjacent tasks i ,   j .   T i j = O j D i T m .
T m :Time unit, u = T m .
T i :Service time of task i .
T s :The time of lifting or dropping a container by crane, T s = 7.5 · u .
Therefore, crane scheduling and crane routing need to be addressed to find the efficient assignment and sequence of the two cranes and to find efficient combinations of tasks such that the total travels are minimized. The assignment and the sequence constitute the scheme of the crossover yard crane. Meanwhile, the scheme must not contain a conflicted handling path, i.e., conflict-free scheduling.

3.2. The Model

The proposed problem aims to optimize the task assignment and the sequences of cranes by minimizing the makespan. For each task i , three primary decisions need to be clarified, namely, (1) which crane is going to handle task i ; (2) at what time is crane k ready to lift task i at its origin; and (3) the order (i.e., sequence) in which crane k should handle the tasks that it is assigned. In addition, the handling path contained in the two sequences should not overlap, i.e., performing interference avoidance if there is interference in the scheme. The decision variables in the model are as follows.
Variables
x k i j : x k i j 0 , 1 . 1 if tasks i and j are handled by crane k sequentially; otherwise, 0.
y k i : y k i 0 , 1 . 1 if task i is handled by crane   k ; otherwise, 0.
a i j : a i j 0 , 1 . 1 if task i starts before task j ; otherwise, 0.
b i j : b i j 0 , 1 . 1 if task i ends before task j ; otherwise, 0.
s k i , c k i :The start/completion time of the task i handled by crane k .
s i , c i :The start/completion time of the task i .
A mixed-integer linear programming model [M1] is formulated to determine a scheme for both cranes, indicating the order in which all tasks should be handled so that the maximum completion time is minimized (i.e., the makespan). The objective function f 1 is shown in Constraint (1).
[M1]
min f 1 | 1 ; 2 18
f 1 = min max k K , i J c k i
(1)
Baseline model
The baseline model formulates the scheduling of the crossover yard crane without considering interference. The modeling mechanism of the crane scheduling problem is the same as that of the vehicle routing problem, i.e., both with assignment constraints and order constraints. In the proposed problem, the assignment constraints are the requirement for handling the given tasks, and the order constraints are the requirement for the sequence of operating tasks. The difference is that the demand in the crane scheduling problem is homogeneous and there are no capacity constraints on the cranes (i.e., one-load operations). The segment constraints of the baseline model are shown in Constraints (2)–(12).
Constraint (2) ensures that one and only one task follows the start dummy task and one and only one task leads the finish dummy task. Constraint (3) guarantees that all tasks are handled by one crane. In Constraint (4), the assignment variable ( y k i ) is presented by the sequencing variable ( x k i j ), namely, task i is handled by crane k if task i is assigned to crane k . Constraint (5) ensures that the numbers of in-arcs and out-arcs of each task are either one or zero. Constraint (6) determines the start time and completion time of each task. In Constraint (7), the start time of a task is restricted by the completion time of the precedent task handled by the same crane ( x k i j ). Constraints (8) and (9) are upper operating time constraints. Constraint (10) is a minimum value of M a . Constraints (11) and (12) constrain the ranges of the variables.
j J x k , O , j = i J x k , i , O ¯ = 1 ,   k K
k K y k i = 1 ,   i J
j J + x k i j = y k i ,   k K , i J
i J x k i j = i J + x k j i ,   k K , j J
c k i s k i + T i + 2 · T s + y k i 1 · M a ,   i J , k K
s k j c k i + T i j + x k i j 1 · M a ,   i J , j J + , k K
s k i y k i · M a ,   i J , k K
c k i y k i · M a ,   i J , k K
M a = i j T i + T i j + 2 · N · T s
s k i , c k i 0 , i J , k K
x k i j , y k i 0 , 1 ,   i , j J , k K
(2)
Conflict-free scheduling
The loading and unloading decisions are interdependent due to interference. The solution by Constraints (2)–(12) may be infeasible, i.e., there is conflict in the two sequences. Hence, generating conflict-free sequences in the scheme constrains the time relationship of operations at the same bay. Constraints (13) and (14) represent the start time and completion time of operating task i . Constraints (15) and (16) guarantee that either the start (or completion) time of task i is later or the start (or completion) time of task j is later. Constraint (17) makes sure that the start time of task i is strictly earlier than task j at the seaside. Constraint (18) makes sure that the completion time of task i is strictly earlier than task j on a certain bay in the block. Constraints (19) and (20) constrain the ranges of the variables.
s i = k K s k i ,   i J
c i = k K c k i , i J
a i j + a j i = 1 , i , j J ,   O i = O j , i j
b i j + b j i = 1 , i , j J ,   D i = D j , i j
s j s i + T s + a i j 1 · M a ,   i , j J , O i = O j , i j
c j c i + T s + b i j 1 · M a ,   i , j J , D i = D j , i j
s i , c i 0 , i J
a i j ,   b i j 0 , 1 ,   i , j J

3.3. Analysis of Variables and Model

In this section, we analyze the validity of Constraints (15) and (16) based on the characteristics of the problem. The critical conditions for conflicts are shown in Figure 4. We use Figure 4b as an example to illustrate the interference relationship between two cranes. Within a certain time horizon R , two cranes preparing to store task i and task j , respectively, in the same bay (i.e., D i = D j ) may conflict. We introduce the task i , i 0 , i + to denote the left-, median-, and right-critical cases of conflict, respectively. Introducing Δ measures the overlap time of conflict, i.e., Δ can be negative, positive, or zero, where Δ = c 1 , i * c 2 , j , i * i , i 0 , i + . Thus, the overlap times Δ between task j and i , i 0 , i + are T s ,   0 ,   T s , i.e., the length of the diagram between the “two-way arrows” is the time horizon R in which the conflict may occur, where R = T s , T s ,     Δ R .
The two types of conflict and their avoidance rules are shown in Table 3. Namely, the two tasks are ready to be lifted by the crane at the seaside or are ready to store in a certain bay. When the two cranes are ready to drop containers at the same bay (see Figure 4b), this currently delays one crane’s completion time c 1 , i as it has to wait until the other crane completes its operations. When Δ 0 , the waiting time is T s Δ ; otherwise, the waiting time is T s + Δ , i.e., T s Δ . Therefore, the completion time of storage operations by Crane 1 is set to c 1 , i + T s Δ . Similarly, the avoidance rule in Figure 4a follows the above analysis.

3.4. A Lower Bound

In the scheduling problem under study, we deal with two cranes that can handle all tasks. In this section, we derive a model to determine a lower bound for the makespan of the two cranes. The key of the model is to solve the sequence problem for a single crane. Vis and Roodbergen [45] proposed an optimal lower-bound derivation method based on dynamic programming, whose objective is to find the shortest path of crane operations that contains all tasks. Vis and Carlo [12] demonstrated that the makespan of the two cranes is approximately equal to half the travel time of a single crane for all tasks. Inspired by the above two approaches, we propose a model for deriving a lower bound considering the workload balanced. In this model, the makespan of the two cranes is half of the operating time for all tasks. We introduce an integer decision variable u i j 0 , 1 to denote that task j is handled by the crane immediately after task i . A relaxed model [M-LB] is developed to derive a lower bound f L B .
The objective function (21) is to minimize the makespan under the workload balanced for both cranes. Constraint (22) ensures that one and only one task follows the start dummy task and one and only one task leads the finish dummy task. The degree constraint (23) imposes that exactly two edges are incident into each vertex associated with a task. In Constraint (24), the operation sequence constraint of ASCs is converted into the well-known generalized sub-tour elimination constraints. However, Constraint (24) has a cardinality growing exponentially with N . Therefore, we relax the constraints containing binary variables u i j 0 , 1 to variables 0 u ¯ i j 1 , namely, Constraint (26). The model can be solved by CPLEX. As a result, we find the lower bound for the makespan as a criterion for evaluating the performance of the proposed algorithms.
[M-LB]
min z = 1 2 · 2 · N · T S + i , j J u i j · T i j + i J T i
Subject to
j J u O , j = i J u i , O ¯ = 1
i < j u i j + j < i u j i = 2 , i J
i S , j S u i j S 1 , S J , 2 S < N 1
u i j 0 ,   1 , i , j J
0 u i j 1 , i , j J

4. The Framework and Solution Algorithms

In this paper, we propose a dynamic scheduling problem for a crossover yard crane while considering an uncertain delivery sequence. To solve the problem, we develop an iterative solution to cope with the delivery sequence changes. Initially, the planned scheme is activated and cranes handle the tasks according to the planned scheme. The planned scheme may become suboptimal or even infeasible when instant requests emerge. Hence, the instant requests are re-optimized together with the remaining tasks within the planned scheme to generate a new scheme (i.e., an updated scheme). Then, when the scheme is updated, the cranes handle the updated scheme until the delivery sequence changes again. If a new instant request occurs, we solve another re-optimization problem. In brief, the iterative solution generates an updated batch of schemes whenever the delivery sequence changes. We propose a dynamic optimization process as follows.
Step 1The given tasks are divided into multiple-batch subtask set φ i , i 1 , 2 , , m . T i and T i + denote the start time and completion time of the scheme φ i , respectively.
Step 2 At   moment   0 ,   three   schemes   of   subtasks   are   generated ,   i . e . ,   scheme   P 1 , P 2 , P 3 . Set i 1 .
Step 3At the current moment t ( t T i , T i + ), one scheme P i + 3 is generated backwards.
Step 4If an instant request r emerges at moment I r T j , T j + ,   j i + 3 , i + 4 , , m , then request r is added into the subtask φ j and this subtask is re-optimized. The subsequent schemes P i + 3 , P i + 4 , , P m should also be refreshed—return to Step 3. Otherwise, Step 5 is performed.
Step 5Scheme P i is generated and the current moment t * is recorded, where t * is the moment when all tasks in the scheme P i are completed.
Step 6The current moment and the progress of the task handling are updated. t t * , i i + 1 . Return to Step 3.
All the tasks in the scheduling period are divided into a multi-batch subtask φ i , i 1 , 2 , , m . During the scheduling period, the scheme of two cranes is generated for all subsets successively. Thus, within each scheme P i , there is a start time T i and a completion time T i + . When an instant request emerges at time t , the request is added to an appropriate subtask φ i , i.e., t T i , T i + ). Subsequently, the instant requests are re-scheduled together with the subtask φ i . The segmented optimization approach effectively reduces the computing time and is helpful for the updated scheme taking effect as soon as possible. In addition, several subtasks after that subtask with instance requests are also refreshed to ensure optimality.
The core of dynamic optimization is “generating schemes and handling tasks simultaneously”. Namely, at the same moment, the crane handles tasks within the scheme while generating the scheme for the remaining tasks. Dynamic optimization based on iterative updates is the premise for the design of the solution framework.

4.1. The Iterative Re-Optimization Framework

In ACTs, dynamics and real-time are always present in every process of field operations. Therefore, an updated scheme should be put into effect as soon as possible to maintain the smooth operations of the system. We develop an iterative re-optimization framework combining GA and greedy strategy to solve the proposed dynamic problem, and the structure is shown in Figure 5. The GA is used to generate the planned scheme of each subtask, while the greedy insertion algorithm is used to re-optimize the scheme that includes instant requests and to update the scheme that copes with changes in delivery sequences. It should be noted that the MILP solver (e.g., CPLEX) is used to find the exact solution (i.e., scheme) for small-scale instances. For large-scale instances, the genetic algorithm is applied for solving. The re-optimization problem is solved during the handling process of two cranes, so it is very important to quickly generate the updated scheme. The greedy insertion algorithm has the features of lower complexity and fast search and can insert the instant request into the best position in the sequence based on the initial scheme. As a result, the greedy algorithm can re-optimize and generate an updated scheme with little computing time.
In this framework, the constitutive logic of the algorithm and its closed-loop optimization strategy has three advantages. First, the genetic algorithm, or CPLEX, solves a certain batch task rather than the entire set of tasks. Thus, the solution space is limited to a small space, and the possibility of finding the global optimal solution becomes greater. Second, the greedy algorithm can quickly generate an optimal scheme in its finite neighborhood to complete the re-optimization of the corresponding batch of tasks. Finally, the re-optimized scheme forms a smoother transition with the planned scheme, avoiding large disturbances to crane operations due to extensive adjustments.

4.2. A GA Based on Greedy Insertion

4.2.1. Encoding and Initial Population

In this section, we use randomly arranged encoding vectors to represent the handling sequences of cranes. Figure 6 illustrates the encoding vector (i.e., an individual) with nine points, where each point corresponds to a task and all points are distinct. We cannot know the task assigned to each crane until it is decoded; that is, Crane 1 handles the task set 6 , 3 , 1 , 8 , 4 and Crane 2 handles the task set 2 , 9 , 7 , 5 , which are determined according to a decoding algorithm (as in Section 4.2.2).
We first randomly generate and evaluate 100 individuals. Then, the first 30 individuals with a smaller makespan were selected as the initial population. In field operations, the population size can be adjusted according to the limitations of the computing time.

4.2.2. Decoding Algorithm

The decoding strategy of the GA is to transform the vector into a sequence of the two cranes. The encoding vector is converted into a feasible sequence of crossover yard cranes subject to sequential constraints and conflict-free constraints. The decoding strategy and its corresponding algorithm (Algorithm 1) are illustrated using a batch task as an example.
Before decoding, the number of tasks assigned to each crane is not determined. A flexible strategy is developed for assigning the optimal task set to each crane. We traverse the encoding vector from the head to the end, successively splitting the points of the individual into two segments (i.e., Step 2 in Algorithm 1). In each traverse, the makespan of sequences is evaluated. Finally, the sequence with a minimum makespan is the optimal solution.
Algorithm 1: Decoding strategy based on random arrangement
Input:(1) The set and parameter: J , K , O i , D i ; (2) random arranged sequence: S 0 .
Output:(1) S k : the optimal scheme of cranes, k K ; (2)   s k i , c k i : the start and completion time of task i , i J , k K ; (3) f : the makespan.
Variables: F : the set of the makespan.
Steps
Step 1Initialization: Let f be a sufficient number. Set 0 s k i , c k i .
Step 2For  w in W , W = S 0
Step 2.1Divide the sequence S 0 , and the preceding and succeeding segments are assigned in turn to the two cranes, i.e., S 1 * * S 0 : , w ; S 2 * * S 0 w , : .
Step 2.2Calculate the makespan f * * of sequence S k * * , k K and append f * * into F , i.e., F = F f * * .
Step 2.3End for
Step 3Find the minimum f * and its corresponding sequences S k * , i.e., f * = a r g m i n F .
Calculate the s k i * , c k i * in sequence S k * , k K .
Step 4Detect and avoid conflict.
Step 4.1For  i , j in S 1 * , S 2 *
Step 4.1.1If  O i = O j and Δ = s 1 , i * s 2 , j * T s , then set s 1 , i * s 1 , i * + T s Δ ;
Step 4.1.2Elif  D i = D j and Δ = c 1 , i * c 2 , j * T s , then set c 1 , i * c 1 , i * + T s Δ .
Step 4.1.3End for
Step 4.2Calculate the makespan f 1 * , f 2 * for the two sequences.
Step 4.3Set f * = max f 1 * ,   f 2 * .
Step 5If f * < f , then f f * , S k S k * , s k i s k i * , c k i c k i * .
Step 6Output f , S k , s k i , c k i , i J , k K .
Proposition 1.
The computational time complexity of Algorithm 1 is  O n + nm m 2 where  n  denotes the number of tasks and  m  denotes the number of tasks assigned to anyone crane  ( m < n ) .
Proof. 
The decoding algorithm consists of two main steps: task assignment and conflict avoidance. In the worst case, the randomly arranged sequence is split n times, and the two parts of the sequence at the front and back the split obtained are assigned to two cranes, respectively. Thus, the complexity of task assignment is O n . In conflict avoidance, the sequences assigned to the two cranes are calculated in turn to identify whether they conflict. Suppose the number of tasks assigned to one crane is m , then the other crane is n m . Thus, the complexity of task assignment is O m n m . Finally, the computational time complexity of the entire algorithm is O n + n m m 2 . □

4.2.3. Crossover and Mutation Operations

In GAs, we design a multi-point crossover operator and a 2-opt mutation operator to perform the neighborhood search. The operators are visualized in Figure 7. In brief, one or two individuals are randomly assigned as parents, and the neighborhood generations are executed to generate offspring. The operations of the operators are defined as follows.
In the decoding algorithm, the individual is split into two parts—front and back—as two sequences of crane operations. In the multi-point crossover operator, one point in each of the front and back parts of the individual is selected (the same operation is performed by the other individual), and then two points in the two individuals are exchanged to generate two new individuals. Therefore, the advantage of the multi-point crossover operator is that it can increase the diversity of search. The 2-opt mutation operator focuses on performing operations on the front or back half of an individual’s point position. This operation helps to prevent the algorithm from falling into a local optimum solution.
In addition, while executing the multi-point crossover operator, the point in the individual should be detected to avoid repetition. For example, the duplicate tasks 5 # and 6 # in the first individual need to be transformed to 3 # and 2 # . The second individual executes a similar operation.

4.3. Greedy Insertion

A greedy insertion algorithm (Algorithm 2) is developed to re-optimize the scheme. The instant request is added to a batch task close to its emergence time. The instant request (new task) is inserted at the corresponding position in the existing sequence in the scheme based on the principle of minimal incremental makespan, as shown in Figure 8. Multiple new tasks will be sorted by ascending service time T i , and greedy insertion operations are performed in turn, as in Algorithm 2.
Algorithm 2: The greedy insertion algorithm within the iterative re-optimization framework
Input:(1) Set of cranes: K ; (2) The sequence in planned scheme p : S k p , k K , p P ; (3) Set of instant requests: R
Output:(1) P p : the p-th updated scheme; (2)   s k i , c k i : the start and completion time of each task i in p-th scheme, i J , k K .
Variable:(1) T p , T p + : the start/completion time of p-th scheme; (2) δ : the minimum lead time for the planned to be re-optimize; (3) τ : the current moment.
Steps
Step 1At moment 0, generate a planned scheme for three batch tasks, i.e., the initial scheme P p , p 1 , 2 , 3 . Set m 1 .
Step 2The two cranes handle the scheme P m .
Step 3Within τ T m , T m + , generate a scheme for one batch task backwards P m + 3 .
Step 4If the emergence time of the instant request is close to the start handling time T p of the p-th planned scheme, i.e., τ < T p δ , p = m + 1 , m + 2 , then re-optimize the p-th planned scheme; otherwise, go to Step 7.
Step 4.1The instant requests j R are arranged in ascending order according to the service time T j and perform the insert operations in turn. Namely, take l = a r g m i n h c k i , inserting task l to S k p .
Step 4.2Update the sequence in the p-th scheme, S k p S k p l , S k ¯ p S k ¯ p \ R .
Step 5Avoid conflict as Step 4 in Algorithm 1. Update s k i , c k i s k i * ,   c k i * .
Step 6Generate a re-optimization scheme P p , p = m + 1 , m + 2 .
Step 7When τ T m + 1 , the scheme P m + 1 is handled by the two cranes; Set m m + 1 and return to Step 3.
Proposition 2.
The computational time complexity of Algorithm 2 is  O qr + r 2 + 1 log 2 r where  q  denotes the number of p-th scheme,  r  denotes the number of instant requests, and  log 2  denotes the logarithm with base 2.
Proof. 
Algorithm 2 consists of two processes, i.e., a sorting operation and a greedy insertion operation. Firstly, sorting the r instant requests by the length of the service has a computational time complexity of O r log 2 r . In the greedy insertion operation, suppose the p-th scheme has q tasks, and the q tasks and r instant requests constitute q + r tasks. Thus, in the worst case, there are total of q + r + 1 insertion positions, i.e., q + r + 1 insertion possibilities. Therefore, the computational time complexity of the entire algorithm is O q r + r 2 + 1 log 2 r .□

5. Computational Experiments

5.1. Instances

We generated several instances to demonstrate the effectiveness of the model [M1] and relaxation model M LB , the performance of Algorithm 1, and the re-optimization performance of Algorithm 2. The computer configuration was Intel (R) Core (TM) i7-10510 CPU @1.8 GHz, 16 G RAM. We used CPLEX as a solver for solving the proposed models.
We provide a generator to generate the datasets (https://github.com/MaritimeYZWang/craneSchedulingModel.git) accessed on 8 March 2023. We generated multiple sets of small-scale instances (i.e., I S = 5 , 6 , , 20 ) and large-scale instances (i.e., I L = 30 , 40 , 50 , 75 , 100 , 125 , 150 , 175 ), where the figures in the instances indicate the number of tasks. The dimensions of the block were 40 bays × 6 stacks × 5 tiers. The movement speed of the crane was set to 3   m / s , i.e., the crane can pass one bay (the length is 12 m) in 4 s (set as a unit). In addition, the lifting or dropping time for a container by crane was set to 30 s (i.e., 7.5 units). The origin O i and the destination D i were the two main parameters of task i , and an example is shown in Table 4.

5.2. Settings

The experimental purpose and settings are shown in Table 5.

5.3. Experimental Results

5.3.1. The Demonstration of Model and Algorithm

The working path of two cranes is solved using the MILP solver and Algorithm 1, respectively, as shown in Figure 9. The solid line represents the path of the crane in the loaded state, and the dashed line represents the path of the empty load operation. The results show that (1) there is no overlap between the operating times of the two cranes at the same bay, and (2) there is no crossover between the load paths (shown by the solid line) and the empty load paths (shown by the dashed line) of the two cranes. The above two points indicate that the conflict-avoidance rules and their constraints are effective. In addition, Algorithm 1 obtains conflict-free paths within 12 s. Hence, initially, it is shown that Algorithm 1 has a good performance. The working path for the instance with task 20 is shown in Figure 10.
The results of [M1] and Algorithm 1 as shown in Table 6. f L B represents a lower bound derived by M LB . The results show that the average gap between f L B and the optimal makespan f 1 is 4.19%. Hence, the relaxation model can provide a good lower bound and can be used as a benchmark for evaluating the optimized performance of the model and the proposed algorithms. The average gap between Algorithm 1 and the optimal makespan found by CPLEX is only 1.16% on average (the maximum gap is no more than 5%). The CPLEX is unable to solve the problem within an acceptable time when the number of tasks exceeds 10. However, Algorithm 1 is still able to find the approximate optimal makespan in a shorter time. Therefore, the proposed algorithm has a good performance in small-scale instances. In addition, the performance in large-scale instances was tested in Exp. 2.

5.3.2. Parameter Tuning and Performance

The GA has two main parameters (crossover/mutation probability) whose values affect the convergence ability of the algorithm. We selected several combinations of parameters to find the best convergence ability. Figure 11 represents the solving process in various parameter combinations. When crossover probability (C) and mutation probability (M) are set to 0.8 and 0.3 respectively, the algorithm finds the optimal makespan within 120 generations. The convergence trend of the other parameter combinations is approximately the same as the optimal parameters. Therefore, the proposed algorithm has a stable ability, which is beneficial to extend to the complex field operation at terminals. In addition, Figure 12 shows the solving process for the algorithm taking the optimal parameters. Before 120 generations, the average makespan is approximately uniformly distributed around the current optimal makespan. Therefore, the proposed algorithm has good performance in terms of optimization results, computing time, and stability. Hence, the algorithm can provide a reference in the algorithm design for terminals.
We use large-scale instances (i.e., N 30 ) to further test the performance of the proposed algorithms. Without loss of generality, the parameters near the optimal parameter combinations were taken to reduce the effect of fixed crossover and mutation probabilities on the solving. The results are shown in Table 8 and Table 9. The average gap between the proposed Algorithm 1 and the lower bound is no more than 5%. Therefore, the algorithm still has an advantage in solving large-scale instances.
In addition, to further validate the performance of the algorithm, we developed simulated annealing for comparison with the proposed GA. The same decoding strategy is used by both algorithms. The results show that the proposed GA outperforms simulated annealing in terms of solution quality and computing time, as shown in Table 7.
Table 7. Comparison of the simulated annealing and the proposed GA.
Table 7. Comparison of the simulated annealing and the proposed GA.
NSimulatedAnnealingAlgorithm 1(GA)Gap 1 (%)Gap 2 (%)
f a ( u ) C P U a (s) f b ( u ) C P U b (s)
20699.50 7.34 651.00 12.04 7.45−39.04
301076.00 27.01 1030.60 16.81 4.4160.68
401391.50 56.03 1306.00 40.58 6.5538.07
501775.50 124.54 1689.50 79.28 5.0957.09
752832.50 415.36 2699.00 256.99 4.9561.62
1003881.00 891.11 3772.50 672.93 2.8932.42
1254845.00 1755.37 4696.00 1162.30 3.1851.03
1506009.00 2782.72 5915.00 2223.17 1.5925.17
1757171.50 4957.47 7092.50 3537.56 1.1140.14
Note: Gap 1 = f a f b / f b × 100 % ; Gap 2 = CPU a CPU b / CPU b × 100 % .
Table 8. Results for each of the 30 tasks of Exp. 2.
Table 8. Results for each of the 30 tasks of Exp. 2.
No. f L B ( u ) Algorithm   1   ( N = 30 ) Diff Ave (%)
Min (u) Max (u) Ave (u) CPU (s)
1997.501050.001070.501061.5737.166.42
21018.001078.501090.501089.6233.307.04
31065.701113.001127.501124.3432.445.50
4959.20984.00996.50998.2539.034.07
5916.50946.00975.00956.4332.354.36
61009.001043.001060.001053.8538.784.44
7987.501017.001042.001027.8037.054.08
81017.501046.001061.501056.4557.023.83
9960.50999.001025.501011.6640.385.33
101028.001075.501090.501088.3541.045.87
11989.001028.001059.001039.9936.235.16
121022.701034.501054.001048.5834.592.53
131007.001035.501045.001044.0633.693.68
141039.501075.001087.501085.8738.094.46
15993.501024.501038.001036.4334.114.32
16978.001032.001045.501044.4836.536.80
17978.001000.501026.001009.5235.583.22
18936.70960.00980.00971.5032.413.72
19959.201016.501041.001028.1834.777.19
20898.00924.50947.00935.4333.284.17
Note: Diff   Ave = A v e f L B / f L B × 100 % .
Table 9. Results for each of the 50 tasks of Exp. 2.
Table 9. Results for each of the 50 tasks of Exp. 2.
No. f L B ( u ) Algorithm   1   ( N = 50 ) Diff Ave (%)
Min ( u ) Max ( u ) Ave ( u ) CPU (s)
11694.251753.001778.501769.22172.504.42
21664.001758.001779.501771.42153.846.46
31652.751726.501768.501745.41168.015.61
41749.001787.501813.001803.08155.293.09
51608.751674.001686.001690.00153.445.05
61663.501736.001758.501757.21168.275.63
71779.501807.001827.501817.67166.992.14
81671.001722.501740.501737.00168.803.95
91561.501632.501663.501649.07155.255.61
101666.751708.501739.001725.68154.473.54
111726.751792.501816.001810.56155.564.85
121676.251745.001756.001760.24168.895.01
131628.501676.001703.001688.98154.283.71
141741.001790.001814.001807.93167.843.84
151663.751729.001761.001747.41165.595.03
161676.501717.001749.501736.90167.503.60
171747.001807.001824.501821.77155.304.28
181681.501751.001779.501765.90154.075.02
191637.501695.001718.001710.97166.764.49
201793.501850.001874.501862.59169.773.85
Note: Diff   Ave = A v e f L B / f L B × 100 % .

5.3.3. Validity Analysis of the Framework

In the iterative re-optimization framework, the given tasks are divided into multiple batch subtasks, so that Algorithm 1 solves the scheme within each batch task one by one. Algorithm 2 quickly assigns the instant requests to a corresponding batch task and re-optimizes the scheme for this batch task. To verify the validity of this framework, we used various durations of the scheme to compare the planning results.
The effect of the duration of the scheme on planning results.
The duration of the scheme T is set to inf, 900, 600, and 300, where “inf” denotes the duration is unlimited. The results are shown in Table 10 and Figure 13. The smaller the duration (i.e., the more batch tasks divided), the greater the makespan, but the computing time is significantly shorter. In the framework for dynamic scheduling, there are only a few tasks in the scheme, which not only reduces the computing time but also reserves time and space for the dynamic scheduling of the instant requests generated by the change of delivery sequences. Therefore, selecting an appropriate duration will help to improve the efficiency of the developing scheme.
Analyze the effect of the volume of instant requests on results.
In this section, we define the degree of uncertainty β , which represents the ratio of the volume of instant requests to the number of tasks in the planned scheme, i.e., β = N I / N O . For example, the volume of instant requests N I for the instance N O = 30 is 3 when β = 10 % . A planned scheme is generated using Algorithm 1, and Algorithm 2 is invoked to perform a re-optimization of the tasks including instant requests. The results are shown in Table 11, and their visual representation is shown in Figure 14. The results show that the larger the degree β , the larger the incremental Υ of the makespan, and this effect gradually weakens as the duration of the scheme T decreases. There are two possible reasons: (1) as the uncertainty in the delivery sequence increases, re-optimizing increases the disturbance to the planned scheme, and (2) shortening the duration of the scheme helps to assign a more suitable batch task for instant requests and allows the updated scheme to take effect as soon as possible and reduce the disturbance to the planned scheme.

5.4. Discussion

Here, we present a discussion of the managerial implications for terminals’ operations based on the experimental results and our analysis of the experiments.
(1)
In the field operations of automated terminals, generating schemes for devices quickly is essential for real-time operations. The algorithm in this paper finds an approximate optimal makespan for 20 tasks within 12 s, and the gap between the makespan and the optimal makespan does not exceed 5%. In addition, experimental results show that the proposed algorithm can still guarantee solution quality with a small range of parameter drift. Therefore, the proposed genetic algorithm based on conflict-avoidance strategy is able to generate the scheme of cranes in a fast and stable manner.
(2)
The batch-based task assignment and optimization can overcome the effects of uncertainty in the delivery sequence on the operating system. With uncertainty, generating schemes for a large number of tasks at once does not guarantee that operations will proceed as planned. The approach of batch-based task assignment divides the given task into several batch tasks, and the schemes are generated within each batch task one by one. The experimental results show that when duration of the scheme is smaller (i.e., the more batch tasks divided), the computing time is significantly smaller, and the less affected it is by uncertainty, but the makespan also increases. Therefore, the batching method makes scheduling and operations flexible, but the number of batch tasks should be reasonably divided based on the data of historical operations.
(3)
The iterative re-optimization framework and its solution methods provide some theoretical references for dynamic scheduling. Dynamic scheduling is an essential requirement for scheduling in complex and changing environments. If all devices in the operating system perform the planned scheme, the static approach is perfectly capable. The scheme may be suboptimal or even infeasible due to the changes in the operating environment. As a result, re-optimization is necessary. However, the computing resources at terminals will be in short supply if completely re-optimized for all suboptimal schemes. Hence, the iterative re-optimization framework in this paper combines the two patterns (i.e., static and dynamic). Static scheduling is performed if there are no changes in the delivery sequence (i.e., no instant request). Dynamic scheduling is performed as soon as instance requests emerge. The effectiveness of optimization and re-optimization is verified by Exp. 4.

6. Conclusions

This paper proposes a dynamic scheduling problem for crossover yard cranes. For unloading operations, the crane scheduling scheme is usually based on the delivery sequence from the quayside to the yard. In automated container terminals, the loading-first rule is established to ensure the shipping date, which may lead to uncertainty in the delivery sequence for unloading operations. As a result, the planned scheme of cranes may change due to uncertainty, making the scheme become suboptimal or even infeasible. Therefore, we proposed an iterative re-optimization framework to re-optimize the scheme.
In this paper, conflict-avoidance constraints are derived to ensure the orderly operations of the two cranes. Meanwhile, we analyze the effectiveness of the formulated constraints. A mixed-integer program is proposed to solve the problem to minimize the makespan. We divide the given tasks into several batch tasks, and the scheme for each batch task is generated in turn. An iterative re-optimization framework is proposed based on batch-based task assignments and dynamic scheduling processes. Within this framework, a genetic algorithm is designed to generate the planned scheme for the cranes, and a greedy insertion algorithm is proposed to perform the re-optimization. Whenever the instant requests emerged by the delivery sequence change, the framework instantly adds them to a corresponding batch task and re-optimizes the batch task to generate an updated scheme. In addition, a relaxation model is proposed to derive a lower bound for comparison with the makespan by the proposed algorithms.
The experiments show that the average gap between the proposed algorithm and the optimal makespan obtained by the CPLEX solver is only 1.16% in small-scale instances. In large-scale instances, the average gap between the algorithm and the lower bound does not exceed 5%. The greater the degree of uncertainty in the delivery sequence, the greater the incremental increase of makespan compared to the planned scheme. However, this effect gradually weakens as the duration of the scheme decreases. Therefore, the iterative re-optimization framework can meet the requirements of dynamic scheduling, reserving enough time and space for the dynamic optimization of the instant requests. In addition, terminals should collect historical operational data and develop personalized solutions for yard operations to determine an appropriate duration of the scheme based on the workload.
The simultaneous consideration of multiple-device scheduling can optimize the empty load time between devices. In future research directions, the integrated scheduling problem, such as the integrated scheduling of AGVs and ASCs, can be considered to study the representation of dynamic scheduling on the integration problem and its modeling and algorithm design.

Author Contributions

Z.-H.H.: Conceptualization, Methodology. Y.-Z.W.: Formal analysis, Software, Writing- Reviewing and Editing. All authors have read and agreed to the published version of the manuscript.

Funding

National Natural Science Foundation of China: 71871136; the Natural Science Foundation of Shanghai: 23ZR1426500.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Informed consent was obtained from all subjects involved in the study. Written informed consent has been obtained from the patient(s) to publish this paper.

Data Availability Statement

The data that support the findings of this study are available in GitHub at https://github.com/MaritimeYZWang/craneSchedulingModel.git (accessed on 8 March 2023).

Acknowledgments

The authors thank the editors and the anonymous referees for the opportunity of considering this study. This study is partially supported by the Natural Science Foundation of Shanghai (23ZR1426500).

Conflicts of Interest

No conflicts.

References

  1. Carlo, H.J.; Vis, I.F.; 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]
  2. Nossack, J.; Briskorn, D.; Pesch, E. Container Dispatching and Conflict-Free Yard Crane Routing in an Automated Container Terminal. Transp. Sci. 2018, 52, 1059–1076. [Google Scholar] [CrossRef]
  3. Jiang, X.J.; Jin, J.G. A branch-and-price method for integrated yard crane deployment and container allocation in transshipment yards. Transp. Res. Part B Methodol. 2017, 98, 62–75. [Google Scholar] [CrossRef]
  4. Kizilay, D.; Van Hentenryck, P.; Eliiyi, D.T. Constraint programming models for integrated container terminal operations. Eur. J. Oper. Res. 2020, 286, 945–962. [Google Scholar] [CrossRef]
  5. Zhou, C.; Lee, B.K.; Li, H. Integrated optimization on yard crane scheduling and vehicle positioning at container yards. Transp. Res. Part E Logist. Transp. Rev. 2020, 138, 101966. [Google Scholar] [CrossRef]
  6. Otto, A.; Li, X.; Pesch, E. Two-way bounded dynamic programming approach for operations planning in transshipment yards. Transp. Sci. 2017, 51, 325–342. [Google Scholar] [CrossRef]
  7. Gans, N.; van Ryzin, G. Dynamic vehicle dispatching: Optimal heavy traffic performance and practical insights. Oper. Res. 1999, 47, 675–692. [Google Scholar] [CrossRef]
  8. Ozbaygin, G.; Savelsbergh, M. An iterative re-optimization framework for the dynamic vehicle routing problem with roaming delivery locations. Transp. Res. Part B Methodol. 2019, 128, 207–235. [Google Scholar] [CrossRef]
  9. Wang, Z.; Zhang, J.; Yang, S. An improved particle swarm optimization algorithm for dynamic job shop scheduling problems with random job arrivals. Swarm Evol. Comput. 2019, 51, 100594. [Google Scholar] [CrossRef]
  10. Xu, B.; Jie, D.; Li, J.; Zhou, Y.; Wang, H.; Fan, H. A Hybrid Dynamic Method for Conflict-Free Integrated Schedule Optimization in U-Shaped Automated Container Terminals. J. Mar. Sci. Eng. 2022, 10, 1187. [Google Scholar] [CrossRef]
  11. Boysen, N.; Briskorn, D.; Meisel, F. A generalized classification scheme for crane scheduling with interference. Eur. J. Oper. Res. 2017, 258, 343–357. [Google Scholar] [CrossRef]
  12. Vis, I.F.A.; Carlo, H.J. Sequencing Two Cooperating Automated Stacking Cranes in a Container Terminal. Transp. Sci. 2010, 44, 169–182. [Google Scholar] [CrossRef]
  13. Gharehgozli, A.H.; Laporte, G.; Yu, Y.; de Koster, R. Scheduling Twin Yard Cranes in a Container Block. Transp. Sci. 2015, 49, 686–705. [Google Scholar] [CrossRef]
  14. Chen, X.; He, S.; Zhang, Y.; Tong, L.; Shang, P.; Zhou, X. Yard crane and AGV scheduling in automated container terminal: A multi-robot task allocation framework. Transp. Res. Part C Emerg. Technol. 2020, 114, 241–271. [Google Scholar] [CrossRef]
  15. Hu, Z.-H.; Sheu, J.-B.; Luo, J.X. Sequencing twin automated stacking cranes in a block at automated container terminal. Transp. Res. Part C Emerg. Technol. 2016, 69, 208–227. [Google Scholar] [CrossRef]
  16. Briskorn, D.; Angeloudis, P. Scheduling co-operating stacking cranes with predetermined container sequences. Discret. Appl. Math. 2016, 201, 70–85. [Google Scholar] [CrossRef]
  17. Han, X.; Wang, Q.; Huang, J. Scheduling cooperative twin automated stacking cranes in automated container terminals. Comput. Ind. Eng. 2019, 128, 553–558. [Google Scholar] [CrossRef]
  18. Hsu, H.-P.; Tai, H.-H.; Wang, C.-N.; Chou, C.-C. Scheduling of collaborative operations of yard cranes and yard trucks for export containers using hybrid approaches. Adv. Eng. Inform. 2021, 48, 101292. [Google Scholar] [CrossRef]
  19. Vis, I.F.; De Koster, R. Transshipment of containers at a container terminal: An overview. Eur. J. Oper. Res. 2003, 147, 1–16. [Google Scholar] [CrossRef]
  20. Zhang, Q.; Hu, W.; Duan, J.; Qin, J. Cooperative Scheduling of AGV and ASC in Automation Container Terminal Relay Operation Mode. Math. Probl. Eng. 2021, 2021, 5764012. [Google Scholar] [CrossRef]
  21. Cao, J.X.; Lee, D.H.; Chen, J.H.; Shi, Q. The integrated yard truck and yard crane scheduling problem: Benders’ decomposition-based methods. Transp. Res. Part E Logist. Transp. Rev. 2010, 46, 344–353. [Google Scholar] [CrossRef]
  22. He, J.; Huang, Y.; Yan, W. Yard crane scheduling in a container terminal for the trade-off between efficiency and energy consumption. Adv. Eng. Inform. 2015, 29, 59–75. [Google Scholar] [CrossRef]
  23. Kim, K.H.; Kim, K.Y. An optimal routing algorithm for a transfer crane in port container terminals. Transp. Sci. 1999, 33, 17–33. [Google Scholar] [CrossRef]
  24. Li, J.; Yang, J.; Xu, B.; Yin, W.; Yang, Y.; Wu, J.; Zhou, Y.; Shen, Y. A Flexible Scheduling for Twin Yard Cranes at Container Terminals Considering Dynamic Cut-Off Time. J. Mar. Sci. Eng. 2022, 10, 675. [Google Scholar] [CrossRef]
  25. Liang, C.; Hu, X.; Shi, L.; Fu, H.; Xu, D. Joint dispatch of shipment equipment considering underground container logistics. Comput. Ind. Eng. 2022, 165, 107874. [Google Scholar] [CrossRef]
  26. Ng, W.C. Crane scheduling in container yards with inter-crane interference. Eur. J. Oper. Res. 2005, 164, 64–78. [Google Scholar] [CrossRef]
  27. Park, T.; Choe, R.; Ok, S.M.; Ryu, K.R. Real-time scheduling for twin RMGs in an automated container yard. OR Spectr. 2010, 32, 593–615. [Google Scholar] [CrossRef]
  28. Zhuang, Z.; Zhang, Z.; Teng, H.; Qin, W.; Fang, H. Optimization for integrated scheduling of intelligent handling equipment with bidirectional flows and limited buffers at automated container terminals. Comput. Oper. Res. 2022, 145, 105863. [Google Scholar] [CrossRef]
  29. Huisman, D.; Freling, R.; Wagelmans, A.P.M. A robust solution approach to the dynamic vehicle scheduling problem. Transp. Sci. 2004, 38, 447–458. [Google Scholar] [CrossRef]
  30. Barrena, E.; Canca, D.; Coelho, L.C.; Laporte, G. Single-line rail rapid transit timetabling under dynamic passenger demand. Transp. Res. Part B Methodol. 2014, 70, 134–150. [Google Scholar] [CrossRef]
  31. Chong, L.; Osorio, C. A simulation-based optimization algorithm for dynamic large-scale urban transportation problems. Transp. Sci. 2018, 52, 637–656. [Google Scholar] [CrossRef]
  32. Fan, H.; Xiong, H.; Goh, M. Genetic programming-based hyper-heuristic approach for solving dynamic job shop scheduling problem with extended technical precedence constraints. Comput. Oper. Res. 2021, 134, 105401. [Google Scholar] [CrossRef]
  33. Guo, X.; Huang, S.Y. Dynamic space and time partitioning for yard crane workload management in container terminals. Transp. Sci. 2012, 46, 134–148. [Google Scholar] [CrossRef]
  34. Potthoff, D.; Huisman, D.; Desaulniers, G. Column generation with dynamic duty selection for railway crew rescheduling. Transp. Sci. 2010, 44, 493–505. [Google Scholar] [CrossRef]
  35. Saddoune, M.; Desaulniers, G.; Elhallaoui, I.; Soumis, F. Integrated airline crew pairing and crew assignment by dynamic constraint aggregation. Transp. Sci. 2012, 46, 39–55. [Google Scholar] [CrossRef]
  36. Pillac, V.; Gendreau, M.; Guéret, C.; Medaglia, A.L. A review of dynamic vehicle routing problems. Eur. J. Oper. Res. 2013, 225, 1–11. [Google Scholar] [CrossRef]
  37. Yin, J.; Yang, L.; Tang, T.; Gao, Z.; Ran, B. Dynamic passenger demand oriented metro train scheduling with energy-efficiency and waiting time minimization: Mixed-integer linear programming approaches. Transp. Res. Part B Methodol. 2017, 97, 182–213. [Google Scholar] [CrossRef]
  38. Li, S.; Liu, R.; Yang, L.; Gao, Z. Robust dynamic bus controls considering delay disturbances and passenger demand uncertainty. Transp. Res. Part B Methodol. 2019, 123, 88–109. [Google Scholar] [CrossRef]
  39. Lei, C.; Jiang, Z.; Ouyang, Y. Path-based dynamic pricing for vehicle allocation in ridesharing systems with fully compliant drivers. Transp. Res. Part B Methodol. 2019, 132, 60–75. [Google Scholar] [CrossRef]
  40. Luo, S. Dynamic scheduling for flexible job shop with new job insertions by deep reinforcement learning. Appl. Soft Comput. 2020, 91, 106208. [Google Scholar] [CrossRef]
  41. Scherr, Y.O.; Hewitt, M.; Saavedra, B.A.N.; Mattfeld, D.C. Dynamic discretization discovery for the service network design problem with mixed autonomous fleets. Transp. Res. Part B Methodol. 2020, 141, 164–195. [Google Scholar] [CrossRef]
  42. Ulmer, M.W.; Goodson, J.C.; Mattfeld, D.C.; Thomas, B.W. On modeling stochastic dynamic vehicle routing problems. EURO J. Transp. Logist. 2020, 9, 100008. [Google Scholar] [CrossRef]
  43. Wang, L.; Hu, X.; Wang, Y.; Xu, S.; Ma, S.; Yang, K.; Liu, Z.; Wang, W. Dynamic job-shop scheduling in smart manufacturing using deep reinforcement learning. Comput. Netw. 2021, 190, 107969. [Google Scholar] [CrossRef]
  44. Li, Y.; Gu, W.; Yuan, M.; Tang, Y. Real-time data-driven dynamic scheduling for flexible job shop with insufficient transportation resources using hybrid deep Q network. Robot. Comput. Manuf. 2022, 74, 102283. [Google Scholar] [CrossRef]
  45. Vis, I.F.A.; Roodbergen, K.J. Scheduling of Container Storage and Retrieval. Oper. Res. 2009, 57, 456–467. [Google Scholar] [CrossRef]
Figure 1. Schematic diagram of a yard block with crossover yard crane.
Figure 1. Schematic diagram of a yard block with crossover yard crane.
Jmse 11 00892 g001
Figure 2. Schematic diagram of the planned delivery sequences and their updates.
Figure 2. Schematic diagram of the planned delivery sequences and their updates.
Jmse 11 00892 g002
Figure 3. Schematic drawing of interference.
Figure 3. Schematic drawing of interference.
Jmse 11 00892 g003
Figure 4. Diagram of conflict-avoidance constraints and their critical conditions.
Figure 4. Diagram of conflict-avoidance constraints and their critical conditions.
Jmse 11 00892 g004
Figure 5. The iterative re-optimization framework and its logic.
Figure 5. The iterative re-optimization framework and its logic.
Jmse 11 00892 g005
Figure 6. An illustration of encoding vector.
Figure 6. An illustration of encoding vector.
Jmse 11 00892 g006
Figure 7. Schematic diagram of crossover and mutation operators.
Figure 7. Schematic diagram of crossover and mutation operators.
Jmse 11 00892 g007
Figure 8. Schematic diagram of re-optimization for instant requests.
Figure 8. Schematic diagram of re-optimization for instant requests.
Jmse 11 00892 g008
Figure 9. The working paths of the crossover yard crane.
Figure 9. The working paths of the crossover yard crane.
Jmse 11 00892 g009
Figure 10. The operation paths of Dual-ASCs solved by Algorithm 1 (N = 20).
Figure 10. The operation paths of Dual-ASCs solved by Algorithm 1 (N = 20).
Jmse 11 00892 g010
Figure 11. Convergence procedure under multi-parameter combinations.
Figure 11. Convergence procedure under multi-parameter combinations.
Jmse 11 00892 g011
Figure 12. Convergence diagram of genetic algorithm in solving 30 instances.
Figure 12. Convergence diagram of genetic algorithm in solving 30 instances.
Jmse 11 00892 g012
Figure 13. The makespan and computing time under various durations of the scheme.
Figure 13. The makespan and computing time under various durations of the scheme.
Jmse 11 00892 g013
Figure 14. The effect of the uncertain degree and the duration of the scheme on the results.
Figure 14. The effect of the uncertain degree and the duration of the scheme on the results.
Jmse 11 00892 g014
Table 1. Research on yard-crane scheduling.
Table 1. Research on yard-crane scheduling.
LiteratureThe ProblemObjective Function (Minimize)ModelAlgorithm
[11]Twin-craneInterference-free--
[16]Twin-craneMakespanMILPHeuristic
[21]Crane + YTMakespanMILPBD
[14]AGV + ASCMakespanMCFB and B
[13]Twin-craneMakespanMILPALNS
[17]Twin-ASCMakespanMILPGA
[22]Multi-craneDelay time + Energy consumptionMILPGA + PSO
[18]Crane + YTMakespanAnalyticalGA + PSO
[15]Twin-craneMakespanMILPGA + Greedy
[3]SM + CraneCrane’s movements cost + Penalty costMIPB and B + CG
[23]Crane + YTMakespanMILPDP
[4]QC + AGV + CraneBerthing timeCPHeuristic
[24]Twin-craneMakespanMILPPSO
[25]ASC + AGVMakespanMILPGA
[26]Twin-craneMakespanMILPHeuristic + DP
[2]Dual-ASCMakespanMILPNS
[27]Twin-craneASC and truck waiting timeMILPLook-Ahead
[20]Twin-ASC + AGVWaiting time + Handling timeMILPGA
[5]Crane MakespanMILPTabu Search
[28]ASC + AGVMakespanMILPALNS
ALNS—Adaptive large neighborhood search; B and B—Branch-and-Bound; BD—Benders’ decomposition; CG—Column generation; CP—Constraint programming; DP—Dynamic programming; GA—Genetic algorithm; MCF—Multi-commodity network flow; MILP—Mixed-integer linear programming; NS—Neighborhood search; PSO—Particle swarm optimization; QC—Quay crane; SA—Simulated annealing; SM—Storage management; YT—Yard truck.
Table 2. Research on dynamic optimization.
Table 2. Research on dynamic optimization.
LiteratureThe ProblemModelAlgorithm
[29]Dynamic routing-Cluster reschedule
[30]Railway scheduling with dynamic passenger demandMILPALNS
[31]Dynamic large-scale urban transportationNetworkSimulation
[32]Dynamic job shop schedulingMIPGA
[7]Dynamic routing with congestionSet CoveringBatch assignment
[33]Dynamic workload management for cranes-DSTP
[34]Railway crew schedulingILPCG + LR
[35]Airline crew schedulingQPCG
[36]A review of dynamic vehicle routing problems--
[37]Metro train scheduling dynamic passenger demandMILPLR
[6]Crane schedulingDPHeuristic + Exact
[8]Dynamic routing-B and P + CG
[9]Dynamic job shop schedulingMILPPSO
[38]Dynamic bus schedulingMIQPRO
[39]Dynamic vehicle allocation in ridesharingMIQPADP + LR
[40]Dynamic job shop schedulingMDPDQN
[41]Dynamic routingMILPDDD + LR
[42]Dynamic routingMDP-
[43]Dynamic job shop schedulingDRLPPO
[44]Dynamic job shop schedulingMDPDQN
[10]Dynamic routingMILPHeuristic
ADP—Approximate dynamic programming; B and B—Branch-and-Price; CG—Column generation; GA—Genetic algorithm; MDP: Markov decision process; MICQP—Mixed integer convex quadratic programming; MILP—Mixed-integer linear programming; LP—Linear relaxations algorithm; LR—Lagrangian relaxation; NLP—Non-linear programming; DDD- Dynamic discretization discovery; DP—Dynamic programming; DQN—Deep Q network; DRL—Deep reinforcement learning; DSTP—Dynamic space and time partitioning; PPO—Proximal policy optimization; PSO—Particle swarm optimization; QP—Quadratic programming; RO—Robust optimization.
Table 3. Conflict and their avoidance rules.
Table 3. Conflict and their avoidance rules.
No.TypeOverlap Time Δ Rules
Δ 0 Δ < 0
1Ready to lift s 1 , i s 2 , j s 1 , i s 1 , i + T s Δ s 1 , i s 1 , i + T s + Δ
2Ready to store c 1 , i c 2 , j c 1 , i c 1 , i + T s Δ c 1 , i c 1 , i + T s + Δ
Note: Δ indicates the absolute value when Δ is less than zero.
Table 4. An instance ( N = 10 ).
Table 4. An instance ( N = 10 ).
No. O i D i BayNo. O i D i Bay
101616601616
202828703838
303232802424
401919901616
5023231003131
Table 5. Experimental settings.
Table 5. Experimental settings.
No.PurposeSettingsResults
Exp. 1Verify the correctness of the models and the validity of the algorithmsa. Use small-scale instances I S = 5 , 6 , , 20 ;
b. Solve by CPLEX solver and Algorithm 1.
Table 6
Figure 9 and Figure 10
Exp. 2Analyze the performance of the algorithmsa. Use large-scale instance I L = 30 , 50 ;
b. The crossover probability C is set to 0.1 , 0.2 , , 0.9 ;
c. The mutation probability M is set to 0.1 , 0.2 , , 0.9 .
d. Let Algorithm 1 iterate 100 times in each combination of C and M.
Table 7 and Table 8
Figure 11 and Figure 12
Exp. 3Analyze the impact of the duration of the scheme on the planning resultsa. Use large-scale instance I L = 30 , 40 , 50 , 75 , 100 , 125 , 150 , 175 ;
b. The duration of the scheme is set to T = 300 , 600 , 900 .
Table 9
Figure 13
Exp. 4Analyze the impact of the level of uncertainty (the volume of instant request) on the planning resultsa. Use large-scale instance I L = 30 , 50 , 100 ;
b. The ratio of the volume of instant requests to the number of tasks is set to β = 0.1 , 0.2 , 0.3 ;
c. The duration of the scheme is set to T = 300 , 600 , 900 .
Table 10
Figure 14
Table 6. Comparison of the model [M1] and Algorithm 1.
Table 6. Comparison of the model [M1] and Algorithm 1.
NfLB (u)[M1] (CPLEX Solver)Algorithm 1 (GA)Dev 2 (%)
f 1 ( u ) CPU (s)Dev 1 (%)Min ( u ) Max ( u ) Ave ( u ) CPU (s)
5147.00 154.00 0.11 6.82154.00 157.00 154.03 1.00 0
6181.00 188.50 0.25 5.57188.50 194.00 188.64 1.54 0.07
7209.50 220.00 4.30 5.68220.00 232.00 220.22 1.53 0.10
8233.00 241.50 7.58 2.07241.50 256.00 241.83 1.63 0.14
9269.50 280.00 135.58 3.75281.00 295.00 281.31 2.06 0.47
10307.00 317.00 1278.39 5.05317.00 328.00 317.27 2.87 0.09
11334.50 342.50 3600.00 3.21342.50 357.00 342.88 3.93 0.11
12371.00 385.50 3600.00 4.41385.50 401.00 385.87 4.83 0.10
13402.50 420.00 3600.00 4.52423.00 438.00 423.20 4.93 0.76
14437.00 456.50 3600.00 4.27456.00 474.00 457.00 6.13 0.11
15473.50 478.00 3600.00 2.51479.00 496.00 479.33 6.71 0.28
16495.50 504.50 3600.00 2.38505.50 523.00 505.81 7.77 0.26
17522.00 -3600.00 -542.00 558.00 542.34 9.14 3.63
18556.50 -3600.00 -583.00 597.00 583.18 10.87 4.11
19600.00 -3600.00 -623.00 640.00 623.46 11.33 4.71
20639.50 -3600.00 -651.00 665.00 652.70 12.04 3.66
Note: Min, Max, and Ave represent the minimum, maximum and average of the makespan; CPU is the computing time; Dev 1 = f 1 f L B / f L B × 100 % ; Dev 2 = Ave f 1 / f 1 × 100 % .
Table 10. Comparison of results under various durations of the scheme.
Table 10. Comparison of results under various durations of the scheme.
N T = inf   T = 900   u T = 600   u T = 300   u
Ave   u A v e 1   u Diff (%) A v e 2   u Diff (%) A v e 3   u Diff (%)
30961.50 961.50 01058.44 10.081073.42 11.64
401306.00 1421.47 8.841435.38 9.911440.13 10.27
501689.50 1796.51 6.331809.29 7.091844.60 9.18
752699.00 2819.39 4.462857.16 5.862919.51 8.17
1003772.50 3874.73 2.713950.56 4.724054.50 7.48
1254696.00 4827.55 2.804883.37 3.995025.19 7.01
1505915.00 6158.73 4.126094.82 3.046298.88 6.49
1757092.50 7242.93 2.127304.57 2.997394.64 4.26
Note: Diff = Ave α Ave / Ave × 100 % , where α = 1 , 2 , 3 .
Table 11. The effect of the volume of the instant requests on the results.
Table 11. The effect of the volume of the instant requests on the results.
No. T u N O β = 10 % β = 20 % β = 30 %
Υ 1   u Diff (%) Υ 2   u Diff (%) Υ 3   u Diff (%)
19003035.00 3.6441.50 4.3249.50 5.15
29005073.00 4.3246.00 2.7274.50 4.41
3900100293.50 7.78234.00 6.20425.00 11.27
46003024.00 2.5093.50 9.7294.00 9.78
56005068.50 4.05110.50 6.5465.00 3.85
6600100189.50 5.02224.00 5.94350.50 9.29
73003024.00 2.5049.00 5.1070.50 7.33
83005062.50 3.7092.00 5.4538.00 2.25
9300100158.50 4.20172.00 4.56167.00 4.43
Note: Υ i indicates the incremental Υ of makespan, i.e., the increased value of the updated scheme relative to the planned scheme, i = 1 , 2 , 3 ; D i f f = Υ i / f N O , where f N O represents the makespan without instant requests.
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

Wang, Y.-Z.; Hu, Z.-H. An Iterative Re-Optimization Framework for the Dynamic Scheduling of Crossover Yard Cranes with Uncertain Delivery Sequences. J. Mar. Sci. Eng. 2023, 11, 892. https://doi.org/10.3390/jmse11050892

AMA Style

Wang Y-Z, Hu Z-H. An Iterative Re-Optimization Framework for the Dynamic Scheduling of Crossover Yard Cranes with Uncertain Delivery Sequences. Journal of Marine Science and Engineering. 2023; 11(5):892. https://doi.org/10.3390/jmse11050892

Chicago/Turabian Style

Wang, Yao-Zong, and Zhi-Hua Hu. 2023. "An Iterative Re-Optimization Framework for the Dynamic Scheduling of Crossover Yard Cranes with Uncertain Delivery Sequences" Journal of Marine Science and Engineering 11, no. 5: 892. https://doi.org/10.3390/jmse11050892

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