Next Article in Journal
Characterizing Rogue Waves at the Entrance of Tampa Bay (Florida, USA)
Previous Article in Journal
Performance Simulation of Marine Cycloidal Propellers: A Both Theoretical and Heuristic Approach
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Integrated Berth and Crane Scheduling Problem Considering Crane Coverage in Multi-Terminal Tidal Ports under Uncertainty

College of Mechanical Engineering, Zhejiang University of Technology, Hangzhou 310000, China
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2022, 10(4), 506; https://doi.org/10.3390/jmse10040506
Submission received: 2 March 2022 / Revised: 2 April 2022 / Accepted: 4 April 2022 / Published: 6 April 2022
(This article belongs to the Section Ocean Engineering)

Abstract

:
In this work, we study the integrated berth and crane scheduling problem in a tidal port with multiple terminals, considering the uncertainties, tides, maximum coverage of cranes and interference between cranes. For coping with the uncertainties, a certain number of randomly generated samples are used to evaluate the solutions, and slack variables are introduced to reduce the impact caused by the variation in vessel arrival and crane operational efficiency. A novel nonlinear mixed integer programming model is first formulated for the problem to minimize the sum of expectation and variance of costs under all samples. An improved adaptive genetic algorithm, combining a simulated annealing mechanism and greedy construction strategy, is developed and implemented by MATLAB. The feasibility and validity of the algorithm and the benefits of multi-terminal collaborative scheduling strategy under uncertainty are evaluated through numerical experiments. The results show that the algorithm can obtain feasible scheduling solutions with higher quality. Compared to the strategy that considers either the uncertainty or the multi-terminal collaborative mechanism, the resulting solution considering both can effectively reduce the cost and improve the competitiveness of the port.

1. Introduction

With the development of economic and trade globalization, container transport has been widely adopted worldwide because of its high efficiency, and the volume of container trade is also increasing annually. The enormous trade demands bring great opportunities for the container port while also raising new challenges.
Figure 1 shows the flows of vessels, import containers and export containers, and presents the main operations in a port. As seen, the main resources within a container port are anchorages, berths, quay cranes, container trucks, yards and yard cranes. The operations can be classified into landside operations (including yard truck scheduling, storage space allocation and yard crane scheduling) and seaside operations (including berth allocation, quay crane assignment and quay crane scheduling).
Berths and quay cranes as the first link, and core resources play a key role to enhance the operational efficiency of ports. Therefore, this paper studies the berth allocation problem and the specific quay crane assignment problem with the following features:
  • Container port with multiple terminals.
In practice, many ports have multiple terminals, managed by different operators, such as the Port of Valencia, Keppel Terminal, and the Tianjin Port, et al. Some terminals may also have not only one quay, but a combination of several separate quays. For these ports and terminals, as resources within them cannot be shared, they are prone to the unusual situation that some terminals are congested while some are vacant, which restricts the development of ports.
2.
Uncertain arrival times and operational efficiency of quay cranes for vessels.
One of main features of maritime transport entails the dynamic changes in the status of vessels and terminals. The most important uncertainties in berth and quay crane scheduling problems are the arrival time and the handling time of vessels. The arrival times may vary due to the speed of sailing and wind power, while the breakdown and efficiency fluctuation of cranes are mainly the reasons for the variation in the handling time.
3.
Tides.
Tides are also a major feature of maritime transport. They change the water depth of each terminal, thus, affecting the berthing time and position of vessels. Although tides will limit the time available for some large vessels to enter or leave the port, they can enable the port to serve some vessels that cannot otherwise berth. Therefore, the optimal use of tides is a vital way to improve the service rate of vessels.
4.
Maximum coverage of quay cranes and interferences between quay cranes.
In practice, cranes cannot serve everywhere along the quay because of physical limitations. In other words, all quay cranes have their own maximum service range. In addition, when multiple cranes serve one vessel, their operational efficiency is not normally fully utilized.
All of these features have a significant impact on the scheduling solution to berths and quay cranes. However, to the best of the authors’ knowledge, no study has considered these features simultaneously. This motivated us to work on this paper. In this paper, a novel mathematical model is proposed for the integrated berth and crane scheduling problem in a tidal port with multiple terminals (MBACAP), considering crane coverage under the uncertain vessel arrival time and quay crane operational efficiency.
The rest of the paper is organized as follows: Research related to the berth allocation problem and quay crane scheduling problem is reviewed in Section 2. Section 3 presents a novel mathematical formulation and designs an improved adaptive genetic algorithm by combining a local search algorithm based on simulated annealing and a greedy construction strategy. Section 4 presents the numerical experiments for the proposed model and algorithm and analyses the results obtained. Finally, the paper is concluded in Section 5 and some suggestions for future research are listed.

2. Literature Review

The seaside operations in a container port involve the berth allocation problem (BAP), quay crane assignment problem (QCAP) and quay crane scheduling problem (QCSP). These problems have received significant attention in the literature. For an overview of them, Bierwirth and Meisel [1,2] and Kizilay and Eliiyi [3], who provided a comprehensive description of the relevant research, are recommended.
Research was initially focused on the separate scheduling of berths or cranes. As the research progressed, more realistic constraints were addressed and more algorithms were developed. De et al. [4] considered the cost of fuel consumption in their study for the dynamic BAP and designed a chemical reaction optimization algorithm. Liu et al. [5] developed a robust optimization model for the BAP under uncertainty by introducing an uncertainty set and designed a rolling cycle heuristic algorithm. Wang and Guo [6] modeled the vessel arrival times as a probability distribution function, so as to build an optimization model, and designed an improved genetic algorithm. Bierwirth and Meisel [7] noticed that the operational efficiency decreases when multiple cranes serve one vessel and studied the QCSP under this consideration. Al-Dhaheri and Diabat [8] considered that the distribution of containers on vessels changes during handling, which affects the stability of the vessel, and studied the QCSP under the situation. Abou Kasm and Diabat [9] studied the QCSP under the application of a new generation quay crane, capable of handling four containers in two bays simultaneously. Al-Dhaheri et al. [10] developed a genetic algorithm based on the Monte Carlo simulation for the QCSP under uncertainty.
Meanwhile, the strong correlation between BAP and QCSP makes them inseparable. The result of BAP is a prerequisite for QCSP, while the result of QCSP affects the duration of vessels in port and, thus, the result of BAP. Therefore, more research focuses on the joint scheduling of berths and cranes. Li et al. [11] integrated the BAP and QCAP, in consideration of the maximum service range of cranes. Malekahmadi et al. [12] studied the BAP and QCSP simultaneously, after considering the constraints of water depth influenced by tides. Abou Kasm et al. [13] studied the joint scheduling of berths and cranes under different assignment strategies for cranes, such as whether to allow task preemption between cranes, static or dynamic crane assignment, and analyzed the applicability of these strategies. Wang et al. [14] studied the joint scheduling problem of berths and cranes with the consideration of carbon taxation, thus, providing theoretical guidance for container port operators in a green context. Han et al. [15] jointly studied the discrete BAP and QCSP with random arrival time and random handling time, and designed a simulation-based genetic algorithm. Iris and Lam [16] studied the BAP and QCSP under uncertainty from the perspective of recoverable robustness, and designed an adaptive large neighborhood algorithm for solving it. Iris et al. [17] studied the BACAP considering both time-variant and time-invariant QC assignment policies and proposed novel Generalized Set Partitioning formulations for them. Besides, they also presented a set of column and variable reduction techniques for solving the models. They, furthermore, proposed a number of valid inequalities and variable fixing methods for enhancing the model proposed by Meisel and Bierwirth [18] and developed an adaptive large neighborhood search heuristic in [19]. Shang et al. [20] proposed a deterministic model and two robust optimization models for the integrated BACAP. In these models, the QC setup time and the handling time influenced by berth deviation and interferences of QCs were considered. They also presented a GA and an insertion heuristic algorithm to obtain near optimal solutions.
However, there are only a few studies on the collaborative scheduling of resources in ports with multiple terminals. Imai et al. [21] investigated the BAP when berths at another terminal can be shared, with two container terminals at Colombo port as an example. Despite considering two terminals, their study was still conducted mainly with one terminal and did not consider how to schedule resources, including berths and cranes, within another terminal. Similarly, Cho et al. [22] considered the BACAP by allowing the reassignment of vessels to other terminals and proposed a linear methodology model. For solving it efficiently, they adopted a sequential approach, consisting of an FBS-based heuristic, a GRASP-based heuristic, and an iterative approach.
Frojan et al. [23] studied the continuous BAP with multiple terminals and designed a heuristic algorithm based on a genetic algorithm with local search. As far as we know, they extended the single-terminal berth allocation problem to a multi-terminal situation for the first time. Nevertheless, many vital factors for the scheduling solution of berths and cranes are not considered in their study, such as uncertainty and water depth in the terminal. Therefore, in a further study, Budipriyanto et al. [24] investigated the BAP under uncertainty using the simulation approach, applying the multi-terminal collaborative mechanism. Gutierrez et al. [25] studied the static BAP and dynamic BAP for ports with two quays. They expressed the uncertain vessel arrival time as triangular fuzzy numbers and developed a fuzzy mixed-integer linear programming model and a fully fuzzy linear programming model, respectively. Venturini et al. [26] integrated the discrete BAP and the speed optimization problem for multiple ports under the emission considerations. They developed novel integer linear programming to minimize the cost of waiting, handling, delay and fuel consumption.
Krimi et al. [27] studied the multi-terminal BAP jointly with the QCAP and designed a heuristic algorithm based on the rolling strategy. However, the subject of their study was bulk ports, which makes their results unsuitable for container terminals. Grubisic et al. [28] studied the BACAP for a medium-sized terminal with a multi-quay layout and developed a mixed integer programming model to minimize the duration of vessels in port. Bouzekri et al. [29] integrated laycan and BAP and time-invariant QCAP in tidal ports with multiple quays and developed an integer programming model, after considering tides and the maximum outreach of quay cranes. Lujan et al. [30] expressed the imprecise vessel arrival time, berth and departure time as triangular fuzzy numbers and developed a fuzzy optimization model for the BACAP in port with multiple quays. The scheduling problem of vessels, trains and trucks on a multi-terminal, multi-modal maritime container port was studied by Schepler et al. [31]. They formulated an optimization model to minimize the weighted turnaround time for vessels and trains with the limitation of the inter-terminal transport of containers and proposed a restrict-and-fix heuristic based on the decomposition for solving it.
Table 1 shows the comparison of studies related to seaside operations in ports with multiple terminals with our paper. “√” indicates that the paper considered the factor indicated by the column. Based on these studies mentioned above, there is still a gap in the field of joint scheduling for berths and cranes in ports with multiple terminals under uncertainty. With this consideration, after considering the constraints of tide-influenced water depth, interference between cranes, transshipment cost within terminals and maximum service range of cranes, an optimization model is presented for the MBACAP under uncertainty.

3. Methods and Methodology

In Section 3.1, we introduce the methods to cope with constraints considered in our paper and to generate feasible solutions. A novel mathematical model based on the Relative Position Formulation (RPF) used in Meisel and Bierwirth [18] is proposed in Section 3.2 and Section 3.3. In Section 3.4, a heuristic algorithm based on the Genetic Algorithm and the Simulated Annealing Algorithm is designed for solving the MBACAP.

3.1. Methods to Cope with Constraints

According to Section 2, compared to the literature, this paper considers the tides, quay crane maximum coverage, vessels already served at the beginning of planning period, uncertain vessel arrival times and quay crane operation efficiency.
  • Tides.
The traditional way to cope with the tides is to set different time windows so as to bound the berthing and departure time of large vessels, e.g., Bouzekri, Alpan and Giard [29], Jiao et al. [32]. However, the water depth in the terminals is dynamically affected by tides. Figure 2 reveals the time windows and the actual water depth at the terminal. The red dashed line indicated the high and low tide periods. 0~T1 and T2~T3 are the low tide periods; T1~T2 are T3~T4 are the high tide periods. The blue solid line shows the actual water depth influenced by the tide.
It can be found that the scheduling plan obtained by using the time window is correct only when the draft of the vessel is df2. When the draft of the vessel is df1 (less than df2), the actual reliable berthing time is t4t1 (greater than the high tide time T2T1). Therefore, the plan obtained under the time window is likely not to be optimal because it does not utilize the two periods t1~T1 and T2~t4, while when the draft is df3 (greater than df2), the actual reliable berthing time becomes t3t2 (less than the high tide time T2T1). In this case, the scheduling plan utilizes two infeasible time periods, T1~t2 and t3~T4, therefore it is likely to be infeasible. Based on the analysis above, the model refines tidal influence on the water depth to maximize the utilization of tides, i.e., each terminal has different water depths at different times. Specifically, h m t is introduced according to the tide table to indicate the water depth of terminal m at the moment t. By comparing h m t with the vessels’ draft, we can get the reliable time for all vessels to berth.
2.
Maximum coverage of quay cranes.
Since quay cranes have to occupy a certain quay segment, each crane has a maximum service range, and the cranes on the same terminal are same, yet the cranes on different terminals are different. Figure 3 depicts a terminal with four cranes. Vessel 1 can only be served by quay cranes 1 to 3. However, if the constraint of maximum service range is ignored, it is likely that quay crane 4 will be assigned to the vessel. Clearly, this is incorrect. Therefore, the model considers the coverage of cranes to ensure that all quay cranes assigned to vessels can provide the service. For coping with this constraint, we represent the starting and ending points of quay crane q located on terminal m by introducing s q m and e q m . For any quay crane q, the values of s q m and e q m are related to the number of quay cranes to its left and right. To prevent the solution of quay crane assignment from being infeasible, it must be ensured that the service intervals of all quay cranes assigned to a vessel must be able to cover the berthing interval of the vessel.
3.
Vessels already served at the beginning of the planning period.
For these terminals, vessels arrive during the planning period with different lengths, drafts, expected arrival times and expected departure times. The arrival of vessels is a continuous event, so it is rare for a terminal to be empty and without any vessels. However, few studies have considered this issue. On this basis, this paper assumes that several vessels are being served by cranes on the quay of each terminal at the beginning of the planning period.
According to Figure 4, it can be seen why we consider vessels already served at the beginning of the planning period. In the figure, vessel 1 indicates the vessel already served at the beginning of the planning period, vessel 2 indicates the vessel to be scheduled, and L is the length of the quay. Vessel 1 occupies the section of quay from x1 to x2 and cranes from No. 7 to No. 9. Restricted by vessel 1, vessel 2 can only berth in the section of quay from 0 to x1, and can only be served by cranes from No. 1 to No. 6. Therefore, although these vessels have been served at the beginning of the planning period and are not involved in the subsequent scheduling process, they cannot be ignored due to their need to occupy the quay and cranes during the planning period.
4.
Uncertain arrival times and operational efficiency of quay cranes for vessels.
According to Han, Lu and Xi [15], it is known that, in general, the actual vessel arrival time and the actual operation efficiency of cranes follow normal distributions. To solve these uncertainties, the berthing time of vessels is delayed by introducing buffer time Δ i A and buffer efficiency Δ i v , thus reducing the probability that the scheduling solution is impractical. Besides, inspired by Han, Lu and Xi [15], to evaluate the quality of the scheduling solution, a certain number of samples are randomly generated based on the distribution functions to simulate the actual vessel arrival time and crane operational efficiency. Finally, the scheduling solution is evaluated by the sum of the expectation and standard deviation of the total cost for all ships under all samples.
5.
Generation of feasible solutions.
Figure 5 represents the scheduling process of vessels in a port with multiple terminals. When a vessel arrives, it needs to berth at a terminal with sufficient length of quay and sufficient number of cranes. If such a terminal is not available, the vessel must wait, anchored. Based on this process, we propose a heuristic method to sequentially determine the berthing time, berthing terminal, berthing position and the assigned cranes and thus to generate a feasible solution. The detailed steps can be found in Section 3.4.

3.2. Model Assumptions and Notations

The programming model presented in the paper is based on Assumptions (1)–(6).
Assumption 1. The berths are continuous, which means that vessels can berth anywhere on the quay for handling containers as long as the requirements are met.
Assumption 2. Different vessels have different drafts due to their container capacity, ship length and so on, while terminals also have different water depth which varies periodically due to tides.
Assumption 3. The minimum number of cranes assigned to each vessel is limited by the contract between the vessel and the terminal operator, and the maximum number of cranes assigned to each vessel at the same time is limited by the length of the vessel.
Assumption 4. When multiple cranes serve one vessel, the handling efficiency of each crane will decrease due to the safety distance and the cranes also have the maximum coverage range that can be reached.
Assumption 5. Due to some restrictions, the actual arrival time of vessels and the actual handling efficiency of cranes are both random variables, and they are assumed to follow the normal distribution.
Assumption 6. The change in the draft caused by the container handling operation on the ship is not under consideration, i.e., the drafts of vessels are constant during the whole operation.
The indices, sets, parameters and variables in the model are defined as follows.
  • Indices.
k, m: Container terminal.
i, j: Vessel to be served.
t: Time period.
n: Vessel that has already been served at the beginning of planning period.
q, a, b, c: Quay crane.
s: Sample representing actual arrival time and operational efficiency of quay cranes for all vessels.
2.
Sets.
T: Set of terminals, T = { 1 ,   2 ,   ,   N T } .
V: Set of vessels to be served, V = { 1 , 2 , , N V } .
H: Length of planning period, H = { 1 , 2 , , N H } .
V0: Set of vessels already served at the beginning of planning period, V 0 = { 1 , 2 , , N 0 } .
Q m : Set of cranes at terminal m, Q m = { 1 , 2 , , N Q m } , m T .
S: Set of samples, each represents the actual arrival time and departure time and the operational efficiency, S = { 1 , 2 , , N S } .
3.
Parameters related to terminals.
L T m : Length of quay at terminal m, m T .
h m t : Water depth for terminal m at time t, m T , t H .
s q m : Minimum available position for the crane q at terminal m, m T , q Q m .
e q m : Maximum available position for the crane q at terminal m, m T , q Q m .
μ m v : Expected operational efficiency of cranes at the terminal m, m T .
g: Interference factor between cranes.
4.
Parameters related to vessels that have already been served at the beginning of planning period.
L 0 n : Length of the dummy vessel n, including safety distance, n V 0 .
x 0 n : Berthing position of the dummy vessel n, n V 0 .
z 0 n m : If the dummy vessel n berthed at terminal m at the beginning of planning period, z 0 n m = 1 ; otherwise, z 0 n m = 0 , n V 0 , m T .
d 0 n : Departure time of the dummy vessel n, n V 0 .
θ n q m 0 : If the crane q at terminal m serves the dummy vessel n, θ n q m 0 = 1 ; otherwise, θ n q m 0 = 0 , n V 0 , q Q m , m T .
5.
Parameters related to vessels to be scheduled.
L V i : Length of the vessel i, including safety distance, i V .
z i m : If the pre-assigned terminal of the vessel i is m, z i m = 1 ; otherwise, z i m = 0 , i V , m T .
W U i : Number of containers exported by the vessel i, i V .
W D i : Number of containers imported by the vessel i, i V .
μ i A : Expected arrival time of the vessel i, i V .
E D i : Expected departure time of the vessel i, i V .
C i m i n : Minimum number of cranes assigned to the vessel i, i V .
C i m a x : Maximum number of cranes assigned to the vessel i, i V .
d f i : Draft of the vessel i, i V .
b p i : Desired berthing position of the vessel i at its pre-assigned terminal, i V .
6.
Other parameters.
cx: Unit deviation cost between vessel’s berthing position and its desired position.
cy: Operating cost per unit time for each crane.
ckm: Transshipment cost per unit from terminal k to m, k , m T .
pi: Penalty cost per unit when the actual departure time of vessel i exceeds its expected departure time, i V .
pbefore: Waiting cost per unit when actual arrival time earlier than scheduled berthing time.
pafter: Penalty cost per unit when actual arrival time later than scheduled berthing time.
M: A large enough number.
7.
Decision variables.
uim: If vessel i berths at terminal m, uim = 1; otherwise, uim = 0, i V , m T .
xi: Berthing position of vessel i, i V .
yi: Berthing time of vessel i, i V .
θiqm: If the crane q at terminal m serves the vessel i, θiqm = 1; otherwise, θiqm = 0, i V , q Q m , m T .
Δ i A : Relaxation with arrival times of vessel i, i V .
Δ i v : Relaxation with the operational efficiency of cranes serving vessel i, i V .
8.
Auxiliary decision variables.
Ci: Number of quay cranes serving vessel i, i V .
di: Scheduling departure time of vessel i, i V .
δ i j y : If the vessel j berths after the vessel i leaves, δ i j y = 1 ; otherwise, δ i j y = 0 , i , j V , ij.
δ i j x : If the vessel j berths at the right of the vessel i, δ i j x = 1 ; otherwise, δ i j x = 0 , i , j V , ij.
ε n i y : If the vessel i berths after the vessel n leaves, ε n i y = 1 ; otherwise, ε n i y = 0 , i V , n V 0 .
ε n i r : If the vessel i berths at the right of the vessel n, ε n i r = 1 ; otherwise, ε n i r = 0 , i V , n V 0 .
ε n i l : If the vessel i berths at the left of the vessel n, ε n i l = 1 ; otherwise, ε n i l = 0 , i V , n V 0 .

3.3. Mathematical Model Formulation

3.3.1. Objective Function

Variations in vessel arrival time and crane operation efficiency are likely to make the existing scheduling solution non-optimal, or even infeasible. Therefore, to minimize the impact of such variation on the scheduling solution, slack variables Δ i A and Δ i v are added to the expected vessel arrival time μ i A and the expected crane operational efficiency μ m v , respectively. Such a proactive strategy allows the scheduling solution to remain feasible and cost-neutral regardless of these variations. For evaluating the scheduling solution, a certain number of samples are randomly generated to simulate the possible vessel arrival time and crane operation efficiency. The sum of the expectation and variance in the total cost of the scheduling solution under all samples is used as the objective function of the model, as shown in Equations (1) and (2).
m i n       E ( { f s } ) + σ ( { f s } )
f s = i V ( c y C i ( d i s m a x ( y i , A i s ) ) + p a f t e r ( W U i + W D i ) ( A i s y i ) + ) + i V k T m T c k m z i k u i m W U i + i V ( p b e f o r e W D i ( y i A i s ) + + p i W U i ( d i s E D i ) + ) + i V m T c x ( W U i + W D i ) | x i b p i | z i m u i m
The lower the expected value, the lower the cost required when the scheduling solution is applied; the lower the variance, the more robust the scheduling solution is against variations of vessel arrival time and crane operation efficiency. In Equation (2), c y C i ( d i s m a x ( y i , A i s ) ) represents the operational cost of cranes. p a f t e r ( W U i + W D i ) ( A i s y i ) + means the delay costs that are required when the actual arrival time is later than the scheduling berthing time. c k m z i k u i m W U i indicates the transshipment cost arisen by the difference between the actual terminal and the pre-assigned terminal. p b e f o r e W D i ( y i A i s ) + represents the waiting cost when the vessel’s actual arrival time is earlier than the time in scheduling solution. p i W U i ( d i s E D i ) + indicates the delay cost when the actual departure time is later than the expected departure time. c x ( W U i + W D i ) | x i b p i | z i m u i m means the deviation cost when the berthing position is different with the desired position.
To simplify our objective function and make it more efficient, the following process is to be performed for Equation (2).
For c y C i ( d i s m a x ( y i , A i s ) ) , Let y i s = m a x ( y i , A i s ) and introduce a binary variable u i s . When y i A i s , u i s = 1 ; otherwise, u i s = 0 . To linearize it, Constraints (3) to (6) need to be added.
y i y i s                                                                               i V , s S
A i s y i s                                                                             i V , s S
y i y i s M ( 1 u i s )                               i V , s S
A i s y i s M u i s                                                     i V , s S
For c x ( W U i + W D i ) | x i b p i | z i m u i m , it becomes c x ( W U i + W D i ) e i z i m u i m after setting e i = | x i b p i | . To linearize it, a new variable euim is introduced and euim = eiuim. Constraints (7) to (11) are also needed.
e i x i b p i                                                                         i V
e i b p i x i                                                                         i V
e u i m M u i m                                                                       i V , m T
e u i m e i                                                                                     i V , m T
e u i m e i M ( 1 u i m )                             i V , m T
For p a f t e r ( W U i + W D i ) ( A i s y i ) + , p b e f o r e W D i ( y i A i s ) + and p i W U i ( d i s E D i ) + , we define t i s a f t e r = ( A i s y i ) + , t i s b e f o r e = ( y i A i s ) + , t i s d e l a y = ( d i s E D i ) + and add Constraints (12) to (15) to the model.
t i s a f t e r A i s y i                                                                         i V , s S
t i s b e f o r e y i A i s                                                                       i V , s S
t i s d e l a y d i s E D i                                                                     i V , s S
t i s a f t e r , t i s b e f o r e , t i s d e l a y 0                                                 i V , s S
After the above transformation, Equation (2) can be replaced by Equation (16).
f s = i V ( c y C i ( d i s y i s ) + p a f t e r ( W U i + W D i ) t i s a f t e r ) + i V k T m T c k m z i k u i m W U i + i V ( p b e f o r e W D i t i s b e f o r e + p i W U i t i s d e l a y ) + i V m T c x ( W U i + W D i ) z i m e u i m

3.3.2. Constraints

In addition to the objective function, there are constraints that need to be considered in our model.
m T u i m = 1                                                                                     i V
d f i M ( 1 u i m ) + h m t                                                                                               i V , m T , t [ y i , d i ]
Constraint (17) indicates that all vessels must and can only berth at one terminal to load and unload containers. Besides, because of the tides, it must be ensured that the water depth of the selected terminal for any vessel is not lower than its draft during its berthing period, as shown in Constraint (18).
In Constraint (18), the t is within a variable range which makes it hard to be formulated by a solver. Hence, we introduce the σitm and uitm to transform this constraint. σitm is a binary constant and can be obtained after preprocessing the two constants dfi and h m t . When the water depth of terminal m meets the draft of vessel i at moment t, σitm = 1; otherwise, σitm = 0. uitm is a binary variable. If the vessel i berths at the terminal m at the moment t, uitm = 1; otherwise, uitm = 0. To replace Constraint (18), Constraints (19) to (23) are required.
u i t m σ i t m                                                         i V , t H , m T
u i t m u i m                                                         i V , t H , m T
Constraint (19) ensures that vessel i can berth on the terminal m at moment t only when its draft is met. Constraint (20) implies that uitm must be 0 when the berthing terminal of vessel i is not m.
t + M ( 1 u i t m ) y i                                                               i V , t H , m T
t + M ( 1 u i t m ) d i                                                               i V , t H , m T
t H u i t m = d i y i + 1                                                               i V , m T
Constraints (21) and (22) ensure that uitm = 0 outside the berthing time of vessel i, i.e., t < yi or t > di. Therefore, Constraint (23) allows uitm to be 1 when yi ≤ t ≤ di.
0 x i m T u i m L T m L V i                                                                               i V
x j + M ( 1 δ i j x ) x i + L V i                                                               i , j V , i j
x i + M ( 1 ε n i r ) x 0 n + L 0 n                                                               n V 0 , i V
x 0 n + M ( 1 ε n i l ) x i + L V i                                                               n V 0 , i V
Since the quay has a length limitation, all vessels are guaranteed to berth within the quay of their berthing terminal by Constraint (24). In addition, to prevent temporal conflicts when vessels berth, that is, they occupy the same section of quay at the same time, Constraints (25) to (27) must also be satisfied. Constraint (25) is the temporal constraint for vessels to be scheduled, while Constraints (26) and (27) are the temporal constraints between the vessels to be scheduled and the vessels berthed along quay at the beginning of planning period.
y i μ i A + Δ i A                                                                         i V
d i y i + W U i + W D i ( μ m v + Δ i v ) g C i 1 C i M ( 1 u i m )                 i V , m T
y j + M ( 1 δ i j y ) d i                                                                 i , j V , i j
y i + M ( 1 ε n i y ) d 0 n                                                                 n V 0 , i V
In addition to the berthing terminal and berthing position, the berthing time of the vessel also has to be determined. Firstly, the vessel must berth after its arrival time. And to deal with the stochastic vessel arrival time, as shown in Constraint (28), it is imposed that the vessel must wait for an additional buffer time after its expected arrival time before berthing. The vessel’s departure time is determined by the actual berthing time, the volume of containers to be handled, the operational efficiency of cranes and the number of cranes assigned. Constraint (29) defines the relationship between them. Constraints (30) and (31) define the relationship between the berthing time of any vessel and the departure time of other vessels.
2 + M ( 2 u i m u j m ) δ i j x + δ j i x + δ i j y + δ j i y       i , j V , i j , m T
δ i j x + δ j i x + δ i j y + δ j i y 1 M ( 2 u i m u j m )       i , j V , i j , m T
2 + M ( 2 z n m 0 u i m ) ε n i r + ε n i l + ε n i y             n V 0 , i V , m T
ε n i r + ε n i l + ε n i y 1 M ( 2 z n m 0 u i m )             n V 0 , i V , m T
Together with Constraints (25) and (30), Constraints (32) and (33) define the relationship between any two vessels to be scheduled in space and time. Combining Constraints (26), (27) and (31), Constraints (34) and (35) define the relationship between vessels to be scheduled and vessels already berthed in space and time. These constraints prevent the situation that more than one vessel occupies the same section of quay at the same time.
C i m i n C i C i m a x                                                 i V
q Q m θ i q m = C i u i m                                                 i V , m T
θ i q m + θ j q m 1 + M ( δ i j y + δ j i y )                                   i , j V , i j , q Q m , m T
θ n q m 0 + θ i q m 1 + M ε n i y                                           n V 0 , i V , q Q m , m T
θ i b m θ i a m + θ i c m 1                                                                                     i V , a , b , c Q m , a < b < c , m T
a b + M ( 3 δ i j x θ i a m θ j b m ) + M ( δ i j y + δ j i y )           i , j V , i j , a , b Q m , m T
a b + M ( 3 ε n i r θ n a m 0 θ i b m ) + M ε n i y                     n V 0 , i V , a , b Q m , m T
a b + M ( 3 ε n i l θ n a m 0 θ i b m ) + M ε n i y                     n V 0 , i V , a , b Q m , m T
x i M ( 1 θ i q m ) + e q m                                         i V , m T , q Q m
x i + L V i s q m M ( 1 θ i q m )                               i V , m T , q Q m
If the vessel operational time in Constraint (29) is considered as constant, the multi-terminal BAP can be defined by Constraints (3) to (35). However, the scheduling result of cranes is related to the vessel operational time in berth allocation. Hence, the assignment of the cranes is implemented by Constraints (36) to (45). Constraint (36) ensures that the number of cranes assigned to each vessel is between its minimum number and maximum number of assignable cranes. Constraint (37) defines the relationship between the number of cranes assigned and the specific crane number and for avoiding a scenario where one crane serves two vessels at the same time, Constraints (38) and (39) are introduced. Constraint (40) keeps the numbering of cranes serving the same vessel consecutive. In other words, when any two cranes a and c serve a vessel at the same time, all cranes located between them must also serve the vessel. Constraints (41) to (43) make it impossible for a crane to cross over to provide service when more than one vessel exists in the quay at the same time, that is, when a crane a serves a vessel i, the other cranes on right of a cannot serve other vessels on the left of i. Constraints (44) and (45) ensure that the vessel berths where the crane assigned to it can serve.

3.4. The Improved Adaptive Genetic Algorithm

The MBACAP with uncertainties is more complex than the BAP which is already an NP-hard problem. Furthermore, many constraints such as the maximum service range of cranes and the water depth affected by tides need to be considered. Hence, it is hard to find the optimal solution in a polynomial time for large-scale problems. On the basis of this, an adaptive improved genetic algorithm (SA–AGA) by combining the simulated annealing mechanism and greedy construction strategy is developed.
Figure 6 is the flow chart of the algorithm SA–AGA. First, we generate the initial population by combining random generation and greedy construction strategies and apply the gene repair algorithm to make the solution feasible. The children population is then produced by the combination of the elite retention strategy and the roulette wheel strategy. The search of the solution space is performed using crossover and mutation. Finally, a local search algorithm based on the simulated annealing mechanism is employed to seek a better solution.

3.4.1. Encoding and Decoding Rules

The encoding and decoding rules of the solution are critical for genetic algorithm. As far as the problem in our paper, representing solutions using the real number is the most effective way because of the existence of continuous variables.
A chromosome has a length of 7 × NV and contains a total of 7 types of information, which is represented as in Figure 7. The first three segments indicate the terminal T i V , position xi, and time yi to berths for each vessel, respectively. The fourth segment represents the number of cranes assigned Ci and the fifth segment is the serial number of the first quay crane q i s t a r t . According to Figure 7, at the time 11.4, vessel No.1 berths at 233 m of terminal No.2 and is served by crane No.2 to No.4. At the time 13.3, vessel No.2 berths at 122 m of terminal No.3 and is served by crane No.2 to No.5, and so on. The sixth segment indicates the relaxation of arrival time Δ i A ; the sum of which and the expected arrival time is the scheduling arrival time. The last segment indicates the relaxation of operational efficiency Δ i v and the sum of which and the expected operational efficiency is the scheduling operational efficiency.

3.4.2. Population Initialization and Fitness Function

In the solution space, if the initial solution is close to the optimal solution, then few iterations may be needed for the algorithm to converge on the optimal solution. Otherwise, the algorithm may require more stochasticity and longer time for iteration to close to the optimal solution. By combining the greedy construction strategy and the random generation strategy, we obtain an initial population that is both uniformly distributed in the solution space and has high quality.
Specifically, half of the initial population is generated by the greedy construction strategy. Let the berthing terminal be the pre-assigned terminal and regard the desired berthing position bpi as the berthing position for each vessel. Further, set the serial number of the first crane assigned to 1. The other half of the initial population are generated by the random generation strategy. The vessel’s berthing terminal is randomly generated within [1, NT] and the vessel’s berthing position is randomly generated within [ 0 , L T m L V i ] . The serial number of the first crane assigned is randomly generated within [ 1 , N q m C i + 1 ] . For both strategies, randomly generate the number of cranes assigned within [ C i m i n , C i m a x ] and set the berthing time, the relaxation of arrival time, the relaxation of operational efficiency to μ i A + σ i A , σ i A , σ i v respectively.
f i t n e s s = K e E ( { f s } ) + σ ( { f s } )
To evaluate the quality of chromosomes, the inverse of the objective function is taken as the fitness function, as shown in Equation (46). The larger the fitness value, the smaller the objective function value; in other words, the scheduling solution is more robust and less costly to apply.

3.4.3. Selection, Crossover and Mutation

Genetic algorithms generally search the accumulated information in depth and accomplish the iteration of the population through the selection, searching new zones of the solution space through crossover and mutation. In selection, a combination of elite retention and roulette strategy is used to determine the selection probability based on the fitness value and generate a new population. The best 10% chromosomes from the parent population are directly retained into the new population.
Algorithm 1 shows the pseudo code for the crossover and mutation. In crossover, the fusion operator based on the fitness value is applied to obtain new chromosomes. The operator considers the structure and fitness value of parent chromosomes simultaneously. In mutation, the uniform mutation strategy is used to change the berthing information in the chromosome. Furthermore, the solution converges gradually with the number of iterations. Thus, we gradually increase the mutation probability as the number of generations for which optimal solution remains unchanged increases to explore more areas in the solution space.
Algorithm 1. Pseudo code of crossover and mutation (Source: compiled by authors).
The Crossover and Mutation:
Input: Population size p o p s i z e , population before crossover and mutation p o p o l d , fitness value matrix F , initial mutation probability p 0 ;
Output: Population after crossover p o p c r o s s , population after mutation p o p m u t a ;
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
 for j   = 1 to p o p s i z e do
  Generate two random integers r 1 , r 2 within [ 1 ,   p o p s i z e ] , and r 1 r 2
   f 1 F [ r 1 ]
   f 2 F [ r 2 ]
   p c f 1 / ( f 1 + f 2 )
   p m p 0 g u c / 10
  for k   = 1 to 7 × N v do
    Randomly generate a number r c within [ 0 ,   1 ]
    if r c p c then
       p o p c r o s s ( j , k ) p o p o l d ( r 1 ,   k )
    else
       p o p c r o s s ( j , k ) p o p o l d ( r 2 ,   k )
    end if
  end
  for k   = 5 × N v + 1 to 6 × N v do
    Adjust the vessel departure time p o p c r o s s ( j , k )
  end
  for k   = 1 to N v do
    Randomly generate a number r m within [ 0 ,   1 ]
    if r c p c then
      Regenerate the berthing information for vessel k
    end if
  end
 end

3.4.4. Gene Repair Algorithm

The population initialization can only satisfy some simple constraints such as the number of cranes and berthing position, but is powerless for complex constraints such as the maximum service range of cranes. Besides, the crossover and mutation will destroy the structure of chromosomes and make them infeasible. Therefore, the gene repair algorithm is designed to modify the infeasible solution.
Algorithm 2 shows the steps in the gene repair algorithm. Considering a chromosome, the set of scheduled vessels and the set of vessels to be scheduled are first obtained (Line 1). All vessels are then deployed in the order of their scheduled berthing times. In the gene repair algorithm, the berthing terminal, the berthing time (Lines 2~5), the berthing position (Lines 6~10), the number of cranes assigned and the serial number of cranes (Lines 11~13) are determined in turn to meet the requirements. The infeasible solutions become feasible by adjusting the berthing time, berthing position, and the crane assigned (Lines 14~16).
Algorithm 2. Steps of the gene repair algorithm (Source: compiled by authors).
The Gene Repair Algorithm:
1:   m T , obtain the set of scheduled vessels V a l r e a d y m and the set of vessels to be scheduled V r e a d y m , then sort V r e a d y m by the increasing order of the berthing time;
2: For the first vessel i in V r e a d y m , namely the scheduling vessel, generate the set of berthing available time H u s e f u l according to the berthing time y i and the water depth set h m t ;
3: If H u s e f u l = , change the berthing terminal of i , and turn to 1; otherwise, go to 4;
4: If   h H u s e f u l , so that y i is not lower than the start time t h s t a r t of h, and the departure time d i is not greater than the end time t h e n d of h, turn to 6; otherwise, go to 5;
5: If   h H u s e f u l , so that t h e n d t h s t a r t is greater than the minimum handling time of i , go to 6; otherwise, change the berthing terminal of i and turn to 1;
6: Let the set of vessels that berthing when scheduling V n o w = ,   j V a l r e a d y m , if d j > y i , add j to V n o w ;
7: Obtain the set of idle quay segments when scheduling Q i d l e according to the berth position x k , length L V k , the number of cranes assigned C k and the serial number of the first quay crane q k s t a r t of all vessels k in V n o w ;
8: Let the set of useful quay segments when scheduling Q u s e f u l = ,   r Q i d l e , if the length of idle segment l r is not lower than L V i , and the available number of cranes N C r is not lower than C i m i n , add r to Q u s e f u l ;
9: If Q u s e f u l = , let y i be the minimum departure time for all vessels in V n o w and turn to 1;
10: If   s Q u s e f u l , so that x i x s s t a r t , and x i + L V i x s e n d , where x s s t a r t and x s e n d indicate the start and end of the quay segment s respectively, go to 11; otherwise, go to 14;
11: Assume the vessel i berth at segment s , for all available cranes q [ q s s t a r t , q s e n d ] , if there is not an overlap between the service range [ s q m , e q m ] and the quay segment [ x i , x i + L V i ] occupied by the vessel i , let q s s t a r t = q s s t a r t + 1 , and N C s = N C s 1 ;
12: If N C s < C i m i n , remove s from Q u s e f u l and turn to 9;
13: If q i s t a r t q s s t a r t , and q i s t a r t + C i 1 q s s t a r t + N C s 1 , go to 16; otherwise, go to 15;
14: Randomly choose a segment s Q u s e f u l , random generate x i within [ x s s t a r t , x s e n d L V i ] ;
15: Randomly generate C i and q i s t a r t within [ C i m i n , m i n { C i m a x , N C s } ] and [ q s s t a r t , q s e n d C i + 1 ] , respectively;
16: Remove i from V r e a d y m , and add it to V a l r e a d y m ;
17: If V r e a d y m = , exit the algorithm; otherwise, turn to 6.

3.4.5. The Local Search Based on Simulated Annealing Mechanism

The genetic algorithm which approaches the optimal solution by starting from multiple positions in the solution space is good in global search but poor in local search and has low efficiency at the later stage of evolution. In contrast, the simulated annealing algorithm is less likely to fall into a local optimum by accepting poorer solutions with a probability. Therefore, we apply a local search algorithm based on the simulated annealing mechanism to improve the quality of solutions obtained by genetic algorithm.
Algorithm 3 shows the steps of the local search algorithm. It is introduced to jump out of the local optimum and improve the quality of the solutions when the maximum fitness value does not change for a while. For a solution P , randomly choose a vessel and modify its berthing information including berthing terminal, berthing time, berthing position and so on to any value in their defined domain. We define the set of all solutions generated in the above way as the neighborhood Ω P of the solution.
Algorithm 3. Steps of the local search algorithm based on simulated annealing mechanism (Source: compiled by authors).
The Local Search Algorithm Based Simulated Annealing Mechanism:
Step 1:Initialize the current generation h = 1 and the system temperature T = T 0 ;
Step 2:If the number of generations for which the optimal solution remains unchanged g u c 10 and h is less than the maximum iterations H m a x , go to Step 3; otherwise, stop the algorithm;
Step 3:Obtain a new solution P n e w from the neighborhood Ω P of the optimal solution P m a x ;
Step 4:Repair P n e w , and calculate its fitness value f n e w ;
Step 5:If f n e w is greater than the maximum fitness value f m a x , go to Step 6; otherwise, go to Step 7;
Step 6:Let P m a x = P n e w , f m a x = f n e w , g u c = 1 , and stop the algorithm;
Step 7:Calculate the acceptance probability p a c c e p t = e ( f n e w f m a x ) / T , and generate a random number r within [ 0 , 1 ] . If r < p a c c e p t , go to Step 8; otherwise, go to Step 9;
Step 8:Modify the worst solution of current population P m i n = P n e w and its fitness value f m i n = f n e w ;
Step 9:Let T = η T , h = h + 1 , and turn to Step 2.

4. Numerical Experiments

To verify the algorithm, numerical experiments were carried out on a computer configured with a CPU with Intel Core i5–8300 H, 2.30 GHz and 16 GB running memory. Besides, the benefits of three different scheduling strategies were analyzed. They are the multi-terminal collaborative scheduling strategy under uncertainty (denoted as M + U), the multi-terminal independent scheduling strategy under uncertainty (denoted as S + U), and the multi-terminal collaborative scheduling strategy under certainty (denoted as M + C).

4.1. Data Design

The experimental data are necessary for running the experiments. The data involved in our experiments include the terminals data, the vessels data and the algorithm parameters.

4.1.1. Terminals Data Design

In our experiments, the number of terminals is three and the length of quay, the number of cranes, the operational efficiency of cranes, the interference coefficient and the cost coefficient are shown in Table 2.
Table 3 illustrates the water depth influenced by tides for each terminal during the planning period. When determining the berthing position for vessels, it must be ensured that the water depth is not less than the vessel’s draft while in port; if not, the vessel may be unable to enter or leave the port.
Table 4 gives the service range of cranes for each terminal, which is related to the number of cranes on its left and right. For example, the No.4 crane of terminal 1 has three cranes on its left, so the start of its service range is 150 (50 × 3) m, while there are seven cranes on its right, so the end of its service range is 750 (1100 – 50 × 7) m, where 1100 is the length of the quay, and the same goes for other cranes.

4.1.2. Vessels Data Design

It is essential that all terminals are free at the beginning of scheduling. Commonly, the scheduling will start along with several vessels that have berthed on the quay. Hence, the data of vessels include the data of scheduled vessels and the data of vessels to be scheduled. Table 5 indicates the range of the data for vessels, where U represents the uniform distribution and Z is the integer set.

4.2. Scheduling Solution Analysis under Three Strategies: S + U, M + C and M + U

To verify the feasibility of the SA–AGA algorithm, an instance with a scale of 40 is randomly generated. By simply adjusting the SA–AGA algorithm, we can obtain the solution for the instance under S + U and M + C scheduling strategy. In particular, keep the sixth and the seventh segments of the chromosome to 0 under the M+C scheduling strategy and keep the first segments of the chromosome that is the berthing terminal as the pre-assigned terminal under the S + U scheduling strategy. These algorithms are implemented via MATLAB. In these algorithms, the population size popsize is 100, the maximum number of generations Gmax is 500, and the initial mutational probability p m 0 is 0.6. In the local search algorithm, the initial temperature T0 is 100, the cooling rate η is 0.8 and the maximum number of iterations Hmax is 100.
The scheduling solutions of the instance under S + U, M + C and M + U are shown in Figure 8, Figure 9 and Figure 10, respectively. The abscissa is the length of quay and the ordinate is time. Each rectangle represents a vessel. The number in the middle of the rectangles is the serial number of vessels, while the number on the left and right indicates the serial number of the first and last crane serving the vessel, respectively. The vessels that have already berthed on the quay at the beginning of scheduling are represented by these rectangles without a number in the middle.
Figure 8a–c shows the scheduling solution of terminal No.1 to No.3 under S + U, respectively. For example, two vessels were berthing at terminal No.1 and crane No.2 to No.4 and crane No.6 to No.8 were assigned to them at the beginning. Vessel No.18 then berths at 464 m of the quay at time 8 and leaves at time 13.6. Cranes No.6 to No.10 are assigned to it. Vessel No.9 berths at 204 m of the quay at time 15 and leaves at time 19.4. Cranes No.4 to No.6 are assigned to it. Hence, we can know the berthing information of all vessels to be scheduled. It can be easily found that all constraints, such as water depth and service range of cranes, are not violated and all vessels are docked in their pre-assigned terminals.
Figure 9a–c shows the scheduling solution of terminals No.1 to No.3 under M + C, respectively. Firstly, vessel No.31 berths at 926 m of terminal No.1 at time 4 and leaves at time 12.9. Cranes No.9 to No.11 are assigned to it. The berthing information of all vessels to be scheduled can also be obtained according to the SA–AGA algorithm and they are feasible without any violation.
Figure 10a–c shows the scheduling solution of terminal 1 to 3 under M + C, respectively. Similarly, we can find that the drafts of all vessels are satisfied during their berthing period, and the assigned cranes can also serve the vessels. According to Figure 9 and Figure 10, it is observed that vessels are able to berth in any terminal, as long as the terminal has enough quays and cranes. In summary, the SA–AGA algorithm can yield feasible scheduling solutions under all three scheduling strategies.

4.3. Comparison Analysis of Algorithm before and after Improvement

Compared with the original genetic algorithm, the SA–AGA algorithm combines the greedy construction strategy and the simulated annealing mechanism into the genetic algorithm. To evaluate the performance of the SA–AGA algorithm, experiments using the algorithm without the greedy construction strategy (NG–AGA), the algorithm without the simulated annealing mechanism (NSA–AGA) and the algorithm without consideration of either (AGA) are designed under the scale of 20, 30 and 40.
Figure 11a–c shows the curves of the objective function values obtained by SA–AGA, NG–AGA, NSA–AGA and AGA with the iterations for the randomly generated instances with the scale of 20, 30 and 40, respectively. The curves of SA–AGA, NSA–AGA and AGA reveal that the objective function value can be reduced by about 50~60% by combining the simulated annealing mechanism. Comparing the curves of SA–AGA and NG–AGA, the objective function value can be reduced by about 10~20% by combining the greedy construction strategy.

4.4. Analysis of Experimental Results under Different Strategies and Scales

To analyze the benefits of the three scheduling strategies, S + U, M + C and M + U, 10 instances were generated randomly with the scale of 20, 30 and 40, respectively, for a total of 30 instances. For each instance, the algorithm was run five times and the average value of the solutions was used as the result, for a total of 450 runs.
Table 6 illustrates the objective function values for each instance under S + U and M + U, where the Gap is the difference between them. The gap between the total costs under the two scheduling strategies is up to 35.46% (instance 3) and about 17.71% on average when the number of vessels is 20. When the number of vessels is 30, the gap is up to 27.19% (instance 14) and about 18.36% on average. When the scale is 40, the gap is up to 24.88% (instance 28) and about 13.98% on average. It is not difficult to find that the cost required for the independent scheduling of multiple terminals is generally higher than that for the collaborative scheduling of multiple terminals. The reason for the high difference in costs between the two strategies for some instances (instance 2, 3, etc.) is the large variation in the number of vessels pre-assigned to each terminal, which leads to bottlenecks at certain terminals, while by the collaborative scheduling of multiple terminals, they can equally share the workload of the whole port, thus, reducing the cost. For example, the number of vessels pre-assigned to each terminal in instance 3 is 1, 6 and 13 respectively, while it is 6, 6 and 8 for the three terminals in instance 1. Thus, the gap of instance 3 is much higher than that of instance 1.
Table 7 illustrates the objective function values for each instance under M + C and M + U, where the Gap is the difference between them. The gap between the total costs under the two scheduling strategies is up to 77.19% (instance 8) and about 62.16% on average when the number of vessels is 20. When the number of vessels is 30, the gap is up to 65.16% (instance 19) and about 50.39% on average. When the scale is 40, the gap is up to 51.38% (instance 28) and about 39.18% on average. As can be seen, the total cost of the solution grows as the scale increases, regardless of which scheduling strategy is applied. When the collaborative scheduling strategy is applied, the cost of the solution obtained by considering the uncertainty is lower than when it is not considered, while the gap between the two scheduling strategies decreases gradually as the scale increases.
Figure 12a–c presents the objective function values of each instance for each scheduling strategy under the scale of 20, 30 and 40, respectively. For all instances, the cost of the solution is largest under M + C, the second-largest under S + U, and the smallest under M + U. The gap between M + C and M + U is much larger than the gap between S + U and M + U. Therefore, for the container port, the highest priority should be given to the impact of the uncertainty when scheduling, which can reduce operational costs, leading to 40% to 60% savings. Besides, the integration of all terminals and the collaborative scheduling of their internal resources are also important, which can lead to 10% to 20% savings.

5. Conclusions and Future Work

In this paper, we have proposed a novel integrated berth and crane scheduling model for tidal ports with multiple terminals. The proposed model considers the uncertain vessel arrival time, the imprecise operational efficiency of cranes, the interference between cranes and the maximum coverage of cranes. Due to the NP-hardness of the model, the adaptive improved genetic algorithm, combining a simulated annealing mechanism and greedy construction strategy, was designed for solving it.
In addition, numerical experiments, with 30 instances under the scale of 20, 30 and 40, were conducted to verify the feasibility and effectiveness of the algorithm and to analyze the benefits of three scheduling strategies: S + U, M + C and M + U. By running the algorithm in the case where the number of vessels to be scheduled is 40, the final scheduling solutions were obtained under the S + U, M + C and M + U, respectively. The solutions show that the algorithm can produce a feasible scheduling plan.
We also performed experimental comparisons of the results for the improved algorithm with the unimproved algorithm or partially improved algorithm under the same instance. The results show that the objective function value can be improved 50% to 60% after the application of the simulated annealing mechanism, while the objective function value can be reduced about 10~20% by combining the greedy construction strategy. Besides, the results also show that the cost of the scheduling solution under M + U is 10% to 20% less than that under S + U and 40% to 60% less than that under M + C.
Further research could be carried out in future works on several points. Firstly, the optimization model proposed in this paper is nonlinear, which makes it difficult to use the solver to find the optimal solution or the upper and lower bounds for the problem. With this in mind, the model can be linearized by referring to the literature [17,19] in further research, so as to make the model more widely useable and easily solvable.
Secondly, this paper assumes that a crane cannot serve other vessels across the whole operational time, once it has been assigned to a vessel, even if its tasks were all completed. Although it reduces the complexity of the problem, it also decreases the utilization of cranes. Therefore, the integrated problem of BAP and time-variant QCAP on a tidal port with multiple terminals can be considered in the next study.
In addition, other resources within the port, such as container trucks, yards and yard cranes, also affect the scheduling results of the berth and cranes. Only by integrating all the operations, the efficiency of the port can be optimized.

Author Contributions

Conceptualization, J.Z. and M.J.; methodology, J.Z.; software, J.Z.; validation, J.F., L.Z. and J.Z.; formal analysis, F.M.; investigation, J.Z.; resources, G.W.; data curation, J.Z.; writing—original draft preparation, J.Z.; writing—review and editing, G.W.; visualization, G.W.; supervision, M.J.; project administration, M.J.; funding acquisition, M.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China, grant number 51605442 and Zhejiang Provincial Natural Science Foundation of China, grant number LGN18G010002.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data available in a publicly accessible repository that does not issue DOIs Publicly available datasets were analyzed in this study. This data can be found here: https://github.com/ZhouJian1683/Data-and-Code-for-Article.git.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. 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]
  2. Bierwirth, C.; Meisel, F. A follow-up survey of berth allocation and quay crane scheduling problems in container terminals. Eur. J. Oper. Res. 2015, 244, 675–689. [Google Scholar] [CrossRef]
  3. Kizilay, D.; Eliiyi, D.T. A comprehensive review of quay crane scheduling, yard operations and integrations thereof in container terminals. Flex. Serv. Manuf. J. 2021, 33, 1–42. [Google Scholar] [CrossRef]
  4. De, A.; Pratap, S.; Kumar, A.; Tiwari, M.K. A hybrid dynamic berth allocation planning problem with fuel costs considerations for container terminal port using chemical reaction optimization approach. Ann. Oper. Res. 2020, 290, 783–811. [Google Scholar] [CrossRef] [Green Version]
  5. Liu, C.; Xiang, X.; Zheng, L. A two-stage robust optimization approach for the berth allocation problem under uncertainty. Flex. Serv. Manuf. J. 2020, 32, 425–452. [Google Scholar] [CrossRef]
  6. Wang, Z.X.; Guo, C.H. Minimizing the risk of seaport operations efficiency reduction affected by vessel arrival delay. Ind. Manag. Data Syst. 2018, 118, 1498–1509. [Google Scholar] [CrossRef]
  7. Bierwirth, C.; Meisel, F. A fast heuristic for quay crane scheduling with interference constraints. J. Sched. 2009, 12, 345–360. [Google Scholar] [CrossRef]
  8. Al-Dhaheri, N.; Diabat, A. A Lagrangian relaxation-based heuristic for the multi-ship quay crane scheduling problem with ship stability constraints. Ann. Oper. Res. 2017, 248, 1–24. [Google Scholar] [CrossRef]
  9. Abou Kasm, O.; Diabat, A. Next-generation quay crane scheduling. Transp. Res. Part C Emerg. Technol. 2020, 114, 694–715. [Google Scholar] [CrossRef]
  10. Al-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]
  11. Li, F.; Sheu, J.B.; Gao, Z.Y. Solving the Continuous Berth Allocation and Specific Quay Crane Assignment Problems with Quay Crane Coverage Range. Transp. Sci. 2015, 49, 968–989. [Google Scholar] [CrossRef]
  12. Malekahmadi, A.; Alinaghian, M.; Hejazi, S.R.; Saidipour, M.A.A. Integrated continuous berth allocation and quay crane assignment and scheduling problem with time-dependent physical constraints in container terminals. Comput. Ind. Eng. 2020, 147, 106672. [Google Scholar] [CrossRef]
  13. Abou Kasm, O.; Diabat, A.; Cheng, T.C.E. The integrated berth allocation, quay crane assignment and scheduling problem: Mathematical formulations and a case study. Ann. Oper. Res. 2020, 291, 435–461. [Google Scholar] [CrossRef]
  14. Wang, T.S.; Du, Y.Q.; Fang, D.B.; Li, Z.C. Berth Allocation and Quay Crane Assignment for the Trade-off Between Service Efficiency and Operating Cost Considering Carbon Emission Taxation. Transp. Sci. 2020, 54, 1307–1331. [Google Scholar] [CrossRef]
  15. Han, X.L.; Lu, Z.Q.; Xi, L.F. A proactive approach for simultaneous berth and quay crane scheduling problem with stochastic arrival and handling time. Eur. J. Oper. Res. 2010, 207, 1327–1340. [Google Scholar] [CrossRef]
  16. Iris, C.; Lam, J.S.L. Recoverable robustness in weekly berth and quay crane planning. Transp. Res. B Methodol. 2019, 122, 365–389. [Google Scholar] [CrossRef]
  17. Iris, C.; Pacino, D.; Ropke, S.; Larsen, A. Integrated Berth Allocation and Quay Crane Assignment Problem: Set partitioning models and computational results. Transp. Res. Part E Logist. Transp. Rev. 2015, 81, 75–97. [Google Scholar] [CrossRef] [Green Version]
  18. Meisel, F.; Bierwirth, C. Heuristics for the integration of crane productivity in the berth allocation problem. Transp. Res. Part E Logist. Transp. Rev. 2009, 45, 196–209. [Google Scholar] [CrossRef]
  19. Iris, C.; Pacino, D.; Ropke, S. Improved formulations and an Adaptive Large Neighborhood Search heuristic for the integrated berth allocation and quay crane assignment problem. Transp. Res. Part E Logist. Transp. Rev. 2017, 105, 123–147. [Google Scholar] [CrossRef]
  20. Shang, X.T.; Cao, J.X.; Ren, J. A robust optimization approach to the integrated berth allocation and quay crane assignment problem. Transp. Res. Part E Logist. Transp. Rev. 2016, 94, 44–65. [Google Scholar] [CrossRef]
  21. Imai, A.; Nishimura, E.; Papadimitriou, S. Berthing ships at a multi-user container terminal with a limited quay capacity. Transp. Res. Part E Logist. Transp. Rev. 2008, 44, 136–151. [Google Scholar] [CrossRef] [Green Version]
  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. Frojan, P.; Correcher, J.F.; Alvarez-Valdes, R.; Koulouris, G.; Tamarit, J.M. The continuous Berth Allocation Problem in a container terminal with multiple quays. Expert Syst. Appl. 2015, 42, 7356–7366. [Google Scholar] [CrossRef]
  24. Budipriyanto, A.; Wirjodirdjo, B.; Pujawan, I.N.; Gurning, S. A Simulation Study of Collaborative Approach to Berth Allocation Problem under Uncertainty. Asian J. Shipp. Logist. 2017, 33, 127–139. [Google Scholar] [CrossRef]
  25. Gutierrez, F.; Lujan, E.; Asmat, R.; Vergara, E. Fully Fuzzy Linear Programming Model for the Berth Allocation Problem with Two Quays. In Uncertainty Management with Fuzzy and Rough Sets, 1st ed.; Gutierrez, F., Lujan, E., Asmat, R., Vergara, E., Eds.; Studies in Fuzziness and Soft Computing; Springer: Cham, Switzerland, 2019; Volume 377, pp. 87–113. [Google Scholar]
  26. Venturini, G.; Iris, C.; Kontovas, C.A.; Larsen, A. The multi-port berth allocation problem with speed optimization and emission considerations. Transp. Res. Part D Transp. Environ. 2017, 54, 142–159. [Google Scholar] [CrossRef] [Green Version]
  27. Krimi, I.; Benmansour, R.; El Cadi, A.A.; Deshayes, L.; Duvivier, D.; Elhachemi, N. A rolling horizon approach for the integrated multi-quays berth allocation and crane assignment problem for bulk ports. Int. J. Ind. Eng. Comput. 2019, 10, 577–591. [Google Scholar] [CrossRef]
  28. Grubisic, N.; Krljan, T.; Maglic, L. The Optimization Process for Seaside Operations at Medium-Sized Container Terminals with a Multi-Quay Layout. J. Mar. Sci. Eng. 2020, 8, 891. [Google Scholar] [CrossRef]
  29. Bouzekri, H.; Alpan, G.; Giard, V. Integrated Laycan and Berth Allocation and time-invariant Quay Crane Assignment Problem in tidal ports with multiple quays. Eur. J. Oper. Res. 2021, 293, 892–909. [Google Scholar] [CrossRef]
  30. Lujan, E.; Vergara, E.; Rodriguez-Melquiades, J.; Jiménez-Carrión, M.; Sabino-Escobar, C.; Gutierrez, F. A Fuzzy Optimization Model for the Berth Allocation Problem and Quay Crane Allocation Problem (BAP + QCAP) with n Quays. J. Mar. Sci. Eng. 2021, 9, 152. [Google Scholar] [CrossRef]
  31. Schepler, X.; Balev, S.; Michel, S.; Sanlaville, E. Global planning in a multi-terminal and multi-modal maritime container port. Transp. Res. Part E Logist. Transp. Rev. 2017, 100, 38–62. [Google Scholar] [CrossRef] [Green Version]
  32. Jiao, X.G.; Zheng, F.F.; Liu, M.; Xu, Y.F. Integrated Berth Allocation and Time-Variant Quay Crane Scheduling with Tidal Impact in Approach Channel. Discret. Dyn. Nat. Soc. 2018, 2018, 9097047. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Container terminal workflow. (Source: compiled by the authors).
Figure 1. Container terminal workflow. (Source: compiled by the authors).
Jmse 10 00506 g001
Figure 2. The variation in water depth influenced by tides. (Source: compiled by the authors).
Figure 2. The variation in water depth influenced by tides. (Source: compiled by the authors).
Jmse 10 00506 g002
Figure 3. The coverage of quay cranes. (Source: compiled by the authors).
Figure 3. The coverage of quay cranes. (Source: compiled by the authors).
Jmse 10 00506 g003
Figure 4. Impact of vessels already served at the beginning of the planning period. (Source: compiled by the authors).
Figure 4. Impact of vessels already served at the beginning of the planning period. (Source: compiled by the authors).
Jmse 10 00506 g004
Figure 5. The scheduling process of vessels in a port with multiple terminals. (Source: compiled by the authors).
Figure 5. The scheduling process of vessels in a port with multiple terminals. (Source: compiled by the authors).
Jmse 10 00506 g005
Figure 6. The flow chart of the SA–AGA. (Source: compiled by authors).
Figure 6. The flow chart of the SA–AGA. (Source: compiled by authors).
Jmse 10 00506 g006
Figure 7. An example of the chromosome represented as a solution. (Source: compiled by authors).
Figure 7. An example of the chromosome represented as a solution. (Source: compiled by authors).
Jmse 10 00506 g007
Figure 8. The scheduling solution under S + U. (a) terminal 1; (b) terminal 2; (c) terminal 3. (Source: compiled by authors).
Figure 8. The scheduling solution under S + U. (a) terminal 1; (b) terminal 2; (c) terminal 3. (Source: compiled by authors).
Jmse 10 00506 g008
Figure 9. The scheduling solution under M + C. (a) terminal 1; (b) terminal 2; (c) terminal 3. (Source: compiled by authors).
Figure 9. The scheduling solution under M + C. (a) terminal 1; (b) terminal 2; (c) terminal 3. (Source: compiled by authors).
Jmse 10 00506 g009aJmse 10 00506 g009b
Figure 10. The scheduling solution under M + U. (a) terminal 1; (b) terminal 2; (c) terminal 3. (Source: compiled by authors).
Figure 10. The scheduling solution under M + U. (a) terminal 1; (b) terminal 2; (c) terminal 3. (Source: compiled by authors).
Jmse 10 00506 g010
Figure 11. The convergence curve of the SA–AGA, NG–AGA, NSA–AGA and AGA. (a) Number of vessels is 20; (b) number of vessels is 30; (c) number of vessels is 40. (Source: compiled by authors).
Figure 11. The convergence curve of the SA–AGA, NG–AGA, NSA–AGA and AGA. (a) Number of vessels is 20; (b) number of vessels is 30; (c) number of vessels is 40. (Source: compiled by authors).
Jmse 10 00506 g011aJmse 10 00506 g011b
Figure 12. The objective function value for each scheduling strategy under different instances. (a) Number of vessels is 20; (b) number of vessels is 30; (c) number of vessels is 40. (Source: compiled by authors).
Figure 12. The objective function value for each scheduling strategy under different instances. (a) Number of vessels is 20; (b) number of vessels is 30; (c) number of vessels is 40. (Source: compiled by authors).
Jmse 10 00506 g012aJmse 10 00506 g012b
Table 1. Comparison of frontier operations scheduling studies in multi-terminal ports.
Table 1. Comparison of frontier operations scheduling studies in multi-terminal ports.
AuthorsBAPQCAPUncertain Vessel
Arrival Time
Operation Efficiency of CraneMaximum Service RangeTideInterference between CranesTransshipment Cost
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
Our paper
(Source: compiled by authors).
Table 2. Data of terminals in the container port.
Table 2. Data of terminals in the container port.
SymbolDefinitionTerminal 1Terminal 2Terminal 3
L T m Length of quay1000 m1140 m1200 m
N Q m Number of cranes111213
μ m v Operational efficiency of cranes15 TEU/h
gInterference coefficient0.9
ckmTransshipment cost coefficientTerminal 102.151.57
Terminal 23.1602.29
Terminal 31.731.470
cyOperational cost coefficient5.00
cxDeviation cost coefficient0.01
pbeforeWaiting cost coefficient3.00
pafterTardiness cost coefficient7.00
piDeparture delay cost coefficient 10 % × L V i
(Source: compiled by authors).
Table 3. Water depth for each terminal influenced by tides (m).
Table 3. Water depth for each terminal influenced by tides (m).
TimeTerminalTimeTerminalTimeTerminal
123123123
112.112.916.52911.412.916.05710.611.914.8
212.113.016.63011.012.615.65810.711.714.8
312.013.116.53110.712.215.15911.011.615.2
411.613.116.13210.512.014.76011.511.815.7
511.112.815.73310.511.714.66112.112.416.3
610.812.415.23410.811.514.96212.512.916.7
710.512.114.73511.311.615.56312.813.217.1
810.411.814.43611.912.116.16412.813.617.3
910.511.514.63712.412.716.66512.713.817.2
1011.011.415.23812.813.117.06612.313.716.8
1111.711.815.83912.913.517.36711.913.316.4
1212.312.416.44012.813.817.36811.612.916.0
1312.713.016.94112.513.917.06911.312.615.6
1412.913.317.34212.113.516.67011.112.315.2
1512.913.717.44311.713.116.27111.112.015.2
1612.713.917.24411.412.815.77211.311.915.4
1712.313.716.84511.112.415.37311.612.115.8
1811.913.316.44611.112.115.27411.912.416.1
1911.512.915.94711.211.915.47512.012.716.3
2011.212.615.44811.612.115.77612.012.816.4
2111.012.315.14911.912.416.17711.912.916.4
2211.212.015.35012.012.716.37811.612.916.2
2311.512.015.65112.112.816.57911.312.715.9
2411.812.316.05211.912.916.58011.012.415.5
2512.012.716.35311.713.016.28110.812.215.2
2612.112.916.55411.312.815.98210.711.915.0
2712.013.016.65511.012.515.58310.811.715.1
2811.813.016.35610.712.215.18411.211.715.4
(Source: compiled by authors).
Table 4. The service range of cranes for each terminal.
Table 4. The service range of cranes for each terminal.
No.Terminal 1Terminal 2Terminal 3
Start (m)End (m)Start (m)End (m)Start (m)End (m)
1060005900600
2506505064050650
3100700100690100700
4150750150740150750
5200800200790200800
6250850250840250850
7300900300890300900
8350950350940350950
940010004009904001000
10450105045010404501050
11500110050010905001100
12--55011405501150
13----6001200
(Source: compiled by authors).
Table 5. Vessels data design.
Table 5. Vessels data design.
SymbolDefinitionRange
L 0 i Length of scheduled vessels U ( 120 , 360 ) Z
W 0 i Remaining workloads of scheduled vessels U ( 100 , 500 ) Z
T 0 i Berthing terminal of scheduled vessels U ( 1 , 3 ) Z
x 0 i Berthing position of scheduled vessels U ( 0 , L T m L 0 i + 1 ) Z
C 0 i Number of cranes assigned to scheduled vessels U ( 2 , 4 ) Z
q i s t a r t Serial number of the first crane assigned U ( 1 , N Q m C 0 i + 1 ) Z
L V i Length of vessels to be scheduled U ( 120 , 360 ) Z
T i Pre-assigned terminal of vessels to be scheduled U ( 1 , 3 ) Z
W U i Number of export containers for vessels to be scheduled U ( 100 , 300 ) Z
W D i Number of import containers for vessels to be scheduled U ( 0 . 7 W U i , 1.3 W U i ) Z
μ i A Expected arrival time for vessels to be scheduled U ( 0 , 48 )
EDiExpected departure time for vessels to be scheduled U ( 1.1 , 1.5 ) × ( W U i + W D i ) C i m i n + μ i A
bpiDesired berthing position for vessels to be scheduled U ( 0 , L T m ) Z
dfiDraft of vessels to be scheduled 0.003588 ( L V i ) 1.303 + 4.371
C i m i n Minimum number of cranes to be assigned U ( 2 , 4 ) Z
C i m a x Maximum number of cranes to be assigned U ( C i m i n , 6 ) Z
A i s Actual   arrival   time   for   vessels   in   sample   s N ( μ i A , 1.5 )
v i s Actual   operational   efficiency   for   vessels   in   sample   s N ( 15 , 1 )
(Source: compiled by authors).
Table 6. The objective value of solutions under S + U and M + U.
Table 6. The objective value of solutions under S + U and M + U.
Scale203040
InstanceM + US + UGap (%)M + US + UGap (%)M + US + UGap (%)
171,257.875,127.85.15155,356.7179,110.613.26238,394.6307,383.122.44
280,938.9124,038.534.75111,439.7152,373.426.86174,862.4194,798.110.23
378,457.0121,571.535.4699,453.5121,913.518.42233,040.6244,658.04.75
475,925.587,082.612.81110,086.7151,192.727.19171,548.7206,451.816.91
580,763.290,717.410.97175,631.4219,418.119.96248,184.6262,874.35.59
680,570.494,345.614.60133,513.0157,135.915.03243,632.8281,338.813.40
773,784.891,202.619.10125,229.4154,490.918.94191,253.2239,677.120.20
868,304.878,620.413.12111,492.0132,553.915.89172,759.5229,984.224.88
956,246.467,755.116.99122,051.6143,507.914.95270,475.6296,545.68.79
1095,087.9110,743.514.14160,318.1184,470.313.09212,953.1243,533.912.56
Average76,133.794,120.517.71130,457.2159,616.718.36215,710.5250,724.513.98
(Source: compiled by authors).
Table 7. The objective value of solutions under M + C and M + U.
Table 7. The objective value of solutions under M + C and M + U.
Scale203040
InstanceM + UM + CGap (%)M + UM + CGap (%)M + UM + CGap (%)
171,257.8205,827.765.38155,356.7283,993.845.30238,394.6392,556.339.27
280,938.9144,229.743.88111,439.7218,335.248.96174,862.4301,897.242.08
378,457.0212,213.963.0399,453.5159,252.137.55233,040.6384,639.739.41
475,925.5173,264.256.18110,086.7218,797.749.69171,548.7318,714.146.17
580,763.2194,795.258.54175,631.4337,391.547.94248,184.6412,111.839.78
680,570.4187,388.057.00133,513.0328,976.259.42243,632.8409,876.340.56
773,784.8211,794.665.16125,229.4232,198.846.07191,253.2301,444.536.55
868,304.8299,434.277.19111,492.0237,673.453.09172,759.5355,310.851.38
956,246.4196,721.471.41122,051.6350,364.065.16270,475.6370,894.227.07
1095,087.9262,839.763.82160,318.1325,537.750.75212,953.1302,041.929.50
Average76,133.7208,850.962.16130,457.2269,252.050.39215,710.5354,948.739.18
(Source: compiled by authors).
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Jiang, M.; Zhou, J.; Feng, J.; Zhou, L.; Ma, F.; Wu, G. Integrated Berth and Crane Scheduling Problem Considering Crane Coverage in Multi-Terminal Tidal Ports under Uncertainty. J. Mar. Sci. Eng. 2022, 10, 506. https://doi.org/10.3390/jmse10040506

AMA Style

Jiang M, Zhou J, Feng J, Zhou L, Ma F, Wu G. Integrated Berth and Crane Scheduling Problem Considering Crane Coverage in Multi-Terminal Tidal Ports under Uncertainty. Journal of Marine Science and Engineering. 2022; 10(4):506. https://doi.org/10.3390/jmse10040506

Chicago/Turabian Style

Jiang, Meixian, Jian Zhou, Jiajia Feng, Lin Zhou, Fangzheng Ma, and Guanghua Wu. 2022. "Integrated Berth and Crane Scheduling Problem Considering Crane Coverage in Multi-Terminal Tidal Ports under Uncertainty" Journal of Marine Science and Engineering 10, no. 4: 506. https://doi.org/10.3390/jmse10040506

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