Next Article in Journal
Dynamic Analysis of Modified Duffing System via Intermittent External Force and Its Application
Next Article in Special Issue
Weighted z-Distance-Based Clustering and Its Application to Time-Series Data
Previous Article in Journal
Earthquake-Induced Pounding of Medium-to-High-Rise Base-Isolated Buildings
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Shuffled Frog-Leaping Algorithm for Solving the Dynamic and Continuous Berth Allocation Problem (DCBAP)

1
Department of Supply Chain Management, National Kaohsiung University of Science and Technology, No.142, Haijhuan Rd., Nanzih Dist., Kaohsiung City 81157, Taiwan
2
Department of Business Administration, Minghsin University of Science and Technology, No.1, Xinxing Rd., Xinfeng Hsinchu 30401, Taiwan
*
Authors to whom correspondence should be addressed.
Appl. Sci. 2019, 9(21), 4682; https://doi.org/10.3390/app9214682
Submission received: 27 August 2019 / Revised: 25 October 2019 / Accepted: 31 October 2019 / Published: 3 November 2019
(This article belongs to the Special Issue New Frontiers in Computational Intelligence)

Abstract

:

Featured Application

The proposed Improved Shuffled Frog-Leaping Algorithm (ISFLA) can be applied to allocate berthing positions to ships calling a container terminal with the quay being used a continuous line.

Abstract

This research deals with the dynamic and continuous berth allocation problem (DCBAP) in which both arrived and incoming ships are considered and a quay is used as a continuous line to accommodate as many ships as possible at one time. The DCBAP is solved by a two-stage procedure. In the first stage a heuristic/metaheuristic is used to generate alternative ship placement sequences while in the second stage a specific heuristic is employed to place ships and resolve overlaps of ships for the development of a feasible solution. Different methods, including FCFS (First Come First Served), SFLA (Shuffled Frog-Leaping Algorithm), and ISFLA (Improved Shuffled Frog-Leaping Algorithm), were employed in the first stage for comparison. The experimental results show that the ISFLA outperforms the others in terms of solution quality, implying that the ISFLA has the potential to deal with the DCBAP in a container terminal.

1. Introduction

International trade is the exchange of goods or services across nations. There are different kinds of transportations for exchanging goods, including air, land, and maritime. Among these transportations, maritime transport is essential due to its having a relatively lower transport cost as a result of mass transport. Among various kinds of maritime transport, container transport is especially important, as the number of global container shipments is increasing continuously. To serve calling ships, many of the busy global ports, such as Hamburg, Rotterdam, and Antwerp in Europe, and Busan, Shanghai, and Hong Kong, employ multi-user terminals [1]. To improve productivity at this kind of terminal, a better solution for the berth allocation problem (BAP) is essential.
There are many approaches available for improving the productivity of a container terminal. Basically, these approaches can be classified into the two categories: hardware and software approaches. For example, increasing the number of quays or quay cranes (QCs) is an example of a hardware approach, whereas improving the utilization of quays or QCs is an example of a software approach. In this research, the software approach is used, as it is less expensive and time-consuming.
In a container terminal, the operations can mainly be classified into three areas: seaside, yard, and landside. In the seaside area, there are three famous seaside operational problems: the berth allocation problem (BAP), the quay crane assignment problem (QCAP), and the quay crane scheduling problem (QCSP) [2,3]. These seaside operational problems are more critical than others in the yard area and landside due to the use of berths and QCs. In this research, we therefore focus on one of the three well-known seaside operational problems, i.e., the BAP. However, our literature review shows that the BAP can be further characterized with respect to certain factors. To deal with the BAP, it is necessary to understand the factors and variables affecting it, as further detailed in the next paragraph.
The BAP is a problem of allocating berths to ships. This problem can be further characterized by two main factors: (1) the arrival times of ships; and (2) the configuration of quays. The first factor characterizes the BAP as being a static or dynamic version of the problem. In the static BAP (SBAP), only arrived ships are considered, whereas in the dynamic BAP (DBAP), incoming ships are also taken into consideration. In this research, we focus on the dynamic version (DBAP) due to the fact that ships continue to come during BAP planning. The second factor characterizes the BAP as either a discrete or continuous version of the problem. In the discrete BAP, a quay is separated into several fixed sections, and each section can only accommodate one ship at a time, whereas in the continuous BAP, a quay in its entirety is regarded as a continuous line that is able to accommodate as many ships as possible at any given time. In this research, we focus on dealing with the dynamic and continuous BAP (DCBAP), whereby a quay is used as a continuous line, and both arrived ships and incoming ships are considered.
Different approaches are available for dealing with the BAP, including mathematical models, heuristics and metaheuristics. Mathematical models, such as the Integer Programming (IP) and Mixed Integer Programing (MIP) models, are exact approaches commonly used to find the optimal solution. However, due to NP-complete [4,5,6], the exponentially increasing computational times required for exact approaches prevent them from being employed in practice. As a result, heuristics and metaheuristics have become popular. Recently, evolutionary and population-based metaheuristics have increasingly been being used to deal with various container terminal operational problems. One advantage of this kind of approach is that they can iteratively drive solution(s) towards optimality. This improves the simplicity of simple heuristics. Another advantage is that through control of parameters such as the total number of iterative runs, these kinds of metaheuristics can avoid the computational intractability faced by exact approaches [7]. Examples of these kinds of metaheuristics include Ant Colony Optimization [8,9,10,11,12,13,14,15], Particle Swarm Optimization (PSO) [7,16,17], and genetic algorithm (GA). In [18], it was shown that GAs have been widely used to deal with seaside container terminal operational problems.
Proposed by Eusuff and Lansey [19], the Shuffled Frog-Leaping Algorithm (SFLA) is an evolutionary population-based metaheuristic. It employs a swarm of frogs to mimic memetic evolution with the aim of finding the position (solution) with the greatest amount of food. During evolution, these frogs exchange information that can affect the behavior of other frogs. As genes can only be passed from parents to offspring, memetic spread is considered to be faster, as memes can propagate between any individuals [20]. In fact, the SFLA includes the advantages possessed by evolution-based memetic algorithms (MA) and social behavior-based PSO algorithms [20]. The SFLA and its variants are currently attracting increasing attention and are increasingly being used to deal with different problems. However, to our best knowledge, they have never been used to deal with the BAP.
The main purpose of this research is to develop an improved SFLA (ISFLA) to deal with the DCBAP, as this new kind of metaheuristic has never been used for this purpose. The ISFLA is employed in a two-stage procedure. In the first stage, the ISFLA is used to generate alternative ship placement sequences as inputs to the second stage. In the second stage, a specific heuristic is used to place ships one by one into a berth plan and resolve overlaps of ships in order to generate a feasible solution. The ISFLA includes some novel features, such as self-adaptive jump, direct-jump prevention, push jump, and neighborhood jump, enabling smart leaps for frogs in order to better search the solution space for a possible solution. We conducted experiments investigating the effectiveness of the ISFLA in comparison to FCFS and SFLA, which were employed in the first stage. The results showed that the ISFLA outperformed the other two in terms of solution quality.
The rest of this research is organized as follows: Section 2 presents a literature review on the CBAP and basic SFLA; Section 3 presents a formulation of the Mixed Integer Linear Programming (MILP) model for the DCBAP; Section 4 develops the ISFLA for solving the DCBAP; Section 5 includes numerical examples; Finally, Section 6 presents the conclusion and future research directions.

2. Literature Review

2.1. The Operations in a Seaport Container Terminal

Figure 1 illustrates two ships berthing alongside the quay of a container terminal. The container terminal is separated into the following three areas: seaside, yard and landside [3].
The quay in the container terminal can be configured as either a discrete or continuous quay. With a discrete configuration, the quay is separated into several fixed sections, and each section is allowed to accommodate one ship at a time. With a continuous configuration, the entire quay is used as a continuous line that can accommodate as many ships as possible at one time. Along the quayside, rail-mounted quay cranes are used to load/unload containers to/from trucks. The trucks will transport containers between the berthed ships and the storage areas in the yard area.
The yard area serves as a buffer between the sea and land sides, which is an area of temporary storage for containers. The yard area is divided into many blocks, and each block is composed of several rows for stacking containers. For each block, there is a yard crane used to load and unload containers on or off the trucks. The containers in the yard area will be transshipped to other ships or transported to customers via road or rail. Figure 2a shows the flows of intra-terminal transshipment between ship 1 and ship 2.
The land side contains operations consisting of transporting containers to and from the container terminal, by trucks, road or railway. Figure 2b shows two types of intermodal transportation: ship-to-road and ship-to-rail. In this yard area, both intra-terminal transshipment and intermodal transshipments operate simultaneously.
In a container terminal, there are different operational planning problems. These can be listed as follows:
  • Allocation of berths for calling ships (BAP).
  • Assigning of QCs for berthed ships for loading and unloading containers (QCAP).
  • Scheduling of QCs (QCSP).
  • Assigning of yard trucks.
  • Scheduling of yard trucks.
The BAP, QCAP and QCSP are widely recognized seaside operational problems. In this research, we will focus on the BAP of the continuous quay configuration. Relevant CBAP studies are reviewed in the next section.

2.2. Studies on CBAP

Some studies, such as those by Lai and Shih [21], Brown et al. [22,23], Imai et al. [24,25,26], and Nishimura et al. [27], have focused on the DBAP, while Lim [4], Li et al. [28], Guan et al. [29], Park and Kim [30,31], and Kim and Moon [5], Imai et al. [1], Wang and Lim [32], Lee and Chen [33], Zhen et al. [34] carried out studies focused on the CBAP. Due to the focus on quays with continuous configuration, we detail these CBAP studies below.
The study by Lim [4] is an early study focusing on the CBAP. In that study, the CBAP was considered as a two-dimensional packing problem, but transformed into a graph theoretical representation once the authors had captured the CBAP characteristics. Then, the author proposed a heuristic for solving this problem with the objective of minimizing the quay length required to accommodate all incoming ships under the assumption that these ships would not further change their berthing positions. On the other hand, Li et al. [28] solved the CBAP both with and without this restriction in ships’ movements. Their objective was to minimize the makespan of the schedule. Guan et al. [29] developed a heuristic for solving the CBAP. Their objective was to find the solution with the minimum total weighted completion time of ships. Park and Kim [30] proposed a subgradient optimization method for dealing with the CBAP with the objective of minimizing costs arising from the delayed departures of ships due to undesirable service order and the additional complexity of handling containers when ships are served at non-optimal mooring locations in the port. This study appears to be more practical than the above-mentioned studies, in that it took the actual berthing positions of ships into consideration. Kim and Moon [5] addressed the same CBAP discussed in Park and Kim [30]. The authors proposed a simulated annealing method to deal with this problem, finally concluding that this approach had the capacity to find an optimal solution. However, the CBAP studies mentioned above neglected the impact of berthing position on the handling time of a ship. In a later study, Park and Kim [31] studied a CBAP with a similar objective function to those used in Park and Kim [30] and Kim and Moon [5]. A major difference of the objective function used in [31] was that it accounted for additional costs resulting from the early or late start of ship handling with respect to the ETA of a ship. Their approach generated the optimal starting times of ship services and berthing positions, as well as QC assignments to ships. However, in that study, the handling times of ships were still independent from the ships’ mooring positions. Having completed the DBAP [24,25,26], Imai et al. [1] moved on to deal with the CBAP, which was treated as a two-dimensional cutting stock problem. The CBAP was solved by using a two-stage heuristic. The first stage generates an initial solution to the DBAP, and then this solution is further transformed into a feasible one by repositioning overlapped ships as well as sparsely located ships at the second stage. In that study, the impacts of the mooring positioning of a ship on its handling time were taken into consideration. Wang and Lim [32] solved the CBAP by proposing a stochastic beam search. Their experiments showed that the proposed approach was able to find a near-optimal solution, with the solution being better than those found by state-of-art metaheuristics and traditional deterministic beam search in terms of accuracy and efficiency. Lee and Chen [33] proposed a neighborhood-search optimization heuristic to solve the CBAP. In that study, factors including the First Come First Served (FCFS) rule, clearance distance between ships, and possible ship shifting were taken into consideration. The experimental results showed that a better decision could be achieved when taking these factors into consideration. In Zhen et al. [34], the authors proposed a two-stage decision model for dealing with the CBAP. The arrival times and handling times of ships in the model are treated as uncertainties. In the first stage, this model first initiates a baseline schedule that is further adjusted by using a reactive recovery strategy in the second stage. The objective of that approach was to minimize penalty costs incurred by deviating from the initial schedule. For the CBAP in a large-scale environment, the authors proposed a metaheuristic approach based on the simulated annealing approach. Our literature review shows there is still a lack of implementation of SFLA-based approaches for dealing with the BAP, especially the DCBAP.
The CBAP is not completely equivalent to the cutting-stock problem (CSP), because not all rectangles (placing items)—which correspond to calling ships in the CBAP—are already available in the CSP, as a result of the incoming ships in the CBAP. In addition, the constraints in the CBAP can be graphically portrayed. For example, some rectangles in a berth plan cannot be placed before corresponding predetermined vertical lines that represent the estimated arrival times (ETAs) of calling ships. This restriction is simply based on the fact that ships cannot be berthed before they have arrived at the port. Thus, the static version of the CBAP is identical to the fixed-orientation CSP but the dynamic BAP is not [1].
In many CBAP studies, such as those by Lim [4], Li et al. [28], and Guan et al. [29], the authors only considered arrived ships and assumed that a ship’s handling time was independent of its berthing location. Although incoming ships were taken into consideration in some studies, such as those by Park and Kim [30,31] and Kim and Moon [5], and fixed handling times had been assumed for those ships, Ref. [31] can only be regarded as a static version of CBAP, as ships were able to be served before their ETAs, while penalty costs were then imposed in the objective function for the use of such services. This relaxation downgrades the dynamic version of BAP to a static one [5]. Consequently, its constraint is also equivalent to that of the CSP with fixed orientation. In this present research, the CBAP to be solved is quite different from the conventional CSP, as the handling time of a ship is dependent on the ship’s berthing location, and incoming ships are to be taken into consideration.
In addition, heuristics have been widely used to deal with the CBAP. However, high-level heuristics, i.e., metaheuristics, have seldom been used to deal with the CBAP. In particular, there is still a lack of using SFLA to solve the BAP. Such applications are still at the emerging stage.

2.3. The Basic SFLA

As a kind of population and evolutionary-based metaheuristic, the basic SFLA (B-SFLA) employs a swarm of frogs to find the position (solution) with the greatest amount of food. The goodness of a position can be indicated by an objective function value. In a D-dimensional space, the current position of a frog f is denoted as X f ( t ) = ( X f 1 , ,   X f D ). During memetic evolution, frogs are separated into m groups, with the best frog being assigned to the memeplex 1; the 2nd best to the memeplex 2; the mth best to the memeplex m; the m + 1th best then back to the memeplex 1 again, and so on. As a result, each group has n = F/m frogs, and these frogs are ordered decreasingly according to their objective function values [35]. Following this, triangular distribution sampling, as in Equation (1), is used to form sub-memeplexes.
P f = 2 ( n + 1 f ) / n ( n + 1 )   f = 1 , ,   n
With Equation (1), the best frog in each memeplex has the highest probability 2/(n + 1), while the worst frog has the lowest probability 2/n(n + 1), of being selected into a corresponding sub-memeplex. Then, Roulette Wheel Selection (RWS) can be used to select q frogs from the original memeplex into the sub-memeplex for evolution and local searching. At the current time t, the leaping distance of the frog f is denoted as D f ( t ) and determined by Equation (2).
D f ( t ) = { min { int { R ( X b ( t ) X f ( t ) ) , S m } }      for   positive   step max { int { R ( X b ( t ) X f ( t ) ) , S m } }   for   negative   step
The R is a random number in [0, 1]; X b ( t ) is the position of the best frog in the sub-memeplex; S m is the maximum step allowed. The next position of the frog f is determined by Equation (3).
X f ( t + 1 ) = X f ( t ) + D f ( t )
If feasible and better, this next position will be accepted; otherwise, the X b ( t ) in Equation (2) will be replaced with X g ( t ) and the next position will be found again, where X g ( t ) is the position of the global best frog. If this next position is once again not better, a random jump will be made for the frog. Once all frogs in a sub-memeplex have completed several local searches, they then move on to process the next sub-memeplex until all sub-memeplexes have been completed. After completing one iterative run, the frogs are reshuffled and the next iterative run is started. This is carried out until the termination criteria are reached. For more details about the B-SFLA, one can refer to Eusuff et al. [35].
Our literature review shows that SFLA and its variants have been used in various areas, including water distribution network design [19], project management [36], knapsack problem [37], component pick-and-place problem [38], routing problem [39], gateway loading balance [40], local dimming optimization [41], underwater sonar image detention [42], job scheduling [43], big data [44], feature selection [45], etc. However, to our best knowledge, SFLA has never been used to deal with the BAP.

3. Formulation for a Mathematical Model of the DCBAP

3.1. Definition of the DCBAP

Definition 1.
The Dynamic and Continuous Berth Assignment Planning Problem (DCBAP) is a problem with the aim of finding a feasible berth plan that includes six-tuples:
DCBAP = ( L ,   H ,   V ,   Ç ,   P ,   Z )
where
L: 
the length of a quay;
H: 
the planning horizon;
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;
P: 
a set of plans with assignments of berthing positions and start berthing times for ships;   p i P ,     p i = { j = 1 j = N ( B j , S j ) | 0 B j L l j ,   0 S j } , where ( B j , S j ) is a pair of assignments, where B j is the berthing position, S j is the start berthing time and l j is length of the calling ship j.
Z: 
an objective function mapping p i to a time/cot value Z.
The objective of the DCBAP is to find a p i or p ( p i ,   p 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 j a berthing position ( B j , S j ) on P is assigned. Finding the ( B j , S j ) for each ship j (j = 1, …, n, where n is total number of calling ships) is an NP-hard problem.

3.2. Berthing Plan Representation for the DCBAP

A berth plan can represent a solution to the CBAP. Figure 3 illustrates a berth plan in which the X-axis represents the time dimension (planning horizon), while the Y-axis represents the space dimension (quay length). This plan includes one overlap of two ships j and k that are respectively located at positions at a ( x 0 j , y 0 j ) and a   ( x 0 k , y 0 k ) , where x 0 j   and   x 0 k are berthing times and y 0 j   and   y 0 k are berthing positions. However, this overlap makes this plan unfeasible. To be feasible, it needs to resolve this overlap. A ship being selected and moved to resolve an overlap is termed “target ship”. It is noted that the arrival time (ETAj) and the desired berthing position (dj) are the best coordinates in a berthing plan for a ship j, as there are no increased waiting or handling times. Any deviation from these coordinates will increase the cost for the ship.

3.3. Estimation of Increased Handling Times for a Ship

In this research, it is assumed that the berthing position of a ship will affect the ship’s handling time. In Figure 3, we give each ship j or k an initial handling time based on their respective desired berthing positions. Thus, if any of the ships deviates from its desired berthing position, then the ship’s handling time will increase due to the greater distance that a truck will need to move a container.
Equation (4) is the formula for calculating the distance ( Δ b j ) for a ship j deviating from its desired berthing position.
Δ b j = | B j d j |
where
B j  
is the actual berthing position of ship j alongside the quay;
d j  
is the desired berthing position of ship j alongside the quay.
Then, the increased handling times ( Δ H j ) for the ship j is determined by Equation (5)
Δ H j = β · Δ b j
where
β  is the berth deviation factor; a rate estimating the increase of handling time due to the deviation from the desired berthing position ( d j ).
Equation (6) is used to estimate T j , the actual handling times of a ship j.
T j = h j + Δ H
where
h j  is the original handling time for ship j (this is not affected by berthing position).
Finally, given the actual start berthing time of ship j ( S j ), the completion time of a ship j can be estimated by Equation (7).
C j = S j + T j ,    j J

3.4. Estimation of Increased Waiting for a Ship

In Figure 1, one way of resolving the overlap is to move ship j in the +X direction. This will not increase the handling times, but rather the waiting times of the ship. The increased waiting times ( Δ W j ) for a ship j can be estimated by Equation (8), where S j is the start berthing time of the ship j.
Δ W j = S j E T A j

3.5. Mathematical Model

This section formulates a mathematical model for the DCBAP. Firstly, the assumptions, parameters, indices, and decision variables for this model are introduced.
  • Assumptions
    (1)
    Each ship is handled continuously until it is completed.
    (2)
    Each ship has an estimated processing time.
    (3)
    Each ship has a desired berthing position.
    (4)
    Inter-ship clearance distance is included in ship length.
    (5)
    A ship departs immediately if completed.
  • Indices
    j 
    a ship number; j   J = {1, …, N}
    x 
    a start berthing time; x   X = {1, …, H}
    y 
    a berthing position; y Y = {1, …, L}
  • Parameters
    L 
    the quay length (meters)
    H 
    the planning horizon (hours)
    N 
    the total number of ships to call within the planning horizon H
    l j  
    the length of ship j
    E T A j  
    the expected time of arrival of ship j
    d j  
    the desired berthing position of ship j
    β 
    the berth deviation factor ( β 0 ); increased handling times in hours per 100 m deviating from the desired berthing position of a ship
    c 1  
    the cost rate of waiting time (USD/hour)
    c 2  
    the cost rate of handling time (USD/hour)
  • Decision Variables
    X j x y = { 1 ,   if   the   ship   j   is   assigned   with   the   berthing   postion   ( x , y ) 0 ,   otherwise  
    B j  
    the berthing position of ship j ( j J )
    S j  
    the actual start berthing time of ship j ( j J )
    C j  
    the completion time of ship j ( j J )
    Δ W j  
    the increased waiting time of ship j ( j J )
    Δ H j  
    the increased handling time of ship j ( j J ).
The Mixed Integer Programing (MIP) model of the DCBAP can be formulated as follows.
M i n   Z = j = 1 N ( c 1 · Δ W j + c 2 · Δ H j )
s . t .   x = 1 H y = 1 L X j x y = 1       j J
Δ W j 0       j J
Δ H j 0       j J
B j L l j       j J
B j 0       j J
l j > 0       j J
l j L       j J
X j x y { 0 , 1 }     j J ;     x X ;     y Y
Equation (9) is the objective function for minimizing the total cost (Z), including the increased waiting cost, as well as the increased handling cost. Equation (10) stipulates that one berthing position can be assigned to only one ship at a time. Equation (11) is a requirement for Δ W j stipulating that S j should not start before E T A j . Equation (12) defines a requirement for Δ H j . Equations (13) and (14) are conditions for the assigned berthing position for a ship. Equations (15) and (16) are physical conditions for a ship. Equations (17) comprise a binary constraint for decision variables X j x y .

4. The ISFLA for Solving the Simultaneous DCBAP

Due to the NP-hard problem, the MILP formulated in Section 3.3 will become computationally intractable when used to deal with problems of practical size. This section details the development of an ISFLA for dealing with the DCBAP.

4.1. Position Representation

Figure 4 shows a position representation for a frog searching a D-dimensional solution space (where D = n, n is the total number of calling ships) of the DCBAP. In this scheme, each u j (j = 1, …, n) indicates the placement order of ship j.
The ROV technique used in Hsu (2016) [7] is used to transform real values into ranking numbers that represent a placement sequence of ships. For instance, the sequence [0.5,0.6,0.7,0.4] will be transformed into the ranking set [2,3,4,1], corresponding to the placement sequence for ships 1 to 4.

4.2. The ISFLA

The ISFLA possesses the following features: (1) multiple groups of frogs, (2) shuffled mechanism, (3) discrete operators with self-adaptive jump, and (4) self-adaptive mutation mechanism. These features are detailed below.

4.2.1. Multiple Groups of Frogs

For a given solution space, the ISFLA uses multiple groups of frogs and forms multiple search areas (focuses) that can be concurrently searched by the swarm of frogs. Frogs in the same group will search among them for the best frog in that group. Figure 5 shows the evolution of three groups of frogs from the iteration i to the iteration i + 1. The ISFLA does not use sub-memeplex or triangular distribution sampling. This allows all frogs in a memeplex to attend to evolution directly, which results in population advantage.

4.2.2. Shuffled Mechanism

The shuffled mechanism is used to regroup frogs belonging to the same swarm, which can initiate other opportunities for these frogs to be affected by other elites (i.e., the best frog in each group). This helps diversify frogs for the exploration of the solution space. In a D-dimensional solution space, the position of a frog i is denoted as Xi = (Xi1,…,XiD), and the frogs of this swarm are separated into m groups according to the following rules:
  • the best is assigned to group 1;
  • the 2nd best is assigned to group 2;
  • the mth best is assigned to group m;
  • the m + 1th best is assigned to group 1 again, and so on.
As a result, each group then contains F/m frogs (assuming that there are a total number of F frogs), and the frogs in each group are ordered in decreasing order based on their objective function values.

4.2.3. Discrete Operators with Self-Adaptive Jump

In this research, the ISFLA uses discrete operators to determine the next position for a frog based on the position of the frog relative to that of the target frog. An example is given in order to specify the self-adaptive jump of frogs.
Figure 6 illustrates three frogs, o, i, and j, with positions of Xo(t) = [4,3,2,1,5,6], Xi(t) = [1,2,3,4,5,6], and Xj(t) = [4,1,3,2,5,6], respectively. Among the three frogs, the frog o, termed the “target frog”, is in the best position, attracting frogs i and j to search around it. The frogs i and o are considered to be closer, due to sharing four of the same position elements (while frogs j and o only shar two of the same elements). A self-adaptive mechanism is required to cause the non-target frogs to adaptively approach the target frog, i.e., to enable a bigger jump for more distant frogs to be able to approach the target frog quickly, while enabling smaller jumps for closer frogs to prevent them from jumping over the optima. However, non-target frogs should not jump directly to the target frog, as this will waste a local search.
To enable self-adaptive jumps, we change Equations (2)–(18).
Di(t) = (Xo(t) ~ Xi(t)) ⨀ RVi(t)
RVi(t) refers to the adaptive binary vector, and is used to adjust the moving distance Di(t) for a frog i at the time t.
The operator “~” refers to the total distance measuring operator, which measures the distance between frogs o and i in cases where frog i jumps towards the target frog o. The operator works as follows.
X o , k ( t ) ~ X i , k ( t ) = { 0 , if   X o , k ( t ) = X i , k ( t ) X o , k ( t ) , if   X o , k ( t ) X i , k ( t )
In Equation (19), k indicates the kth elements in the position vectors of frog o and i. Given Xo(t) = [4,3,1,2,5,6] and Xi(t) = [1,2,3,4,5,6], the distance between frogs o and i at the time t is determined as follows.
Xo(t) ~ Xf(t) = [4,3,2,1,5,6] ~ [1,2,3,4,5,6] = [4,3,2,1,0,0]
In Equation (18), the operator “⨀” refers to the binary step multiply operator. It determines the result of the multiplication of Xo(t)~Xi (t) with RVi(t) = [RVi,1,…, RVi,D], in which each RVi,k(t) (k ∈ [1,D]) is a binary value. This operator works as shown in Equation (20).
( X o , k ( t ) ~ X i , k ( t ) )   R V i ( t ) = { X o , k ( t ) ~ X i , k ( t ) ,    if   R V i , k ( t ) = 1 0 ,              if   R V i , k ( t ) = 0
For example, given RVi(t) = [0,1,0,0,0,0], we can derive Di(t) as follows.
Di(t) = [4,3,2,1,0,0] ⨀ [0,1,0,0,0,0] = [0,3,0,0,0,0].
The above example shows that more binary values of 1 in RVi(t) result in a larger leaping distance. Thus, we let each RVi,k(t) be determined by Equation (21).
R V I i , k ( t ) = { 0 , if   R 1 B R 1 i ( t ) 1 , if   R 1 < B R 1 i ( t )
R1 is a random number within the range [0,1], while BR1i(t) is a threshold controlling the generation of the binary values 0 or 1 in RVi(t) for the frog i. To enable a bigger jump for a more distant frog, Equations (22)–(24) are designed to initiate a bigger BR1i(t). First, Equation (22) counts the total number of shared elements between Xi(t) and Xo(t), denoted as NSEi,o(t). Then, Equation (23) calculates ωi(t), the maximum number of binary values of 1 currently allowed for the RVi(t) of frog i. Finally, Equation (24) is used to determine the value of BR1i (t).
N S E i , o ( t ) = i = 1 D [ X o , k ( t ) X i , k ( t ) ]
ω i ( t ) = D N S E i , o ( t ) 2
B R 1 i ( t ) = { ω i ( t ) D , if     N S E i , o ( t ) < D 2   0 , if     N S E i , o ( t ) D 2
In Equation (22), the symbol “≈” is the comparing operator, and compares two elements with the same position in Xo(t) and Xi(t), and this operator works as follows.
X o , k ( t ) X i , k ( t ) = { 1 , if    X o , k ( t ) = X i , k ( t ) 0 , if    X o , k ( t ) X i , k ( t )
Given Xo(t) = [4,3,2,1,5,6] and Xi(t) = [1,2,3,4,5,6], we can derive NSEi,o(t) = 2, ωi(t) = 2, and the BR1i(t) = 1/3. Finally, the RVi(t) and Di(t) can be derived by Equations (18) and (21), respectively, and Equation (26) can be used to derive the next position of the frog i.
X i ( t + 1 ) = X i ( t ) D i ( t )
In Equation (26), the symbol “♁” is as the leaping operator, which is used to determine the next position of a frog. It works on the basis of the following 4 steps:
(1)
the operator takes the first non-zero value out of the Di(t) and replaces the value at the same position in Xi(t),
(2)
the replaced value takes the position of the non-zero value in Xi(t),
(3)
repeat the first and second steps until there are no non-zero values in Di(t),
(4)
the operator copies the current Xi(t) as Xi(t + 1).
Xi(t + 1) = Xi(t) ♁ Di(t) = [1,2,3,4,5,6] ♁ [0,3,0,0,0,0] = [1,3,2,4,5,6]
Take Equation (27) as an example: the operator first takes the non-zero value “3” from Di(t) and replaces the “2” in Xi(t). Then, the replaced value “2” takes the place of the “3” in Xi(t). Because there are no non-zero elements in Di(t), the next position of the frog i will be Xi(t + 1) = [1,3,2,4,5,6].
This example shows that a non-zero element in Di(t) can exchange two elements in Xi(t). In terms of distance, the two frogs i and o are now considered to be closer due to their having four shared position elements, and the frog i possesses the following data: NSEi,o(t) = 4, ωi(t) = 0, BR1i(t) = 0, and RVi(t) = [0,0,0,0,0], which will result in Di(t) = [0,0,0,0,0] being used to stop frog i jumping directly to the target frog o.
In addition to the self-adaptive leap mechanism, the ISFLA also makes it possible to include the following novel features:
  • Direct-jump prevention: The direct-jump prevention will stop the generation of binary values of 1 for the RVi(t) of frog i in order to prevent it jumping directly to the target frog, as this would waste one local search. This will happen if the frog i is satisfied with the condition NSEi,o(t) ≥ D − 2. In Equation (22), the term −2 refers to the direct-jump prevention, which prevents frog i from jumping directly to the target frog o.
  • Neighborhood jump: However, if BR1i(t) ≠ 0, there is always a chance for a frog to jump to the target frog directly. Thus, we let the ISFLA count the total number of binary values of 1 generated so far for the RVi(t) of frog i; if the threshold ωi is reached, instead of allowing a direct jump, the swap(p1, p2) operator, which switches two randomly selected elements in a frog’s position vector, will be used to perform a neighborhood search. The neighborhood search avoids wasting local searches for frogs due to the imposition of direct-jump prevention.
  • Push jump: For a frog i freed from direct-jump prevention but idling at its current position, which happens when k = 1 D RVi,k(t) = 0, the ISFLA will introduce one random binary value 1 into RVi(t) in order to push jump this frog.

4.2.4. The Self-Adaptive Mutation Mechanism

The ISFLA uses a self-adaptive mutation mechanism to vary the frogs in order to prevent them from being trapped in local optima. Two mutation operators used in the ISFLA are detailed below.
  • Swap Mutation (SM): two gene values at two positions (p1 < p2) within a chromosome are randomly selected and then swapped.
  • Thoros Mutation (TM): this kind of mutation randomly selects three gene positions p1, p2, and p3 (where p1 < p2 < p3) in a chromosome. Then, it changes the gene value of p1 to the position of p2; the gene value of p2 to the position of p3; and finally the gene value of p3 to the position of p1. TM has a higher degree of mutation than SM due to the greater number of mutated genes.
The trigger for the mutation of a frog depends on a random number R2 and a pre-defined mutation rate θ; if R2 < θ, then the frog is mutated. Furthermore, the use of SM or TM depends on Equation (28), which measures the degree of similarity between Xi(t) and Xg(t).
SDi,g(t) = NSEi,g(t)/D
The higher the SDi,g(t), the higher the similarity. We assume that frogs with less similarity require greater variations so as to be able to escape the unfavorable position. Thus, if SDi,g(t) < δ, then TM is used in order to produce a bigger variation; otherwise, SM is used in order to generate a smaller variation. The δ, with its value within the range [0, 1], is a parameter controlling the use of TM or SM.

4.3. The Two Stage Procedure

In addition to the ROV technique, a two-stage approach was used to deal with the DCBAP.

4.3.1. The First Stage

This first stage focuses on generating a ship placement sequence.

4.3.2. The Second Stage

The second stage focuses on developing a feasible DCBAP solution after resolving overlaps of ships. This process contains three steps: place ships one by one into a berth plan, identify each overlap of ships, and resolve the overlap. These three tasks are repeated until all ships have been placed into the berth plan without any overlap.
Step 1: Place ships one by one into the berth plan
From the objective function, we know that if every ship is assigned its best position (ETAj, dj), this will lead to the optimal berth plan (i.e., Z = 0) due to there being no increased waiting or handling costs for the ships. However, if there are too many ships calling a container terminal at the same time, then this ideal arrangement becomes impossible due to the limited available resources in terms of both space and time. Repositioning overlapped ships is necessary, and repositioning around the best position will lead to the generation of optimal/near-optimal solutions.
Step 2: Identify overlaps
Figure 7 shows a berth plan with two ships that are overlapping in the dimensions of “space” and “time”. Given that a = ( x 0 j , y 0 j ) and c = ( x 1 j , y 1 j ) are the coordinates of the lower-lef and upper-right corners of the ship j, while a′ = ( x 0 k , y 0 k ) and c′ = ( x 1 k , y 1 k ) are the coordinates of the lower-left and upper-right corners of the ship k, respectively, then Equation (29) is used to check whether the two ships are overlapping. If the following coordinate relationships hold simultaneously, then the two ships are concluded to be overlapping.
x 0 j < x 1 k ,   y 0 j < y 1 k ,   x 0 k < x 1 j ,   y 0 k < y 1 j
Step 3: Resolve the overlap
Resolving all overlaps of ships is necessary in order to make a feasible plan. In this research, a target ship is permitted to move in one of the following three directions: +Y, −Y, and +X, in order to resolve an overlap. However, while moving towards the +Y/−Y direction, handling times will be increased for the target ship due to the longer moving distances that trucks will have to move containers (Figure 8). When moving towards the +X direction, waiting time (cost) will be increased for the target ship (Figure 9). The lower the moving cost, the higher the priority.
For a target ship j moving toward the +Y/−Y direction, Equation (30) is used for estimating the increased distance Δ Y j .
Δ Y j = { l j + | y 1 k y 0 j | if   moving   towards + Y | y 1 j y 0 k | if   moving   towards   Y
Equation (31) is the cost of increased handling times, where c 2 is the cost rate of handling time, β = 2 / ( 100 60 ) , and Δ b j = | Δ Y j | .
Δ C Y ( j ) = β · Δ b j · c 2 = 2 | Δ Y j | 100 60 × c 2
After repositioning, the coordinates of the lower-left and upper-right corners of the target ship j become a = ( x 0 j , y 0 j + Δ Y j ) and c = ( x 1 j , y 1 j + Δ Y j ), respectively.
For a target ship j moving towards the +X direction, Equation (32) is available for estimating the increased waiting time.
Δ X j = | x 0 j x 1 k |
Equation (33) is the increased waiting cost, where c 1 is the cost rate of waiting time.
Δ C x ( j ) = Δ X j × c 1
After repositioning, the coordinates of the lower-left and upper-right corners of the target ship j become a = ( x 0 j + Δ X j , y 0 j ) and c = ( x 1 j + Δ X j , y 1 j ), respectively.

4.4. The Main Flow Chart of the Two-Stage Approach

Figure 10 shows the main flow of the two-stage approach for dealing with the DCBAP. The first stage (steps 1 and 2) focuses on generating a ship placement sequence by using different approaches. The second stage (steps 3 to 10) is a heuristic used to place ships into a berth plan and resolve overlaps of ships. Each step is detailed as follows.
Step 1:
Generate data (including aj, dj, lj and hj) for all calling ships (j = 1, …, n; where n is the total number of calling ships).
Step 2:
Develop a placement sequence using the ISFLA (or FCFS, GA that are to be compared); set s = 1, where s indicates the placement order of a ship.
Step 3:
Place the ship j (at the placement order s) into the berth plan, with the lower-left and upper-right corners being located at the coordinates ( x 0 j , y 0 j ) = (aj, cj) and ( x 1 j , y 1 j ) = (aj + hj, cj + lj), respectively; Set k = 1.
Step 4:
Check whether the ship j with the placement order s has overlapped with the ship with the placement order s-k by using Equation (29). If “No”, then go to Step 5; otherwise, go to Step 8.
Step 5:
Check whether s = k. If “Yes”, go to Step 6; otherwise k = k + 1 and go to Step 4 to check the next ship.
Step 6:
Check whether the ship j remains with overlap(s) after repositioning. If “Yes”, go to Step 10; otherwise, go to Step 7.
Step 7:
Check whether s = N. If “Yes”, go to Step 11; otherwise s = s + 1 and go to Step 3.
Step 8:
Estimate the moving cost of each moving direction for repositioning the target ship with the placement order s using Equations (31) and (33). In addition, let i = 1 index the least-cost movement direction as the first priority; i = 2 index the second least-cost movement direction as the second priority; i = 3 index the most-cost movement direction as the 3rd priority.
Step 9:
Repositioning the target ship towards the direction with the priority index i. Update the coordinates of the lower-left and upper-right corners of the target ship using Equation (30) or (32). Go to Step 5.
Step 10:
Check whether the ship j has been ever overlapped with this ship or had an overlap resolved. If “Yes”, set i = i + 1 (choose the next repositioning direction) and then go to Step 9; otherwise, go to Step 8.
Step 11:
Check whether there is another iteration to perform. If “Yes”, go to Step 2; otherwise go to Step 12.
Step 12:
Stop.

5. Numerical Examples

Java is used as the programming language to implement the different approaches for the purpose of comparison. In the two-stage procedure, the FCFS, SFLA, and ISFLA were each employed in the first stage, whereas a specific heuristic was employed in the second stage. For each comparison, a set of ship data was randomly generated by a computer, and experiments were conducted on a computer equipped with an Intel PENTIUM CPU (64 bit and 1.8 GHz) and 4G DRAM.
Section 5.1 details the parameter values set for the different approaches. Section 5.2 shows the results obtained from a small-sized experiment with N = 10. Section 5.3 shows the results obtained from a large-sized experiment with N = 50. Section 5.4 presents an analysis and discussion on the obtained experimental results.

5.1. Parameter Settings for Different Approaches

The following parameter settings were used for the experiments: the planning horizon (H) was set to one week, so that the ETAs of ships would be within the interval [0, 168] (hours); the quay length (L) was set to 1000 m; the length of a ship j (lj) was a random value within the range [50, 200] (meters); the desired berthing position of a ship j (dj) was a random value within the interval [0, Llj]; the cost rates c1 and c2 were set to USD 1000/h; and the β = 2 / ( 100 60 ) (per hour), which means the deviation of 100 m from the desired berthing position of a ship would increase handling time by 2 min.
The parameter values for the three different methods used in the first stage of the two-stage procedure are listed in Table 1. The parameter F indicates the total number of frogs in the swarm; the parameter m indicates the total number of memeplexes; the parameter l_iter specifies the number of local search for each frog; the parameter iterations indicates the total number of iterations; the parameter q indicates the total number of frogs in each memeplex; the parameter δ indicates the rate controlling the use of TM; the parameter θ indicates the mutation rate used; the symbol “-:” indicates not used.

5.2. An Example of a Small-Sized Experiment

Table 2 shows the original and repositioned ship data of a small-sized experiment (N = 10). The field SID indicates the ID of a ship; the l j shows the length of ship j; the E T A j is Estimated Time of Arrival of ship j; d j is the desired berthing position of ship j; Δ W j shows the increased waiting time of ship j; Δ H j shows increased handling time of ship j; (Xo, Yo) and (X1, Y1) are coordinates of left-lower corner and right-upper corners of a ship j, respectively. Two ships (7 and 2) were repositioned to resolve overlaps. Ship 7 is moving towards the +Y direction to avoid overlapping with ship 9, while ship 2 is repositioning towards the −Y direction to avoid overlapping with ship 1. Figure 11 shows the berth plan with overlapping ships, while Figure 12 shows the feasible berth plan after resolving all overlaps of ships.

5.3. An Example of a Large-Sized Experiment

Table 3 shows the original and repositioned data of a large-sized experiment with N = 50 ships. The 1st column shows the ship ID (SID); the 2nd column shows the ship length; the 3rd column shows the Estimated Time of Arrival of ship j ( E T A j ); the 4th column shows the desired berthing position of ship j ( d j ); the 5th column shows the original coordinates of ship j ( X 0 , Y 0 , X 1 , Y 1 ); the 6th column shows the repositioned coordinates of ship j ( X 0 , Y 0 , X 1 , Y 1 ); the 7th column shows the increased waiting time of ship j ( c 1 Δ W j ); the 8th column shows the increased handling time of ship j ( c 2 Δ H j ). Figure 13 shows a berth plan that is unfeasible due to the overlapping of the ships, based on the original coordinates of ships. To derive a feasible solution, it is necessary to resolve all overlaps of ships. Figure 14 shows the feasible berth plan obtained from the ISFLA after resolving all overlaps among the ships. In Table 3, the bolded figures indicate updated coordinates for those target ships that were repositioned to avoid overlapping.
Table 4 shows the results obtained from different approaches with different problem sizes. The Z indicates the objective function value; the T indicates the computational times; the GAP indicates the gap in percentage compared to the ISFLA. The experimental results show that, on average, the ISFLA exhibits better performance in terms of solution quality. Figure 15 gives a graph with the average Zs obtained from different approaches under different problem sizes (N = 10, 20, 30, 40, 50 and 60).

5.4. Analysis of Results and Discussion

5.4.1. Analysis of Results

(1)
Different methods used in the first stage of the two-stage procedure can lead to different planning results.
(2)
Among the FCFS, SFLA, and ISFLA, the experimental results showed the ISFLA outperformed the two others, but at the cost of longer computational times.
(3)
The FCFS rule is simple and fast in finding a solution. However, with an expected lower waiting time (cost), the FCFS rule lacks the capacity to improve solution quality continuously.
(4)
The increase in iterative runs enables ISFLA to explore a wider solution space. This helps improve solution quality, but at the cost of longer computational times.
(5)
When the ISFLA repositions a target ship towards the +Y/−Y direction, the handling time for the target ship will increase; when repositioning a target ships towards the +X direction, the waiting time for the target ship will increase. Since the movement towards the +Y/−Y direction results in a smaller increase in handling cost for a target ship, these two directions will have a higher priority, and this can result in better utilization of quay space. However, due to the limited quay space, movement towards the +X direction is sometimes necessary for a target ship. Such repositioning of ships leads to the finding of a near or the optimal solution.
(6)
As the average computational times required for the ISFLA to solve a problem size of 60 calling ships is about 1.4 h, the ISFLA is thus concluded to be applicable in practice.
(7)
For the ISFLA, increasing the total number of iterative runs usually leads to the finding of a higher-quality solution, due to the wider exploration of the solution space.
(8)
Both cost factors c1 and c2 are found able to affect the selection of repositioning direction for a target ship. They can affect the choices of moving direction toward +Y, −Y, or +X for a target ship. In this research, the two cost rates are set to USD 1000/h.

5.4.2. Discussion

(1)
To our best knowledge, this is the first research employing SFLA for dealing with the BAP in a seaport container terminal. The SFLA also shows potential in dealing with problems in the yard and landside areas, in addition to the seaside area.
(2)
Some early CBAP studies, such as those by Lim [4], Li et al. [28], and Guan et al. [29], assumed static berth allocation and independent handling times of ships in their berthing positions. In such studies, the problems to be solved are equivalent to the CSP with fixed orientation of placed items. In contrast, this present research considers the dynamic nature of ship arrivals and assumes that the handling times of ships are dependent on their berthing positions.
(3)
This present research also differs from the studies of Park and Kim [30,31] and Kim and Moon [5], as those studies assumed fixed handling times for ships. In addition, in a strict sense, the BAP solved in the study of Park and Kim [31] was downgraded to a static version of the problem due to ships being able to be served before their ETAs, albeit with some penalty cost imposed in the objective function [1].
(4)
The CBAP solved in this study is quite different from the conventional CSP due to the following three differences: first, in the CBAP a variable handling time is considered; second, the CBAP considers the dynamic nature of ship arrivals; third, the CBAP considers the orientation of the ship placed in a berth plan.
(5)
Ref. [1] also proposed a two-stage approach for dealing with the CBAP. The first stage generates an initial solution for the DBAP, and then this solution is further transformed into a feasible one by repositioning overlapped and sparsely located ships at the second stage. However, this approach appears to be rigorous, because to find the final solution to the CBAP, it is first necessary to find the solution to the DBAP. In addition, in the first stage, it is necessary to set a minimum and maximum berth length for the DBAP, and to prepare several intermediate berth lengths for this approach. Such calculations for the setting of parameters take a long time. In contrast, our approach appears to be simpler, as it finds the solution to the CBAP directly.
(6)
In [1], the proposed heuristic arranges ships in ascending order of their handling time, which is similar to the FCFS rule, before resolving overlaps of ships. This differs from our approach, which creates alternative placement sequences of ships by using the ISFLA so as to explore more alternative solutions.
(7)
Based on a simulated annealing approach, the metaheuristic proposed in [34] is capable of exploring alternative solutions by means of an R parameter that denotes the number of sequences of the neighborhood search. However, the sequence approach proposed in [34] is different from the ISFLA proposed in this research. In addition, [34] did not describe the resolution of overlapping ships.
(8)
Compared with [1,34], our approach appears to be simpler and more practically applicable. However, it is too early to say that our approach is better than the approaches proposed in [1,34], as more experiments are required for comparison. Nevertheless, according to the objective defined and used in this research, we know that the optimal berthing position and time for a ship in a berth plan are the dj and ETAj of the ship. As the ISFLA will assign a ship to or around the optimal berthing position (dj) and start working time (ETAj) for each ship, we can conclude that the resulting berth plan will be the optimal solution (when Z ≥ 0), or a near-optimal solution (when Z > 0). As the average computational times for our approach when solving a problem with 60 ships was about 1.4 h; this shows the applicability of the proposed method in practice.
(9)
This ISFLA is able to improve the simplicity of simple heuristics while avoiding the computational intractability of exact approaches by tuning the total number of iterative runs.

6. Conclusions and Future Research Direction

The dynamic and continuous berth allocation problem is a seaside operational problem routinely faced by container terminal planners. As this problem can considerably affect the productivity of a container terminal, a better solution for this problem is needed. In this research, we have proposed a two-stage approach for dealing with this problem. In the first stage, the First Come First Served rule (FCFS), Shuffled Frog-Leaping Algorithm (SFLA), and Improved Shuffled Frog-Leaping Algorithm (ISFLA) were each employed in order to generate alternative ship placement sequences that could serve as inputs for the second stage. In the second stage, a specific heuristic was used to assign berthing positions and resolve overlaps of ships in order to develop a feasible solution. The experimental results showed that the Improved Shuffled Frog-Leaping Algorithm outperformed the other two methods in terms of solution quality. The contributions of this research are highlighted below:
(1)
A novel Shuffled Frog-Leaping Algorithm-based approach (i.e., the ISFLA) was developed to deal with the dynamic and continuous berth allocation problem. To our best knowledge, this kind of approach has never been used for this purpose in a container terminal.
(2)
In addition to the Improved Shuffled Frog-Leaping Algorithm, a heuristic was developed, in the second stage of a two-stage procedure, for placing ships and resolving overlaps of ships for the development of a feasible solution.
(3)
The Java programing language was used to implement the two-stage procedure, as it facilitates the generation of BAP solutions for practical use. Our small-sized experiments showed that the proposed approach was capable of finding optimal/near-optimal solutions in terms of the objective function defined in this research. In addition, our experiments demonstrated the feasibility of the ISFLA with respect to computational time for solving a large-sized problem of up to 60 ships.
In this research, we achieved the first step in dealing with the dynamic and continuous berth allocation problem (DCBAP) by using an Improved Shuffled Frog-Leaping Algorithm (ISFLA). The next step could consist of applying the Improved Shuffled Frog-Leaping Algorithm to deal with the dynamic and continuous berth allocation problem and quay crane assignment problem (QCAP) simultaneously. Using ISFLA to deal with the quay crane scheduling problem (QCSP) is another research direction. In addition, a comparison between the Improved Shuffled Frog-Leaping Algorithm and other approaches proposed in past research (such as the [1,34]) could further be conducted. In addition, improving the heuristic used in the second stage of the two-stage procedure is another direction of research.

Author Contributions

H.-P.H. guided the research direction, developed the algorithm and found the solutions; T.-L.C. summarized and analyzed the data, revised and edited this paper. All authors have contributed to this research.

Funding

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

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Imai, A.; Sun, X.; Nishimura, E.; Papadimitriou, S. Berth allocation in a container port: Using a continuous location space approach. Transp. Res. Part B 2005, 39, 199–221. [Google Scholar] [CrossRef]
  2. Vis, I.F.A.; de Koster, R. Transshipment of container at a container terminal: An overview. EJOR 2003, 147, 1–16. [Google Scholar] [CrossRef]
  3. 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]
  4. Lim, A. The berth scheduling problem. Oper. Res. Lett. 1998, 22, 105–110. [Google Scholar] [CrossRef]
  5. Kim, K.H.; Moon, K.C. Berth scheduling by simulated annealing. Transp. Res. Part B 2003, 37, 541–560. [Google Scholar] [CrossRef]
  6. Salido, M.A.; Mario, R.M.; Barber, F. A decision support system for managing combinatorial problems in a container terminal. Knowl.-Based Syst. 2012, 29, 63–74. [Google Scholar] [CrossRef]
  7. 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]
  8. Dorigo, M.; Gambardella, L.M. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput. 1997, 1, 53–66. [Google Scholar] [CrossRef]
  9. Gravel, M.; Price, W.L.; Gagné, C. Scheduling Continuous Casting of Aluminium using a Multiple Objective Ant Colony Optimization Metaheuristic. Eur. J. Oper. Res. 2002, 143, 218–229. [Google Scholar] [CrossRef]
  10. Solnon, C.; Fenet, S. A study of ACO capabilities for solving the Maximum Clique Problem. J. Heuristics 2006, 12, 155–180. [Google Scholar] [CrossRef]
  11. Bullnheimer, R.F.; Hartl, C. Strauss, an Improved Ant System Algorithm for the Vehicle Routing Problem. Ann. Oper. Res. 1999, 89, 319–328. [Google Scholar] [CrossRef]
  12. 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]
  13. 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]
  14. 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]
  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. Yoshida, H.; Kawata, K.; Fukuyama, Y.; Takayama, S.; Nakanishi, Y. A particle swarm optimization for reactive power and voltage control considering voltage security assessment. IEEE Trans. Power Syst. 2000, 15, 1232–1239. [Google Scholar] [CrossRef]
  17. Janson, S.; Middendorf, M. A hierarchical particle swarm optimizer and its adaptive variant. IEEE Trans. Syst. Man Cybernatics Part B Cybernatics 2005, 35, 1272–1282. [Google Scholar] [CrossRef]
  18. 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]
  19. Eusuff, M.M.; Lansey, K.E. Optimization of Water Distribution Network Design using the Shuffled Frog Leaping Algorithm. J. Water Resour. Plan. Manag. 2003, 129, 210–225. [Google Scholar] [CrossRef]
  20. Merz, P.; Freisleben, B. A genetic local search approach to quadratic assignment. In Proceedings of the 7th International Conference on Genetic Algorithm, East Lansing, MI, USA, 19–23 July 1997; Morgan Kaufmann: San Diago, GA, USA, 1997; pp. 465–472. [Google Scholar]
  21. Lai, K.K.; Shih, K. A study of container berth allocation. J. Adv. Transp. 1992, 26, 45–60. [Google Scholar] [CrossRef]
  22. Brown, G.G.; Lawphongpanich, S.; Thurman, K.P. Optimizing ship berthing. Nav. Res. Logist. 1994, 41, 1–15. [Google Scholar] [CrossRef]
  23. Brown, G.G.; Cormican, K.J.; Lawphongpanich, S.; Widdis, D.B. Optimizing submarine berthing with a persistence incentive. Nav. Res. Logist. 1997, 44, 301–318. [Google Scholar] [CrossRef]
  24. Imai, A.; Nagaiwa, K.I.; Tat, C.W. Efficient planning of berth allocation for container terminals in Asia. J. Adv. Transp. 1997, 31, 75–94. [Google Scholar] [CrossRef]
  25. Imai, A.; Nishimura, E.; Papadimitrious, S. The dynamic berth allocation problem for a container port. Transp. Res. Part B 2001, 35, 401–417. [Google Scholar] [CrossRef]
  26. Imai, A.; Nishimura, E.; Papadimitriou, S. Berth allocation with service priority. Transp. Res. Part B 2003, 37, 437–457. [Google Scholar] [CrossRef] [Green Version]
  27. Nishimura, E.; Imai, A.; Papadimitriou, S. Berth allocation planning in the public berth system by genetic algorithms. Eur. J. Oper. Res. 2001, 131, 282–292. [Google Scholar] [CrossRef]
  28. Li, C.-L.; Cai, X.; Lee, C.-Y. Scheduling with multiple-job-on-one-processor pattern. IIE Trans. 1998, 30, 433–445. [Google Scholar] [CrossRef]
  29. Guan, Y.; Xiao, W.-Q.; Cheung, R.K.; Li, C.-L. A multiprocessor task scheduling model for berth allocation: Heuristic and worst-case analysis. Oper. Res. Lett. 2002, 30, 343–350. [Google Scholar] [CrossRef]
  30. Park, K.T.; Kim, K.H. Berth scheduling for container terminals by using a sub-gradient optimization technique. J. Oper. Res. Soc. 2002, 53, 1054–1062. [Google Scholar] [CrossRef]
  31. Park, Y.-M.; Kim, K.H. A scheduling method for berth and quay cranes. OR Spectr. 2003, 25, 1–23. [Google Scholar] [CrossRef]
  32. Wang, F.; Lim, A. A stochastic beam search for the berth allocation problem. Decis. Support Syst. 2007, 42, 2186–2196. [Google Scholar] [CrossRef]
  33. Lee, Y.; Chen, C.Y. An optimization heuristic for the berth scheduling problem. EJOR 2009, 196, 500–508. [Google Scholar] [CrossRef]
  34. Zhen, L.; Lee, L.H.; Chew, E.P. A decision model for berth allocation under uncertainty. EJOR 2011, 212, 54–68. [Google Scholar] [CrossRef]
  35. Eusuff, M.M.; Lansey, K.E.; Pasha, F. Shuffled frog-leaping algorithm: A memetic metaheuristic for discrete optimization. Eng. Optim. 2006, 38, 129–154. [Google Scholar] [CrossRef]
  36. Elbeltagi, E.; Hegazy, T.; Grierson, D. A Modified Shuffled Frog-Leaping Optimization Algorithm: Applications to Project Management. Struct. Infrastruct. Eng. 2007, 3, 53–60. [Google Scholar] [CrossRef]
  37. Bhattacharjee, K.K.; Sarmah, S.P. Shuffled Frog Leaping Algorithm and Its Application to 0/1 Knapsack Problem. Appl. Soft Comput. 2014, 19, 252–263. [Google Scholar] [CrossRef]
  38. Zhu, Y.; Zhang, W.M. An Improved Shuffled Frog-leaping Algorithm to Optimize Component Pick-and-Place Sequencing Optimization Problem. Expert Syst. Appl. 2014, 41, 6818–6829. [Google Scholar] [CrossRef]
  39. Luo, J.; Li, X.; Chen, M.R.; Liu, H. A Novel Hybrid Shuffled Frog Leaping Algorithm for Vehicle Routing Problem with Time Windows. Inf. Sci. 2015, 316, 266–292. [Google Scholar] [CrossRef]
  40. Edla, R.; Lipare, A.; Cheruku, R.; Kuppili, V. An Efficient Load Balancing of Gateways Using Improved Shuffled Frog Leaping Algorithm and Novel Fitness Function for WSNs. IEEE Sens. J. 2017, 12, 6724–6733. [Google Scholar] [CrossRef]
  41. Zhang, T.; Zhao, X.; Pan, X.; Li, X.; Lei, Z. Optimal Local Dimming Based on an Improved Shuffled Frog Leaping Algorithm. IEEE Access 2018, 6, 40472–40484. [Google Scholar] [CrossRef]
  42. Wang, X.; Liu, S.; Li, Q.; Liu, Z. Underwater Sonar Image Detection: A Novel Quantum-Inspired Shuffled Frog Leaping Algorithm. Chin. J. Electron. 2018, 27, 588–594. [Google Scholar] [CrossRef]
  43. Lei, D.; Cao, S. A novel shuffled frog-leaping algorithm for flexible job shop scheduling with interval processing time. In Proceedings of the IEEE Conferences 2017 36th Chinese Control Conference (CCC), Dalian, China, 26–28 July 2017; pp. 2708–2713. [Google Scholar]
  44. Shan, W.; Nie, S.-P. Shuffled frog-leaping algorithm based neural network and its using in big data set. In Proceedings of the IEEE Conferences 2017 13th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD), Guilin, China, 29–31 July 2017; pp. 707–711. [Google Scholar]
  45. Hu, B.; Dai, Y.; Su, Y.; Moore, P.; Zhang, X.; Mao, C.; Chen, J.; Xu, L. Feature Selection for Optimized High-dimensional Biomedical Data using the Improved Shuffled Frog Leaping Algorithm. IEEE ACM Trans. Comput. Biol. Bioinform. 2018, 15, 1765–1773. [Google Scholar]
Figure 1. An example of a seaport container terminal.
Figure 1. An example of a seaport container terminal.
Applsci 09 04682 g001
Figure 2. (a) Intra-terminal transshipment; (b) Inter-modal transportation.
Figure 2. (a) Intra-terminal transshipment; (b) Inter-modal transportation.
Applsci 09 04682 g002
Figure 3. The coordinates of two corners of the ships j and k.
Figure 3. The coordinates of two corners of the ships j and k.
Applsci 09 04682 g003
Figure 4. The encoding scheme of frog position.
Figure 4. The encoding scheme of frog position.
Applsci 09 04682 g004
Figure 5. Multiple groups of frogs evolving in a solution space.
Figure 5. Multiple groups of frogs evolving in a solution space.
Applsci 09 04682 g005
Figure 6. Frogs i and j jump towards the target frog o.
Figure 6. Frogs i and j jump towards the target frog o.
Applsci 09 04682 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.
Applsci 09 04682 g007
Figure 8. The movement of a target ship towards the +Y or −Y direction.
Figure 8. The movement of a target ship towards the +Y or −Y direction.
Applsci 09 04682 g008
Figure 9. The movement of a target ship toward the +X direction.
Figure 9. The movement of a target ship toward the +X direction.
Applsci 09 04682 g009
Figure 10. The main flow of the two-stage procedure.
Figure 10. The main flow of the two-stage procedure.
Applsci 09 04682 g010
Figure 11. The berth plan with overlapped ships (N = 10 ships).
Figure 11. The berth plan with overlapped ships (N = 10 ships).
Applsci 09 04682 g011
Figure 12. The berth plan with no overlapped ships (N = 10 ships).
Figure 12. The berth plan with no overlapped ships (N = 10 ships).
Applsci 09 04682 g012
Figure 13. The infeasible berth plan before resolving all overlaps of ships (N = 50 ships).
Figure 13. The infeasible berth plan before resolving all overlaps of ships (N = 50 ships).
Applsci 09 04682 g013
Figure 14. The feasible berth plan after resolving all overlaps of ships (N = 50 ships).
Figure 14. The feasible berth plan after resolving all overlaps of ships (N = 50 ships).
Applsci 09 04682 g014
Figure 15. The average Z (cost) of different approaches under different coming ships.
Figure 15. The average Z (cost) of different approaches under different coming ships.
Applsci 09 04682 g015
Table 1. Parameter values for different approaches.
Table 1. Parameter values for different approaches.
ParametersApproaches
FCFSSFLAISFLA
F-100100
m-1010
n = F/m-1010
l_iter-55
iterations1150150
q-5-
S m -NN
Rm--0.3
δ --0.5
θ --0.5
F: total number of frogs; m: total number of memeplexes; l_iter: number of local search; iterations: total number of iterations; q: number of frogs in each memeplex; δ: the rate of using TM; θ the mutation rate; -: not used; N: total number of ships.
Table 2. Original and repositioning ship data after resolving overlaps (N = 10).
Table 2. Original and repositioning ship data after resolving overlaps (N = 10).
SIDljETAjdjOriginalRepositionedc1ΔWjc2ΔHj
X0Y0X1Y1X0Y0X1Y1
114492473.592473.5125.9617.592.0473.5125.9617.500
216494.4452.194.4452.1123616.194.4309.5123.1473.5055
316160.5492.260.5492.288.1653.260.5492.288.1653.200
47358.1864.858.1864.887.2937.858.1864.887.2937.800
55619.3814.919.3814.939.3870.919.3814.939.3870.900
611255.86755.8677117955.867.071.0179.000
756105.7534.6105.7534.6140.9590.6105.7675.9140.9731.9047
88464.1249.564.1249.570.9333.564.1249.570.9333.500
9193134.6482.9134.6482.9176.8675.9134.6482.9176.8675.900
1012610.9580.510.9580.556.7706.510.9580.556.7706.500
Total 0102
SID: Ship ID; l j : length of ship j; E T A j : Estimated Time of Arrival of ship j; d j : desired berthing position of ship j; Δ W j : increased waiting time of ship j; Δ H j : increased handling time of ship j.
Table 3. The ship data obtained from a large-sized experiment (N = 50).
Table 3. The ship data obtained from a large-sized experiment (N = 50).
SID l j E T A j d j OriginalRepositionedc1ΔWjc2ΔHj
X0Y0X1Y1X0Y0X1Y1
1100133.6400.8133.6400.8155.1500.8133.6400.8155.1500.800
2123121.5623.5121.5623.5151.0746.5181.5275.8211.1398.860,026115
3189111.8543.8111.8543.8121.1732.8219.4466.0228.7655.0107,55026
41223.2486.33.2486.318.0608.33.2256.518.1378.5054
58752.3722.552.3722.599.6809.5152.1887.4199.5974.499,81755
65392.7135.092.7135.0106.6188.092.7135.0106.6188.0040
76557.8883.557.8883.569.4948.557.8928.069.4993.0015
81069.2585.79.2585.735.0691.79.2761.535.1867.5059
918043.9559.143.9559.183.6739.1222.9275.8262.7455.8179,03695
1015770.3641.470.3641.481.9798.479.3722.290.9879.2899727
11783.0880.43.0880.420.9958.43.0880.420.9958.4026
1212346.3220.246.3220.261.6343.246.3378.561.7501.5053
1316035.391.235.391.249.7251.235.391.249.7251.2047
1410444.3314.044.3314.072.3418.079.3423.2107.3527.234,99724
15121134.8366.5134.8366.5180.8487.5199.5844.0245.6965.064,672159
1612518.3395.118.3395.142.4520.118.3253.542.5378.5077
17188136.3540.7136.3540.7157.4728.7219.4655.0240.5843.083,05038
18119135.6803.4135.6803.4152.0922.4135.6803.4152.1922.40117
1998117.6469.1117.6469.1142.9567.1117.6500.8142.9598.8011
208450.2536.050.2536.074.9620.050.2130.575.0214.50109
21103108.5132.6108.5132.6143.9235.6146.172.5181.5175.537,60521
2214068.6474.868.6474.8109.9614.8181.5135.8222.9275.8112,926110
236338.3288.738.3288.776.0351.7146.19.5183.972.5107,80593
241909.1641.19.1641.133.0831.19.1378.533.1568.5063
255555.8800.055.8800.079.1855.055.8800.079.2855.0090
267257.5638.157.5638.192.1710.159.158.593.9130.51646189
2715464.1674.664.1674.678.2828.664.1646.078.3800.0051
286788.7543.788.7543.795.2610.788.7527.295.2594.2022
29125106.1574.6106.1574.6141.1699.6134.0275.8169.1400.827,922108
307923.7194.423.7194.459.1273.423.712.259.191.2046
317833.1451.533.1451.557.8529.579.3345.2104.0423.246,1974
3216413.8282.513.8282.543.2446.549.7214.579.2378.535,94714
3370139.874.1139.874.1180.3144.1139.8175.5180.3245.5034
34187104.0722.2104.0722.2133.9909.2104.0722.2134.0909.20122
35107115.811.7115.811.7146.1118.7115.811.7146.1118.705
3695108.5241.8108.5241.8150.5336.8183.914.8226.0109.875,39852
3789149.9566.0149.9566.0195.1655.0149.9566.0195.1655.0035
3814733.7270.233.7270.249.5417.293.9188.0109.8335.060,23528
39166121.480.6121.480.6148.4246.6222.9109.8249.9275.8101,53610
4013836.0843.136.0843.176.7981.1134.0665.4174.8803.498,02287
4115319.0709.819.0709.828.2862.835.1415.544.3568.516,05953
4219315.4568.515.4568.563.2761.515.4568.563.2761.5041
43138115.9175.5115.9175.5132.7313.5115.9175.5132.8313.5061
44770.5794.50.5794.58.0871.50.5794.58.0871.5019
4512848.0476.648.0476.675.3604.679.2594.2106.5722.231,19052
467339.9563.939.9563.979.2636.939.9855.079.3928.0097
4712086.0462.586.0462.599.4582.5112.5313.5126.0433.526,52850
4815032.6309.932.6309.938.4459.9106.638.0112.5188.074,04088
4984149.5803.6149.5803.6174.1887.6152.1803.4176.7887.42,6170
50189136.4555.5136.4555.5179.0744.5176.7655.0219.4844.040,31733
Total 1,534,1352825
Table 4. The results obtained from different approaches at different problem sizes.
Table 4. The results obtained from different approaches at different problem sizes.
FCFSSFLAISFLA
NZTGap (%)ZTGap (%)ZT
10
191.51.249.461.3232.30.061.3277.8
2378.01.112.3336.7235.30.0336.7258.4
362.61.019.858.3253.111.552.3263.4
4300.71.20.0300.7237.60.0300.7229.7
5196.11.170.4136.3244.718.5115.1288.7
6111.41.121.591.6236.80.091.6254.8
745.71.143.631.8242.20.031.8242.3
844.71.10.046.4225.63.844.7252.7
9115.20.918.1104.6238.27.297.6255.0
10178.41.126.0159.3214.312.6141.5239.3
Avg.152.41.119.7132.7236.04.2127.3256.2
20
115,420.11.344.311,857.1477.711.010,682.7532.3
26534.01.411.96358.1473.28.95837.8589.0
320,298.31.345.714,688.2476.45.413,931.4555.0
4190.31.315.6186.4489.313.2164.6634.1
513,228.61.254.19162.4493.26.78584.6505.2
624,208.81.312.423,830.8483.110.621,539.5531.1
712,199.41.373.48023.5486.114.07036.7503.3
81184.41.423.01072.2477.311.4962.7504.0
92617.21.3(9.1)3521.1492.222.32878.1519.0
1016,312.81.560.711,826.3472.216.510,148.6534.8
Avg.11,219.41.337.29052.6482.110.78176.7540.8
30
1205,881.11.738.9172,451.7636.316.3148,249.0707.1
2314,277.21.77.1316,217.2604.37.8293,372.9774.5
3217,210.31.424.4200,271.8625.314.7174,589.9763.5
473,850.21.812.866,985.2614.12.365,480.4769.0
5208,806.11.754.6156,281.1595.215.7135,101.2790.8
6267,383.01.523.1227,438.4593.94.7217,219.7734.8
766,336.91.658.245,473.9624.28.541,919.3727.2
863,760.81.550.648,353.4640.214.242,330.5921.0
9426,888.01.627.7410,358.4619.422.8334,170.2903.2
10203,769.21.589.1117,136.1644.18.7107,743.6730.7
Avg.204,816.31.631.3176,096.7619.712.9156,017.7782.2
40
1546,703.71.738.0462,767.21859.216.8396,146.02400.5
2175,292.01.71.3199,519.41974.215.3173,015.22451.3
3705,100.71.719.4672,451.21833.913.8590,775.22527.8
4357,388.61.730.1305,318.61968.211.1274,705.52537.7
5706,807.61.72.8716,680.61992.74.2687,587.72430.5
61,562,685.51.850.01,132,683.51934.28.71,041,642.02801.5
7667,840.41.736.2528,633.01917.27.8490,389.62566.2
81,371,378.01.744.81,167,187.21906.523.2947,068.42729.9
91,060,564.81.833.0926,136.31939.116.2797,123.92618.1
10755,054.91.764.1643,065.91989.339.8460,135.22715.9
Avg.790,881.61.735.0675,444.31931.515.3585,858.92578.0
50
12,592,060.51.9(0.1)3,070,361.52456.118.32,595,948.53223.3
22,648,510.22.014.12,644,852.32341.413.92,321,576.53530.5
32,785,803.82.018.92,843,812.22442.121.32,343,809.53098.9
42,507,274.31.927.91,973,747.22543.20.71,960,933.92977.0
51,636,155.91.917.91,656,152.22523.519.31,388,291.02815.0
61,475,022.12.18.91,555,821.32422.414.91,354,645.02988.4
72,293,968.92.074.71,593,912.92366.221.41,313,400.62999.6
81,555,521.02.46.71,865,321.02229.227.91,458,157.22931.3
92,291,265.02.04.82,471,635.02553.113.02,186,907.53142.6
101,756,002.72.732.31,553,631.62323.217.11,327,251.53214.5
Avg.2,154,158.42.118.02,122,924.72420.016.31,825,092.13092.1
60
14,709,809.57.535.64,299,681.45213.323.83,472,396.15822.7
22,953,025.47.616.42,854,712.45327.012.52,536,974.75538.9
34,767,009.07.630.24,336,401.35282.118.43,662,545.95397.2
43,228,876.47.638.92,686,814.45177.015.62,324,015.33254.3
55,007,260.97.63.25,196,307.95153.07.14,852,986.73432.5
64,287,543.97.343.03,766,731.25431.225.62,997,992.05497.2
73,798,522.17.9(4.1)4,336,601.65369.69.53,959,739.66162.2
84,813,647.08.910.35,254,204.05161.320.44,364,050.02824.0
93,559,317.18.144.03,153,893.15134.127.62,470,898.93330.4
104,990,244.78.33.05,770,216.75284.119.14,842,827.47417.4
Avg.4,211,525.67.818.74,165,556.45253.317.43,548,442.74867.7
Z: Z value; T: Time (s); GAP: the gap in percentage compared to the ISFLA.

Share and Cite

MDPI and ACS Style

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. https://doi.org/10.3390/app9214682

AMA Style

Hsu H-P, Chiang T-L. An Improved Shuffled Frog-Leaping Algorithm for Solving the Dynamic and Continuous Berth Allocation Problem (DCBAP). Applied Sciences. 2019; 9(21):4682. https://doi.org/10.3390/app9214682

Chicago/Turabian Style

Hsu, Hsien-Pin, and Tai-Lin Chiang. 2019. "An Improved Shuffled Frog-Leaping Algorithm for Solving the Dynamic and Continuous Berth Allocation Problem (DCBAP)" Applied Sciences 9, no. 21: 4682. https://doi.org/10.3390/app9214682

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