Next Article in Journal
A Note on Superspirals of Confluent Type
Next Article in Special Issue
Combining DEA and ARIMA Models for Partner Selection in the Supply Chain of Vietnam’s Construction Industry
Previous Article in Journal
Computational Bifurcations Occurring on Red Fixed Components in the λ-Parameter Plane for a Family of Optimal Fourth-Order Multiple-Root Finders under the Möbius Conjugacy Map
Previous Article in Special Issue
Inventory Routing Problem in Supply Chain of Perishable Products under Cost Uncertainty
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Resources Planning for Container Terminal in a Maritime Supply Chain Using Multiple Particle Swarms Optimization (MPSO)

1
Department of Supply Chain Management, National Kaohsiung University of Science and Technology, Kaohsiung 80778, Taiwan
2
Department of Industrial Engineering and Management, National Kaohsiung University of Science and Technology, Kaohsiung 81157, Taiwan
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(5), 764; https://doi.org/10.3390/math8050764
Submission received: 14 April 2020 / Revised: 2 May 2020 / Accepted: 6 May 2020 / Published: 11 May 2020
(This article belongs to the Special Issue Supply Chain Optimization)

Abstract

:
Resources planning is an important task in a supply chain in order to achieve a good result. The better the utilization of resources, especially scarce resources, the better the performance of a supply chain. This research focuses on allocating two scarce resources, i.e., berth and quay cranes (QCs), to ships that call at a container terminal in a maritime supply chain. As global container shipments continue to grow, improving the efficiency of container terminals is important. A two-stage approach is used to find the optimal/near-optimal solution, in which the first stage is devoted to generating alternative ship placement sequences as inputs to the second stage that subsequently employs an event-based heuristic to place ships, resolve overlaps of ships, and assign/adjust QCs so as to develop a feasible solution. For identifying a better approach, various heuristics/metaheuristics, including first-come first-served (FCFS), particle swarm optimization (PSO), improved PSO (PSO2), and multiple PSO (MPSO), have been employed in the first stage, respectively. The experimental results show that combining the MPSO with the event-based heuristic leads to a better result.

1. Introduction

A supply chain consists of a series of steps to deliver products or services to end customers. These steps include activities of storing, moving and transforming raw materials into finished products that are further transported and distributed to end users. Relevant entities in a supply chain include producers, vendors, warehouses, transportation companies, distribution centers, container terminals, customs, retailers, etc. This research focuses upon the transportation activity in a container terminal of a maritime supply chain.
Transportation is one of the major activities in a supply chain. Materials and products can be transported via air, water or land. This research is specifically focused on transportation by sea, i.e., maritime transport. This kind of transport is important for international trading due to a relatively lower unit transportation cost resulting from a larger volume of delivery at one time. Maritime transportation is important for many countries, especially island countries. Among various kinds of maritime transportation, container transport is found to be especially important as global container shipments continue to grow and this kind of transport has been the mainstream transport in a maritime supply chain. However, container transport depends on container terminals which are the main working fields for loading/unloading containers to/from container ships. To achieve an efficient maritime supply chain, improving the operational efficiency of a container terminal is necessary and important [1].
A container terminal includes three main areas: seaside, yard and landside [2]. The seaside operations are considered to be the most critical as they relate to berth and quay crane (QC), two scarce resources affecting the performance of a container terminal considerably. The seaside operational area includes three well-known operational problems, namely the berth allocation problem (BAP), quay crane assignment problem (QCAP) and quay crane scheduling problem (QCSP) [3,4,5], which are faced by container terminal planners every day. To achieve a good performance for a container terminal, better resolution of these seaside operational problems is necessary [5]. This subject has thus been focused upon in this research.
Specifically, the research focuses on dealing with BAP and QCAP simultaneously. The BAP is a problem of planning how to best use berths whereas the QCAP is the problem of planning how to best use QCs. The two kinds of resources are essential for ships calling in to a container terminal. However, it is found that the two problems have different variants that should be firstly understood before solving them. Basically, the BAP can have the four variants: static and discrete BAP (SDBAP), static and continuous BAP (SCBAP), dynamic and discrete BAP (DDBAP), and dynamic and continuous BAP (DCBAP). The “static” means to consider arrived ships only whereas the “dynamic” means to also take incoming ships into account. The “discrete” means to use a quay as a number of fixed sections each of which can accommodate one ship at a time, whereas the “continuous” means to use a quay as a continuous line that can accommodate as many ships as possible at one time. On the other hand, the QCAP can have four variants: time-invariant QCAP (specific), time-invariant QCAP (number), variable-in-time QCAP (specific), variable-in-time QCAP (number). The “time-invariant” means no change on assigned QCs to a ship whereas the “variable-in-time” means that further changes on assigned QCs to a ship are allowed. The “specific” means the need to specify the identity of an assigned QC whereas the “number” means that only the number of QCs assigned is specified. This research focuses on the DCBAP and variable-in-time QCAP (number) simultaneously. These variants of BAP and QCAP are further detailed in the Section 2.1.1 and Section 2.1.2, respectively.
Some approaches are available for resources planning, including mathematical models, heuristics and metaheuristics. As a kind of exact approach, mathematical models aim to find the optimal solution. However, they tend to become computationally intractable when dealing with a large problem, due to Non Polynomial (NP)-complete [6,7,8]. Thus, heuristics/metaheuristics have become alternatives. Simple heuristics are popular in industry due to their simplicity and computational efficiency. In particular, first-come first-served (FCFS) is one of the most popularly used simple heuristics. However, simple heuristics are found incapable of finding the optimal/near optimal solution due to their simplicity and only one visit into the solution space. Advanced heuristics, such as the metaheuristics, have thus been increasingly used to deal with various problems, including container terminal operational problems. Essentially, metaheuristics are kind of high-level procedures or heuristics that can find, generate, or select a heuristic to find an optimal/near-optimal solution, based on incomplete or imperfect information or limited computational capacity [9]. In terms of advantage, metaheuristics can address the simplicity problem of simple heuristics while avoiding the computationally intractable problem of exact approaches. To deal with seaside operational problems, metaheuristics such as ant colony optimization [10], genetic algorithms (GAs) [8,11,12,13,14,15,16,17], particle swarm optimization (PSO) [18,19] have been used, in which GAs have been the mainstream approach [20]. However, particle swarm optimization has never been used to deal with the DCBAP and variable-in-time QCAP (number) simultaneously.
Proposed by Kennedy and Eberhart in 1995 [21], PSO is a kind of evolutionary and population-based metaheuristic as it employs a swarm of particles to search a solution space iteratively. The PSOs are found with the advantages of ease to implement and tune due to fewer parameters [22]. This approach has been mostly used to deal with combinative optimization problems (COPs) [23], such as assignment problems [24], scheduling problems [1,25,26,27,28,29], and BAP and QCAP [5]. However, [5] focused on the DCBAP, instead of the dynamic and continuous BAP (DCBAP).
The objective of this research was to propose a PSO-based approach for dealing with the DCBAP and variable-in-time QCAP (number) simultaneously. In this research, a two-stage procedure is used in which the first stage uses a heuristic/metaheuristic to generate alternative ship placement sequences as inputs to the second stage. Subsequently, the second stage employs an event-based heuristic to place ships, adjust QCs, and resolve overlaps of ships one by one in order to develop feasible solutions. The QCs released from a leaving ship are reassigned to berthed ships to best utilize QC capacity. To find the best approach, different methods including FCFS, PSO, PSO2, and multiple PSO (MPSO) have been respectively used in the first stage to investigate the best combination with the event-based heuristic used in the second stage. Our experimental results showed that the combination of MPSO with the event-based heuristic has the best result in terms of total cost.
The rest of this research is organized as follows. Section 2 includes a literature review of the continuous BAP (CBAP) and the simultaneous CBAP and QCAP. Section 3 formulates an integer programming (IP) model for the two problems. Section 4 introduces the basic formulas of PSO and develops the MPSO. Section 5 conducts some experiments. Section 6 has a conclusion and suggestion for a future research direction.

2. Literature Review

2.1. The Classification of Berth Allocation Problem (BAP) and Quay Crane Assignment Problem (QCAP)

2.1.1. BAP Classification

Figure 1 shows that the “arrival time of ship” and the “configuration of quay” are two factors characterizing the BAP into four variants: static and discrete BAP (SDBAP), static and continuous BAP (SCBAP), dynamic and discrete BAP (DDBAP), and dynamic and continuous BAP (DCBAP) [5]. The static BAP only considers arrived ships whereas the dynamic version also takes incoming ships into consideration. The quay configuration is the factor featuring the BAP as a discrete or continuous version. The discrete version separates a quay into a fixed number of sections, each only accommodating one ship at a time; whereas the continuous version uses the quay as a continuous line to accommodate as many ships as possible at one time. This research focuses on the DCBAP.

2.1.2. QCAP Classification

Figure 2 shows that the “QC identification” and “QC adjustment” are two factors characterizing the QCAP into four variants: time-invariant QCAP (specific), time-invariant QCAP (number), variable-in-time QCAP (number), and variable-in-time QCAP (specific). The factor “QC identification” means whether to identify each QC assigned to a ship. If “yes,” the QCAP is attributed as QCAP (specific); otherwise, it is attributed as QCAP (number) [27]. The factor “QC adjustment” means whether to allow further adjustment on assigned QCs to a ship. If yes, this QCAP is termed as variable-in-time QCAP; otherwise, it is termed as time-invariant QCAP [1]. Figure 3a shows a variable-in-time QC assignment in which the assigned number of QCs to the ship k has been changed from 1 to 3; whereas Figure 3b shows a time-invariant QC assignment with 1fixed QC assigned to the ship k. Obviously, the ship k can be completed earlier due to a variable-in-time QC adjustment.

2.2. Relevant Studies

Some studies have focused on the BAP only. Lim [30] regarded the CBAP as a 2D cutting stock problem and proposed a heuristic to solve this problem. That heuristic aims to minimize the total length required in a wharf to accommodate all calling ships. However, it assumed fixed times for calling ships. Kim and Moon [6] used a simulated annealing (SA) metaheuristic to assign wharf space for calling ships with constraints taking into consideration. They concluded the SA could find the optimal solution. However, this study also assumed fixed handling times for ships. Wang and Lim [17] used a stochastic beam search to solve the CBAP. The authors claimed that the approach was able to outperform some state-of-the-art metaheuristics and the traditional deterministic beam search in terms of accuracy and efficiency. Lee and Chen [31] solved the dynamic and discrete BAP by using a neighborhood-search optimization heuristic, taking factors including FCFS rule, clearance distance between ships, and possible ship shifting into consideration. They claimed considering these factors could lead to a better decision. Zhen et al. [32] developed another two-stage model to deal with the CBAP, in which arrival and handling times of ships were treated as uncertainties. An initial schedule was generated and then adjusted in the second stage with the objective to minimize the total penalty cost deviating from the initial schedule. In addition, the authors proposed a metaheuristic to deal with a big problem. Hsu [9] proposed an improved shuffled frog-leaping algorithm (ISFLA) to deal with the DCBAP. The results showed the ISFLA outperformed the FCFS and the basic SFLA in terms of solution quality. Reference [18] focused on the DDBAP, which assigns ships to discrete berth positions and minimizes the total waiting times and handling times for all ships. A mixed integer programming (MIP) model was firstly formulated for the DDBAP. However, due to NP-hard, the authors further proposed a PSO-based approach to deal with this problem. Reference [19] focused on solving the continuous BAP (BAPC) by proposing a PSO. The PSO had been compared with GA. The results showed that the PSO works better in terms of accuracy and computational time.
However, the above studies are found only to have focused on the BAP, in which the handling times of ships are assumed. These studies neglected the fact that the handling times of a ship are mainly determined by the number of QCs assigned to the ship. It is better to solve the BAP and QCAP at the same time in order to achieve a better overall performance because of considering their interrelationship.
An increasing number of studies have considered both BAP and QCAP simultaneously and they are reviewed as follows. Park and Kim [7] formulated the two problems as an IP model. Then, they solved the two problems with a two-phase procedure. The first phase uses a sub-gradient technique to assign berthing position, berthing time, and QCs for a ship. The second phase uses a dynamic programming technique to identify the QCs assigned to each ship. However, that study did not consider QC interference on handling time. The Imai et al. [33] also proposed a two-stage approach to solve the two problems. The first stage focused on generating an initial plan that is further adjusted in the second stage to become a feasible solution. Sparsely-located or overlapped ships were repositioned in the second stage. However, this study also neglected QC interference on handling time. In Meisel and Biewirth [34] the authors proposed the consideration of QC interference on handling time. A decreasing QC marginal productivity had been considered when solving the simultaneous CBAP and QCAP. The author also used a two-stage procedure. The first stage used the hybrid approach, which combined squeaky wheel optimization (SWO) with Tabu search, to generate alternative ship assignment sequences as inputs to the second stage. Then, in the second stage another heuristic was used to assign berthing location and QCs for calling ships. The proposed approach was found to outperform that proposed by Park and Kim [7] in terms of cost. The authors demonstrated the impacts of QC interference on the total cost. Chang et al. [10] proposed a hybrid parallel GA (HPGA) to solve the CBAP together with the QCAP, taking factors including energy consumption and rolling horizon into consideration. The solutions found were further evaluated by a simulation model. The experiments confirmed the derived results were better than those obtained from the approach proposed in Chang et al. [35]. Zhang et al. [36] formulated the CBAP and QCAP as an MIP model. Then, they proposed a sub-gradient optimization algorithm to solve the two problems, taking factors including QC cover range and limited QC adjustments into consideration. The handling time of a ship was determined by the number of QCs assigned. However, that study also neglected the QC interference. Raa et al. [4] proposed an enriched MILP model for the simultaneous BAP and QCAP, taking factors including vessel priorities, preferred berthing locations and handling times into consideration. The objective was to minimize total penalty cost consisting of sub-costs of handling delay, deviation from the desired berth location, and the QC changes. Their experimental results showed that the proposed model resulted in a better decision. Yang et al. [37] proposed an integrated MIP to deal with the BAP and QCAP simultaneously. The objective was to minimize service time and total number of QC shifts. A nested loop-based evolutionary algorithm (NLEA) which includes two inner loops and one outer loop was proposed. The inner loop 1 uses a GA to find a BAP solution while loop 2 employs a heuristic-based GA to find a QCAP solution. The outer loop was mainly used to explore alternative solutions. Türkoğvllari et al. [38] separated a QCAP as a type of either “number” or “specific”. A MIP was firstly developed to deal with the combination of BAP and QCAP (number), abbreviated as BACAP. However, at most that MIP can handle 60 ships to optimality and it cannot deal with the combination of BAP and QCAP (specific), abbreviated as BACASP. To deal with the BACASP, the authors proposed using a post-processing algorithm with the optimal solution from the BACAP as an input. However, this algorithm requires a sufficient condition. If not satisfied, a cutting plane algorithm was proposed to cut plane(s) to reach that condition. However, these approach are still unable to perform variable-in-time QC assignment.
Our literature review shows that the assigned number of QCs, berthing location, and QC interference are factors affecting the handling time of a ship, and thus these factors should be considered when dealing with the simultaneous DCBAP and DQCAP (number).

3. Formulation of a Mathematical Model for Simultaneous DCBAP and QCAP

3.1. Problem Definition

Definition 1.
The problemPis defined as a simultaneous dynamic and continuous berth allocation problem (DCBAP) and variable-in-time quay crane assignment problem (QCAP) (number) with the aim of finding a feasible berth plan that includes six-tuples:
P = ( L ,   H ,   V ,   Ç ,   Þ ,   Z )
where
L: the length of a quay;
T: the planning horizon H = {1,…,H}, where H is the total number of time segments;
V: a finite set of calling vessels; V = { 1 , 2 , , N } , where N is the total number of calling ships;
Ç: a finite set of berthing constraints;
Þ: a set of plans with assignments of berthing positions, start berthing times and numbers of QCs assigned for ships at each time interval;   p i Þ , = { k = 1 k = N ( B k , S k ) + k = 1 k = N j = 1 j = H ( Z k j ) } , where B k , S k ,   and   Z k j are decision variables. The B k is the berthing position on L assigned to the ship k under the constraint, 0 B k L l k , where l k is the length of ship k. The S k is the start berthing time assigned to the ship j under the constraint, S k E T A k (estimated arrival time of ship k). The Z k j is the number of QCs assigned to the ship k at the time segment t, Z k j 0 ;
Z: an objective function mapping p i to a time/cot value Z;
The objective of the problem P is to find a p i or p ( p i ,   p Þ ) that minimizes the objective function value Z, in which p i is a feasible solution, while p is the optimal solution subjecting to Ç. For each ship k a berthing position ( B k , S k ) is assigned. The problem P is an NP-hard problem.

3.2. The Estimation of Handling Time for a Ship

Estimating the handling time for a ship is essential to create a berthing plan. Meisel and Bierwirth [32] proposed Equation (1) to estimate the minimum handling time for a ship, taking berth deviation, QC interference, and QC capacity into consideration.
H k m i n = ( 1 + β · Δ b k ) · m k ( r k m a x ) α
where
m k the QC capacity required for the ship k
r k m a x the maximum number of QCs assignable to ship k
Δ b k the berth deviation of a ship k from its desired berthing position
β the berth deviation factor
α the interference exponent of QCs
In this research, we define the berth deviation ( Δ b k ) as Equation (2),
Δ b k = | B k d k |
where
  • B k : is the actual berthing position of ship k
  • d k : is the desired berthing position of the ship k
and, we define the QC capacity required for the ship k ( m k ) as Equation (3).
m k = θ k ρ
where
θ k : the total number of loading and unloading containers for ship k
ρ : the working rate of a QC (QCs/hour)
Now, we transform Equation (1) to Equation (4) that is used in this research for estimating the minimum handling time required for a ship k at the time period j. Here, Z k j is a decision variable indicating the number of QCs assigned to ship k at the time period j.
H k j = ( 1 + β · | B k d k |   ) · θ k ( Z k j ) α ρ ,
where
θ k the total number of containers to be handled for the ship k
Z k j the number of QCs assigned to the ship k
Δ b k the berth deviation
β the berth deviation factor
The completion time of the ship k can be estimated by Equation (5),
C k = T k + j = 1 H H k j X i j k ,         k K
where T k is the start berthing time of the ship k.

3.3. Berthing Plan

For a traditional 2D berthing plan, it lacks a dimension to represent the number of QCs assigned to a ship. Thus, this research uses a 3D berthing plan (Figure 4) with the X axis representing the time dimension; the Y axis representing the space dimension; and the Z representing the number of QC assigned to a ship. Then, each 3D object represents a ship occupying some grid squares on the X−Y plane with each square being only assigned to one ship, or it will lead to an infeasible plan.
The formation of a 3D berthing plan requires two tasks. The first task is the assignment of a coordinate on the X−Y plane for the lower-left hand corner of a ship (a 3D object). This coordinate indicates berthing time and the berthing position for the ship. The second task is the assignment of a number of QCs to the ship. Note that when performing the two tasks spatial constraints such as the quay length and the length of a ship should be considered to avoid forming an infeasible solution.

3.4. Mathematical Model

This section formulates a mathematical model for the simultaneous DCBAP and variable-in-time DQCAP (number). Before formulating this model, we first introduce the assumptions, parameters, indices, and decision variables required.
Assumptions
  • Each ship is handled continuously until it is completed.
  • Inter-ship clearance distance is included in ship length.
  • A ship departs immediately when handling completed.
Indices
ia berth position; i I = { 1 , , L } .
ja time segment; j T = { 1 , , H } .
ka ship number; k K = { 1 , , N } .
q, q QC number; q, q { 1 , , Q } .
Parameters
L
H
T
N
Q
l k
r k m i n
r k m a x
E T A k
θ k
d k
α
β
ρ
C1
C2
the quay length (meters)
the total number of segments (each is one hour) within the planning horizon
the set of time periods, T = {1,…,H}
the total number of calling ships within the planning horizon
the total number of QCs
the length of ship k
the minimum number of QC assignable to ship k
the maximum number of QC assignable to ship k
the expected arrival time of ship k
the total number of loading and unloading containers for ship k at this port
the desired berthing position of ship k
the interference exponent of QCs (0 α < 1 )
the berth deviation factor; the increase rate of QC capacity/one berth deviation ( β 0 )
the cost rate of handling time (Twenty foot equivalent units (TEUs)/hour)
the cost rate of waiting time
Decision variables
X i j k = { 1 ,   if   the   ship   k   is   assigned   to   the   grid   square   ( i , j ) 0 ,   otherwise
Z k j the number of QCs assigned to ship k at the time period j
B k the berthing position of ship k ( k K )
T k the beginning berthing time of ship k ( k K )
The mathematical model for the simultaneous DCBAP and DQCAP (number) is formulated as follows. It is a kind of mixed integer linear programing (MILP) model.
Min   Z = k = 1 N ( C 1 · Δ W k + C 2 · Δ H k ) X i j k ,   s . t .
k K X i j k 1   i I ,     j T
k K Z k j Q   j T
r k m i n Z k j r k m a x     k K ,     j T
0 B k L l k   k K
B k = Min { j X i j k }   i I ,     j T ,     k K ,   X i j k = 1
T k E T A k   k K ,
T k = Min { i X i j k }     i I ,     j T ,     k K , X i j k = 1
X i j k { 0 , 1 }   i I , j T , k K
Equation (6) is the objective function minimizing the total cost (Z) composed of increased costs of handling and waiting for all ships, where Δ W k is the increased waiting cost of ship k and Δ H k is the increased handling time of ship k. Constraint (7) stipulates that a grid square can only be assigned to one ship or not assigned. Constraint (8) stipulates that the number of QCs assigned to a ship in a time period cannot exceed maximum number of available QCs. Constraint (9) stipulates the number of QCs assigned to a ship is limited to the range [ r k m i n , r k m a x ]. Constraint (10) prevents a ship from berthing over the quay boundary. Equation (11) indicates the berthing position of a ship k to be the minimum one of among { j X i j k } , where X i j k = 1 . Equation (12) requires that the berthing time of a ship k cannot be before its ETA. Equation (13) indicates the start berthing time of a ship k to be the minimum one of among { i X i j k } , where X i j k = 1 . Equation (14) are binary constraints for decision variables X i j k .

4. Multiple Particle Swarm Optimization (MPSO)

4.1. PSO

Proposed by Kennedy and Eberhart [21], PSO employs a group of particles to find the optimal/near-optimal solution in a solution space. For a d-dimensional space, given Xi = [xi,1,…,xi,d] as the position and Vi = [vi,1,…,vi,d] as the velocity of a particle i at the time t, and pi = [pi,1,…,pi,d] as the best position of particle i and pg = [pg,1,…,pg,d] as the position of the global best particle g, the velocity of particle i at the time t + 1 is updated by Equation (15).
vi,d(t) = wvi,d(t) + c1r1(pi,d(t) − xi,d(t)) + c2r2(pg,d(t) − xi,d(t))
where
vi,d: the current velocity of the particle i; which is within the range [vmin,vmax].
w: an inertia weight typically set to a fixed value within the range [0,1].
c1, c2: acceleration coefficients usually set to the value 2.0.
r1, r2: random values selected from the interval [0,1].
The next position of the particle i is determined by Equation (16).
xi,d(t + 1) = xi,d(t) + vi,d(t)

4.2. The MPSO

4.2.1. Position Representation for a Particle

Figure 5 shows the position presentation for a particle to search a D-dimensional solution space. In this research we let D = n, where n is the total number of calling ships. In this position scheme, each u k (k = 1,…,n) indicates the placement sequence of n ships.
To be feasible, each u k should be an integer, thus we employ a rank order value (ROV) technique to transform real values into ranking numbers (integers) in an increasing order. For example, the real vector [0.2,0.6,0.7,0.4] will be transformed into the ranking set [1,3,4,2] which indicates a placement sequence for ships 1,2,3 and 4.

4.2.2. The Two-Stage Procedure

Figure 6 shows the main logic flow for solving the simultaneous DCBAP and variable-in-time DQCAP (number). These procedure includes two stages. The first stage (steps 1 to 4) focuses on developing alternative ship placement sequences. The second stage (steps 5 to 12) is dedicated to assigning a berthing position to each ship, while resolving overlapped ships and adjusting QCs for ships using an event-based simulation approach, with spatial constraints taking into account. We detail each of these steps as follows:
Step 1: Set parameter values such as n, H, r j m a x , iteration, l_iter, θ , etc.
Step 2: Generate ship data including aj, dj, lj and θ j for n calling ships. Estimate the hj for each ship j based on θ j and r j m a x using Equation (1).
Step 3: Generate alternative placement sequences of ships such as a heuristic (FCFS) or metaheuristic (PSO, MPSO, etc.).
Step 4: Transform a solution into the discrete domain using the ROV technique; Set k = 1; s = 1.The s indicates a placement order of a ship and the k indicates the difference from the s.
Step 5: Place the ship j at the placement order s into the berthing plan, with the coordinates of the lower-left and upper-right corners being positioned at the ( x 0 j , y 0 j ) = (aj, cj) and ( x 1 j , y 1 j ) = (aj + hj, cj + lj), respectively.
Step 6: Check whether the ship j at the placement order s has overlapped with the ship at the placement order s k using Equation (17). If “Yes” then go to Step 7; otherwise, go to Step 8.
Step 7: Resolve an overlap through cost estimation. Set k = k + 1 and go to Step 6.
Step 8: Perform event-based simulation while adjusting and reassigning QCs to ships (determines Z k j ) based on berthing and departure events of ships.
Step 9: Check any overlap after QC adjustment? If “Yes” go to Step 10; otherwise go to Step 11.
Step 10: Resolve an overlap of ships and then go to Step 11.
Step 11: Check whether this is the last particle? If “Yes” go to Step 12; otherwise go to step 4.
Step 12: Check whether this is the last iteration? If “Yes” go to Step 13; otherwise go to Step 3.
Stop 13: End.

4.2.3. Details of the Main Tasks in the Second Stage

The tasks to be dealt in the second stage are detailed as follows.
Assign berthing positions for ships
An optimal berthing plan, which is based on each ship’s ETA and desired berthing position (dj) with the maximum QCs ( r m a x ), is first initialized for all ships. However, this optimal berthing plan may be infeasible due to limited resources of time and quay space that cannot satisfy all ships’ needs and thus result in overlaps of ships. Detecting and resolving these overlaps of ships are necessary to develop a feasible solution. These are detailed as follows.
Detect an overlap of ships
Figure 7 shows a berthing plan with an overlap of ships j and k. Given a = ( x 0 j ,   y 0 j ) and a’ = ( x 0 k ,   y 0 k ) are coordinates of lower-left hand corners of ships j and k respectively; while c = ( x 1 j ,   y 1 j ) and c’ = ( x 1 k ,   y 1 k ) are coordinates of upper-right hand corners. Then, Equation (17) gives the sufficient and necessary conditions of overlap for the two ships j and k. If any one of the conditions is not satisfied, then the two ships j and k are free of overlap.
x 0 j < x 1 k ,   y 0 j < y 1 k ,   x 0 k < x 1 j ,   y 0 k < y 1 j
Resolve an overlap of ships
In this research, repositioning one of the overlapped ships is the main approach for resolving an overlap. As shown in Figure 8, the ship j is overlapped with the ship k and repositioning one of them can resolve this overlap. In this research, the ship being selected to repositioning is termed as “target ship” that is allowed to be moved towards the three directions including up (+Y), down (−Y), and right (+X), one at a time. However, as shown in Figure 8, moving the target ship j towards either +Y or −Y will increase handling time for the target ship j due to a deviation from its desired berthing position (assume that y o j = d j , d j is the desired berthing position of the ship j). The increased handling time is due to a longer moving distance for a container.
In Figure 8, the Δ H j indicates the increased handling time when moving the target ship j towards the +Y/−Y; the Δ Y j is the distance deviating from the ship j’s desired berthing position. Equation (18) is used for calculating the Δ Y j .
Δ Y j = { l j + | y 1 k y 0 j |             if   moved   toward   Y   direction | y 1 j y 0 k |                   if   moved   toward Y   direction
After this reposition, the coordinates of the lower-left hand and upper-right hand corners of the target ship j will become as a = ( x 0 j , y 0 j + Δ Y j ) and c = ( x 1 j , y 1 j + Δ Y j ), respectively. Equation (19) is used for estimating the increased cost of handling times Δ C Y ( j ) for the target ship j. The C2 is a cost rate of handling time.
Δ C Y ( j ) = 2 | Δ Y j | 100 60 × C 2 ,
Figure 9 shows that moving the target ship j towards the +X direction will increase the ship’s waiting time (cost). The increased waiting time is estimated by Equation (20).
Δ X j = | x 0 j x 1 k |
After this reposition, the coordinates of the lower-left hand and upper-right hand corners of the target ship j will become as a = ( x 0 j + Δ X j , y 0 j ) and c = ( x 1 j + Δ X j , y 1 j ), respectively. The increased waiting cost of this target ship j is estimated by Equation (21), where C 1 is the cost rate of waiting time.
Δ C x ( j ) = Δ X j × C 1
Estimations and prioritization of the three moving directions are required to determine the best and feasible direction.
Adjustment of QCs
Reassigning released QCs from leaving ships to berthed ships can better utilize QCs. Referring to [4], we develop an event-based simulation based on discrete events.
Each ship has the three events: “arrive,” “berth,” and “departure.” If a ship arrives it may not berth immediately. It may lead to waiting time. If berths are available, a berth is selected and a number of QCs is assigned to the ship. A ship is assumed to depart immediately if handling is completed. In addition, we define a stage j as a time interval, denoted as [t( j ),t( j + 1 )], where t( j ) and t( j + 1 ) are event times of two consecutive events, denoted as E( j ) and E ( j + 1 ) , respectively. For example, the stage 1 is formed by [t( 1 ),t( 2 )], where t( 1 ) and t( 2 ) are event times of the two events E(1) and E(2). Given n calling ships, there exist 2n events and 2 n 1 stages.
To simulate the berthing and departure of ships, it needs to identify discrete events one by one. Equation (22) is used to find the next event.
t ( j + 1 ) = Min { min k A { a k } ,   min k B { E T D k ( j ) } } j = 0 , , 2 n 1
which subjects to the following conditions in Equation (23).
1 < j ,       j + 1 2 n 1 ; 1 k n ;   A B C = { 1 , , n } ,
In Equation (22), the a k is the ETA of the ship   k while the E T D k ( j ) is the expected departure time of ship k estimated at the stage j . The A is a set of ships to berth; and the B is a set of berthed ships. For discrete simulation, finding the next event is necessary. This can also help to identify the owner (ship) and the type of event. For example, given the a 3 as the next event, then we can identify that the ship 3 is the event owner and this is a berthing event because the ship 3 A . When dealing with a “departure” event, the number of QCs assigned to a ship should subject to the two QC constraints, Equations (8) and (9). For a “departure” event, the release QCs from a ship can be assigned to berthed ships, subjecting to the two QC constraints. In Equation (23), the C is a set of completed ships.
Equations (4) and (5) can be used to estimate the E T D k ( j ) of a ship k at a stage j. However, due to QC adjustment the number of QCs assigned to a ship k at two consecutive stage, such as j and j + 1, may be different. Thus, due to discrete simulation, if the ship k has a QC adjustment then its E T D k ( j + 1 ) should be updated by using Equation (24).
E T D k ( j + 1 ) = { t ( ε + 1 ) + ( Z k j Z k ( j + 1 )   ) ( E T D k ( j ) t ( j + 1 ) ) , if   z k ( j + 1 ) < Z k j ; t ( ε + 1 ) + ( Z k j Z k ( j + 1 )   ) ( E T D k ( j ) t ( j + 1 ) ) , if   Z k ( j + 1 ) < Z k j ;
where
Z k j the number of QCs assigned to ship k at the stage j ;
Z k ( j + 1 ) the number of QCs assigned to ship k at the stage j + 1 ;
The MPSO is one of the methods employed in step 3 of the first stage to generate alternative sequences of ship placements.

4.2.4. The Features of the MPSO

As an improved PSO, the MPSO includes the following features.

Multiple Groups of Particles

The first difference between the MPSO and the PSO is the use of multiple particle groups, which enables particles to search around elites in the swarm so as to diversify research in the solution space. Figure 10 illustrates three particle groups searching in the solution space currently. Each of the groups has a best particle that creates a search area.

Regrouping Mechanism

A reshuffle mechanism is used for the MPSO to regroup particles at the beginning of each iteration. Then, non-best particles in a group will search around the best particle in this group. The reshuffle mechanism can also change the number of particle groups as well as the best particle in a group. In a D-dimensional solution space, the position of a particle i at the time t is denoted as P ( t ) = ( P i 1 , ,   P i D ) which corresponds to a solution in the solution space. The goodness of a position can be indicated by a Z value of an objective function. Given P particles and m groups, the MPSO groups particles in this way: the best particle is assigned to the group 1; the 2nd best to the group 2; the mth best to the group m; the m + 1th best then to the group 1 again, and so on. Finally, each of the groups contains n = P/m particles, and the particles of a same group are ordered increasingly, according to the Z values of the particles (for a problem of minimizing Z).

Self-Adaptive Velocity

One main feature of the MPSO is the use of a set of discrete operators to develop adaptive movements for particles, including distance measuring operator (~), adaptive distance operator ( ), and next position operator ( ).
The distance measuring operator (~) measures the distance between two position vectors of particles. Given P o ( t ) = [ P o , 1   ( t ) , , P o , D   ( t ) ] and P j ( t ) = [ P j , 1   ( t ) , , P j , D   ( t ) ] as two position vectors of particles o and j. Of a same group assume o is the target particle attracting particles i and j to search around. If we denote D o , j ( t ) as the total distance vector between the particles o and j, then D o , j ( t ) = [ P o , 1 ( t ) ~ P j , 1 ( t ) ,   ,   P o , D ( t ) ~ P j , D ( t ) ] , and each element k in D o , j ( t ) is determined by the operations defined in Equation (25).
P o , k ( t ) ~ P j , k ( t ) = { 0 ,               if   P o , k ( t ) = P j , k ( t )   P j , k   ( t ) ,         if   P o , k ( t ) P j , k ( t )     for   the   k th   element ,
The distance between the two particles o and j is denoted as | D o , j ( t ) | and derived by Equation (26).
| D o , j ( t ) | = D k = 1 D ( P o , k ( t ) ~ P j , k ( t ) ) / P o , k ( t ) ,
Subsequently, the total distance vector D o , j ( t ) is refined by the adaptive distance operator ( ) based on an adaptive velocity vector A V j ( t ) using Equation (27) to find an adaptive velocity V j ( t ) for the particle i.
V j ( t ) = D o , j ( t )     A V j ( t ) ,
Each element A V j , k ( t ) (k = 1,…,D) in the A V j (t) is a binary value (0 or 1) and the adaptive velocity V j ( t ) for a particle i is derived through the operations in Equation (28).
P o , k ( t ) ~ P j , k ( t ) )     A V j , k ( t ) = { P o , k ( t ) ~ P j , k ( t ) ,     if   A V j , k ( t ) = 1   0 ,                         if   A V j , k ( t ) = 0   for   the   k th   element ,
The A V j , k ( t ) is used to adaptive the moving velocity of the particle j and it depends on two values, R 1 k ( t )   and   B R 1 j ( t ) , through the operations defined in Equation (29).
A V j , k ( t ) = { 0 ,         if   R 1 k ( t ) B R 1 j ( t ) ; 1 ,         if   R 1 k ( t ) < B R 1 j ( t ) ;
In Equation (26), R R 1 k ( t )   and   B R 1 j ( t ) [0,1]; the R 1 k ( t ) is a random number and the B R 1 j ( t ) is a threshold controlling the probability used to generate the binary value 1 into A V j ( t ) . To enable a bigger flying distance for a farther particle to approach the target particle quickly, B R 1 j ( t ) is determined by Equations (30).
B R 1 j ( t ) = { | D o , j ( t ) | 2 D ,             if       | D o , j ( t ) | > 2 ; 0 ,                         if       | D o , j ( t ) | 2 ;
Having determined the V j ( t ) , we can determine the next position, P j ( t + 1 ) , of the particle j using the next position operator ( ) and Equation (31).
P j ( t + 1 ) = P j ( t ) V j ( t ) ,
The operator “ ” works as follows. First, it takes the first non-zero value out from the V j ( t ) and replaces the value (that has a same position and segment and position as the non-zero value) in the P j ( t ) . Second, the replaced value takes the position of the non-zero value in the X j ( t ) . Third, repeat the first and second steps until there is no non-zero value in the D j ( t ) . Finally, the operator copies the current P j ( t ) as the P j ( t + 1 ) .
Figure 11 illustrates three particles o , i and j of a same group and their positions are P o ( t ) = [4,3,2,1], P i ( t ) = [4,1,3,2], and P j ( t ) = [1,2,3,4], respectively. The particle P o is the best particle attracting other particles of a same group to search around it. The particles o and i are closer as | D o , i ( t ) | = 3 while | D o , j ( t ) | = 4. To search around the particle o quickly, the particle j requires a bigger velocity to approach the particle o while the particle i requires a smaller velocity to avoid flying over the optima. However, no particle is allowed flying to the best particle directly due to a waste of local search.
Based on Equation (23), we can derive D o , j ( t ) for the particle j at the time t as follows.
D o , j ( t ) = [ 4 , 3 , 2 , 1 ] ~ [ 1 , 2 , 3 , 4 ] = [ 4 , 3 , 2 , 1 ]
In this case, we can derive the | D o , j ( t ) | = 4 and B R 1 j ( t ) = 2/4 for the particle j based on Equation (26) and Equation (30), respectively. With this B R 1 j ( t ) and assume that A V j ( t ) = [0,1,0,0], then according to Equation (27) we can determine the V j ( t ) as follows.
V j ( t ) = [ 4 , 3 , 2 , 1 ]     [ 0 , 1 , 0 , 0 ] = [ 0 , 3 , 0 , 0 ]
The next position of the particle j is finally derived as follows using Equation (31).
P j ( t + 1 ) = P j ( t ) V j ( t ) = [ 1 , 2 , 3 , 4 ] [ 0 , 3 , 0 , 0 ] = [ 1 , 3 , 2 , 4 ]
This example shows that an non-zero element in the V j ( t ) will cause an exchange of two elements in the P j ( t ) . At the time t + 1, the two particles o and j are closer due to a shorter distance | D o , j ( t ) | = 2 and this will lead to the generation of a V ( t + 1 ) = [0,0,0,0] that can prevent the particle j from directly flying to the particle o.

Intelligent Movement of a Particle

When moving a particle, the MPSO uses the following intelligent mechanisms:
  • Direct-fly prevention: the direct-fly prevention is a mechanism stopping a particle from flying to the target particle in the next step because such a move will waste one local search. Specifically, the MPSO will measure the current distance between a particle j and a target particle o. If the distance between them is satisfied with the condition, | D o , j ( t ) | 2 , the MPSO then stops generating binary value 1 for the A V j ( t ) of the particle j as additional one binary value 1 added to the A V j ( t ) will trigger a direct-fly.
  • Neighborhood search: while imposed by the direct-fly prevention, a particle will stay at its current position, which will waste one local search. For improvement, the function, exchange (p1,p2), is used for neighborhood search by exchanging two randomly-selected position elements in the position vector of a particle.

The Self-Adaptive Variant of a Particle

Mutations (chaotic) can be used to avoid a solution to be trapped in a local optimum. In the MPSO, it includes two kinds of mutations to mutate a particle. They are detailed as follows.
  • Swap Mutation (SM): in this mutation two values of two positions (p1 < p2) are first randomly selected and then swapped.
  • Thoros Mutation (TM): in this mutation three values of three positions p1, p2, and p3 (where p1 < p2 < p3) are first selected randomly, and then the value of p1 becomes the value of p2, the original value of p2 becomes the value of p3, and the original value of p3 becomes the value of p1. Compared with the SM, the TM has a greater variant due to more mutated values.
Figure 12 shows the logical flow of mutation. The mutation depends on a generated random number RN( ) and a mutation rate θ ; if RN( ) < θ then trigger mutation; Otherwise, abort mutation. If going into mutation process, the similarity degree S D o , j ( t ) between P o ( t ) and P j ( t ) is firstly estimated by using Equation (32), where D | D o , j ( t ) | indicates the total number of same elements between the particles o and j. The lower the S D o , j ( t ) indicates the two particles o   and   j have a higher similarity and thus the TM is used; otherwise, the SM is used.
S D o , j ( t ) = ( D | D o , j ( t ) | ) / D
A particle with a smaller S D o , j ( t ) is assumed to require a bigger variant due to being at an unfavorable position. Therefore, if a particle is with S D o , j ( t ) < δ then the TM is used to have a big variant; otherwise, the SM is used to have a small variant. The parameter δ [ 0 , 1 ] , a threshold used to control the choice of TM or SM.

4.3. The Main Flow Logic of MPSO

Algorithm 1 shows the main logic flow of the MPSO.
Algorithm 1. The logic flow of MPSO.
1Set parameter values (N, Rm, P, m, iterations, l_iter, etc.)
2Initial positions for particles using rank order values (ROVs)
3FOR (int t = 1; t <= iterations; t++){
4   Calculate the Z values for all particles using Equation (6).
5   Rank particles according to their FVs
6   Generate groups m(t) for particles.
7   FOR (int li = 1;li< = l_iter; li++)
8     FOR (int j = 1; j <= m(t); j++)
9       FOR (int k = 1;k <= the_number_of_particles_in_j; k++)
10         IF particle k is not the best particle in the subgroup j
11         Move the particle k one step toward the best particle in j
12         Calculate Z value using Equation (6).
13         IF Z value of this movement is improved
14          Store the Z value for this particle k
15          Store the current position for this particle k
16        ELSE
17          Move the particle k toward the global best particle in the swarm
18          Calculate Z value using Equation (6).
19          IF Z value of this movement is improved
20            Store the Z value for this particle k
21            Store the current position for this particle k
22         ELSE
23           Change the particle k to a random position
24         END IF
25       END IF
26       Compare the solution to the global best solution
27       IF better
28        Store the solution as the global best solution
29       END IF
30       Perform the self-adaptive variant for the particle k
31     END IF
32     END FOR k
33   END FOR j
34  END FOR li
35END FORt

5. Numerical Example

Java language was used for programming the FCFS, PSO, PSO2, and MPSO for comparison to investigate their effectiveness. These approaches were used in the first stage of the two-stage procedure. In the second stage of the two-stage procedure a same simulation-based heuristic was used. Each comparison is based on a set of same inputs.
In this research, the simple heuristic FCFS was used due to likely less waiting time.
Section 5.1 lists the parameter values used of experiments. Section 5.2 shows the results of an experiments (N = 15). Section 5.3 shows the results of some experiments with N = 15, 20, 25, and 30.

5.1. Parameters Setting for Experiments

Table 1 shows the setting of parameters for experiments.
The t indicates the number of iterative runs. For the PSO, the w is an inertial weight of velocity; the p is a number of total particles; the c1 and c2 are two coefficients; the r1 and r2 are two random numbers; the vmax and vmin are maximum and minimum velocities, respectively. For the MPSO, the θ is a mutation rate; the δ (δ ∈ [0,1]) is a threshold controlling the use of either TM or SM; the Rm is a mutation rate; and the Rc is a crossover rate. PSO. For PSO2, the w1, w2, and w3, as with the values used in [4], are coefficients of weights; the T0 is an initial temperature; the Te is the final temperature; the β is a falling rate of temperature.
In addition, we set planning horizon to 1 week (H = 168 h). As a result, the ETAs of ships are with the interval [0,168] (hours). The quay length (L) is set to 800 m. The length of a ship k (lk) is set within the interval [100,200] (meters). The desired berthing location of a ship k (dk) then should be within the interval [0, Llk]. The total number of loading and unloading containers of a ship k ( θ k ) is within the interval [80,2000]. In the quay side there are 8 QCs in total. Table 2 shows the parameters of costs used for the FCFS, PSO, PSO2 and MPSO. The C1 and C2 are set to USD 1000/hour.

5.2. A Small-Size Example

Table 2 shows the ship data randomly generated by computer for a small-size experiment (N = 15).
The first column No indicates the placement order of ship. The second column SID indicates the ship’s id. The column lj indicates the length of ship j, the column aj indicates the ETA of ship j, the column dj indicates the desired berthing position of ship j, the column Cj indicates the total number of loading and unloading containers of the ship j. The columns X0 and Y0 indicate the coordinates of the lower-left corner (X0,Y0) of a ship while the columns X1 and Y1 indicate the coordinates of the upper-right corner (X1,Y1) of a ship.
Figure 13 shows the berthing plan of 15 calling ships based on the original ship data in Table 3. We can find this is an infeasible berthing plan due to 6 overlaps of ships. Thus, resolving these overlaps of ships by using the two-stage solution procedure with different heuristics/meta-heuristics is necessary.
Figure 14 shows the best berthing plans obtained from different approaches used in the first stage in the two-stage solution procedure. Figure 14a is the berthing plan obtained from the FCFS heuristic. Figure 14b is the best solution obtained from the PSO. Figure 14c is the best berthing plan obtained from the PSO2. Finally, Figure 14d shows the best berthing plan obtained from the MPSO. Details data obtained from these approaches are listed in Table 3 as shown below.
From Table 3 we know that the MPSO outperforms the FCFS, PSO and PSO2 in terms of total costs (Z) including two sub-costs: increased waiting time (ΔWC) and increased handling times (ΔHC).
Table 4 shows the ship data and the coordinate data of the berthing plan in Figure 14d obtained from the MPSO, after repositioning target ships to avoid overlapping with other ships by using the two-stage approach.
From Figure 13 we found that there exist 6 overlaps of ships, thus repositioning some target ships are necessary for making a feasible solution.
In Table 4, after comparing this table with Table 2, we have highlighted the ships with changed coordinates. These ships and changed coordinates are in bolded face. Firstly, it is noted that there are 4 calling ships with no any change on their coordinates. They are ships 3,4,13 and 6. Referring to Table 6, it is found that these ships are assigned with the maximum QCs ( r k m a x = 3) in their all working stages. These information help us to ensure that these ships get zero increased waiting cost as well as handling cost ( Δ WC = Δ HC = 0) because they are at their best positions (i.e., the desired berthing positions) and with the best amount of QCs assigned. Due to being at the optimal situation, these ships face no increased cost. Furthermore, it is noted that the remaining 11 ships have changed coordinates, including ships 8, 10,1,15,9,7,12,11,2,14, and 5. These changes are adaptable to resources constraints. For example, some of these ships, including 10, 9 and 12, are found with the condition aj < X0, which indicates that these ships to have been moved toward the +X direction and thus face increased waiting times (their Δ WCs > 0). In addition, some of these ships, including 8,10,1,15,9,7,12,11,2,14 and 5, are found with increased handling costs ( Δ HC > 0). These increases may come from two sources: one is the deviation from their respective desired berthing positions and another the adjustments of their QCs (variable-in-time QC assignment). The two reasons can change (increase or shorten) their required handling times. For example, ships 5 and 15 are found to be deviating from their berthing positions and this introduce increased handling times for them. In addition, from Table 6 we see that some other ships such as 8,10,1,9,7,12,11,2, and 14 which have QC adjustments and this introduces additional increased handling times for these ships. Take ship 8 in Table 6 as an example; ship 8 berths at 128.8 with 2 QCs initially assigned but this number of QCs has been increased to 3 when ship 15 completes its job and releases its QCs at the time point 136.1. Similarly, those ships with d j < Y0 are identified to have been moved toward the +Y direction (such as the ship 1) while those ships with d j > Y0 are identified to have been moved towards the −Y direction (such as ship 12).
Table 5 shows the QC assignment for each ships at each stage, which is a variable-in-time QC assignment based on available QCs. In this case, a total number of 8 QCs (Q = 8) is set.
The column “No” indicates the stage No; the column “Fm” and “To” indicates “from” and “To” which indicates a duration of a stage; The column “SID” indicates a “ship ID”; the column “S” indicates the “state” of a ship with the value of 2 indicating a “berthing event” of the ship and the value of 3 indicating a “departure event” of the ship. In the MPSO, at the first stage all ships are default to have the maximum QC assignment ( r k m a x = 3) initially. But, at the second stage this number of QCs assignment may be adjusted to conform to QC constraints, i.e., Equations (7) and (8). In addition, the released QCs from a leaving ship will be reallocated to berthed ships to best utilize available QC capacity but such reallocations should also conform to the two QC constraints. We give a detailed explanation on Table 5. At first, all ships are A (where A is a set of ships to berth). At stage 1, [0,14.6], until to the time point 14.6 the first ship (SID = 13) arrives and berths immediately because quay space and QCs are available. The ship 13 gets 3 QCs in this stage and now becomes a berthed ship B (where B is a set of berthed ships). The S = 2 indicates that a “berthing event” occurs. Following this, at stage 2, with the duration [14.6,26.1], the ship 3 (SID = 3) arrives and berths at the time point 26.1 and gets 3 QCs assigned. This is also a “berthing event” (S = 2). So, now ships 13 and 3 B . At stage 3, with the duration [26.1,33,3], the ship 7 (SID = 7) arrives and berths at the time point 33.3. However, ship 7 is only get 2 QCs assigned due the QC constraints (i.e., the total number of QCs in this case is 8). At the stage 3 all the QCs assigned to these berthed ships (including 13, 3 and 7) is subject to the constraints, Equation (8). Now, we have 3 berthed ships. At stage 4, with the duration [33.3,38], all these berthed ships are loading and unloading containers, but at the time point 38 the first ship (ship 13) is completed and it triggers a leaving event (S = 3). The ship 13 then leaves and the working duration for this is [14.6,38]. Now, ship 13 C (where C is a set of completed ships) ships 3 and 7 are two remaining berthed ships. The other stages in Table 5 are explained in the same way. Finally, at the last stage 30, with the working duration [173.8,175.3], ship 1 leaves at the time point 175.3. Table 5 shows the simulation results obtained from the second stage with QCs assigned/adjusted conforming to the two QCs constraints. The Table 5 provides a solution to the variable-in-time QCAP (number).

5.3. Experiments

In this section, more experiments are performed to investigate the effectiveness of different approaches used in the first stage of the two-stage procedure. Table 6 shows the experimental results.
In Table 6, the “Z” column indicates the objective function value and the “T” column indicates the computational times for each experiment. In addition, Figure 15a to Figure 15d shows the comparison of total cost for different approaches under different numbers of calling ships (n = 15, 20, 25, and 30).
Figure 15a shows the total costs of 4 approaches employed in the first stage of the two-stage procedure for a problem with 15 ships (n = 15), from which we note that the MPSO has the least cost (40,861.5). Figure 15b also shows the MPSO with least average cost (119,148.9) for the problem with 20 ships (n = 20). Furthermore, Figure 15c also shows the MPSO with the least average cost (349,932.6) for the problem with 25 ships (n = 25). Finally, Figure 15d shows that the MPSO has a slight higher average cost (621,650.8) than the PSO2 that has the least average cost (619,124.2) for the problem with 30 ships (n = 30). This result may come from the bias experimental samples generated by the computer automatically. However, in this research, the total number of experimental instances that MPSO performs equally or better than the PSO2 in 36 (out of the 40 samples), thus we consider the MPSO in general can find a better solution than the PSO2, especially in problem sizes n = 15,20 and 25.

5.4. Analysis and Discussion

We summarize and discuss the findings as follows:
(1)
This research has, respectively, employed FCFS, PSO, PSO2, and MPSO in the first stage of the two-stage procedure and it is found that these approaches lead to different results. The MPSO is found to outperform the other approaches in terms of the total cost defined in the objective function.
(2)
The tuning of the total number of iterative runs can also control the computational times. The more the iterative runs the more the computational times.
(3)
Although having less computational cost, the FCFS is incapable of finding a high-quality solution due to its simplicity. This disadvantage increases when the solution space increases. The FCFS cannot improve the solution continuously.
(4)
It is found that moving a target toward either the +Y or −Y direction is less costly than towards the +X direction. This leads to the better use of available quay space. Thus, the cost values of C1 and C2 can inference the selection of a moving direction for a target ship.
(5)
As the least-cost direction has a high priority to be selected for a target ship, it is expected that our approach is likely to find, at least, a near-optimal solution. This cost estimation mechanism plays an essential role for this finding.
(6)
From Table 6, as the computational times to find the solutions for these approaches are found to be acceptable, these approaches are considered as applicable for practical usage.
(7)
Our approach is different from some proposed in past studies. For example, it differs from [39] in which the marginal decreasing capacity of QCs was not considered. This research differs from studies [5,18,19], which are PSO-based research. The [5] focused on a discrete version of BAP instead of a continuous version. The [18,19] only focused on the BAP, which did not consider the QCAP.
(8)
In [5] the proposed approach, PSO2, assigns a random number of QCs to a ship initially. However, this initial assignment cannot guarantee the best assignment of QCs to a ship as it did not use the r k m a x . In this research, the MPSO assigns an initial number of QCs to a ship based on the r k m a x , which promises the best assignment. The best number is to be adjusted if not conforming to the two QC constraints, Equations (8) and (9), to ensure a feasible solution. The experimental results show that the MPSO outperforms the PSO2 proposed in [5].
(9)
However, one limitation of the MPSO is that it cannot identify each QC assigned to a ship though it allows QC adjustment, i.e., it is the type of variable-in-time QCAP (number) instead of variable-in-time QCAP (specific) that is more specific and convenient for practical usage. Thus, there is room to improve the MPSO further.
(10)
One lack of this research is the comparison of the MPSO to GAs that have been widely used for solving seaside operational problems. This can be treated as a future research direction. Nevertheless, this research has achieved a preliminary result.
(11)
Although we have reached the preliminary conclusion that the MPSO outperforms the other approaches, extensive experiments are still required to consolidate this conclusion further.
(12)
One concern raised by a maritime supply chain is the damage and pollution to our environment, thus environmental protection is a concern. To pursuit higher efficiency for container terminal operations, some recent ideas have even proposed to allow speeding up ships so that they can arrive at a port earlier to make a better plan for resource usage (such as better use of quay space). However, speeding up a ship can introduce more air pollution that can damage our environment. In this research, speeding up a ship is not considered, as our approach does not allow a ship to move toward the −X direction (which requires a ship to speed up its speed). Thus, our approach has the merit of protecting our environment, while trying to better use resources including quay space and berths.

6. Conclusions

A hybrid approach combining multiple particle swarm optimization (MPSO) with an event-based simulation heuristic is proposed in this research to deal with the DCBAP and the variable-in-time QCAP (number) through a two-stage procedure. Both arrived and incoming ships are considered and assigned to a quay used as a continuous line to accommodate these ships. The handling time of each ship is determined by the number of QCs assigned to this ship with QC interference being taken into consideration and the number of QCs assigned to a ship is further adjustable.
The first stage uses a heuristic/metaheuristic to generate alternative ship placement sequences as inputs to the second stage that includes an event-based simulation heuristic to place ships into the berth plan, assign/adjust QCs and resolve overlaps of ships for developing feasible solutions. Finally, the best solution is outputted. Among FCFS, PSO, PSO2, and MPSO, the MPSO is found to be the best, in terms of total cost, when used in the first stage to work with the simulation-based heuristic in the second stage.
The DCBAP and the QCAP are two problems commonly faced by container terminal planners daily. A better solution for the two problems is necessary due to their considerable impacts on the productivity of a container terminal. The main contributions of this research are listed as follows:
(1)
We have formulated the two problems as a mathematical model. Based on this model, a two-stage procedure was proposed to solve the two problems by including heuristics and metaheuristics.
(2)
A resolution of the conflict of ships is developed based on the concept of moving a target towards the least direction. This mechanism can lead to the finding of the optimal/near optimal solutions.
(3)
We have implemented this two-stage procedure by using java programing language to facilitate the generation of solutions. Our experiments show that our approach can find the optimal/near-optimal solution with acceptable computation times.
In future research, improving the MPSO to deal with the simultaneous DCBAP and variable-in-time QCAP (specific) can be focused. This type of combined problem is more difficult to solve but indeed more helpful for practical usage. The use of other metaheuristics such as GAs in the first stage of the two-stage approach and a comparison to the MPSO can be performed in future research. Finally, extending this research to the area of QCSP can be further considered.

Author Contributions

H.-P.H. acquired funding, guided the research direction, developed the algorithm and found the solutions; C.-N.W. summarized and analyzed the data, revised and edited this paper. All authors have contributed to this research. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the Ministry of Science and Technology of Taiwan under the grant MOST 107-2410-H-992-037 as well as the Kaohsiung University of Science and Technology.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zhen, L.; Yu, S.; Wang, S.; Sun, Z. Scheduling quay cranes and yard trucks for unloading operations in container ports. Ann. Oper. Res. 2019, 273, 455–478. [Google Scholar] [CrossRef]
  2. Bierwirth, C.; Meisel, F. A survey of berth allocation and quay crane scheduling problems in container terminals. EJOR 2010, 202, 615–627. [Google Scholar] [CrossRef]
  3. Vis, I.F.A.; Koster, R.D. Transshipment of container at a container terminal: An overview. EJOR 2003, 147, 1–16. [Google Scholar] [CrossRef]
  4. Raa, B.; Dullaert, W.; Schaeren, R.V. An enriched model for the integrated berth allocation and quay crane assignment problem. Expert Syst. Appl. 2011, 38, 14136–14147. [Google Scholar] [CrossRef]
  5. Hsu, H.P. A HPSO for solving dynamic and discrete berth allocation problem and dynamic quay crane assignment problem simultaneously. Swarm Evol. Comput. 2016, 27, 156–168. [Google Scholar] [CrossRef]
  6. Kim, K.H.; Moon, K.C. Berth scheduling by simulated annealing. Transp. Res. Part B 2003, 37, 541–560. [Google Scholar] [CrossRef]
  7. Salido, M.A.; Mario, R.M.; Barber, F. A decision support system for managing combinatorial problems in a container terminal. Knowl.-Based Syst. 2011, 29, 63–74. [Google Scholar] [CrossRef] [Green Version]
  8. Hsu, H.P.; Chiang, T.L. An Improved Shuffled Frog-Leaping Algorithm for Solving the Dynamic and Continuous Berth Allocation Problem (DCBAP). Appl. Sci. 2019, 9, 4682. [Google Scholar] [CrossRef] [Green Version]
  9. Leonora, B.; Dorigo, M.; Gambardella, L.M.; Gutjahr, W.J. A survey on metaheuristics for stochastic combinatorial optimization. Nat. Comput. Int. J. 2009, 8, 239–287. [Google Scholar]
  10. Liang, C.J.; Huang, Y.F.; 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]
  11. 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. EJOR 2010, 207, 1327–1340. [Google Scholar] [CrossRef]
  12. Chang, D.F.; Jiang, Z.H.; Yan, W.; He, J.L. Integrating berth allocation and quay crane assignments. Transp. Res. Part E 2010, 46, 975–990. [Google Scholar] [CrossRef]
  13. Liang, C.J.; Guo, J.Q.; Yang, Y. Multi-objective hybrid genetic algorithm for quay crane dynamic assignment in birth allocation planning. J. Intell. Manuf. 2011, 22, 471–479. [Google Scholar] [CrossRef]
  14. Imai, A.; Etsuko, N.; Papadimitriou, S. Marine container terminal configurations for efficient handling of mega-containerships. Transp. Res. Part E Logist. Transp. Rev. 2013, 49, 141–158. [Google Scholar] [CrossRef]
  15. Rodriguez-Molins, M.; Ingolotti, L.; Barber, F.; Salido, M.A.; Sierra, M.R.; Puente, J. A genetic algorithm for robust berth allocation and quay crane assignment. Prog. Artif. Intell. 2014, 2, 177–192. [Google Scholar] [CrossRef] [Green Version]
  16. Hsu, H.P. A Hybrid GA with Variable Quay Crane Assignment for Solving Berth Allocation Problem and Quay Crane Assignment Problem Simultaneously. Sustainability 2019, 11, 2018. [Google Scholar] [CrossRef] [Green Version]
  17. Wang, F.; Lim, A. A stochastic beam search for the berth allocation problem. Decis. Support Syst. 2007, 42, 2186–2196. [Google Scholar] [CrossRef]
  18. Ting, C.J.; Wu, K.C.; Chou, H. Particle swarm optimization algorithm for the berth allocation problem. Expert Syst. Appl. 2014, 41, 543–1550. [Google Scholar] [CrossRef]
  19. Babazadeh, A.; Shahbandi, A.G.; Ganji, S.S.; Joharianzadeh, M. A PSO algorithm for continuous berth allocation problem. Int. J. Shipp. Transp. Logist. 2015, 7, 479. [Google Scholar] [CrossRef]
  20. 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]
  21. Kennedy, J.; Eberhart, R.C. Particle swarm optimization. In Proceedings of the IEEE International Conference on Neural Networks, Piscataway, NJ, USA, 27 November–1 December 1995; pp. 1942–1948. [Google Scholar]
  22. Allahverdi, A.; Al-Anzi, F.S. A PSO and a Tabu search heuristics for the assembly scheduling problem of the two-stage distributed data application. Comput. Oper. Res. 2006, 33, 1056–1080. [Google Scholar] [CrossRef]
  23. Zhou, P.F.; Kang, H.G. Study on Berth and Quay-crane Allocation under Stochastic Environments in Container Terminal. Syst. Eng.-Theory Pract. 2008, 28, 161–169. [Google Scholar] [CrossRef]
  24. Lin, S.Y.; Horng, S.J.; Dao, T.W.; Huang, D.K.; Fahn, C.S.; Lai, J.L.; Chen, R.J.; Kuo, I.H. Efficient bi-objective personnel assignment algorithm based on a hybrid particle swarm optimization model. Expert Syst. Appl. 2010, 37, 7825–7830. [Google Scholar] [CrossRef]
  25. Zhen, L.; Hu, H.; Wang, W.; Shi, X.; Ma, C. Cranes scheduling in frame bridges based automated container terminals. Transp. Res. Part C Emerg. Technol. 2018, 97, 369–384. [Google Scholar] [CrossRef]
  26. Liu, B.; Wang, L.; Jin, Y.H. An effective hybrid PSO-based algorithm for flow shop scheduling with limited buffers. Comput. Oper. Res. 2008, 35, 2791–2806. [Google Scholar] [CrossRef] [Green Version]
  27. Yuan, X.H.; Wang, L.; Yuan, Y.B. Application of enhanced PSO approach to optimal scheduling of hydro system. Energy Convers. Manag. 2008, 49, 2966–2972. [Google Scholar] [CrossRef]
  28. Zhou, D.W.; Gao, X.A.; Liu, G.H.; Mei, C.L.; Jiang, D.; Liu, Y. Randomization in particle swarm optimization for global search ability. Expert Syst. Appl. 2011, 38, 15356–15364. [Google Scholar] [CrossRef]
  29. Lee, D.H.; Wang, H.Q. Integrated discrete berth allocation and quay crane scheduling in port container terminals. Eng. Optim. 2010, 42, 747–761. [Google Scholar] [CrossRef]
  30. Lim, A. The berth scheduling problem. Oper. Res. Lett. 1998, 22, 105–110. [Google Scholar] [CrossRef]
  31. Lee, Y.; Chen, C.Y. An optimization heuristic for the berth scheduling problem. EJOR 2009, 196, 500–508. [Google Scholar] [CrossRef]
  32. Zhen, L.; Hay, L.H.; Chew, E.P. A decision model for berth allocation under uncertainty. EJOR 2011, 212, 54–68. [Google Scholar] [CrossRef]
  33. Imai, A.; Nishimura, E.; Paradimitrious, S. Corrigendum. The dynamic berth allocation problem for a container port. Transp. Res. Part B 2005, 39, 197. [Google Scholar] [CrossRef]
  34. Meisel, F.; Bierwirth, C. Heuristic for the integration of crane productivity in the berth allocation problem. Transp. Res. Part E 2009, 45, 196–209. [Google Scholar] [CrossRef]
  35. Chang, D.F.; Yan, W.; Chen, C.H.; Jiang, Z.H. A berth allocation strategy using heuristics algorithm and simulation optimization. Int. J. Comput. Appl. Technol. 2008, 32, 272–281. [Google Scholar] [CrossRef]
  36. Zhang, C.R.; Zheng, L.; Zhang, Z.H.; Shi, L.Y.; Armstrong, A.J. The allocation of berths and quay cranes by using a sub-gradient optimization technique. Comput. Ind. Eng. 2010, 58, 40–50. [Google Scholar] [CrossRef]
  37. Yang, C.; Wang, X.; Li, Z. An optimization approach for coupling problem of berth allocation and quay crane assignment in container terminal. Comput. Ind. Eng. 2012, 62, 119–128. [Google Scholar] [CrossRef]
  38. Türkoğvllari, 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]
  39. Park, Y.M.; Kim, K.H. A scheduling method for Berth and Quay cranes. OR Spectr. 2003, 25, 1–13. [Google Scholar] [CrossRef]
Figure 1. The berth allocation problem (BAP) variants.
Figure 1. The berth allocation problem (BAP) variants.
Mathematics 08 00764 g001
Figure 2. The quay crane assignment problem (QCAP) variants.
Figure 2. The quay crane assignment problem (QCAP) variants.
Mathematics 08 00764 g002
Figure 3. (a) Variable-in-time quay crane (QC) assignment; (b) time-invariant QC assignment.
Figure 3. (a) Variable-in-time quay crane (QC) assignment; (b) time-invariant QC assignment.
Mathematics 08 00764 g003
Figure 4. A three-dimensional (3D) berthing plan.
Figure 4. A three-dimensional (3D) berthing plan.
Mathematics 08 00764 g004
Figure 5. The encoding scheme of a particle position.
Figure 5. The encoding scheme of a particle position.
Mathematics 08 00764 g005
Figure 6. The algorithm of the two-stage procedure.
Figure 6. The algorithm of the two-stage procedure.
Mathematics 08 00764 g006
Figure 7. The coordinates of the corner points of ships j and k.
Figure 7. The coordinates of the corner points of ships j and k.
Mathematics 08 00764 g007
Figure 8. Increasing the target ship j’s handling time when moving towards +Y/−Y.
Figure 8. Increasing the target ship j’s handling time when moving towards +Y/−Y.
Mathematics 08 00764 g008
Figure 9. Increasing the target ship j’s waiting time when moving towards +X.
Figure 9. Increasing the target ship j’s waiting time when moving towards +X.
Mathematics 08 00764 g009
Figure 10. Multiple groups of particle searching in the solution space.
Figure 10. Multiple groups of particle searching in the solution space.
Mathematics 08 00764 g010
Figure 11. Particles p1 and p2 fly toward the target particle o.
Figure 11. Particles p1 and p2 fly toward the target particle o.
Mathematics 08 00764 g011
Figure 12. The algorithm of mutation in the multiple particle swarms optimization (MPSO).
Figure 12. The algorithm of mutation in the multiple particle swarms optimization (MPSO).
Mathematics 08 00764 g012
Figure 13. The berthing plan based on the original ship data.
Figure 13. The berthing plan based on the original ship data.
Mathematics 08 00764 g013
Figure 14. (a) Berthing plan (FCFS); (b) berthing plan (PSO); (c). berthing plan (PSO2); (d) berthing plan (MPSO).
Figure 14. (a) Berthing plan (FCFS); (b) berthing plan (PSO); (c). berthing plan (PSO2); (d) berthing plan (MPSO).
Mathematics 08 00764 g014
Figure 15. (a) Comparisons of total costs (n = 15); (b) comparisons of total costs (n = 20); (c) comparisons of total costs (n = 25); (d) comparisons of total costs (n = 30).
Figure 15. (a) Comparisons of total costs (n = 15); (b) comparisons of total costs (n = 20); (c) comparisons of total costs (n = 25); (d) comparisons of total costs (n = 30).
Mathematics 08 00764 g015
Table 1. The parameters setting for the four approaches for experiments.
Table 1. The parameters setting for the four approaches for experiments.
ParametersFCFSPSOPSO2MPSO
t1202020
w 0.5
p64646464
c1 2.0
c2 2.0
r1 Random()
r2 Random()
w1 Equation defined in [5]
w2 Equation defined in [5]
w3 Equation defined in [5]
δ 0.5
θ 0.5
Rc 0.3
Rm 0.4
vmax 22
vmin −2−2
T0 90
Te 0
β 0.8
Table 2. The original data of ships (N = 15).
Table 2. The original data of ships (N = 15).
NoSIDlj a j djCjLower-Left Hand CornerUpper-Right Hand Corner
X0Y0X1Y1
1316726.1398183826.139850.61565
28118128.8151844128.8151140.05269
310109148.22671080148.2267162.60376
41108147.31691830147.3169171.70277
515135112.51671768112.5167136.07302
6413489.534486489.5344101.02478
7915442.8574118142.857458.55728
81316314.6134175914.613438.05297
9713133.3272105933.327247.42403
10611977.6639115277.663992.96758
111215835.8582182035.858260.07740
1211176142.9681820142.968160.89244
132165140.16021290140.1602157.30767
141415753.8254126753.825470.69411
155184126.45921267126.4592146.69776
Table 3. Summary data of different approaches.
Table 3. Summary data of different approaches.
Approaches
ItemFCFSPSOPSO2MPSO
ΔWC61,551.124,758.255,740.818,345.6
ΔHC11,030.015,369.214,660.019,133.9
Z (Total cost)72,581.140,127.470,400.837479.5
T (Times)1.57 s1.57 s1.57 s129.063 s
Table 4. The coordinates of the calling ships (N = 15) after resolving overlaps of ships.
Table 4. The coordinates of the calling ships (N = 15) after resolving overlaps of ships.
NoShip idljajdjCjLower-Left Hand CornerUpper-Right Hand CornerΔWCΔHC
X0Y0X1Y1
1316726.1398183826.139850.6156500
28118128.8151844128.8151142.4826902426.67
310109148.22671080158.09267173.853769892.221357.04
41108147.31691830147.3376175.348403597.41
515135112.51671768112.5269136.1404034
6413489.534486489.5344101.0247800
7915442.857411814957465.297286203.33532.22
81316314.6134175914.613438.0529700
9713133.3272105933.35654969601583.33
10611977.6639115277.663992.9675800
111215835.8582182038.0524065.9729822503647.78
1211176142.9681349142.968162.1624401273.33
132165140.16021290140.1602158.097670792.22
141415753.8254126753.839874.5255503831.85
155184126.45921525126.4418146.7602058
Sub-total18,345.619,133.9
Total ( Δ WC + Δ HC )37,479.5
Table 5. The number of QCs assigned to each ship.
Table 5. The number of QCs assigned to each ship.
NoFmToSIDSShip ID
123456789101112131415
1014.6132 3
214.626.132 3 3
326.133.372 3 2 3
433.338133 3 3
53838122 3 3 2
6384973 3 3
7494992 3 2 3
84950.633 3 3
950.653.8142 3 3 2
1053.865.393 3 3
1165.366123 3
126674.5143
1374.577.662 3
1477.689.542 3 3
1589.59363 3
169310143
17101112.5152 3
18112.5126.452 3 3
19126.4128.882 3 2 3
20128.8136.1153 3 3
21136.1140.122 2 3 3
22140.1142.583 3 3
23142.5142.9112 3 3 2
24142.9146.753 3 3
25146.7147.31223 3
26147.3158.1233 3
27158.1158.11023 23
28158.1162.21133 3
29162.2173.81033
30173.8175.313
No: Stage No; Fm: From; SID: Ship ID.
Table 6. The results obtained from different methods used in the first stage.
Table 6. The results obtained from different methods used in the first stage.
FCFSPSOPSO2MPSO
N = 15ZTZTZTZT
164,683.70.464,683.713.071,372.216.361,707.0137.2
243,463.30.427,335.58.427,335.512.127,335.579.7
335,920.30.432,518.111.232,518.117.732,518.1120.7
478,542.80.444,180.813.044,180.821.444,180.8143.9
533,372.20.431,381.19.231,923.313.231,381.197.6
637,798.10.437,798.113.237,798.117.037,798.1149.3
758,942.90.458,927.113.261,305.420.957,407.6150.7
833,090.00.418,567.79.418,567.713.218,567.792.2
949,148.50.446,223.316.246,801.818.446,223.3134.1
1078,829.20.451,495.99.751,630.120.251,495.9102.6
Avg.51,379.10.441,311.111.742,399.017.040,861.5120.8
N = 20ZTZTZTZT
152,850.00.348,371.114.852,850.021.448,371.1158.6
2130,274.70.478,144.017.1102,875.525.971,693.9198.3
378,635.20.452,986.315.652,986.322.052,986.3178.5
4218,097.70.3162,495.514.2140,255.030.7149,887.0159.2
5315,525.40.4173,686.919.5196,587.531.5176,399.1220.9
6399,651.60.3176,799.219.7261,978.729.7173,919.3221.0
7228,430.40.4105,253.617.1172,601.224.296,449.2194.8
870,074.10.369,024.816.179,974.625.166,469.3185.8
9129,956.70.384,379.715.397,594.022.483,122.3170.4
10342,539.10.3283,706.515.5287,765.326.8272,191.9172.4
Avg.196,603.50.3123,484.816.5144,546.826.0119,148.9186.0
N = 25ZTZTZTZT
1519,044.00.4319,344.327.1360,801.473.8301,731.1461.5
2417,073.20.4356,883.643.9339,845.363.8326,855.9362.6
3968,779.50.4679,711.533.1606,488.873.7659,997.31441.6
4383,264.70.4279,950.760.0349,901.0105.1263,709.6912.4
5322,685.30.8208,590.666.0284,606.1251.1212,131.9839.9
6529,640.80.6487,985.850.5559,947.5117.5329,771.01049.8
7225,380.00.4146,537.426.6156,685.958.8137,635.2746.5
8329,470.80.3312,931.840.3325,643.464.7288,524.7341.8
9794,016.00.4609,751.534.2554,842.299.1601,662.3815.0
10527,476.60.4388,389.269.5372,384.840.6377,306.5301.6
Avg.501,683.10.4379,007.645.1391,114.694.8349,932.6727.3
N = 30ZTZTZTZT
1280,309.30.3192,679.522.8264,531.438.3152,391.4261.9
2219,780.40.4122,902.123.5169,330.936.3126,911.9267.7
3191,652.20.499,641.620.9137,728.738.491,690.0233.9
4326,444.10.4212,452.823.2251,530.445.0203,730.3263.7
51,638,434.50.41,245,954.634.51,306,552.281.91,281,544.0430.2
61,241,025.70.41,173,821.335.31,027,884.184.51,169,000.7436.2
71,509,662.90.4973,022.337.0853,598.591.4940,819.3440.2
8688,383.00.4602,804.146.7521,229.2106.8553,369.41,312.4
91,368,850.40.41,018,128.034.7919,646.3106.41,003,536.2471.0
10966,228.00.4721,914.3131.5655,321.0122.9693,514.7870.5
Avg.843,077.00.4636,332.141.0619,124.275.2621,650.8498.8

Share and Cite

MDPI and ACS Style

Hsu, H.-P.; Wang, C.-N. Resources Planning for Container Terminal in a Maritime Supply Chain Using Multiple Particle Swarms Optimization (MPSO). Mathematics 2020, 8, 764. https://doi.org/10.3390/math8050764

AMA Style

Hsu H-P, Wang C-N. Resources Planning for Container Terminal in a Maritime Supply Chain Using Multiple Particle Swarms Optimization (MPSO). Mathematics. 2020; 8(5):764. https://doi.org/10.3390/math8050764

Chicago/Turabian Style

Hsu, Hsien-Pin, and Chia-Nan Wang. 2020. "Resources Planning for Container Terminal in a Maritime Supply Chain Using Multiple Particle Swarms Optimization (MPSO)" Mathematics 8, no. 5: 764. https://doi.org/10.3390/math8050764

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