Next Article in Journal
Named Entity Recognition in Online Medical Consultation Using Deep Learning
Next Article in Special Issue
Integrated Optimization of Emergency Evacuation Routing for Dam Failure-Induced Flooding: A Coupled Flood–Road Network Modeling Approach
Previous Article in Journal
Improving Cerebrovascular Imaging with Deep Learning: Semantic Segmentation for Time-of-Flight Magnetic Resonance Angiography Maximum Intensity Projection Image Enhancement
Previous Article in Special Issue
Autonomous Robot Goal Seeking and Collision Avoidance in the Physical World: An Automated Learning and Evaluation Framework Based on the PPO Method
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Bi-Objective Optimization for Joint Time-Invariant Allocation of Berths and Quay Cranes

School of Information Engineering, Wuhan University of Technology, Wuhan 430070, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(6), 3035; https://doi.org/10.3390/app15063035
Submission received: 27 December 2024 / Revised: 7 March 2025 / Accepted: 9 March 2025 / Published: 11 March 2025
(This article belongs to the Special Issue AI-Based Methods for Object Detection and Path Planning)

Abstract

:
With the increasingly busy transportation of cargo at container terminals (CTs), the requirements for terminal throughput and operational efficiency are constantly increasing. The operational efficiency and cost of CTs are closely related to the seamless docking of terminal facilities, especially the joint operation between berths and quay cranes (QCs). Therefore, a joint allocation problem of berths and QCs (BACASP) is presented in this paper and formalized as a mathematical model to minimize terminal operation costs and shipowner dissatisfaction. Given that BACASP is an NP-hard problem, an improved multi-objective cuckoo search (IMOCS) algorithm is proposed to solve this problem, in which an elite-guided tangent flight strategy is presented to speed up the convergence for making up the lack of random search direction of the traditional cuckoo search algorithm; and an information-enhanced abandonment strategy is put forward to increase the possibility of escaping from local optima. Numerical experimental results show the effectiveness of the proposed algorithm.

1. Introduction

In the context of globalization, the volume of global trade has increased significantly, and more than 80% of it is transported by sea. More and more manufactured goods are transported in standardized containers because of their advantages in cargo security, standardization, and ease of interchange between different modes of transport. In 2022, container trade exceeded 850 million units and is expected to grow rapidly in the coming years. Container terminals (CTs), serving as important hubs that connect maritime trade with other modes of transportation, have become key infrastructures for global trade. In recent years, terminal congestion has become a common problem at major CTs around the world, leading to significant increases in container schedule delays and turnaround times. In 2021, the average global container schedule delay doubled compared to 2020, and the average time at the terminal reached 0.8 days [1]. Delays and waiting affect shipowners’ business plans and timely cargo delivery, reducing shipowner satisfaction. Research indicates that increased shipowner satisfaction leads to greater loyalty and a stronger intent for repeat purchases [2]. Therefore, as one of the indicators of terminal service quality and competitiveness, the improvement of shipowner satisfaction is of great significance to CTs, and the key is to improve operational efficiency and reduce the waiting time and delay of vessels.
Berths and quay cranes (QCs) are bottleneck resources in the seaside area of CTs. The berthing plan is a key input to yard allocation and equipment deployment planning, and effective utilization of berths is critical to improving shipowner satisfaction and increasing vessel capacity at the terminal [3]. Therefore, one of the most important issues facing CTs is the berth allocation problem (BAP). This problem determines the preferred berthing time and position for vessels arriving within a planning horizon based on information such as vessel length, expected arrival time, and processing time. In BAP, the processing time of a vessel is usually estimated in advance based on the task volume and is kept fixed. Equally important to the BAP is the quay crane assignment problem (QCAP), which involves the assignment of QCs to vessels at berth. For technical and contractual reasons, the number of cranes servicing a vessel at the same time is usually limited to a range, from a minimum to a maximum range.
Research is increasingly focusing on jointly considering BAP and QCAP, as a vessel’s processing time depends on the number of assigned QCs, influenced by its berthing time and position. The joint problem is referred to as the berth and quay crane allocation problem (BACAP), where each vessel is assigned a specific number of QCs, along with specified berthing times and positions. A more realistic extended version is the berth and specific quay crane allocation problem (BACASP), in which each vessel is assigned a specific set of QCs, thus ensuring that the QCs are able to service different vessels without crossing each other [4]. There are two versions of BACAP and BACASP [5]. In the time-invariant version, a vessel keeps its QC assignment constant during processing. In the time-variant version, the number of QCs is variable, and the QCs assigned to berthed vessels may change after a vessel departs or a new vessel is berthed. This situation may result in many crane movements, which can be difficult for human operators to process. Suppose the duration of these movements is considered non-negligible. In that case, it leads to unplanned additional waiting time, leading to unexpected changes in berthing schedules and delays in scheduled vessel departures, thus increasing operational costs and reducing shipowner satisfaction. In contrast, the time-invariant version results in fewer QC movements and provides a more stable berth plan, which is easier for terminal managers to implement. However, it may lead to lower QC resource utilization.
In recent years, the application of metaheuristic algorithms in solving complex optimization problems has gained a lot of attention because they can find the near-optimal solution in polynomial time, whereas traditional methods require exponential time. The multi-objective cuckoo search (MOCS) algorithm is an emerging metaheuristic algorithm inspired by the breeding behavior of cuckoos. Due to its unique optimization mechanism and fewer variable parameters, the MOCS algorithm has a powerful global search capability and is widely used in various engineering problems. Examples include the berth allocation problem [6], image classification problem [7], and path planning problem [8]. This paper investigates the application of an improved multi-objective cuckoo search (IMOCS) algorithm in BACASP, where the optimization objectives are the terminal’s operating cost and customer satisfaction, which are crucial for improving the terminal’s operational efficiency and competitiveness. Numerical experiments show improvements of 7.5% and 7.7% in the proposed IMOCS algorithm with respect to the MOCS algorithm on the two objectives, respectively. From the manager’s point of view, after considering customer satisfaction, the level of customer dissatisfaction is significantly reduced by 16% with an increase of 5.7% in the average terminal cost.
The remainder of this paper is organized as follows. Section 2 provides a review of studies on BAP, QCAP, and BACASP. Section 3 presents and models the proposed BACASP. Section 4 describes the flow of the IMOCS algorithm. Section 5 discusses the numerical experiments and evaluates the performance of the IMOCS algorithm. Finally, Section 6 concludes this paper and offers suggestions for future research.

2. Literature Review

2.1. Berth Allocation Problem

According to the layout of the CTs, the BAP can be categorized into discrete and continuous types. Discrete BAP is applied to a limited number of berths, where each berth typically serves only one vessel at a time. In contrast, continuous BAP allows vessels to berth anywhere within the terminal to fully utilize terminal resources. Golias et al. [9] studied the dynamic discrete multi-objective BAP, focusing on shipowner service differentiation, with the aim of maximizing both shipowner satisfaction and terminal throughput. They measured shipowner satisfaction through the service time of the vessel and developed a heuristic algorithm based on the genetic algorithm to solve it. Umang et al. [10] studied the dynamic mixed-type berth allocation problem in a bulk terminal and proposed two exact methods and one heuristic method, which were shown through numerical experiments to be effective in solving the large-scale problem and approaching the optimal solution. Venturini et al. [11] studied the multi-port berth allocation problem with speed optimization and emission considerations, focusing on the integration of berth allocation and speed optimization across multiple ports. Iris et al. [12] proposed two mathematical programming formulations for the strategic berth template problem at container terminals, aiming to optimize the selection of ship calls and berth allocation over a long-term planning horizon. Rodrigues [13] introduced an improved sequential insertion heuristic for the dynamic sequential berth allocation problem, achieving a solution that is 70% more efficient than the traditional approach while maintaining the simplicity and speed of the optimization process.

2.2. Quay Crane Assignment Problem

As described by Cheimanoff et al. [4], one key factor in terminal operations is the QC assignment strategy, which can be either time-variant or time-invariant. Meisel [14] investigated the problem of time-variant QC assignment with time-window constraints and proposed a mathematical model and a heuristic method based on tree search. The performance of the method is evaluated through a computational survey of a large number of test instances, and the impact of different time window structures on vessel processing time is analyzed. Liang et al. [15] proposed a hybrid evolutionary algorithm to solve the dynamic time-invariant QC assignment problem with the objective of minimizing the processing time, waiting time, and delay time for each vessel. Computational experiments show that the method is suitable for solving this complex but important problem of terminal operations. The time-invariant QC assignment and scheduling problem—considering worker performance and yard truck deployment—was studied by Chargui et al. [16]. By building a mixed-integer linear programming model, they proposed an integrated planning approach to minimize vessel departure times and used heuristic algorithms and variable neighborhood searches to generate efficient solutions. Rodrigues and Agra [17] proposed a distribution robust optimization model for a time-invariant QC scheduling problem dealing with uncertainty and solved by an exact decomposition algorithm.

2.3. Joint Allocation of Berths and Quay Cranes

Many studies have focused on time-variant BACAP and BACASP. Meisel and Bierwirth [18] examined the possibility of speeding up the arrival of each vessel. They also considered that as the number of cranes serving a vessel increases, the marginal crane productivity decreases due to interference among them. Türkoğulları et al. [19] proposed a mixed-integer linear scheme for optimizing berth position, berth time, and crane schedule. Iris et al. [20] proposed a set partitioning model for the BACAP and introduced column reduction techniques to improve the solution process. Jiao et al. [21] developed an integer linear programming model considering tidal effects and proposed three heuristic solution algorithms. Iris et al. [22] developed a recoverable robust optimization approach for the weekly berth and quay crane planning problem, focusing on uncertainties in vessel arrival times and quay crane handling rates. They introduced a proactive baseline schedule with reactive recovery costs to balance efficiency, robustness, and recoverability. Thanos et al. [23] proposed an integrated mathematical model and a fast local exploitation heuristic algorithm aimed at minimizing the container transit distance. Li et al. [24] aimed to minimize the total turnaround time of the vessel and the total penalty cost of the maintenance time of the terminal QC tardiness. Wang et al. [25] proposed an optimization scheme, integrating continuous BACAP and shore power allocation to achieve service efficiency improvement and carbon emission reduction.
Recently, time-invariant BACAP and BACASP have begun to receive attention from scholars. Han et al. [26] aimed to minimize the total service time and shipowner dissatisfaction level of all vessels. Liang et al. [27] aimed to minimize the total terminal turnaround time and the number of QC moves and proposed a multi-objective hybrid genetic algorithm to solve the problem. Türkoğulları et al. [28] introduced a binary integer linear scheme, BACAP, and extended it to BACASP by combining it with a specific time-invariant QC assignment problem. Bouzekri et al. [29] proposed a combined laycan and time-invariant BACASP methodology in a tidal port with multiple terminals. Cheimanoff et al. [4] proposed a synthesis method for solving time-invariant BACASP. Ji et al. [30] aimed to minimize the expected total dwell time of a vessel at the terminal. Correcher et al. [31] proposed a new approach to incorporate QC trips and setup times into BACASP. They developed a new mixed-integer linear programming model in which berth position and time are considered continuous variables, and they used a genetic algorithm to solve the problem.
After reviewing the problems related to berth allocation and QC assignment, we conclude that the reality of BACAP and specific QC assignments has only been partially considered in the existing research. The research work on BACASP is mainly single-objective, and its time-invariant version has received less attention compared to the time-variant version. Only a few of the existing multi-objective BACASP studies have considered shipowner satisfaction, where shipowner satisfaction is usually considered as a direct, linear metric, such as measuring shipowner satisfaction directly in terms of delay or waiting time [26,32]. However, shipowner satisfaction is a complex psychological process that is influenced by many factors, including cognitive and affective factors, and its responses are usually nonlinear [33,34]. For example, with respect to delay time, shipowners may react minimally to short delays but strongly to long delays. Such nonlinear responses can be captured by prospect theory, which emphasizes the asymmetric response of people to losses and gains. In other fields, many studies based on prospect theory have been used to measure shipowner satisfaction, achieving good results [35,36]. Therefore, prospect theory is used to calculate shipowner satisfaction in the proposed bi-objective time-invariant BACASP.

3. Description and Formulation of BACASP

3.1. Problem Description

BACASP involves a set of vessels V = { 1 , 2 , , | V | } , which load and unload cargo during the planning horizon T = { 1 , 2 , , | T | } at a continuous quay. The quay has a length of L and is equipped with Q quay cranes mounted on the rail (as shown in Figure 1).
A contract is usually signed between the shipowners and the terminal managers prior to the planning horizon [4]. This contract is used to provide information—in advance—about the relevant information of the vessel, such as length, expected arrival time, desired departure time, and desired position. The desired position usually refers to the position closest to the vessel’s loading and unloading yard. If the actual berthing position deviates from the desired position, additional transportation costs are incurred. Terminal managers then determine the berthing position, berthing time, and specific QC assignments for each vessel based on the relevant information to formulate a berthing plan that is both efficient and responsive to the shipowners’ needs.
Each vessel i arrives at the expected arrival time, a i , at which point, it is necessary to wait at the anchorage before berthing at the terminal if there are no available berths and enough seaside QCs to service it. Otherwise, the vessel is scheduled to berth. After vessel i berths, the CT assigns specific QCs to serve it. Once assigned, the number of QCs assigned to a vessel remains constant during its processing (time-invariant). Each vessel i occupies the length, l i , of the terminal at position y i without interruption until its loading and unloading processes are complete. The time for processing is related to the number of QCs assigned, the interference among the QCs, and the workload of horizontal transportation [18]. The vessel then departs from the terminal after the completion of its loading and unloading processing.
Typically, terminal managers seek to minimize the operational costs on the seaside of the terminal, which include the cost of berth occupancy before vessel berths, the cost of loading and unloading operations on the QCs, and the additional transportation costs associated with vessel deviations from desired positions. At the same time, human behavior in the system can have a significant impact on the scheduling system [37]. As the customers and ultimate recipients of the CT’s production scheduling process, the level of dissatisfaction of shipowners can be a measure of a terminal’s level of service, which in turn affects the attractiveness and competitiveness of the terminal. Tom and Lucey [38] and Davis and Maggard [39] illustrated that waiting times and delays in the queuing process cause customer dissatisfaction and that there is some negative correlation between longer waiting times and customer satisfaction. Therefore, the delayed departure of vessels and waiting before berthing may lead to shipowner dissatisfaction, which in turn reduces satisfaction with CTs.
As stated in Section 2.3, prospect theory is used to measure shipowner dissatisfaction. The value function in prospect theory represents human behavior in dealing with risk in an uncertain environment [37,40]. The gist of prospect theory is that the actor focuses only on the relative change in returns when making decisions, and the value function can be expressed in Equation (1):
v ( x ) = x φ x 0 λ ( x ) η x < 0
where x denotes the value of gain or loss; φ is used to describe the shape of the gain function; λ denotes the loss aversion coefficient; and η denotes the losses risk attitudes coefficient. In BACASP, shipowner dissatisfaction mainly depends on the time of delayed departure of the vessel from the terminal and the waiting time before berthing. Then, we establish the dissatisfaction function of the behavior subject; based on the value function, the dissatisfaction function can be expressed as in Equation (2):
μ ( t ) = 1 t r t λ ( t t 0 ) η t 0 t r t 0 0 t t 0
where t denotes the time lost; r t is the maximum tolerance time; and t 0 is a reference point indicating the decision maker’s psychological cut-off point. After calculating t 0 = 0 and performing the normalization operation, the shipowner dissatisfaction affiliation function is expressed in Equation (3).
μ i ( t ) = 1 t r t i λ t η A 0 t < r t i i V
where λ is known as the loss aversion coefficient; η is the coefficient of risk attitudes toward losses; A is the normalization factor, and r t is the maximum tolerance time.
In summary, we face the challenge of balancing terminal operating costs and shipowner satisfaction, as these two objectives are not always related or even mutually exclusive (as shown in Section 5.2.3). In fact, focusing only on operational costs may lead to terminal congestion and degradation of service quality, thus reducing shipowner satisfaction. Therefore, we propose a multi-objective optimization approach that aims to minimize both the operating cost and shipowner dissatisfaction at the CTs.
The feasible berthing plan for BACASP can be represented as a rectangle bin-packing problem in a time-space diagram (as shown in Figure 2). In this layout, the horizontal axis represents the berthing position, and the vertical axis represents time. Each vessel is represented as a rectangle whose length indicates its length and width indicates its process time. Each rectangle corresponding to a vessel satisfies the spatial–temporal non-overlapping constraint, as well as QC availability and non-crossing constraints. For instance, Figure 2 shows a feasible berthing plan for four vessels within a 20-h planning horizon, where the terminal is 1000 m long and equipped with 10 QCs mounted on the rail. The number of the vessel and the specific QC assignment are indicated in each rectangle of the figure.

3.2. Assumptions and Constraints

Given the complexity of the BACASP, in order to simplify the analysis and ensure the feasibility of the solution, we introduce the following assumptions:
  • Each vessel cannot berth prior to arrival time and cannot berth outside the quay;
  • Once berthed, a vessel cannot interrupt its processing and change its position;
  • The safety distance is included in the length of each vessel;
  • The processing time of each vessel is related to the berthing position and the number of assigned QCs;
  • The number of QCs assigned to each vessel remains constant during its processing, which is referred to as a time-invariant assignment;
  • Each vessel has a minimal and maximal number of QCs that can be assigned;
  • Each position at the terminal is occupied by one vessel, at most, at any moment;
  • The QCs can move along the rail but cannot cross each other.

3.3. Mathematical Formulation

As described in Section 2.3, Reference [4] proves that their model outperforms other models in terms of both solution speed and solution quality. Therefore, we choose their model as the basis of our study and extend it to construct a bi-objective mathematical model by considering the customer satisfaction of shipowners. In this section, we first define the relevant parameters (as shown in Table 1) and decision variables (as shown in Table 2), and then propose a bi-objective mathematical model to solve BACASP.
The following mathematical model is proposed:
min f 1 = i V ( ω 1 μ 1 ( g i ) + ω 2 μ 2 ( y i a i ) ) ,
min f 2 = i V ( c 1 r i + c 2 t i q = q i min q i max q h i q + c 3 ( y i + t i a i ) ) .
Subject to:
x i + l i L , i V ,
y i a i , i V ,
x i + l i x j + M ( 1 σ i j ) , i , j V , i j ,
y i + t i y j + M ( 1 δ i j ) , i , j V , i j ,
σ i j + σ j i + δ i j + δ j i 1 , i , j V , i j ,
r i x i x i * , i V ,
r i x i * x i , i V ,
q = q i min q i max h i q = 1 , i V ,
t i ( q = q i min q i max q h i q ) α ( 1 + r i β ) m i , i V ,
g i y i + t i d i , i V ,
n i + q = q i min q i max q h i q 1 + Q , i V ,
n i + q = q i min q i max q h i q n j + M ( 1 σ i j ) , i , j V , i j ,
x i , y i , g i , r i , t i 0 , i V ,
h i q 0 , 1 , i V , q { q i min , , q i max } ,
σ i j , δ i j 0 , 1 , i , j V , i j ,
n i 1 , 2 , , Q , i V .
The objective function (4) aims to minimize shipowner dissatisfaction. The objective function (5) aims to minimize the operating costs of the terminal’s (in dollars), including additional transportation costs (in dollars) due to deviation from the preferred position, loading and unloading operation costs (in dollars) at the QCs, and anchorage occupancy costs (in dollars). Constraint (6) ensures that all vessels have to berth within the berths of the terminal. Constraint (7) ensures that no vessel is expected to arrive at the terminal before the expected time of berth. Constraints (8) and (9) are used to set the variables and constraint (10) ensures that no more than one vessel is berthed at the same position at the same time. Constraints (8)–(10) ensure that vessels do not overlap in time and space. Constraints (11) and (12) determine the deviation of the berthed position of each vessel from the desired position. Constraint (13) determines the number of QCs allocated to each vessel. Constraint (14) determines the processing time for each vessel, taking into account the additional QC demand resulting from the vessel’s deviation from the preferred berth and the interference between multiple berths when they are servicing the same vessel. Constraint (15) determines the delay of each vessel with respect to its projected time of departure. Constraint (16) ensures that the maximum index of the QCs assigned does not exceed the total number of QCs. Constraint (17) ensures that if vessels are processed concurrently, the QCs assigned to them do not cross each other and have the correct ordering. Constraints (18)–(21) are variable definition constraints.

4. An IMOCS Algorithm for the BACASP

Inspired by the breeding behavior of cuckoos, Yang and Deb [41] developed MOCS to solve optimization problems. MOCS algorithms have been applied to several fields of computational intelligence and optimization and have shown good efficacy.
Figure 3 depicts the flowchart of IMOCS, the improvements include the following: an elite-guided adaptive tangent flight strategy, and an information-enhanced adaptive abandonment strategy. Section 4.1 describes the encoding and decoding strategies of IMOCS for solving BACASP and proposes a constructive heuristic to assign specific QCs to vessels. Section 4.2 discusses the initialization of the population, in which greedy and tent mapping strategies are used to increase the diversity of the initial population. To address the problem that the original MOCS algorithm is slow to converge and easily falls into local optima during the iteration process. Section 4.3 introduces two adaptive mechanisms to improve it. One is the elite-guided adaptive tangent flight, which selects elite individuals based on the non-dominated ordering and crowding degree distance; the other is the information-enhanced abandonment process, which aims to enhance the algorithm’s local search performance in the late iteration.

4.1. Solution Representation

In the proposed algorithm, integers are used for encoding and each solution consists of three parts, N e s t = [ B T ; B P ; N Q C ] , where the length of each part is V . B T denotes the berthing time of each vessel, B P denotes the berthing position of each vessel, and N Q C denotes the number of QCs assigned to each vessel. The coding structure of an individual can be represented as follows:
N e s t = { B T 1 , B T 2 , , B T V ; B P 1 , B P 2 , , B P V ; N Q C 1 , N Q C 2 , , N Q C V }
Decoding involves two stages. First, each vessel’s berthing position, berthing time, and the number of QCs assigned are derived from the coded information, with the waiting time calculated as the difference between berthing and arrival times, and processing time based on position and the number of QCs assigned. Since the coded information only specifies the number of QCs per vessel without specific QC assignments, an additional assignment step is needed. In the second stage, specific QCs are assigned to vessels by their relative positions in the time-space diagram, which can be achieved by the proposed constructive heuristic algorithm (Algorithm 1). The QCs are uniformly distributed on the seaside in ascending order from left to right and are assigned to vessels without collision. It is worth noting that in order to minimize the distance traveled by QCs, the specific QCs assigned are the ones closest to the vessel’s berthing position.
Algorithm 1. A constructive algorithm for BACASP
Applsci 15 03035 i001
Figure 4 illustrates a case with four vessels. The following procedure shows the steps of the specific QC assignment.
  • V B = , V N B = { 1 , 2 , 3 , 4 } . v 1 is the vessel with the earliest berthing time in V N B , so the closest available QCs, 3–4, are assigned to v 1 ;
  • V B = { 1 } , V N B = { 2 , 3 , 4 } . v 2 is the vessel with the earliest berthing time in V N B and overlaps with v 1 , so adjust the berthing position and allocate l 2 continuous available berth segments to v 2 , then the closest available QCs, 1–2, are assigned to v 2 ;
  • V B = { 1 , 2 } , V N B = { 3 , 4 } . v 3 is the vessel with the earliest berthing time in V N B , so the closest available QCs, 3–6, are assigned to v 3 ;
  • V B = { 1 , 2 , 3 } , V N B = { 4 } . v 4 is the vessel with the earliest berthing time in V N B and the QCs cannot cross v 3 to serve v 4 , so adjust the berthing position and allocate the l 4 continuous available berth segments to v 4 , then the closest available QCs, 1–2, are assigned to v 4 .

4.2. The Initial Feasible Solution

Numerous studies have shown that a high-quality and diverse initial population leads to higher performance when solving optimization problems. The greedy strategy chooses the current optimal choice at each decision step and is able to find a near-optimal solution quickly, thus finding a high-quality solution at the initial stage. Chaotic mapping is characterized by randomness, non-repeatability, and chaotic traversal, implying that it is more capable of leading to a uniformly distributed population than the random generation that relies on probability. Therefore, in this paper, the greedy strategy and tent chaotic mapping strategy are used to generate the initial population.
On the one hand, half of the initial populations are generated using the greedy strategy. First, the berthing time y i of each vessel is assigned as the expected arrival time, a i , and the berthing position, x i , is assigned as the desired position of the vessel. In addition, the number of QC assignments to each vessel is specified as q i max . On the other hand, the remaining initial populations are generated using an improved tent chaotic mapping strategy. Specifically, firstly, the berthing time, y i of each vessel is randomly generated in the planning horizon, the berthing location is randomly generated from [ 0 , L l i ] , and the number of QC assignments to each vessel is randomly generated from [ q i min , q i max ] . The initial population is then obtained by improved tent mapping function (as shown in Equation (23)).
x n + 1 = x n α + r a n d ( 0 , 1 ) × 1 N 0 x n < α 1 x n 1 α + r a n d ( 0 , 1 ) × 1 N α < x n 1 , n = 1 , 2 , , N
where the chaos parameter α = 0.5 and N is the number of individuals within the population. The introduction of the random variable, r a n d ( 0 , 1 ) / N , not only maintains the randomness and traversal nature of the tent chaotic mapping strategy, but also effectively avoids falling into the unstable cycle point during the iteration process. After the initialization of the population is completed, some constraints in the model are satisfied. However, there are still many constraints that have not yet been satisfied, which results in many solutions in the population generated after initialization being infeasible, requiring heuristic algorithms (Algorithm 1) to obtain feasible solutions.

4.3. The Dynamic Adaptive Mechanism

In this section, a dynamic adaptive mechanism is proposed for two important parameters, α s and p a , in the MOCS algorithm in order to balance the global search capability and local search capability. The tangent flight is used to increase the possibility of escaping from local optima. In addition, the elite guidance strategy and information enhancement strategy are proposed to reduce the possibility of slow convergence of the algorithm in the late iteration.

4.3.1. Elite Guided Adaptive Tangent Flight

In the original MOCS algorithm, each cuckoo produces a new solution from the old one through Equation (24):
s i ( t + 1 ) = s i ( t ) + α s L e v y ( )
where s i ( t ) is the solution at the t iteration. s i ( t + 1 ) is the new solution at the t + 1 iteration, which is calculated on the basis of s i ( t ) by step scaling factor α s and Lévy flight formula L e v y ( ) . The operation denotes term-by-term multiplication.
Unlike the Lévy flight, the tangent flight is derived from the tangent search algorithm, whose step calculation is based on the tangent function [42]. By using the tangent function, the algorithm is able to explore the search space more efficiently. After replacing the Lévy flight with a tangent flight, the new solution is generated from the old one through Equation (25):
s i ( t + 1 ) = s i ( t ) + α s tan ( θ )
where α s is the step factor and θ [ 0 , π / 2.1 ] , typically, π / 2.1 ; θ close to π / 2 increases the tangent value, leading to a solution that deviates significantly from the current one, whereas θ close to 0 results in a smaller tangent value, yielding a solution closer to the current one. Using the tangent flight function instead of the Lévy flight function in the MOCS algorithm allows the MOCS algorithm to circumvent the lack of local exploitation while further improving the global exploration capability of the MOCS algorithm.
The step factor in the original MOCS algorithm is α s = α 0 ( s j ( t ) s i ( t ) ) , where α 0 = 0.01 , and s j ( t ) s i ( t ) is the difference between an arbitrary solution and the current solution. Since s j ( t ) is stochastic, its search process is completely random and has no clear direction, leading to the possibility that the population may miss the global exploration. In addition, the fixed α 0 leads to a lack of an effective balance between global exploration and local exploitation, and also results in large random wandering in the late iteration step sizes, which is not conducive to the algorithm’s local exploitation and leads to slow convergence.
To address the problem of large randomness in the search direction and step size during the solution process of the MOCS algorithm, an elite-guided strategy is proposed to improve the optimization efficiency of MOCS in the solution updating process. The method firstly obtains the population’s r a n k = { r a n k 1 , , r a n k n } by fast non-dominated sorting and then calculates the crowding distance of individuals in r a n k 1 to select the best-fit individual s b e s t ( t 1 ) as the elite individual in the t iteration by roulette.
In addition, to address the problem of slow convergence and the ease of falling into local optima at the late iteration stages, a dynamic adaptive step-size strategy is proposed, and the convergence of the algorithm is accelerated by introducing inertia weights w ( t ) = sin ( π t / 2 t max ) + 1 . Parameter α ¯ decreases nonlinearly as the number of iterations increases, and information about the optimal solution and the optimal value in the population is fully considered. The step size of the improved tangent flight is shown in Equations (26) and (27):
s i ( t + 1 ) = w ( t ) s i ( t ) + α ¯ ( t ) ( s b e s t ( t 1 ) s i ( t ) ) tan ( θ )
α ¯ ( t ) = 0.01 ( 1 t ) r f b e s t ( t ) r f i ( t ) r f b e s t ( t ) r f w o r s t ( t ) + Δ
where r f denotes the sum of the individual r a n k value and the inverse of the individual crowding distance; individuals with larger crowding distances in the Pareto frontier have smaller r f values. r f i ( t ) , r f b e s t ( t ) , and r f w o r s t ( t ) denote the i individual, as well as the optimal and the worst r f values, respectively, in the t iteration of the population. The Δ is a small constant used to avoid division by zero errors.
From Equation (26), it can be seen that the t iteration optimization is guided by s b e s t ( t 1 ) , which can direct the individuals in the population to the region where the optimal solution exists. In addition, the algorithm can converge quickly due to the introduction of inertia weights that decrease nonlinearly with the number of iterations. The introduction of the dynamic adaptive strategy allows the s b e s t ( t 1 ) individuals in the population to adaptively adjust according to their own fitness value and the contemporary optimal fitness value, enabling the algorithm to converge to the global optimal solution faster.

4.3.2. Information-Enhanced Adaptive Abandonment Process

The original MOCS algorithm performs an abandonment process (as shown in Equation (28)) after generating a new solution in order to maintain population diversity and enhance the ability to escape from local optima:
s i ( t ) = s i ( t ) + r i 1 ( s j ( t ) s k ( t ) ) r i 2 < p a s i ( t ) r i 2 p a
where p a denotes the probability of abandonment, r i 1 and r i 2 are uniform random numbers in [ 0 , 1 ] . s i ( t ) and s j ( t ) are the two solutions randomly chosen at the t iteration.
However, if the MOCS algorithm does not receive enough information in the search for the optimum or obtains the wrong information, this can cause it to end the global exploration too quickly before undertaking local exploitation. In addition, a larger value of p a increases the diversity of solutions and inhibits premature convergence, while a smaller value of p a improves the search accuracy, but slows down the search process. Fixed values of p a cause the algorithm to lack a proper balance between global exploration capability and local exploitation capability. Therefore, in order to reduce the probability of the MOCS algorithm falling into a local optimum, a dynamic adaptive p a ( t ) strategy is proposed to enhance its ability to acquire information during the optimization search process. The improved abandonment process is shown in Equations (29) and (30):
s i ( t ) = s i ( t ) + r i 1 ( ( s j ( t ) s k ( t ) ) + ( s l ( t ) s m ( t ) ) ) r i 2 < p a ( t ) s i ( t ) r i 2 p a ( t )
p a ( t ) = 2 p a 1 + e 6 t / t max
where p a ( t ) denotes the adaptive probability of abandonment; t max is the maximum number of iterations; s j ( t ) , s k ( t ) , s l ( t ) , s m ( t ) are the four solutions randomly selected in the t iteration; r i 1 and r i 2 are uniform random numbers in [0, 1].
After obtaining more information about the local exploitation space, the improved vector provides more possibilities for the direction and distance of the abandonment process on the basis of the previous one, which increases the likelihood of the algorithm jumping out of the local optimum through various changes in distance and direction. In addition, the introduction of the dynamic adaptive p a ( t ) enlarges the search space of the algorithm in the pre-iterative period, thus improving the global exploration capability. During the optimization search process, p a ( t ) decreases, which enhances the local exploitation performance of the algorithm in the late iteration.

5. Numerical Experiments

In this section, numerical experiments are presented to evaluate the performance of the IMOCS algorithm in solving the BACASP. It is important to note that all the algorithms were implemented using MATLAB 2020 and GUROBI 11.0. These experiments were conducted on a computer system equipped with an Intel Core i7-12700H CPU, running at 4.7 GHz, and with 6 GB of RAM.

5.1. Experiment Settings

5.1.1. Instances Generation and Parameter Setting

To test the performance of the algorithm, some instances are generated following the criteria applied by Meisel and Bierwirth [18], Correcher et al. [43], and others [4,44]. These instances are extended in this paper in order to consider various types of cost- and shipowner satisfaction-related parameters in this study. The generated set V = { 10 , 15 , 20 , 30 , 40 , 50 } contains a total of 30 instances of vessels. These instances can be further categorized into two groups: small-scale instances, which include instances with a number of vessels ranging from 10 to 20, with 5 instances for each number of vessels; and large-scale instances, which include instances with a number of vessels ranging from 30 to 50, with 5 instances for each number of vessels.
According to the previously described criteria, for all instances in this set, we consider a terminal of length L = 1000 m and equipped with Q = 10 QCs, with a planning time period of T = 210 h, discretized in units of 10 m and 1 h, respectively. There are three types of vessels: feeder, medium, and jumbo, each having different length and QC requirements at the terminal, accounting for 60%, 30%, and 10% of the total vessels in each instance.
The length of the vessel, l i , the QC requirements in crane hours, m i , the minimum number of QCs, q i min , and the maximum number of QCs, q i max , are generated, as seen in Table 3. For the expected arrival time of the vessel a i , small-scale instances are generated using uniform distribution, U 0 , T / 2 , while large-scale instances are generated using uniform distribution, U 0 , 168 , corresponding to a one-week period to avoid the generation of solutions that are out of the planning horizon. The desired position of the vessel, x i * , is generated by the uniform distribution, U 0 , L l i . For each vessel, its loading and unloading times, t i , are calculated according to Equation (14), and its expected departure time, d i , is a i + 1.5 m i / q i max . The processing time and estimated departure time are rounded to the next integer. The maximum waiting time, r t 1 i , and the maximum delay time, r t 2 i , tolerated by the vessel are d i a i and T d i , respectively. For all vessels, the cost coefficients and the parameters of shipowner satisfaction are the same, namely, ω 1 = 1.2 , ω 2 = 1.2 , c 1 = 0.38 , c 2 = 0.2 , and c 3 = 0.1 . According to Kahneman and Tversky [45], the value function coefficients for satisfaction are generally set to λ = 2.25 , η = 0.88 .
Before using the algorithm, the necessary parameters need to be determined. Some main parameters need to be set for the IMOCS algorithm, including the population size, N , the maximum number of iterations, I t e r , and the abandonment probability, p a . Figure 5 illustrates the results of the sensitivity analysis experiments for the main parameters of the IMOCS. Using solving instance 50-1 as an example, the main focus is on the optimization objective of the terminal cost. According to Reference [41], the settings of the parameters involved in the test include N = { 60 , 80 , 100 , 120 , 140 } , the abandonment probability p a = { 0.15 , 0.2 , 0.25 } , and I t e r = { 300 , 400 , 500 } .
As shown in Figure 5 and Table 4, the IMOCS algorithm obtains high-quality solutions in a relatively short time when p a = 0.25 and N = 100 . In addition, the algorithm usually converges within 300 iterations. Therefore, the parameters N = 100 , p a = 0.25 , I t e r = 300 are chosen in this paper to ensure the efficiency and stability of the algorithm. For the parameter settings for the rest of the algorithm, refer to References [46,47]. Specifically, the NSGAII algorithm has a crossover rate of G A c r = 0.8 and a mutation rate of G A m r = 0.8 ; the MOPSO algorithm has an inertia weight of P S O w = 0.8 , a learning factor of P S O c 1 = 2 , and a learning factor of P S O c 2 = 1 ; and the SPEA2 algorithm has a crossover rate of S P c r = 0.8 and a variance rate of S P m r = 0.2 . All algorithms were tested on the same problem instance and initial conditions.

5.1.2. Performance Metrics

The hypervolume (HV) and the inverse generation distance (IGD) are metrics that comprehensively measure convergence and diversity, making them appropriate for comparing the algorithms in this study. It is important to note that the objective values of each comparison algorithm are normalized, as the two objectives have different scales [48].
The HV metric measures the volume of the objective space that is dominated by the solution set obtained from an optimization algorithm, and the reference point (1, 1) is selected [49]. A larger HV value indicates better overall performance of the algorithm. Let P represent the Pareto front obtained by the algorithm, and the HV value for P can be calculated by HV ( P ) = δ ( i = 1 P v i ) , where δ is the Lebesgue measure used to calculate volume, P denotes the number of non-dominated solution sets, and v i represents the hypervolume constituted by the reference point and the i solution in the solution set.
IGD metric measures the average distance from the true Pareto frontier to P . A smaller IGD value indicates better overall performance of the algorithm [50]. Since the true Pareto frontier, P * , is unknown in advance for these instances, it is approximated here by all non-dominated solutions obtained from different algorithms, with each independently repeated 10 times per instance. Therefore, the IGD value of P can be calculated by IGD ( P , P * ) = x P d ( x , P ) / P , where d ( x , P ) denotes the Euclidean distance from the solution x to the set of nondominated solutions P .

5.2. Results and Analysis

5.2.1. Performance Comparison Between IMOCS and GUROBI

In this section, we compare the results of the IMOCS algorithm with the GUROBI solver for solving instances of V = 10, 15, 20 to evaluate the performance of the IMOCS algorithm. The metrics evaluated are the objective function value and the CPU runtime used for solving. In the GUROBI solver, the nonlinear constraints are processed using approximate linearization, and the two objectives are solved separately by weighting multiple objectives with a preset upper bound of 7200 s. For the IMOCS algorithm, each instance is run independently 10 times in the same computational environment and the optimal objective value is selected. It is worth noting that in order to better represent the performance of IMOCS algorithm on a single objective for comparison with the results solved by GUROBI, we set the two objectives to be the same, allowing us to solve the two objectives separately instead of optimizing them simultaneously.
The results of the solution are shown in Table 5. In the table, the first column shows the size of the problem and the second column shows the index of the instance. O b j G i and O b j I i are the values of the objective functions solved by GUROBI and IMOCS, respectively. T G and T I are the total CPU runtimes for GUROBI and IMOCS, and are used to solve the two objectives, respectively. The G a p is the percentage deviation of the algorithm output from the best possible solution and is calculated by G a p i = ( O b j I i O b j G i ) / O b j G i × 100 % .
As can be seen from Table 5, for instances with V = 10 , the gap between the objective function values solved by IMOCS and GUROBI is 0, and the CPU runtime used by IMOCS is very small. For instances with V = 15 , the difference between the objective function values obtained by the two methods is very small (the minimum difference is only 0.36%, the maximum difference is only 1.84%, and the average difference is only 0.89%), but the CPU runtime used by the IMOCS algorithm is significantly smaller than that used by GUROBI. For instances with V = 20 , the gap between the objective function values obtained by the two methods is larger than for instances with V = { 10 , 15 } , except for the instances where GUROBI fails to solve the problem within the time constraints, suggesting that the effectiveness of IMOCS optimization diminishes as the size of the problem increases. In fact, the gap between the two methods is not significant, with a maximum of only 8.73%. Moreover, the CPU runtime for IMOCS algorithm solving is acceptable in practice, i.e., around 2–4 min for a 20-vessel instance. It is worth noting that the time for GUROBI solving increases dramatically with the size of the problem. Even for instances of the same size, there are significant fluctuations in the CPU runtime for GUROBI solving. In order to more visually represent the solution result, the space-time plot of vessel berthing and the Gantt chart of QC assignments obtained from the solution for instance 10-4 are given in Figure 6. For example, vessel 1 berths at 130 m from the seaside at hour 15 of the planning time period and is serviced by QCs 1–6.

5.2.2. Performance Comparison Between IMOCS and Other Algorithms

Considering the size and complexity of large-scale instances V = { 30 , 40 , 50 } , it is difficult for GUROBI to obtain a feasible solution in an acceptable time. Therefore, to validate the performance of the proposed algorithm, we select three multi-objective optimization algorithms and compare them with the proposed IMOCS algorithm. These algorithms include the Non-Dominated Sorting Genetic Algorithm II (NSGAII), the Strength Pareto Evolutionary Algorithm 2 (SPEA2), and MOCS. The reasons for choosing these algorithms are as follows: (1) NSGAII and SPEA2 are classical and effective multi-objective optimization algorithms, which have been widely used in solving various types of multi-objective problems, such as multi-objective berth QC scheduling, and have shown good performance [30]; (2) NSGAII and SPEA2 are often used as comparative algorithms to evaluate the effectiveness of the proposed algorithms for multi-objective optimization problems [48]. Each instance runs independently 10 times in the same computing environment, and the average values for minimum shipowner dissatisfaction (Obj1), minimum CT operating cost (Obj2), HV, and IGD are calculated for each instance.
Table 6 describes the experimental results for the large-scale instances. The overall average Obj1 values for NSGAII, SPEA2, MOCS, and IMOCS are 28.6, 27.4, 27.0, and 25.1, respectively. IMOCS achieves the best performance, followed by MOCS, while NSGAII performs the worst. For overall average Obj2 values, IMOCS again performs the best at 373.4, significantly outperforming the next-best NSGAII at 400.4. Regarding overall average T values, SPEA2 leads with 642.4 s, followed closely by IMOCS at 674.7 s. The difference of around 30 s is minor and acceptable in practical applications. Table 7 describes the comparison of performance metrics for vessel sizes V = 30, 40, 50. The overall average IGD values for NSGAII, SPEA2, MOCS, and IMOCS are 0.40, 0.44, 0.31, and 0.21, respectively, showing that IMOCS achieves the best performance, followed by MOCS, with NSGAII performing the worst. For the overall average HV values, IMOCS also performs best, achieving 0.72 compared to 0.62 for MOCS. For the 15 test instances, IMOCS achieves the best average Obj1, Obj2, IGD, and HV values, demonstrating its superior performance among the four algorithms.
In order to visualize the performances of all the algorithms, Figure 7 presents the Pareto frontier plots of the three instances obtained by the compared algorithms. Figure 8 shows the boxplots of IGD and HV for all the compared algorithms across different-sized instances. One instance is chosen from each scale (30-1, 40-1, and 50-1), and the non-dominated solutions from the four algorithms are plotted in Figure 7. Based on preliminary experiments, the Pareto frontiers for the other instances display similar patterns. The IMOCS-generated Pareto frontiers are located closer to the lower left corner of the graph, indicating that IMOCS dominates the majority of solutions from the other algorithms, while only a few of the IMOCS solutions are dominated by the solutions of other algorithms.
Figure 8a shows the box-and-line plots of the IGD values for the four comparison algorithms at different scales, while Figure 8b shows the box-and-line plots of the HV values for the four comparison algorithms at different scales. Each plot shows the upper and lower quartiles, the median, and the mean, to better highlight the statistical properties of the experimental outcomes. As seen in Figure 8, there is a significant difference between IMOCS and the other three algorithms. A higher HV value indicates superior performance, while a smaller IGD value reflects better performance. Additionally, smaller quartile spacing and fewer outliers indicate more consistent performance. It is evident that IMOCS significantly outperforms the other algorithms.
To further illustrate the effectiveness and applicability of the proposed algorithm, we conducted a comparative evaluation of the four algorithms using the instances from Park [44] (referred to as GenPK). These instances have also been utilized in prior studies, such as Reference [43], and consist of instances with complexity comparable to those presented in our work. The results of the experiment are shown in Table 8; the first column shows the size of the instances and the second column shows the evaluated metrics, including average shipowner dissatisfaction (Avg.obj1), average terminal cost (Avg.obj2), and average CPU runtime (Avg.time).
As shown in Table 8, the overall average Obj1 values for NSGAII, SPEA2, MOCS, and IMOCS are 17.6, 16.7, 16.3, and 14.8, respectively. IMOCS achieves the best performance, followed by MOCS, while NSGAII and SPEA2 perform similarly but worse. For overall average Obj2 values, IMOCS again performs the best at 312.2, significantly outperforming the next-best, MOCS, at 337.8. Regarding overall average T values, SPEA2 leads with 481.1 s, followed closely by IMOCS at 517.6 s. The difference of around 36 s is minor and acceptable in practical applications. The results illustrate that the proposed IMOCS algorithm also has good performance on different types of instances, reflecting its effectiveness and applicability.

5.2.3. Managerial Insight

This section discusses the importance of considering shipowner satisfaction in CT seaside operations from a managerial perspective and validates the value of our proposed multi-objective optimization model in practice. First, we analyze the relationship between terminal operating costs and shipowner dissatisfaction to explore whether there is a conflict. With the objective of minimizing the terminal operating cost, we solved instance 20-1 and recorded the trends of terminal operating costs and shipowner dissatisfaction during the optimization process. Figure 9 shows the convergence curve of the optimization process, where the horizontal axis represents the number of iterations and the vertical axis represents the terminal operation cost and shipowner dissatisfaction, respectively.
From Figure 9, it can be observed that the terminal operation cost gradually decreases and stabilizes as the number of iterations increases. Meanwhile, shipowner dissatisfaction shows an upward trend and eventually reaches a high level, thus demonstrating that the two objectives are not positively correlated, but are in some conflict (not always). This result is explained by the fact that reducing operating costs usually relies on reducing the number of QCs assigned to each vessel and arranging vessels in positions that result in high berth utilization, which can lead to longer waiting times and delays. This conflict provides a theoretical basis for the use of multi-objective optimization and highlights the need to balance the two objectives in actual operations.
Based on the clarification of the conflict between the two objectives—in order to further evaluate the advantages of the bi-objective optimization method, this section compares it with the traditional weighted single-objective optimization method. The weighted single-objective optimization method is performed by constructing the objective function O b j = w α . O b j 1 + ( 1 w α ) . O b j 2 and testing the results with different values of weight w α in order to analyze the performance difference between the two methods. Each instance is run independently 10 times in the same environment and the average objective function value is taken.
The results of the comparison are shown in Table 9, where the third through eighth columns show the average shipowner dissatisfaction (Obj1) and the total cost of the marina (Obj2) for the single-objective optimization with different weights, w α , and the ninth through twelfth columns show the two endpoints (Min obj1 and Min obj2) of the Pareto frontier solution for the bi-objective optimization.
In the Pareto frontier, the left endpoint value (Min obj1) decreases the average costs by 7.1% compared to a single-objective optimization ( w α = 1 ) that aims to minimize Obj1, while customer dissatisfaction increases by only 5.4%. The right endpoint value (Min obj2) decreases customer dissatisfaction by 8.7% compared to a single-objective optimization ( w α = 0 ) that aims to minimize Obj2, but the terminal operating cost only increases by about 5.6%. These results indicate that the bi-objective optimization method provides a flexible and diverse set of solutions covering a wide range of trade-offs between minimizing Obj1 to minimizing Obj2 (as shown in Figure 7). This approach provides terminal managers with an expanded choice space to select the most appropriate solution according to the actual needs (e.g., prioritizing shipowner satisfaction in the peak season scenario and prioritizing cost in the off-season scenario). In contrast, the weighted single-objective method can only generate a single solution for each optimization due to the fixed weight limitation, and relies on problem-specific knowledge and a priori preferences of decision makers.

6. Conclusions

In this paper, we propose a bi-objective BACASP. To fully utilize the berth space and obtain a more realistic berthing plan, continuous berths, the dynamic arrival of vessels, and the non-crossing of QCs are considered in the proposed BACASP. Considering that shipowners are irrational and the relationship between satisfaction and delay and advancement is not linear, prospect theory is used to calculate shipowner dissatisfaction instead of the traditional approach of minimizing total delay and waiting time. Given that BACASP is an NP-hard problem, an IMOCS algorithm is proposed to solve this problem. Numerical experimental results show that the solution quality of IMOCS is close to those of the GUROBI solver on small-scale instances, with a significant advantage in computational time. For large-scale instances, IMOCS exhibits better convergence and diversity, outperforming other multi-objective optimization algorithms, such as NSGA-II, SPEA2, and MOCS, in terms of objective function values, HV values, and IGD values.
Given the time constraints, two extensions can be considered for future research. The first one is to introduce tidal factors into BACASP, considering the influence of different water depths on vessels entering and leaving the channel. Another extension is to study the scenario with uncertain arrival times. Robust schedules are usually the target for the model with uncertainty, and it may be an interesting challenge.

Author Contributions

Conceptualization, Z.L. and X.Z.; funding acquisition, X.Z. and X.Z.; investigation, Z.L., X.Z. and J.Z.; methodology, Z.L., J.Z. and X.Z.; project administration, J.Z.; supervision, J.Z.; validation, J.Z. and Y.Z.; writing—original draft, J.Z.; writing—review and editing, X.Z. and C.F. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation Committee (NSFC) of China under grant no. 52075404 and the National Key Research and Development Project of China under grant no. 2020YFB1710804.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Some or all data and code that support the findings of this study are available from the corresponding author upon reasonable request.

Acknowledgments

The authors are grateful to the subjects for their contributions to the experiment.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. United Nations Conference on Trade and Development. Review of Maritime Transport 2022. 2022. Available online: https://unctad.org/system/files/official-document/rmt2022_en.pdf (accessed on 8 March 2025).
  2. Khadka, K.; Maharjan, S. Customer Satisfaction and Customer Loyalty. Centria Univ. Appl. Sci. Pietarsaari 2017, 1, 58–64. [Google Scholar]
  3. Rodrigues, F.; Agra, A. Berth Allocation and Quay Crane Assignment/Scheduling Problem under Uncertainty: A Survey. Eur. J. Oper. Res. 2022, 303, 501–524. [Google Scholar] [CrossRef]
  4. Cheimanoff, N.; Fontane, F.; Kitri, M.N.; Tchernev, N. Exact and Heuristic Methods for the Integrated Berth Allocation and Specific Time-Invariant Quay Crane Assignment Problems. Comput. Oper. Res. 2022, 141, 105695. [Google Scholar] [CrossRef]
  5. Iris, Ç.; 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]
  6. Aslam, S.; Michaelides, M.P.; Herodotou, H. Berth Allocation Considering Multiple Quays: A Practical Approach Using Cuckoo Search Optimization. J. Mar. Sci. Eng. 2023, 11, 1280. [Google Scholar] [CrossRef]
  7. Ou, X.; Wu, M.; Tu, B.; Zhang, G.; Li, W. Multi-Objective Unsupervised Band Selection Method for Hyperspectral Images Classification. IEEE Trans. Image Process. 2023, 32, 1952–1965. [Google Scholar] [CrossRef]
  8. Song, P.-C.; Pan, J.-S.; Chu, S.-C. A Parallel Compact Cuckoo Search Algorithm for Three-Dimensional Path Planning. Appl. Soft Comput. 2020, 94, 106443. [Google Scholar] [CrossRef]
  9. Golias, M.M.; Boile, M.; Theofanis, S. Berth Scheduling by Customer Service Differentiation: A Multi-Objective Approach. Transp. Res. Part E Logist. Transp. Rev. 2009, 45, 878–892. [Google Scholar] [CrossRef]
  10. Umang, N.; Bierlaire, M.; Vacca, I. Exact and Heuristic Methods to Solve the Berth Allocation Problem in Bulk Ports. Transp. Res. Part E Logist. Transp. Rev. 2013, 54, 14–31. [Google Scholar] [CrossRef]
  11. Venturini, G.; Iris, Ç.; 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]
  12. Iris, Ç.; Lalla-Ruiz, E.; Lam, J.S.L.; Voß, S. Mathematical Programming Formulations for the Strategic Berth Template Problem. Comput. Ind. Eng. 2018, 124, 167–179. [Google Scholar] [CrossRef]
  13. Rodrigues, F. Improved Sequential Insertion Heuristics for Berth Allocation Problems. Int. Trans. Oper. Res. 2024, 31, 1585–1608. [Google Scholar] [CrossRef]
  14. Meisel, F. The Quay Crane Scheduling Problem with Time Windows. Nav. Res. Logist. (NRL) 2011, 58, 619–636. [Google Scholar] [CrossRef]
  15. Liang, C.; Huang, Y.; Yang, Y. A Quay Crane Dynamic Scheduling Problem by Hybrid Evolutionary Algorithm for Berth Allocation Planning. Comput. Ind. Eng. 2009, 56, 1021–1028. [Google Scholar] [CrossRef]
  16. Chargui, K.; Zouadi, T.; El Fallahi, A.; Reghioui, M.; Aouam, T. Berth and Quay Crane Allocation and Scheduling with Worker Performance Variability and Yard Truck Deployment in Container Terminals. Transp. Res. Part E Logist. Transp. Rev. 2021, 154, 102449. [Google Scholar] [CrossRef]
  17. Rodrigues, F.; Agra, A. Handling Uncertainty in the Quay Crane Scheduling Problem: A Unified Distributionally Robust Decision Model. Int. Trans. Oper. Res. 2024, 31, 721–748. [Google Scholar] [CrossRef]
  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. Türkoğulları, Y.B.; Taşkın, Z.C.; Aras, N.; Altınel, İ.K. Optimal Berth Allocation, Time-Variant Quay Crane Assignment and Scheduling with Crane Setups in Container Terminals. Eur. J. Oper. Res. 2016, 254, 985–1001. [Google Scholar] [CrossRef]
  20. Iris, Ç.; 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]
  21. Jiao, X.; Zheng, F.; Liu, M.; Xu, Y. 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]
  22. Iris, Ç.; Lam, J.S.L. Recoverable Robustness in Weekly Berth and Quay Crane Planning. Transp. Res. Part B Methodol. 2019, 122, 365–389. [Google Scholar] [CrossRef]
  23. Thanos, E.; Toffolo, T.; Santos, H.G.; Vancroonenburg, W.; Vanden Berghe, G. The Tactical Berth Allocation Problem with Time-Variant Specific Quay Crane Assignments. Comput. Ind. Eng. 2021, 155, 107168. [Google Scholar] [CrossRef]
  24. Li, Y.; Chu, F.; Zheng, F.; Liu, M. A Bi-Objective Optimization for Integrated Berth Allocation and Quay Crane Assignment With Preventive Maintenance Activities. IEEE Trans. Intell. Transp. Syst. 2022, 23, 2938–2955. [Google Scholar] [CrossRef]
  25. Wang, Z.; Hu, H.; Zhen, L. Berth and Quay Cranes Allocation Problem with On-Shore Power Supply Assignment in Container Terminals. Comput. Ind. Eng. 2024, 188, 109910. [Google Scholar] [CrossRef]
  26. Han, X.; Lu, Z.; Xi, L. 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]
  27. Liang, C.; Guo, J.; Yang, Y. Multi-Objective Hybrid Genetic Algorithm for Quay Crane Dynamic Assignment in Berth Allocation Planning. J. Intell. Manuf. 2011, 22, 471–479. [Google Scholar] [CrossRef]
  28. Türkoğulları, Y.B.; Taşkın, Z.C.; Aras, N.; Altınel, İ.K. Optimal Berth Allocation and Time-Invariant Quay Crane Assignment in Container Terminals. Eur. J. Oper. Res. 2014, 235, 88–101. [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. Ji, B.; Huang, H.; Yu, S.S. An Enhanced NSGA-II for Solving Berth Allocation and Quay Crane Assignment Problem with Stochastic Arrival Times. IEEE Trans. Intell. Transport. Syst. 2023, 24, 459–473. [Google Scholar] [CrossRef]
  31. Correcher, J.F.; Perea, F.; Alvarez-Valdes, R. The Berth Allocation and Quay Crane Assignment Problem with Crane Travel and Setup Times. Comput. Oper. Res. 2024, 162, 106468. [Google Scholar] [CrossRef]
  32. Yu, J.; Voß, S.; Song, X. Multi-Objective Optimization of Daily Use of Shore Side Electricity Integrated with Quayside Operation. J. Clean. Prod. 2022, 351, 131406. [Google Scholar] [CrossRef]
  33. Ting, S.-C.; Chen, C.-N. The Asymmetrical and Non-Linear Effects of Store Quality Attributes on Customer Satisfaction. Total Qual. Manag. 2002, 13, 547–569. [Google Scholar] [CrossRef]
  34. Yu, Y.-T.; Dean, A. The Contribution of Emotional Satisfaction to Consumer Loyalty. Int. J. Serv. Ind. Manag. 2001, 12, 234–250. [Google Scholar] [CrossRef]
  35. Tong, H.; Zhu, J. A Novel Method for Customer-Oriented Scheduling with Available Manufacturing Time Windows in Cloud Manufacturing. Robot. Comput.-Integr. Manuf. 2022, 75, 102303. [Google Scholar] [CrossRef]
  36. Wu, B.; Jiang, H.-J.; Wang, C.; Dong, M. Knowledge and Behavior-Driven Fruit Fly Optimization Algorithm for Field Service Scheduling Problem with Customer Satisfaction. Complexity 2021, 2021, 8571524. [Google Scholar] [CrossRef]
  37. Sang, Y.; Tan, J.; Liu, W. A New Many-Objective Green Dynamic Scheduling Disruption Management Approach for Machining Workshop Based on Green Manufacturing. J. Clean. Prod. 2021, 297, 126489. [Google Scholar] [CrossRef]
  38. Tom, G.; Lucey, S. Waiting Time Delays and Customer Satisfaction in Supermarkets. J. Serv. Mark. 1995, 9, 20–29. [Google Scholar] [CrossRef]
  39. Davis, M.M.; Maggard, M.J. An Analysis of Customer Satisfaction with Waiting Times in a Two-Stage Service Process. J. Oper. Manag. 1990, 9, 324–334. [Google Scholar] [CrossRef]
  40. Rieger, M.O.; Wang, M. Prospect Theory for Continuous Distributions. J Risk Uncertain. 2008, 36, 83–102. [Google Scholar] [CrossRef]
  41. Yang, X.-S.; Deb, S. Multiobjective Cuckoo Search for Design Optimization. Comput. Oper. Res. 2013, 40, 1616–1624. [Google Scholar] [CrossRef]
  42. Layeb, A. Tangent Search Algorithm for Solving Optimization Problems. Neural Comput. Appl. 2022, 34, 8853–8884. [Google Scholar] [CrossRef]
  43. Correcher, J.F.; Alvarez-Valdes, R.; Tamarit, J.M. New Exact Methods for the Time-Invariant Berth Allocation and Quay Crane Assignment Problem. Eur. J. Oper. Res. 2019, 275, 80–92. [Google Scholar] [CrossRef]
  44. Park, Y.-M.; Kim, K.H. A Scheduling Method for Berth and Quay Cranes. OR Spectr. 2003, 25, 1–23. [Google Scholar] [CrossRef]
  45. Kahneman, D.; Tversky, A. Prospect Theory: An Analysis of Decision Under Risk. In World Scientific Handbook in Financial Economics Series; World Scientific: Singapore, 2013; Volume 4, pp. 99–127. ISBN 978-981-4417-34-1. [Google Scholar]
  46. Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE Trans. Evol. Comput. 2002, 6, 182–197. [Google Scholar] [CrossRef]
  47. Zitzler, E.; Laumanns, M.; Thiele, L. SPEA2: Improving the Strength Pareto Evolutionary Algorithm; ETH Zurich: Zurich, Switzerland, 2001; Volume 103. [Google Scholar]
  48. Zou, W.-Q.; Pan, Q.-K.; Wang, L. An Effective Multi-Objective Evolutionary Algorithm for Solving the AGV Scheduling Problem with Pickup and Delivery. Knowl.-Based Syst. 2021, 218, 106881. [Google Scholar] [CrossRef]
  49. Zitzler, E.; Thiele, L. Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach. IEEE Trans. Evol. Comput. 1999, 3, 257–271. [Google Scholar] [CrossRef]
  50. Bosman, P.A.N.; Thierens, D. The Balance between Proximity and Diversity in Multiobjective Evolutionary Algorithms. IEEE Trans. Evol. Comput. 2003, 7, 174–188. [Google Scholar] [CrossRef]
Figure 1. Layout of a container terminal.
Figure 1. Layout of a container terminal.
Applsci 15 03035 g001
Figure 2. Time–space diagram of a feasible berthing plan.
Figure 2. Time–space diagram of a feasible berthing plan.
Applsci 15 03035 g002
Figure 3. Flowchart of the proposed IMOCS.
Figure 3. Flowchart of the proposed IMOCS.
Applsci 15 03035 g003
Figure 4. Encoding and decoding processes for a small BACASP instance.
Figure 4. Encoding and decoding processes for a small BACASP instance.
Applsci 15 03035 g004
Figure 5. Parameter sensitivity analysis of the IMOCS algorithm.
Figure 5. Parameter sensitivity analysis of the IMOCS algorithm.
Applsci 15 03035 g005
Figure 6. (a) The berthing plan for instance 10-4. (b) QC-time Gantt chart for instance 10-4.
Figure 6. (a) The berthing plan for instance 10-4. (b) QC-time Gantt chart for instance 10-4.
Applsci 15 03035 g006
Figure 7. Pareto front diagrams for instances (a) 30-1, (b) 40-1, and (c) 50-1.
Figure 7. Pareto front diagrams for instances (a) 30-1, (b) 40-1, and (c) 50-1.
Applsci 15 03035 g007
Figure 8. (a) Boxplots of IGD values for four algorithms at different scales. (b) Boxplots of HV values for four algorithms at different scales.
Figure 8. (a) Boxplots of IGD values for four algorithms at different scales. (b) Boxplots of HV values for four algorithms at different scales.
Applsci 15 03035 g008
Figure 9. Convergence curve of the optimization process.
Figure 9. Convergence curve of the optimization process.
Applsci 15 03035 g009
Table 1. The parameters of BACASP.
Table 1. The parameters of BACASP.
ParameterDefinitionUnit
T Set of time steps in the planning time horizon T = 1 , 2 , , T hour (h)
L Length of the quaymeter (m)
Q Total number of QCsunitless
V Set of vessels V = 1 , 2 , , V unitless
a i Arrival time of vessel i, i V h
l i Length of vessel i, i V m
m i The QC capacity demand of vessel i given as a number of QC hours, i V QC.h
q i min Minimum number of cranes that can be assigned to vessel i, i V unitless
q i max Maximum number of cranes that can be assigned to vessel i, i V unitless
x i * Desired berthing position of vessel i, i V m
d i Desired departure time of vessel i, i V h
r t 1 i , r t 2 i Maximum tolerated waiting and delay time of vessel i, i V h
ω 1 , ω 2 Coefficients of the value functionunitless
c 1 Cost coefficient for vessel deviation from preferred berthsUSD/m ($/m)
c 2 Cost coefficient for QC implementation operationsUSD/h ($/h)
c 3 Cost coefficient for berth occupancyUSD/h ($/h)
α Exponent of interferenceunitless
β Factor of berth deviationunitless
M A large real numberunitless
Table 2. The decision variables of BACASP.
Table 2. The decision variables of BACASP.
Decision VariablesDefinitionUnit
x i Berthing position of vessel i ,   i V m
y i Berthing time of vessel i, i V h
g i Delay incurred in processing vessel i with respect to its desired departure time, i V h
r i Deviation of vessel i from its desired berthing position x i * ,   i V m
t i Processing time of vessel i, i V h
n i The index of the first cranes assigned to vessel i, i V unitless
h i q Equals 1, if q QCs serve vessel i, 0 otherwise, i V unitless
σ i j Equals 1, if vessel i and j are served at the same time and vessel i to the left of vessel j, 0 otherwise, i , j V unitless
δ i j Equals 1, if vessel j starts its processing after vessel i departs, 0 otherwise, i , j V unitless
Table 3. Specifications for the different types of vessels.
Table 3. Specifications for the different types of vessels.
Class l i m i q i min q i max
Feeder U 8 , 21 U 5 , 15 12
Medium U 21 , 30 U 15 , 50 24
Jumbo U 30 , 40 U 50 , 65 46
Table 4. CPU runtime with different parameters.
Table 4. CPU runtime with different parameters.
p a CPU Runtime (s)
N = 60 N = 80 N = 100 N = 120 N = 140
0.15461.24503.37522.28660.90853.93
0.20480.20557.38544.78636.45846.06
0.25527.75543.71535.50681.12865.78
Table 5. Experimental results for the small-scale instances.
Table 5. Experimental results for the small-scale instances.
VesselInstanceGUROBIIMOCS
Obj1Obj2T(s)Obj1Gap1Obj2Gap2T(s)
1010-10.0056.1014.350.000.00%56.100.00%9.66
10-20.3866.7016.080.380.00%66.800.15%6.27
10-30.0064.7012.750.000.00%64.700.00%6.91
10-40.0054.9013.400.000.00%54.900.00%10.67
10-50.0068.5016.660.000.00%68.500.00%8.19
1515-12.1293.38327.442.140.94%94.481.18%68.91
15-26.0977.01569.046.161.15%77.821.05%99.83
15-38.7281.00201.488.770.57%81.290.36%81.95
15-410.5586.59222.4010.590.38%87.100.59%76.75
15-57.0884.39757.287.211.84%85.120.87%81.41
2020-114.09115.694904.7415.328.73%118.242.20%128.04
20-214.77120.052372.8715.615.38%125.224.31%137.82
20-314.52129.474951.2414.832.14%131.801.80%199.66
20-4---11.83-153.52-163.90
20-516.67138.215772.8917.816.84%141.282.22%153.55
Table 6. Experimental results for the large-scale instances.
Table 6. Experimental results for the large-scale instances.
VesselInstanceNSGAIISPEA2MOCSIMOCS
Obj1Obj2T(s)Obj1Obj2T(s)Obj1Obj2T(s)Obj1Obj2T(s)
3030-18.7235.4385.79.3241.7360.18.5229.1380.26.1215.7392.6
30-27.6244.1405.97.4243.6415.26.6245.6420.36.2223.7390.5
30-38.6183.9450.27.2221.7480.88.6208.5430.16.9172.4490.1
30-413.5251.8315.211.8261.7370.511.3266.0405.311.2238.2350.9
30-54.4217.7460.15.8220.1425.54.3211.0360.93.7197.8369.7
4040-119.4433.1720.520.8420.4485.320.7428.5860.119.2371.6590.8
40-224.6381.8550.924.7387.9780.123.2375.4670.223.7368.1480.2
40-325.7488.6890.631.3462.5530.428.4489.4620.820.6434.0800.6
40-433.5413.1730.331.3418.9720.932.6438.8490.229.7434.7540.8
40-532.1391.0870.231.3425.3760.828.9443.5790.928.3389.8750.5
5050-158.5621.81124.756.8647.3708.457.9594.81458.958.3534.8890.5
50-250.1532.3843.245.9550.8679.847.3587.41027.643.3496.21290.3
50-338.9530.21550.635.5525.11189.337.5503.61325.829.8503.4815.3
50-460.8575.6937.852.4564.7743.650.9563.71364.650.5541.81101.9
50-541.9505.11290.139.1491.2985.438.9484.41412.238.5478.8865.8
Average28.6400.4768.427.4405.5642.427.0404.6801.225.1373.4674.7
Table 7. Comparison of performance metrics for the large-scale instances.
Table 7. Comparison of performance metrics for the large-scale instances.
VesselInstanceIGDHV
NSGAIISPEA2MOCSIMOCSNSGAIISPEA2MOCSIMOCS
3030-10.250.360.240.150.670.560.730.92
30-20.170.370.260.090.770.530.720.83
30-30.240.460.170.180.760.520.830.84
30-40.610.410.480.260.820.520.840.88
30-50.260.250.190.160.670.530.840.84
4040-10.360.340.350.150.560.380.550.64
40-20.510.540.260.220.460.340.670.69
40-30.190.330.180.160.560.670.520.67
40-40.620.270.360.270.440.540.430.77
40-50.300.470.270.120.580.590.660.73
5050-10.610.520.420.230.310.390.510.64
50-20.440.510.360.300.450.360.520.61
50-30.450.660.370.210.410.540.490.62
50-40.500.530.380.290.400.510.560.66
50-50.560.580.410.380.270.220.440.46
Average0.400.440.310.210.540.480.620.72
Table 8. Experimental results on the set GenPK.
Table 8. Experimental results on the set GenPK.
Vessel NSGAIISPEA2MOCSIMOCS
20Avg.obj14.54.84.24.0
Avg.obj2151.2134.8142.9128.4
Avg.time125.2118.4131.0141.8
30Avg.obj18.58.37.86.8
Avg.obj2226.5237.7232.0209.5
Avg.time268.7289.3320.4303.4
40Avg.obj117.117.816.714.3
Avg.obj2421.5423.0435.1399.6
Avg.time752.5655.5686.4632.5
50Avg.obj140.235.936.534.1
Avg.obj2553.0555.8546.7511.2
Avg.time1149.2861.31317.8992.7
Table 9. Comparison of bi-objective optimization and weighted single-objective optimization.
Table 9. Comparison of bi-objective optimization and weighted single-objective optimization.
VesselInstanceSingle-Objective ( w α = 0 )Single-Objective ( w α = 0.5 )Single-Objective ( w α = 1 )Bi-Objective
(Min Obj1)
Bi-Objective
(Min Obj2)
Obj1Obj2Obj1Obj2Obj1Obj2Obj1Obj2Obj1Obj2
3030-113.6209.69.7246.55.6298.16.1277.313.2215.7
30-217.8205.111.5253.25.7303.96.2282.716.8223.7
30-314.0164.710.2203.56.4253.16.9235.613.4172.4
30-422.4224.516.5265.910.4315.511.2293.621.5238.2
30-510.2185.86.7229.43.4280.63.7261.09.6197.8
4040-126.9344.621.7401.818.8464.419.2432.024.2371.6
40-234.9354.926.4395.721.2454.923.7423.233.1368.1
40-327.2403.323.4462.519.1527.720.6490.926.1434.0
40-441.9412.734.0467.127.5536.729.7499.538.2434.7
40-538.1371.332.6421.526.2486.628.3453.136.9389.8
5050-170.4516.361.4559.257.0627.258.3583.664.5534.8
50-258.3460.147.3525.241.1595.743.3554.151.2496.2
50-341.5472.133.2531.227.6601.129.8559.036.6503.4
50-468.1519.055.2571.548.7647.350.5602.159.8541.8
50-550.8455.141.4506.637.6574.438.5534.344.3478.8
Average35.7353.328.7402.723.8464.525.1432.132.6373.4
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

Zhang, X.; Liu, Z.; Zhang, J.; Zeng, Y.; Fan, C. Bi-Objective Optimization for Joint Time-Invariant Allocation of Berths and Quay Cranes. Appl. Sci. 2025, 15, 3035. https://doi.org/10.3390/app15063035

AMA Style

Zhang X, Liu Z, Zhang J, Zeng Y, Fan C. Bi-Objective Optimization for Joint Time-Invariant Allocation of Berths and Quay Cranes. Applied Sciences. 2025; 15(6):3035. https://doi.org/10.3390/app15063035

Chicago/Turabian Style

Zhang, Xiaomei, Ziang Liu, Jialiang Zhang, Yuhang Zeng, and Chuannian Fan. 2025. "Bi-Objective Optimization for Joint Time-Invariant Allocation of Berths and Quay Cranes" Applied Sciences 15, no. 6: 3035. https://doi.org/10.3390/app15063035

APA Style

Zhang, X., Liu, Z., Zhang, J., Zeng, Y., & Fan, C. (2025). Bi-Objective Optimization for Joint Time-Invariant Allocation of Berths and Quay Cranes. Applied Sciences, 15(6), 3035. https://doi.org/10.3390/app15063035

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