Continuous berth allocatio quays
Continuous berth allocatio quays
a r t i c l e i n f o a b s t r a c t
Article history: This paper extends the study of the continuous Berth Allocation Problem to the case of multiple quays,
Available online 28 May 2015 which is found in many container terminals around the world. Considering multiple quays adds a prob-
lem of assigning vessels to quays to the problem of determining berthing times and positions for each
Keywords: incoming vessel.
Berth Allocation Problem This problem has not been considered in the literature at the operational level addressed in this study.
Container terminals In order to solve it, we have developed first an integer linear model and then a genetic algorithm which
Priority rules
works on sequences of vessels that are decoded by a constructive algorithm. A local search procedure
Metaheuristics
Genetic algorithm
helps to improve further the solutions produced by the genetic algorithm.
We have conducted an extensive computational experiment, adapting existing instances to the case of
multiple quays. We have also adapted our genetic algorithm to the case of a single quay and tested it on
previously reported instances, showing its superior performance compared with existing approaches.
Finally, we have developed a random instance generator for the problem with multiple quays, enabling
us to conduct a systematic study of the factors affecting the complexity of the problem.
Ó 2015 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.eswa.2015.05.018
0957-4174/Ó 2015 Elsevier Ltd. All rights reserved.
P. Frojan et al. / Expert Systems with Applications 42 (2015) 7356–7366 7357
quays. In Singapore, Keppel terminal is divided into four quays and The integer linear model and the genetic algorithm have been
Tanjong Pagar and Brani terminals into three. Maher and APM ter- tested on a set of instances generated by adding more quays to
minals in the Port of New York and New Jersey (USA) have two the one-quay instances of Park and Kim (2002). Nevertheless, in
quays each, while Terminal 1 of Jebel Ali Port (Dubai) has three order to assess the performance of the proposed algorithms, we
quays. Many other examples can be observed in other ports. It have also solved the one-quay instances of Lee, Chen, and Cao
could be argued that algorithms designed for single quay terminals (2010) and Cordeau, Laporte, Legato, and Moccia (2005), adapting
can be adapted to the multiple quay case. Nevertheless, addressing our algorithm to one quay and using the objective function pro-
the problem as it really is, with multiple quays, can lead to better posed in each study. The results show that our genetic algorithm
algorithms and, more importantly, will allow us to include more outperforms both the GRASP algorithm by Lee et al. (2010) and
realistic characteristics. Conditions such as the fact that a given the Tabu Search algorithm by Cordeau et al. (2005). We have also
vessel cannot moor at a given quay for technical or contractual rea- developed a random instance generator in which all the parame-
sons, or the assignment of different costs for mooring at different ters (number and length of quays and vessels, arrival and depar-
quays, are easily added to algorithms specifically designed for ter- ture times, relative importance of costs) can be controlled, thus
minals with multiple quays. allowing us to study the effect of each element on the complexity
This paper extends the dynamic and continuous Berth of the problem.
Allocation Problem to the case of multiple quays. Considering mul- The rest of the paper is organized as follows. After the literature
tiple quays to moor a set of calling vessels adds a problem of review in Section 2, in Section 3 we describe the characteristics of
assigning vessels to quays to the basic problem of deciding the the problem and then in Section 4 we present the mathematical
time and position for each vessel at the quay. While the basic prob- formulation for the continuous dynamic BAP with multiple quays.
lem can be represented in a single space–time diagram, the prob- In Section 5 we present our metaheuristic solution approach,
lem with multiple quays requires a multiple space–time describing first the elements of the genetic algorithm, then the
representation, as can be seen in Fig. 1, in which each space–time constructive algorithm for decoding the sequences, and finally
diagram shows the distribution of the vessels assigned to each the local search procedure. Section 6 presents the numerical exper-
quay. The horizontal axis shows the time, in hours, and the vertical iments with the integer formulation and the genetic algorithm.
axis the length, in meters. The first quay has a length of 800 m and Finally, in Section 7 we draw some conclusions and discuss future
5 vessels are berthed. Quay 2 has 600 m and 3 vessels, while quay 3 work.
is 1000 m long and 4 vessels have been assigned to it. Each vessel is
represented by a rectangle, whose length is the handling time and
whose height represents the vessel length. 2. Related work
In order to solve this problem we have worked in two comple-
mentary directions. We first developed an integer linear model Berth allocation is considered one of the key issues in a con-
with the objective of minimizing the sum of all operational costs tainer terminal. Therefore, it is not surprising that the many vari-
involved. That includes the usual waiting and delay costs for each ants of the problem have been the object of extensive research in
vessel and also the cost of assigning vessels to quays and, for each recent years. In their first survey (Bierwirth & Meisel (2010))
vessel, the cost of deviation from its desired berthing position at reviewed 53 papers published from 1994 to 2008, while in their
the quay. In a second phase we developed a genetic algorithm in second survey (Bierwirth & Meisel, 2015) they review 79 new
order to solve problems of realistic size in short computing times. papers that have appeared since 2009. These surveys cover all
The BAP allows a natural representation using sequences of vessels types of Berth Allocation Problems, classified by the spatial layout
that can be used by the genetic operators to evolve them towards (discrete, continuous, or hybrid), the temporal attributes of the
high quality solutions. Vessel sequences are decoded by using a vessels (static, dynamic, with due dates), the types of handling
fast constructive algorithm. The solutions obtained by the genetic times (fixed, depending of the position at the quay, depending on
algorithm are further improved by a local search procedure. the number of quay cranes assigned, depending on the quay crane
schedules) and the measures of performance, including different
costs related to the waiting times, the handling times, the comple- operational costs at each terminal and transportation costs
tion times, the deviation of the vessel from the desired position at between terminals. The solution approach is based on an integer
the quay, or other factors such as fuel consumption. linear model and is able to solve real-life instances in satisfactory
In this study we focus on the dynamic and continuous Berth computing times. Lee, Jin, and Chen (2012) also consider several
Allocation Problem with fixed vessel handling times (for recent terminals in their study of a terminal and yard allocation problem
studies on the discrete case, see, for instance, Ting, Wu, & Chou for a transshipment hub. A two-level heuristic algorithm produces
(2014) and Oliveira, Mauri, & Lorena (2012)). The continuous BAP high quality solutions in an efficient way.
was introduced by Li, Cai, and Lee (1998) as a machine sequencing Also related to the continuous BAP with multiple quays is the
problem. Guan, Xiao, Cheung, and Li (2002) also maintained the case of hybrid layouts, in which the quay is first divided into sec-
parallelism between task scheduling and berth allocation, pro- tions, but the condition of assigning exactly one vessel to each sec-
posed a heuristic priority rule, and performed a worst-case tion is relaxed, allowing more than one small vessel to occupy the
analysis. same section or a large vessel to occupy more than one section. An
Guan and Cheung (2004) move away from the machine example is the recent work by Imai, Nishimura, and Papadimitriou
scheduling scheme and propose a tree-search procedure for mini- (2013), in which the sections into which the quay is divided are
mizing the total weighted length of stay of vessels in the port. designed for mega-ships and can be occupied by two smaller feed-
Wang and Lim (2007) consider the possibility of not berthing all ers. Even more closely related to the work developed here is the
the vessels and minimize an objective function that combines study by Cheong, Tan, Liu, and Lin (2010), who also consider the
rejection costs, delay costs, and the cost of berthing a vessel away quay divided into sections, but with each section able to accommo-
from its desired position. They propose a Stochastic Beam Search date many vessels, as long as they do not overlap and the total
(SBS). Their computational study shows that SBS is able to solve length of the vessels being served simultaneously does not exceed
instances with up to 400 vessels and that it outperforms the the length of the section. In this respect, it is the same layout we
Simulated Annealing algorithm by Dai, Lin, Moorthy, and Teo consider here, although they do not consider other elements, such
(2008). Park and Kim (2002) develop an integer linear model and as the assignment costs of vessels to sections or the desired posi-
solve it using Lagrangian Relaxation for small instances. Kim and tion of each vessel in each section, that allow us to exploit the char-
Moon (2003) solve the problem described by Park and Kim using acteristics of the multiple quay layout. Instead, they focus on a
Simulated Annealing. Cordeau et al. (2005) model the discrete BAP multi-objective approach, considering the makespan, the total
as a vehicle routing problem with time-windows and solve it by waiting time of the vessels, and the degree of adherence to a pre-
a Tabu Search algorithm which they then adapt to the continuous determined priority schedule, and study their joint behavior in an
case. More recently, Lee et al. (2010) have developed a new integer extensive simulation study.
linear model and two GRASP algorithms which are able to solve
instances with up to 200 vessels, showing that they outperform 3. Problem description
the SBS by Wang and Lim (2007).
Lim (1998) considers a version of the problem in which the In the continuous BAP with multiple quays we have a set of
berthing times are given and only the berthing positions have to quays with known lengths and a set of vessels with known charac-
be decided, and the objective is to minimize the total length of teristics (length, arrival time, handling time, desired departure
the quay required to serve all the vessels. He represents the prob- time, desired position at each quay, . . ..), and the problem consists
lem as a graph and transforms it into one of assigning directions to of deciding the berthing time, the quay, and the position at the
the edges to minimize the longest path. Tong, Lau, and Lim (1999) quay for each vessel, in such a way that the total assignment cost
apply an Ant Colony Algorithm (ACO) to Lim’s representation. is minimized. The main elements in the problem are:
Although most of the studies consider a single objective func-
tion, usually combining different costs into a linear expression, A set Q of container terminal quays. Each quay q 2 Q has a
there is an increasing number of papers that consider a length Lq .
multi-objective approach. Zhen and Chang (2012) include the max- A set V of vessels to berth.
imization of the schedule robustness, which is measured taking For each vessel i 2 V, the following characteristics are known:
into account the time between vessels occupying the same berth – Length: li .
space. Xu, Chen, and Quan (2012) also consider uncertainty in – Estimated handling time (loading/unloading): bi .
the vessel arrival and handling times and include in their model – Estimated arrival time: ai .
a buffer time between vessels, with the objective of optimizing a – Desired departure time: si .
combination of service quality and solution robustness. Du, Chen, – Ideal position at quay q: diq .
Quan, Long, and Fung (2011) introduce fuel consumption and ves-
– Cost per unit time of waiting for berth: C wi .
sel emissions into the problem. They end up with a bi-objective
– Cost per unit time of delay with respect to the desired depar-
non-linear model, but by using SOCP (Second Order Cone
Program) and the e-constraint approach for bi-objective optimiza- ture time: C di .
tion, they show that, if the speed of vessels is controlled, it is pos- – Assignment cost of vessel i to quay q: C aiq .
sible to reduce fuel consumption and vessel emissions – Cost of unit deviation of vessel i from its ideal position at
significantly, while keeping waiting costs of the vessels at the ter- quay q: C piq .
minal at a satisfactory level.
The continuous BAP with multiple quays has not been studied The cost has four components: the waiting cost, where waiting
at the operational level that we consider in this study, but there time is defined as the difference between the estimated arrival
are several recent papers dealing with multi-terminal allocation time and the assigned berthing time; the delay cost, where delay
problems at a tactical or strategic level. Hendriks, Laumanns, is defined as the difference between the desired departure time
Lefeber, and Udding (2010) consider the case in which several ter- and the end of the handling of the vessel; the cost of assigning
minals are managed by the same operator and the problem cannot the vessel to the quay, and the cost of the deviation of the berthing
be solved considering one terminal at a time. Their objective is the position from the ideal position at the quay. Some assignments of
strategic allocation of cyclically calling vessels, taking into account vessels to quays can be forbidden for contractual reasons or
P. Frojan et al. / Expert Systems with Applications 42 (2015) 7356–7366 7359
because the draft or the machinery in the quay are not suitable for s.t.
the vessel, but some other possible assignments can simply be
tj ðt i þ bi Þ ðrij 1ÞT P 0 i; j 2 V; i – j ð2Þ
made less desirable by assigning high assignment costs C aiq . Once
a vessel i is assigned to a quay q, not all the positions along the pj ðpi þ li Þ ðdij 1ÞLmax P 0 i; j 2 V; i–j ð3Þ
quay are equally desirable. Cost C piq is the cost of deviation from rij þ rji þ dij þ dji P miq þ mjq 1 i; j 2 V; i – j; q 2 Q ð4Þ
the desired position at quay q. In other planning problems, devia- X
tion from the ideal position, which reflects the location of the con- pi þ li 6 miq Lq i2V ð5Þ
q2Q
tainers to be loaded or the slots in which to place the containers to
X
be unloaded, may affect the handling time, but in this BAP the miq ¼ 1 i 2 V ð6Þ
handling time is considered fixed and the deviation is included q2Q
as a cost, because if the containers have to be moved a longer dis-
tance and the handling time is fixed, more resources have to be ti P ai i2V ð7Þ
allocated. ri P ti þ bi si i 2 V ð8Þ
The problem is based on the following assumptions: X
ei P pi diq miq i 2 V ð9Þ
q2Q
Once a vessel is moored, the berthing position is fixed. Once
X
started, the process cannot be interrupted, to avoid additional ei P diq miq pi i2V ð10Þ
costs. q2Q
Handling times for the vessels are considered fixed and
independent of the berthing position. This assumption is
rij ; dij 2 f0; 1g i; j 2 V; i – j; q 2 Q ð11Þ
reasonable if the quay has enough machinery and workers miq 2 f0; 1g i 2 V; q2Q ð12Þ
for the loading/unloading tasks at any moment (Lim, 1998).
ti ; pi ; r i ; ei P 0 i 2 V ð13Þ
Each vessel has a different relative importance. Therefore, the
four types of costs are specific to each vessel.
The inter-ship clearance is included in the vessel length. In gen- where Lmax ¼ maxq2Q fLq g and T is un upper bound on the total time
eral, for vessels longer than 130 m, this clearance corresponds required to service all the vessels.
to 10% of the vessel’s length. For small vessels, the minimum The objective function (1) minimizes the sum of the four types
clearance is 10 m. (Lee et al., 2010). of costs. The first term corresponds to the waiting and delay costs
The time for docking and undocking maneuvers is considered to for each vessel and the second to the assignment and deviation
be included in the vessel handling time. costs for each vessel and quay. Constraints (2)–(4) prevent overlap-
Each position at the quay can accommodate one vessel at a ping in time and space of vessels assigned to the same quay.
time. Constraints (5) ensure that the position at the quay is valid and
Specific conditions preventing a given vessel from mooring at a constraints (6) that every vessel is assigned to a quay.
given quay, such as contract conditions, quay depth, vessel Constraints (7) do not allow vessels to be moored before their arri-
draft, or specific machinery requirements, are not explicitly val. Constraints (8) define the delay for each vessel, which cannot
taken into account, but can be included by considering very be negative. Constraints (9) and (10) define the deviation of a ves-
high assignment costs C qi for vessel i at quay q. sel from its desired position at the quay to which it has been
assigned. Constraints (11)–(13), define the variable types. In con-
4. A mixed integer linear model for continuous BAP with straints (7) the start of the handling of each vessel is equal to or
multiple quays greater than its arrival time. In other planning models it is possible
to bring forward the arrival of a vessel, with an associated cost, and
We define variables: then ti can be made lower than the initially calculated ai . This could
easily be accommodated in the model, but as BAP models usually
t i = berthing time of vessel i include constraints (7) we have retained them.
miq = 1, if vessel i is moored at quay q; 0, otherwise
pi = berthing position of vessel i at the quay to which it is
assigned 5. Solution approach
rij = 1, if in the space–time diagram vessel i is completely to the
left of vessel j, that is, vessel i is completely processed before The integer linear program presented in the previous section is
vessel j; 0, otherwise very useful for describing the elements of the problem and their
dij = 1, if in the space–time diagram vessel i is completely below interactions, but it can produce optimal solutions only for
vessel j, that is, vessel i is positioned completely to the right of small-medium size instances, as will be detailed in Section 6.
vessel j (looking from the quay); 0, otherwise Therefore, in order to solve large instances efficiently, as those
r i = delay of vessel i solved by Lee et al. (2010), with up to 200 vessels, a metaheuristic
ei = deviation of the assigned position of vessel i from its ideal algorithm is necessary. In this study we have decided to develop a
position at the quay to which it is assigned. genetic algorithm, because it has produced very good results in
packing problems (Gonçalves & Resende, 2013; Hopper & Turton,
Using these variables and the elements defined in the previous 2001; Iori, Martello, & Monaci, 2003), which are very closely
section, a model for the continuous BAP, which extends the Park related to the BAP, and have also been successfully applied to other
and Kim (2002) model, is the following: versions of the BAP (Nishimura, Imai, & Papadimitriou, 2001). In
this section we describe first the elements of our genetic algorithm,
in which the representation of a solution is a sequence of vessels,
X w XX a then the decoding algorithms we have developed to produce a fea-
Min ðC i ðti ai Þ þ C di r i Þ þ ðC iq miq þ C piq ei Þ ð1Þ
sible solution for the BAP from a vessel sequence, and finally the
i2V q2Q i2V
local search procedure.
7360 P. Frojan et al. / Expert Systems with Applications 42 (2015) 7356–7366
Representation
Instead of using the layout representation of a solution, as
shown in Fig. 1, we use a simpler representation in which the
chromosome is an ordered list of vessels, as appears in
Fig. 2(a). Therefore, its length is the number of vessels. In order
to obtain a solution, the chromosome is decoded by using the
procedure described in the next subsection.
Initial population
The initial population is composed of 30 individuals, 26 corre-
sponding to the sequences obtained by using the 26 priority
rules described in Tables 1 and 4 that are randomly generated, Fig. 3. Genetic operators.
P. Frojan et al. / Expert Systems with Applications 42 (2015) 7356–7366 7361
5.2.1. Exploratory Constructive Algorithm its berthing position is its desired position at the quay with the
The first algorithm, denoted as the Exploratory Constructive lowest assignment cost. From the set of candidates we take the
Algorithm (ECA), looks for the best assignment for each vessel by least-cost assignment and check whether berthing the vessel at
building and exploring a set of candidate assignments, ordered this time, quay, and position overlaps any other previously
by non-decreasing cost. For each vessel, this set initially contains assigned vessel. If it does, new candidate assignments are identi-
the assignment in which the berthing time is its arrival time and fied around this vessel such that this overlap is avoided. In order
to avoid redundant tests, we also identify the interval of positions instances. Another aspect of the comparison is that ECA can be used
that will be forbidden because any position inside the interval if the constructive process starts from a partial solution, whereas
would lead to a new overlap. The process is repeated, taking the ACA builds the layout representation in an incremental way and
least-cost candidate from the set of candidates until a feasible this representation would have to be built from scratch using the
assignment is found. The procedure is explained in more detail in information from the partial solution. For these two reasons, in
Fig. 4. A partial solution composed of vessels v 1 and v 2 has already the genetic algorithm we have preferred to use the Exploratory
been built and the next vessel in the sequence, vessel i, has to be Constructive Algorithm.
placed. In Fig. 4(a), vessel i is initially assigned to its best position,
given by its arrival time and its desired position at the quay with 5.3. Improving the best solution obtained through a local search
the least assignment cost. As it overlaps both v 1 and v 2 , another procedure
assignment must be found for vessel i. In Fig. 4(b), a vertical seg-
ment has been identified in which the bottom-left corner of vessel The genetic algorithm works on ordered lists of vessels. As a last
i cannot be placed. Using this segment and the position of v 1 and step in the algorithm we have designed a local search phase to
v 2 , some new candidate positions for vessel i have been identified explore solutions that are neighbors of the best solution known
(in dashed lines). In Fig. 4(c), vessel i is assigned to the least-cost but do not correspond to orderings of the list of vessels. The move
feasible position. In the general case, if all the candidate positions defining the neighborhood of the solution consists of choosing at
in Fig. 4(b) had been unfeasible, overlapping other vessels in the random a vessel i with positive cost, that is, a vessel that is not
partial solution, the process would have continued, identifying assigned to its best quay, time, and position, and moving it to the
new positions until a feasible position appeared. position of another vessel k if vessel i fits into this position and
its assignment cost is decreased. The new position of vessel i will
5.2.2. Analytic Constructive Algorithm produce an overlap with vessel k and possibly with other vessels.
The second algorithm, called the Analytic Constructive Algorithm All these vessels are removed from the solution and assigned again
(ACA), develops an analysis of the preexisting plan for each quay. by the deterministic constructive procedure. In order to reduce the
This analysis is based on the layout representation of the current search, not all the vessels are considered, but only a given percent-
partial assignment at each quay, which is built incrementally each age, h% of the vessels with the highest costs. These vessels are
time a vessel is assigned to the quay. The process can be seen in taken one at a time and the corresponding move is studied. If
Fig. 5. Vessel i has to be placed, but when assigned to its best posi- one of them produces an improved solution, the best solution
tion (Fig. 5(a)) it overlaps vessels already assigned. Then, the ana- known is updated and the search starts again from that solution.
lytic process starts. In a first phase, Fig. 5(b), the segments defining If all the selected vessels are studied and no improvement is found,
the layout representation are identified and their vertices are given the search stops. Fig. 6 shows the procedure in more detail. Note
a label indicating whether there is free space in any of the quad- that in Fig. 6, if the desired position of vessels v 1 and i was the bot-
rants around them, as in Lee et al. (2010). The list of potential rel- tom left corner of the position of vessel v 1 in the initial solution
evant points for assigning the next vessel includes these vertices and the desired position of vessels v 2 and v 3 was the bottom left
and also some other points obtained by using the information corner of the position of vessel v 2 , the solution produced after
about the vessel i being assigned. These points are identified by the move could not be obtained with any ordering of vessels.
drawing vertical lines that extend the vertical segments of the rep-
resentation, including a vertical line at ai , and horizontal lines 6. Computational study
extending the horizontal segments, including a line at diq , as in
Fig. 5(c). The intersections of these lines define new points, which In order to study the performance of the algorithms developed
are labeled in a similar way to the layout representation vertices. in previous sections, we have designed an extensive computational
For each point identified in this process, the candidate assignments study. First, we study the behavior and the limits of using the pro-
indicated by its label are obtained and put into a candidate set, posed integer model for solving the problem exactly. We use the
ordered by their cost. The candidates are considered one at a time instances by Park and Kim (2002), modified to accommodate sev-
until a feasible assignment is found. In Fig. 5(d), vessel i is placed eral quays, as well as the instances by Lee et al. (2010) and by
with its top-left corner on point A. Cordeau et al. (2005). Then, we analyze and compare the results
Comparing the two constructive algorithms, ECA is faster in the obtained by the genetic algorithm and the constructive algorithm
test instances we use, up to 200 vessels, though its computation ECA with the 26 priority rules. We also compare our genetic algo-
time increases more rapidly with the number of vessels. This rithm with those developed by Lee et al. (2010) and by Cordeau
would make ACA more attractive if we had to deal with larger et al. (2005). Finally, we describe a test instance generator we have
P. Frojan et al. / Expert Systems with Applications 42 (2015) 7356–7366 7363
Table 2 Table 3
Solving the instances of Park and Kim (2002) to optimality. Results of the genetic algorithm.
2 Quays Real-world 0.12 0.10 0.23 3 Quays Average deviation 0.22 0.22 15.08
20 0.17 0.15 0.37 Optimal solutions 72 72 47
25 0.49 0.30 1.69
30 0.74 0.32 2.87
35 4.53 3.99 12.18
40 28.47 13.38 118.75 the average gap was 78%. These instances are so hard for the inte-
ger linear code because the arrival times of all the vessels are con-
3 Quays Real-world 0.12 0.10 0.22
20 0.14 0.13 0.20 centrated at the beginning of the planning period, producing a
25 0.25 0.26 0.37 congestion which appears to be very difficult to manage. This con-
30 0.29 0.24 0.58 gestion factor is analyzed in more detail in Section 6.5.
35 1.27 0.88 2.93 We also solved the instances generated by Cordeau et al. (2005),
40 13.74 4.88 68.22
with one quay and 60 vessels, again with a time limit of 3600 s per
instance. Only one of the 30 instances was solved to optimality
within the time limit. The average gap was 6.6%. Compared with
built to generate instances with controlled characteristics.
the Lee et al. (2010) instances, these seem to be easier, but they
Studying the results obtained by the algorithms on a set of newly
are larger, and 60 vessels appear to be too many for the integer
generated instances allows us to get some insight into the more
code. In these two sets of instances, solving the integer model does
influential factors associated with the problem. The algorithms
not provide good solutions in reasonable computing times and
were coded in C++ (Visual Studio 2012) and run on a PC with an
therefore an efficient metaheuristic algorithm is needed for solving
Intel (R) Core(TM) i7-2600 3.40 GHz, with 12 GB of RAM.
large problems.
Table 5
Large instances by Lee et al.
Table 6
metaheuristics, like our genetic algorithm, are able to obtain opti- Instances by Cordeau et al.
mal or near-optimal solutions, while simple rules or a combination
of them fail by a large margin. Inst. FCFS-G TS GA Inst. FCFS-G TS GA
1 1899 1706 1531 16 1854 1715 1406
2 1417 1355 1277 17 1388 1322 1293
6.3. The Lee et al. instances 3 1349 1286 1152 18 1923 1594 1395
4 1548 1440 1333 19 1829 1673 1425
Lee et al. (2010) consider the same problem we are studying in 5 1449 1352 1227 20 1615 1450 1351
6 1747 1565 1251 21 1640 1565 1377
this paper, but with only one quay and with the single objective of
7 1482 1389 1290 22 1747 1618 1355
minimizing the total servicing time of the vessels, defined as the 8 1616 1519 1366 23 1770 1539 1329
elapsed time from their arrival to the end of their handling. They 9 1873 1713 1516 24 1625 1425 1297
develop an integer linear model and two GRASP algorithms. 10 1611 1411 1206 25 1845 1590 1454
11 1851 1696 1417 26 1707 1567 1388
In a first computational study on 30 small problems with 5 and
12 1814 1629 1414 27 1588 1458 1273
10 vessels, they compare the results obtained by solving the inte- 13 1575 1519 1384 28 1669 1550 1414
ger linear model with CPLEX and using GRASP1 and GRASP2. The 14 1435 1369 1240 29 1512 1415 1286
results are shown in Table 4, taken from Lee et al. (2010), to which 15 1609 1455 1315 30 1797 1621 1446
we have added the last column with the results of our genetic algo-
rithm, adapted to consider only one quay and the objective defined
by them. For each algorithm, the table shows the execution time problems encountered at the Gioia Tauro terminal in Italy as a ref-
(T) and the average percentage deviation from the optimum erence. For these instances, the authors present the results of their
(GAP). It can be seen that solving their integer model is very costly, Tabu Search algorithm and compare them with a FSFC-G algorithm
even for problems with 10 vessels. For these small instances our which orders the vessels by non-decreasing arrival time and
genetic algorithm obtains solutions very close to optimal, not as assigns each vessel to the position and mooring time that minimize
close as those of GRASP2 for 5-vessel instances, but clearly better the time needed for it to be serviced. According to the authors,
for 10-vessel problems, in very short computing times. FCFS-G is similar to the procedure actually used at the terminal.
In a second study, Lee et al. (2010) use larger instances with 40, Table 6 shows the results of the FCFS-G and Tabu Search algo-
80, 120, 160, and 200 vessels, 30 instances of each size. Table 5, rithm by Cordeau et al. (2005), as well as the results obtained by
also built by using the data kindly provided by the authors, uses our genetic algorithm. For all the instances, our GA improves on
the results of the previously published SBS (Stochastic Beam the results of both FCFS-G and TS, achieving an average improve-
Search) algorithm by Wang as an initial reference, and shows the ment of 18% over FCFS-G and 11% over TS. The average running
results of the GRASP1 and GRASP2 algorithms proposed by Lee time is 2.2 s.
et al. (2010). The right-hand side of the table shows the results
obtained by two versions of our algorithm. First, we ran the genetic 6.5. A generator of random instances
algorithm (including local search) with a fixed time limit, giving
our algorithm a running time as similar as possible to that used All the instances for the BAP published in the literature consider
by GRASP2. As our computer, according to http://www.cpubench- just one quay. In order to study the problem with multiple quays,
mark.net, is approximately 23 times faster, the time limits have we have developed an instance generator which accepts all the rel-
been set to the running times reported by Lee et al. (2010) divided evant characteristics of the problem as configurable parameters.
by 23. Finally, the last two columns show the results and time of We have used it to study the effect of the key factors on the com-
our algorithm with the stopping criterion described in the previous plexity of the problem and the performance of the algorithms.
section. If we consider the controlled-time version of GA, the In this study, some parameters have been fixed:
results are 17.4% better on average than GRASP2. The GA, with
the stopping criterion of 100 generations without improvement, Maximum length of a quay (Lmax ): 1500.
requires more time and gets solutions which are on average Minimum length of a quay (Lmin ): 100.
19.1% lower than those obtained by GRASP2. Maximum waiting cost per time unit (C w ): 5.
Maximum delay cost per time unit (C d ): 10.
6.4. The Cordeau et al. instances Maximum assignment cost of vessel to quay (C a ): 10.
Maximum cost of deviation from ideal position at quay per unit
Cordeau et al. (2005) study the discrete problem first, consider- (C p ): 3.
ing only costs related to the total time the vessels are moored at Slack for departure time (s a b): 5.
the dock, from arrival to the end of their servicing. They propose
an integer linear model and a Tabu Search algorithm, which is later For each instance the length of each quay is then randomly
adapted to the continuous case. For this continuous case they gen- drawn from (100, 1500) and the costs for each vessel are randomly
erate 30 instances with only 1 quay and 60 vessels, taking the real taken in the interval between 0 and the maximum cost.
P. Frojan et al. / Expert Systems with Applications 42 (2015) 7356–7366 7365
For the other parameters, we consider those that most influence Table 10
the complexity of the problem and therefore the behavior of the Average percentage distance from GA to CPLEX.
algorithms, and we include several levels: Quays Vessels Optimal Non-optimal solutions Total
solutions
Number of quays: 1, 3, 5. 1 3.1 7.0 3.1
Number of vessels: 20, 30, 40. 20 3.8 3.6 3.8
Length of vessels (Minimum, Maximum): (10, 100), (10, 250), 30 2.8 6.8 3.6
40 1.4 12.2 9.5
(10, 500).
Handling times (Minimum, Maximum): (1, 10), (1, 25), (25, 50). 3 0.9 6.3 1.8
20 1.1 4.9 1.8
Maximum arrival time: 20, 50, 100. 30 0.8 6.7 2.1
40 0.5 9.6 5.0
Using the generator we have generated 1215 instances, 5 repli- 5 0.4 6.6 1.1
cations for each combination of the parameter levels. In this way, 20 0.8 8.6 1.3
besides the effect of factors such as the number of quays and ves- 30 0.2 7.1 1.4
sels, we can study different configurations involving the type of 40 0.3 9.1 3.0
vessels (all small, of varying sizes), the handling times (all short, Total 1.2 6.7 2.0
of different lengths, all large), and the arrival time (all at the begin-
ning of the planning interval or more scattered over time).
The first part of our study focuses on the effect of these factors only 731 are solved within the time limit (60%). We can also see
on the ability of our integer model to obtain the optimal solution that, as expected, the number of vessels has a strong influence
for each type of problem. Each one of the 1215 instances was on the results. For 20, 30, and 40 vessels, the percentage of prob-
solved by using CPLEX 12.3 with a time limit of 600 s. Table 7 lems solved was 80%, 58%, and 43% respectively. Also, and more
shows the number of optimal solutions for each number of quays surprisingly, the number of quays has an effect: the more quays
and each number of vessels. We can observe first that these there are, the easier it is to solve (39%, 63%, 79% for 1, 3, 5 quays
instances are much harder to solve than the instances of Park respectively). This effect was not observed in previous tests. The
and Kim (2002), in which all but one of the instances were solved main difference may lie in the fact that here we have added assign-
to optimality in less than 600 s. For the instances generated here, ment costs of vessels to quays and deviation costs from the ideal
position at the quays. That seems to introduce some structure into
Table 7 the problem which is used by CPLEX to obtain the optimal solution
Optimal solutions by quays and vessels. faster when several quays are involved.
Quays Vessels Total Table 8 shows the effect of the length and the handling times of
the vessels. Both factors have a clear influence on the results.
20 30 40
Problems with large vessels and large handling times are very hard
1 84 45 27 156
to solve to optimality.
3 112 83 62 257
5 126 105 87 318 Finally, Table 9 shows the effect of the distribution of the arrival
Total 322 233 176 731 times, which could be called the congestion factor. If all the vessels
arrive at the same time, the problem is much harder than if the
arrivals are scattered over the time horizon.
In the second part of the study, we solved each of the 1215
Table 8
instances by using the genetic algorithm with a stopping criterion
Optimal solutions by lengths and handling times of the vessels.
of 100 CPU seconds. For each instance, we calculated the percent-
Handling time Length Total age distance to the solution provided by CPLEX. In Table 10 we
(1, 10) (1, 25) (1, 50) show the average results classified by quays and vessels, separat-
(1, 10) 128 114 85 327 ing into two columns the cases in which the optimal solution
(1, 25) 118 85 59 262 was found from those in which CPLEX only returned a feasible
(25, 50) 92 40 10 142 solution.
Total 338 239 154 731
Looking at the column of the instances for which CPLEX
obtained the optimal solution, the solutions obtained by the
genetic algorithm are on average 1.2% higher, getting nearer as
Table 9 the number of quays increases. For the instance in which CPLEX
Optimal solutions by quays, vessels, and arrival times.
did not obtain the optimal solution within the time limit, the aver-
Quays Vessels Arrival time Total age results clearly favor the genetic algorithm, which obtains much
(1, 20) (1, 50) (1, 100) better results in instances with larger numbers of vessels. For the
484 instances in which CPLEX did not get the optimal solution in
1 26 55 75 156
20 17 32 35 84 600 s, the genetic algorithm obtained a solution better than
30 6 15 24 45 CPLEX in 340: 179 for 1-quay instances, 100 for 3-quay instances,
40 3 8 16 27 and 61 for 5-quay instances.
3 60 87 110 257
20 35 36 41 112
30 14 32 37 83 7. Conclusions
40 11 19 32 62
5 89 105 124 318 The Berth Allocation Problem is an important part of the con-
20 40 41 45 126 tainer terminal operational system and it has been extensively
30 28 36 41 105
studied, in its discrete and continuous versions. Having a terminal
40 21 28 38 87
divided into several separated quays is not a problem for the dis-
Total 175 247 309 731
crete version, because the terminal, and therefore each of its quays,
7366 P. Frojan et al. / Expert Systems with Applications 42 (2015) 7356–7366
is divided into sections which can accommodate at most one ves- This study has been partially supported by the Spanish Ministry
sel. However, a terminal with several quays is a problem for the of Economy and Competitiveness, DPI2011-24977, and by
continuous version, because in almost all the studies the terminal Generalitat Valenciana, PROMETEO/2013/049, Grant CPI-13-351.
is considered as one straight line in which vessels can be berthed
according to their length and the positions of other vessels. In this References
study we have considered for the first time the continuous Berth
Allocation problem with several quays at the operational level. Bierwirth, C., & Meisel, F. (2010). A survey of berth allocation and quay crane
scheduling problem in container terminals. European Journal of Operational
Besides the usual costs of waiting to be berthed and of delay with Research, 202, 615–627.
respect to the ideal departure date, we have included an assign- Bierwirth, C., & Meisel, F. (2015). A follow-up survey of berth allocation and quay
ment cost of vessel to quay (which can be used to forbid some ves- crane scheduling problem in container terminals. European Journal of
Operational Research, 244, 675–689.
sel–quay combinations) and a deviation cost with respect to the Cheong, C., Tan, K., Liu, D., & Lin, C. (2010). Multi-objective and prioritized berth
ideal position of the vessel at the quay to which it is actually allocation in container ports. Annals of Operations Research, 180, 63–103.
assigned. Cordeau, J., Laporte, G., Legato, P., & Moccia, L. (2005). Models and tabu search
heuristics for the berth allocation problem. Transportation Science, 39, 526–538.
We have developed first an integer linear model for the prob- Dai, J., Lin, W., Moorthy, R., & Teo, C. (2008). Berth allocation planning optimization
lem, extending previous models for the one-quay case. The model in container terminals. In C. Tang, C. Teo, & K. Wei (Eds.), Supply chain analysis: A
can be used to obtain the optimal solution in reasonable comput- handbook on the interaction of information, system and optimization. Springer.
Du, Y., Chen, Q., Quan, X., Long, L., & Fung, R. (2011). Berth allocation considering
ing times for some instances with up to 40 vessels (Park & Kim,
fuel consumption and vessel emissions. Transportation Research Part E: Logistics
2002), but we have identified several classes of instances for which and Transportation Review, 47, 1021–1037.
obtaining the optimal solution is very hard. We have therefore Gonçalves, J., & Resende, M. (2013). A biased random key genetic algorithm for 2D
and 3D bin packing problems. International Journal of Production Economics, 145,
developed a genetic algorithm, based on sequences of vessels.
500–510.
The initial population is built by applying a large set of priority Guan, Y., & Cheung, R. (2004). The berth allocation problem: Models and solution
rules which produce good and diverse solutions. For decoding ves- methods. OR Spectrum, 26, 75–92.
sel sequences into BAP solutions, we have developed two fast and Guan, Y., Xiao, W., Cheung, R., & Li, C. (2002). A multiprocessor task scheduling
model for berth allocation: Heuristic and worst-case analysis. Operations
efficient constructive procedures. The solutions produced by the Research Letters, 30, 343–350.
genetic algorithm are improved by a local search procedure. Hendriks, M., Laumanns, M., Lefeber, E., & Udding, J. (2010). Strategic allocation of
As there are no similar studies for multiple quays, in order to cyclically calling vessels for multi-terminal container operations. Flexible
Services and Manufacturing Journal, 24, 248–273.
assess the performance of our procedure, we have applied it to Hopper, E., & Turton, B. (2001). An empirical investigation of meta-heuristic and
three sets of benchmark instances for the case of one quay, and heuristic algorithms for a 2D packing problem. European Journal of Operational
the computational study shows that our algorithm outperforms Research, 128, 34–57.
Imai, A., Nishimura, E., & Papadimitriou, S. (2013). Marine container terminal
the best results recently published in the literature for the configurations for efficient handling of mega-containerships. Transportation
one-quay case. Research Part E: Logistics and Transportation Review, 49, 141–158.
The problem studied in this paper is limited to the description Iori, M., Martello, S., & Monaci, M. (2003). Metaheuristic algorithms for the strip
packing problem. In P. Pardalos & V. Korotkikh (Eds.), Optimization in industry:
and assumptions set out in Section 3. Here we have dealt with
New frontiers. Kluwer Academic Publishers.
the Berth Allocation Problem, which considers fixed handling Kim, K., & Moon, K. (2003). Berth scheduling by simulated annealing. Transportation
times, without considering how it is related to the Quay Crane Research. Part B, Methodological, 37, 541–560.
Lee, D.-H., Chen, J., & Cao, J. (2010). The continuous berth allocation problem: A
Assignment Problem and the Quay Crane Scheduling Problem,
greedy randomized adaptive search solution. Transportation Science, 46,
which are also part of the seaside terminal operating system. 1017–1029.
There are several ways in which this study could be extended. Lee, D.-H., Jin, J., & Chen, J. (2012). Terminal and yard allocation problem for a
In a first extension of this work, the model and algorithms for mul- container transshipment hub with multiple terminals. Transportation Research
Part E: Logistics and Transportation Review, 48, 516–528.
tiple quays developed here will be extended to the Berth Allocation Li, C., Cai, X., & Lee, C. (1998). Scheduling with multiple-job-on-one-processor
and Crane Assignment Problem (BACAP), which combines the allo- pattern. IIE Transactions, 30, 433–445.
cation of berths to vessels with the allocation of quay cranes to Lim, A. (1998). The berth planning problem. Operations Research Letters, 22,
105–110.
serve those vessels. A further step would be to connect it with Nishimura, E., Imai, A., & Papadimitriou, S. (2001). Berth allocation planning in the
the Quay Crane Scheduling Problem. Other possible extensions of public berth system by genetic algorithms. European Journal of Operational
the study would involve considering it as a multi-objective prob- Research, 131, 282–292.
Oliveira, R. de, Mauri, G., & Lorena, L. (2012). Clustering search for the berth
lem. Instead of combining all the costs into a single objective func- allocation problem. Expert Systems with Applications, 39, 5499–5505.
tion, conflicting objectives can be studied separately, using a Park, K., & Kim, K. (2002). Berth scheduling for container terminals by using a sub-
multi-objective procedure, providing users with a set of gradient optimization technique. Journal of the Operational Research Society, 53,
1054–1062.
non-dominated solutions. The problem can also be considered at
Ting, C., Wu, K., & Chou, H. (2014). Particle swarm optimization algorithm for the
a more tactical or strategic level, if instead of considering a list of berth allocation problem. Expert Systems with Applications, 41, 1543–1550.
actual vessels, with their specific characteristics, we consider at a Tong, C., Lau, H., & Lim, A. (1999). Ant colony optimization for the ship berthing
problem. Lecture notes in computer science (Vol. 1742, pp. 359–370). Springer.
higher level the problem of shipping lines with sets of vessels cycli-
UNCTAD. (2014). Review of maritime transport 2014, New York, United Nations
cally calling at the port that have to be assigned to several quays or Publication.
even to several terminals, taking into account all the operational Vallada, E., & Ruiz, R. (2011). A genetic algorithm for the unrelated parallel machine
and transportation costs involved. scheduling problem with sequence dependent setup times. European Journal of
Operational Research, 211, 612–622.
Wang, F., & Lim, A. (2007). A stochastic beam search for the berth allocation
Acknowledgments problem. Decision Support Systems, 42, 2186–2196.
Xu, Y., Chen, Q., & Quan, X. (2012). Robust berth scheduling under uncertain vessel
delay and handling time. Annals of Operations Research, 192, 123–140.
The authors would like to thank Young-Man Park, Der-Horng Zhen, L., & Chang, D. (2012). A bi-objective model for robust berth allocation
Lee, and Pasquale Legato for sending us their instances and results. scheduling. Computers & Industrial Engineering, 63, 262–273.
They would also like to express their appreciation to the reviewers
for making valuable comments and suggestions to improve the
paper.