Content uploaded by Mustapha Ratli
Author content
All content in this area was uploaded by Mustapha Ratli on Aug 20, 2020
Content may be subject to copyright.
Journal of Global Optimization
https://doi.org/10.1007/s10898-020-00884-1
Modelling and solving the multi-quays berth allocation and
crane assignment problem with availability constraints
Issam Krimi1,2,3,4 ·Raca Todosijevi´c3·Rachid Benmansour3,5 ·Mustapha Ratli3·
Abdessamad Ait El Cadi3·Afaf Aloullal2
Received: 18 January 2019 / Accepted: 22 January 2020
© Springer Science+Business Media, LLC, part of Springer Nature 2020
Abstract
In this work, we are interested in the multi-quays berth allocation and crane assignment prob-
lem under availability restrictions. Availability restrictions may arise due weather conditions,
or when, for example, cranes must undergo planned maintenance in order to stay in good
performance. This problem was inspired by a real-case of a bulk port in Morocco. To solve
the problem we propose at first a mixed-integer programming model. Then, in view of the
limitations of the proposed model, we investigate a set of heuristics based on general variable
neighborhood search with three variants of variable neighborhood descent as a local search.
To validate the proposed model and the proposed heuristic approach, real-world instances
are used. The computational results reveal that CPLEX MIP solver consumes a lot of CPU
time to solve this model, even sometimes failing to guarantee the optimality of the provided
solution. On the other hand, the proposed GVNS heuristic turns out to be very efficient in
solving the considered problem.
Keywords Multi-quay ·Berth allocation ·Crane assignment ·Bulk ports ·Availability
constraints ·Variable Neighborhood Search
1 Introduction
A good management of maritime activities, and especially the bulk cargo transportation,
has a positive impact on the global economy performance. Indeed, improving the effective-
ness of logistic operations leads to an efficient port-oriented supply chain. Up to now, many
BRaca Todosijevi´c
racatodosijevic@gmail.com
Issam Krimi
Issam.Krimi@um6p.ma
1Situation Innovation, OCP Group, Jorf Lasfar, Morocco
2Innovation Lab for Operations, Mohamed 6 Polytechnic University, Ben Guerir, Morocco
3LAMIH UMR CNRS 8201, Université Polytechnique Hauts de France, Valenciennes, France
4Mohammadia School of Engineers, Mohammed 5 University, Rabat, Morocco
5SI2M Laboratory, INSEA, Rabat, Morocco
123
Journal of Global Optimization
researchers have been interested in enhancing the operational efficiency of container ter-
minals. However, studies of bulk terminals are still rare in the literature. This is especially
true for the integration of several decision problems in the port management. One of these
problems is to deal with the integration between berth allocation and cranes assignment. This
problem depends, significantly, on resources utilization and loading/unloading cranes.
In this work, we are inspired by a real case of a Moroccan bulk port. This port has the
multi-quay layout and takes into account unavailability restrictions that may occur due to
preventive maintenance or weather conditions which may directly affect the berthing plan.
Bierwirth and Meisel [4] proposed detailed characteristics for classifying the seaside
problems. According to their taxonomy, the port under the study belongs to the class of
ports with a continuous layout. This means that vessels are placed along a quay respecting
the physical restrictions. The another distinction is related to the arrival of vessels. In our
problem, vessels arrive within the predefined planning horizon. The next feature is related
to the handling time. Many studies consider the handling time either as a predefined amount
of time or time that depends on resource utilization. In our case, the handling time depends
on both, resource utilization (i.e., the number of cranes assigned to a vessel and the assigned
quay) and a predefined time for vessel preparation. Finally, in the considered port the cranes
assignment remains unchanged during the loading process as it is the case in most studies in
the literature. To the best of our knowledge there is no work in the literature that takes into
account all aforementioned assumptions when dealing with the integrated berth allocation
and cranes assignment problem.
Hence, the problem studied in this paper, may be classified as the multi-quay continuous
dynamic berth allocation with time-invariant crane assignment problem in a bulk terminal
context under realistic constraints. Realistic restrictions taken into account are unavailability
periods of the installation, high tides and weather conditions.
The main contributions of the paper may be summarized as follows:
1. New real-world problem that arises in bulk ports is studied.
2. The problem is formulated as a mixed integer programming (MIP) model.
3. It is shown that the proposed MIP model is not adequate for solving large scale instances.
Hence, we have developed a set of heuristics based on General variable neighborhood
search (GVNS) with different local search strategies to find good solutions within a
reasonable computational time. Moreover, an extensive testing is performed to properly
design a GVNS heuristic.
The remainder of this paper is organized as follows. In Sect. 2, we present an overview
of the related works, with a focus on heuristics used to solve the integrated berth allocation
and crane assignment problem. Section 3introduces, formally, the problem and presents
the mixed-integer programming model. In Sect. 4, we detail the set of heuristics based on
GVNS used for solving the problem. Finally, Sect. 5summarizes the real case study and
the experimental results of both the MIP model and the GVNS heuristics followed by a
conclusion and work perspectives in the last section.
2 Literature review
The aim of this section is to summarize the recent works that deal with the integration of
berth allocation and crane assignment problems in both bulk and container ports.
In the container terminal environment, Park and Kim [22] presented the first work that
integrated the berth allocation and crane assignment in one decision problem. They proposed
123
Journal of Global Optimization
a two-phase approach based on a Lagrangian relaxation. In the first stage, they determined
berthing positions, handling times and the number of assigned cranes in each period. Then,
in the second stage, cranes scheduling problem was investigated. Meisel and Bierwirth [20]
proposed a mathematical formulation integrating berths allocation and cranes assignment
problems under several industrial considerations. To solve the problem, they developed a
constructive heuristic for generating a feasible solution along with a set of local search
procedures and metaheuristics. These methods were shown efficient on a set of real-world
instances. Based on this work, Iris et al. [17] studied two variants of the cranes assign-
ment problem: time-variant or time-invariant and proposed new mathematical formulations.
Iris et al. [16] improved the mathematical formulation provided in [17], introducing valid
inequalities and variable fixing methods. The same problem but with a realistic objective
was investigated in [19]. The aim was to minimize the handling times of vessels, the waiting
times and the delays. They formulated the problem with a dynamic aspect for vessel’s arrival
and proposed a genetic algorithm to guarantee a good solution with a reasonable time for
real word instances. Giallombardo et al. [12] formulated the integrated berth allocation and
crane assignment problem as a quadratic model and a linearized formulation. Their mod-
els minimized the total quay crane profiles in addition to the housekeeping costs generated
by transshipment flows between vessels. These models faced difficulties to solve real-case
instances. Hence, the authors proposed a heuristic combining Tabu Search algorithm and
mathematical programming techniques. Chang et al. [6] supposed that cranes assignment
problem is variable within the planning horizon. That means cranes assignment can change
over time. They used a mathematical formulation embedded in a rolling horizon algorithm to
solve medium size instances. In addition, the authors hybridized a parallel genetic algorithm
using several priority rule heuristics. In order to study the importance of this assumption,
Blazewicz et al. [5] considered the problem as tasks scheduling using a set of processors. They
proposed a sub-optimal algorithm that obtains a feasible solution for the discrete version of
the problem using the continuous one. Raa et al. [24] studied the same model but under real-
world considerations as the preferred berthing position, priority of the vessel and the handling
time. They proposed a MIP model and tested it on a set of real instances. However, this model
is time consuming for the daily managerial decision. Hence, the authors proposed a rolling
horizon framework based on the proposed MIP model. Based on congested artificial data,
the method shows its efficiency. In addition, Vacca et al. [27] developed a new model for the
tactical berth allocation where the decisions of berthing and cranes assignment were studied
simultaneously. They proposeda Branch and Price algorithm to solve it. In their work, several
accelerating techniques for the master and the pricing problem were presented. The results
showed that the integrated approach could be efficient in different cases. Recently, Agra and
Oliveira [1] studied the integrated berth allocation, quay cranes assignment and scheduling
problem motivated by a real case where a heterogeneous set of cranes is considered. They
proposed a MIP model based on the relative position formulation (RPF). In addition, in order
to enhance the bounds of the mathematical formulation, they suggested a new model based
on the discretization of the time and the space variables. These enhancements are used in the
Branch and Cut method as a relaxed method in addition to the Rolling horizon heuristic.
The integration of Berth Allocation and Cranes Assignment Problems (BACAP) was inves-
tigated using different heuristics. Yang et al. [29] developed an evolutionary algorithm with
multiple stages. First, each stage solves a specific sub-problem and then, the algorithm com-
putes an approximation solution for the problem. Chang et al. [6] proposed dynamic allocation
model using objective programming. The main approach was a rolling-horizon technique for
the Berth Allocation Problem (BAP) and Cranes Assignment Problem (CAP) under the
objective of minimizing the total berthing location deviation, the total penalty and the energy
123
Journal of Global Optimization
consumption of quay cranes. To solve large instances, the authors suggested a hybrid paral-
lel genetic algorithm (HPGA) which combines the parallel genetic algorithm (PGA) and a
heuristic algorithm. Cranes scheduling is another aspect considered in the literature. Diabat
and Theodorou [9] introduced the scheduling aspect in the integrated problem (BACASP).
They proposed a MIP formulation in addition to a genetic algorithm for which the authors
defined a problem-specific chromosome and a set of insertions and selection strategies. Then,
Fu and Diabat [11] implemented a Lagrangian relaxation based on the decomposition of the
problem. The authors tested their approach using several problem instances. The results were
compared to those obtained by a commercial software and a genetic algorithm presented in
[30]. Recently, Correcher and Alvarez-Valdes [7] studied the continuous berth allocation and
the time-variant aspect of cranes assignment. They proposed a genetic algorithm to solve
the problem. The authors used the spatio-temporal conflict to design the proposed approach.
Pratap et al. [23] studied the same problem but considering the time-invariant aspect for
cranes assignment. To solve it, the authors investigated a biased random-key genetic algo-
rithm with memetic characteristics and several local search procedures. This approach was
able to find optimal solutions for instances up to 40 vessels and provided good solution for
instances with 100 vessels. Barros et al. [2] developed a Decision Support System (DSS) for
aligning allocation decisions of berth and ship unloading using a set of cranes with objectives
to minimize the delays. The authors proposed two different approaches to solve it. In one
hand, solving the problem sequentially by decomposing it into sub-problems. On the other
hand, integrating the two-subproblems and solving them simultaneously. The optimization
approach used in this DSS is based on a non-dominated genetic algorithm and the Chemi-
cal Reaction Optimization. In the bulk port context, Umang et al. [26] considered the berth
allocation problem in bulk port under high tides restrictions and the stock level limitation.
The objective is to define the berthing planning within tidal time windows and minimizing
the overall cost. In this work, berths are homogeneous, and stocks must be kept in safety
levels. The problem was formulated as a transportation problem. Hence, they proposed an
integer linear programming model to solve it. For large instances, they proposed a Simulated
Annealing based algorithm. Rodriguez-Molins et al. [25] proposed three formulations to
solve the dynamic hybrid berth allocation problem. The main differences between container
and bulk port operations are the account for a cargo type and fixed equipment facilities as
conveyors that may be installed in certain berths only. The authors highlighted the coordina-
tion between seaside and yard side operations. The objective is to minimize the total service
time of vessels. An efficient generalized set partitioning (GSPP) model for the problem was
presented. Due to the complexity of the problem, the authors proposed a heuristic method
based on squeaky wheel optimization. Ernst et al. [10] introduced the continuous berth allo-
cation problem under cargo operation restrictions. Some berths can not be used to load a
certain cargo type. This assumption can be found in oil and gas industrial ports. The authors
formulated the problem as a MIP model to minimize the dwelling time of vessels. Correcher
[8] proposed two MIP formulations for the continuous berth allocation problem in dry bulk
port context. The main restriction considered is the tidal time window for vessels departure.
The authors presented several properties for the optimal solution and some valid inequalities
to tighten the models. The time-indexed model was shown more suitable for large instances.
To the best to our knowledge there is no paper in the literature that simultaneously treats
multi-quay berth allocation problem, crane assignment problem and unavailability constraints
as we are doing in our paper. For this reason, we do not provide direct comparison with the
literature. For example, the papers [18,28] consider berth allocation problem under unavail-
ability constraints. However, in these papers discrete version of single quay berth allocation
123
Journal of Global Optimization
problem is considered unlike our paper where continuous multi-quay berth allocation prob-
lem is treated. Moreover, the papers [18,28] do not crane assignment problem.
3 Mixed integer programming model
This section presents the formal description of the studied problem and corresponding MIP
model of the problem.
3.1 Problem description
Formally, the multi-quay berth allocation and crane assignment problem with availability
constraints (MBACAP-AVC) may be stated as follows. The bulk terminal contains a set of
quays denoted by Q. Each quay q∈Qis characterized by its length Lqand number cqof
mobile cranes available for loading. The maximum number of cranes available at a quay is
limited to 2 due to practical constraints. All cranes at the same quay qhavethesamefixed
loading rate dq. Vessels arrive within the planning horizon H={1,...Hmax }and each
vessel j∈Vhas an arrival time Ar r jand an estimated departure time Dep j. A vessel j
may request different quantities Cjf of more than one quality f∈Fj,whereFjdenotes the
set of qualities requested by this vessel.
During the loading process, the handling time depends on several factors. First, all ves-
sels require pre-loading time Pre and post-loading time Post. In addition, in the case of
requesting multiple qualities draft survey tds must be taken into account. The draft survey
is actually time needed to switch from one quality to another and it is fixed for all pairs of
qualities. Therefore, the variable handling time is calculated, for each vessel, considering
loaded quantities, transfer rate between storage areas and quays, and the number of cranes
used for loading. It is assumed that the transfer rate depends only on the loading rate dq.So,
the handling time of vessel j, allocated to quay qand loaded using ccranes is given as ([8]):
hj
cq =f∈FjCjf
dq×c+(|Fj|−1)×tds (1)
Note that all handling times considering different scenarios may be calculated in the
pre-processing phase.
Due to preventive maintenance of gantries/cranes or to bad weather conditions, the instal-
lation may be unavailable during some periods of the planning horizon. The set of availability
periods over the planning horizon is denoted by AV and each availability period iis charac-
terized by its starting and ending date, startiand finish
i, respectively. In addition, vessels
must leave the docks within a high tide interval [sp
tide,fp
tide],p∈HT,where HT is the set
of high tides periods over the horizon H.
The objective is to minimize the total cost of vessels tardiness while respecting quays
and vessels constraints. The tardiness of a vessel arises in the case when vessel’s estimated
departure time Dep jis not respected. The vessels constraints require that the demand of each
vessel is respected as well as that the maximum number of cranes Ajthat can be used to load
vessel jis not exceeded. On the other hand quay constraints impose that the length of each
quay is respected within the planning horizon as well as the security distance Sc between each
two neighboring vessels docked at the same quay at the same time period. More precisely, if
we have kvessels docked at the quay qat some moment tand if we assume without loss of
generality that the vessels are ordered as 1,2,...kat the quay, then the following constraints
123
Journal of Global Optimization
must be respected:
k
j=1
lj+(k−1)Sc ≤Lq,(2)
d(v j,v
(j+1))≥Sc,j∈{1,2,...k−1},(3)
where ljdenotes the length of vessel jand d(v j,v
(j+1))represents the distance between two
neighboring vessels vjand v(j+1). The distance d(v j,v
(j+1))is calculated as the distance
between the ending position of the vessel vjand the starting position of the vessel v(j+1).
3.2 Parameters and decision variables
The above problem may be modeled as a mixed integer programming model (MIP). For this
purpose, we define the following continuous variables for each vessel j: the berthing position
bj≥0 of vessel jat the quay; the handling time hj≥0 of vessel j; and the tardiness
Tj≥0 of vessel j. In addition, we define the following binary variables:
xjk =⎧
⎨
⎩
1 if vessel jis berthed completely at the left of vessel k
without overlapping at the same quay,
0 Otherwise.
tjk =⎧
⎨
⎩
1 if vessel jwas berthed completely before vessel k,at the same quay,
without overlapping within the time horizon,
0 Otherwise.
zjcqt =1 if at time t∈Hloading of vessel jstarts at quay qusing ccranes,
0 Otherwise.
wjcqt =1 if at time t∈Hvessel jis loaded at quay qusing ccranes ,
0 Otherwise.
uji =1 if vessel jis served within the availability period i,
0 Otherwise.
γjp =1 if the departure of vessel joccurs at the high tide period p,
0 Otherwise.
These variables and the defined notations are the key elements of the following MIP
model:
min
j∈V
PjTj(4)
Tj≥
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
(t+hj
cq )zjcqt +post −Dep j∀j∈V,(5)
bj+lj≤
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
Lqzjcqt ∀j∈V,(6)
bk≥bj+lj+Sc −Lmax(1−xjk )∀k,j∈V,j= k,(7)
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
zjcqt =1∀j∈V,(8)
123
Journal of Global Optimization
xjk +xkj ≤1∀k,j∈V,j= k,(9)
tjk +tkj ≤1∀k,j∈V,j= k,(10)
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
(t+hj
cq )zjcqt +post −Hmax (1−tjk)
≤
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
tzkcqt −pr e ∀k,j∈V,j= k,(11)
cq
c=1
Hmax
t=Arr j+pr e
zjcqt +
cq
c=1
Hmax
t=Arrk+pre
zkcqt −tjk −tkj −xjk −xkj
≤1∀q∈Q,∀k,j∈V,j= k,(12)
tjk +tkj +xjk +xkj ≤2×⎛
⎝1+
cq
c=1
Hmax
t=Arr j+pr e
zjcqt
−
cq
c=1
Hmax
t=Arrk+pre
zkcqt⎞
⎠∀q∈Q,∀k,j∈V,j= k,(13)
cq
c=1
cz jcqt ≤Aj∀j∈V,q∈Q,t∈[Ar r j+pre,Hmax],(14)
zjcqt ≤wjcqt∀j∈V,q∈Q,c∈{1,2,...,cq},
t∈[Ar r j+pre,Hmax −hj
cq ],t∈[t,t+hj
cq ],(15)
j∈V
wj2qt ≤1∀q∈Q,t∈H,(16)
j∈V
wj2qt =0∀q∈{q∈Q|c
q=1},t∈H,(17)
k∈V
wk2qt +wj1qt ≤1∀j∈V,q∈Q,t∈[Ar r j+pre,Hmax ],(18)
i∈AV
uji =1∀j∈V,(19)
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
tzjcqt ≥
i∈AV
(Starti+pre)uji ∀j∈V,(20)
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
(t+hj
cq +post)zjcqt ≤
i∈AV
Finishiuji ∀j∈V,(21)
p∈HT
γjp =1∀j∈V,(22)
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
(t+hj
cq +post)zjcqt ≥
p∈HT
sp
tideγjp ∀j∈V,(23)
123
Journal of Global Optimization
q∈Q
cq
c=1
Hmax
t=Arr j+pr e
(t+hj
cq +post)zjcqt ≤
p∈HT
fp
tideγjp ∀j∈V,(24)
where Lmax =max{Lq|q∈Q}.
The objective function (4) expresses the total cost of tardiness. The tardiness of each vessel
jis penalized by a given parameter Pj. The tardiness is calculated by the set of constraints
(5). Constraints (8) ensure that each vessel jis assigned to only one quay q, its loading begins
at exactly one time period by using certain number of cranes. The berth position of the vessel
at a quay is computed by (6)and(7) respecting the quay length. Constraints (9–12)avoid
the overlapping between vessels in time and space (quay). This non-overlapping restriction
is applied only for vessels affected to the same quay (constraints (13)). Constraints (14–18)
ensure the proper resource allocation. Constraints (14) imply that the maximum number of
cranes that can be used to serve a vessel is not exceeded, while constraints (15)–(18) guarantee
that at each time period the number of employed cranes at certain quay is not greater than
the number of available cranes. Here, we used the fact that the maximum number of cranes
available at each quay is 2. The set of constraints (19–21) is used to schedule a vessel within
a feasible interval of time. The availability restriction may be due to weather conditions or a
preventive maintenance of cranes or quays. In addition, the vessel should leave the quay in
a high tide period (22–24).
3.3 Valid inequalities
To enhance the MIP model, we propose the following constraints:
q∈Q
cq
c=1
Arr j+pr e−1
t=0
zjcqt =0∀j∈V,(25)
q∈Q
cq
c=1
Arr j+pr e−1
t=0
wjcqt =0∀j∈V,(26)
Constraints (25–26) ensure that no vessel begins the loading before its arrival and its
preparation time.
The proposed MIP model is implemented in CPLEX 12.6 MIP solver in order to ver-
ify its correctness and to solve some problem instances. However, because of the problem
complexity, the solver is able to solve only instances up to 10 vessels (see Sect 5for more
details). In order to tackle larger instances, we propose a heuristic solution approach based
on variable neighborhood search metaheuristic.
4 General variable neighborhood search heuristics
Variable neighborhood Search (VNS) is a local search metaheuristic based on the idea of
changing neighborhood structures, systematically, during the solution process. The princi-
ple of neighborhood change is applied in both intensification phase, with the objective to
reach high quality local optima, and the diversification phase with the aim to escape from
local optima traps. This idea is justified by the following empirical evidences [13]: (i) differ-
ent neighborhood structures do not necessarily have the same local optimum ; (ii) a global
123
Journal of Global Optimization
optimum is a local one for all neighborhood structures (iii) despite the diversity of the neigh-
borhood structures, for many problems the local optima may be relatively close.
The standard version of VNS heuristics consists in applying alternately a so-called shak-
ing procedure, local search within one neighborhood and neighborhood change step until a
predefined stopping condition is not fulfilled [13]. The main purpose of a shaking procedure
and neighborhood change step is to diversify the search guiding it toward unexplored parts
of the solution space. This standard version of VNS is referred to as Basic VNS. It served
as a starting point for deriving many VNS variants such as e.g., Reduced VNS (that is Basic
VNS without the local search step) and Variable Neighborhood Descent (VND) (that is Basic
VNS without the shaking procedure). However, the widely used VNS variant, is the so-called
General VNS (GVNS). It uses more advanced local search procedure in the improvement
phase than Basic VNS. These advanced procedures are usually based on variable neighbor-
hood descent (VND) such as sequential VND [21]), pipe VND [14], cyclic VND [14], and
so on.
VNS heuristics have been already used for solving a berth allocation problem ([15]).
Following this research line, in this paper, we propose a GVNS heuristic. Its main ingredients
are elaborated in the subsequent sections and they are: a procedure for generating an initial
solution, a perturbation scheme used to escape from a local optimum, a set of neighborhood
structures, a set of variable neighborhood descent heuristics and an evaluation scheme.
4.1 Initial solution
The initial solution of our heuristic is generated by a greedy procedure. The procedure first
assigns vessels to quays and after that determines a schedule for loading vessels. Both steps
are performed in a greedy manner. The principles of the greedy heuristic are based on the
following observations:
1. Since the total tardiness of vessels is minimized, vessels should be loaded as soon as
possible. Hence, First Come First Served (FCFS) rule, a rule used in many scheduling
problems, may be applied.
2. If an order of loading vessels at a quay is known, the best starting time for serving a vessel
is the earliest possible time that respects all constraints of the quay and vessels served
before it. Such determined starting times minimize the total tardiness of the vessels with
respect to the given order.
The first observation is used to assign vessels to quays, while the second observation is
used to determine the schedule for loading vessels. Such greedy procedure is inspired by the
workstation-balancing assignment in which each equipment has the same amount of work
to execute [3]. In our problem, we consider the port as a work cell and each quay represents
equipment or a workstation. We define a sequence of vessels (tasks) to be loaded (executed)
respecting a priority rule.
Given an order of loading vessels and the number of cranes assigned to each vessel, the
optimal schedule of loading each vessel may be determined in a greedy manner (second
observation from above). Hence, a solution of MBACAP-AVC may be represented as
S=⎛
⎝π=
q∈Q
πq,τ⎞
⎠,(27)
where each permutation πqcontains an ordered list of vessels loaded at quay qand array
τwhere each element τjrepresents the number of cranes assigned to vessel j. Using this
123
Journal of Global Optimization
representation, a greedy procedure may be formally stated as given in Algorithm 1.The
greedy procedure first sorts the vessels in ascending order of their arrival times. After that
vessels are assigned to quays following the established order (line 1) and respecting quays’
length (line 9). To have equally dispatched vessels to the quays we adopt the approach from
production line balancing, and define an upper bound Nth =(|V|)/(|Q|), which represents
the maximum number of vessels assigned to each quay (line 8). In this way, permutations
πqare generated. After that, array τis initialized setting τj←Aj, i.e., to each vessel is
assigned maximum number of cranes it can accommodate.
Finally, a constructive heuristic (see Appendix A1) is applied, to generate a feasible
schedule for such created solution. The heuristic generates a feasible berthing planning for
given solution S, by calculating: feasible starting time Svof loading, berthing position bv,
handling time hvand resulting tardiness Tvfor each vessel v∈V.
Algorithm 1: Vessel-quay matching
1list= sequence of vessels using FCFS
2πq=∅:q-th quay-permutation in the global solution S
3lv,length(q)denote, respectively, vessel and quay lengths
4q←0
5count ←0
6repeat
7for v∈list do
8if count ≤Nth then
9if lv≤length(q)then
10 assign(v, πq)
11 τv←Av
12 list =list\{v}
13 count ←count +1
end
end
14 else
15 v←v+1
end
16 else
17 q←q+1
end
end
until list =∅∧q≥|Q|;
18 if list = ∅then
19 Nth ←∞
20 goto line 6
end
21 return S
4.2 Neighborhood structures
A solution S=(π , τ ) may be locally improved either by changing the order of servicing
vessels or by changing the number of cranes assigned to a vessel. So, we distinguish two sets of
neighborhoods: permutation based neighborhoods and crane based neighborhoods. Further,
permutation based neighborhoods may be classified as either intra-quay neighborhoods or
inter-quay neighborhoods. Inter-quay neighborhoods are based on moves that affect two
123
Journal of Global Optimization
quays, while intra-quay are based on moves that affect only one quay. The used neighborhoods
may be described as follows:
–Inter −quays swap neighborhood N1is based on a move that selects a pair of vessels
in two different quays and exchanges their positions.
Formally,inter_quays_swap_move(S,q1,q2)applied to two different quay q1,q2∈Q
chooses vessels πa
q1,a∈{1,...,|πq1|} and πb
q2,b∈{1,...,|πq2|} and exchanges them
so that in the resulting solution Swe have, πc
q1=πc
q1,c= a,c∈{1,...,|πq1|} πa
q1=
πb
q2,andπc
q2=πc
q2,c= b,c∈{1,...,|πq2|} πb
q2=πa
q1. Hence, neighborhood N1of
a solution S=(π , τ ) may be stated as:
N1(S)={inter_quays_swap_move(S,q1,q2)|q1,q2∈Q,q1= q2}.
–Inter −quays insert neighborhood N2is based on a move that chooses two distinct
quays and removes a vessel from one and inserts it into the another.
Formally, inter_quays_insert_move(S,q1,q2)applied to two different quays q1,q2∈
Qchooses a vessel πa
q1,a∈{1,...,|πq1|} and inserts it into the quay q2. Hence, neigh-
borhood N2of a solution S=(π , τ ) may be stated as:
N2(S)={inter_quays_insert_move(S,q1,q2)|q1,q2∈Q,q1= q2}.
–Intra −quay swap neighborhood N3is based on a move that selects a pair of vessels
in one fixed quay and exchanges their positions.
Formally, intra_quay_swap_move(S,q1)applied to the quay q1∈Qchooses two
vessels πa
q1and πb
q1and exchanges their positions. Hence, neighborhood N3of a solution
S=(π, τ) is given as:
N3(S)={intra_quay_swap_move(S,q1)|q1∈Q}.
–Intra −quay insert neighborhood N4is based on a move intra_quay_insert_move
(S,q1)that takes a vessel and inserts it in another position within the same quay q1.So,
neighborhood N4(S)may be stated as:
N4(S)={intra_quay_insert_move(S,q1)|q1∈Q}.
–Intra −quay reverse neighborhood N5isbasedonamoveintra_quay_rever se_move
(S,q1)that applied to the quay q1∈Qchooses two vessels πa
q1and πb
q1and reverse the
order of the vessels between them. The corresponding neighborhood is defined as:
N5(S)={intra_quay_reverse_move(S,q1)|q1∈Q}.
–Crane assignment neighborhood N6isbasedonamoveCrane_assignment_move(v)
that changes the number of cranes assigned to a vessel v. Since the maximum number of
cranes assigned to a vessel equals to 2, execution of Crane_assignment_move(S,v)
generates new number τvof assigned cranes as τv=1+Av−τv. The corresponding
neighborhood is defined as:
N6(S)={Crane_assignment_move(S,v)|v∈V}.
The neighborhood structures are constituted by executing only feasible moves i.e., moves
that yield feasible solutions of the MBACAP-AVC. The feasibility of a move is verified
checking first the fulfillment of quays constraints. If there is no violation, each move is
evaluated determining the feasible schedule on affected quays. New schedules are determined
as already described in the context of the greedy heuristic. For the sake of simplicity, a
neighborhood structure will be referred by the name of its corresponding operator.
123
Journal of Global Optimization
4.3 Variable neighborhood descent heuristic
The previously described neighborhood structures may be employed either separately or all
together to locally improve a given solution S. Here, we propose to use them in the frame
of a variable neighborhood descent (VND) heuristic. The main reason is that a variable
neighborhood descent heuristic, at the output, returns a solution which is a local optimum for
a given set of neighborhoods. The general framework of a VND is presented at Algorithm
2. The performance of a VND heuristic depends on the order in which neighborhoods are
explored as well as on the way how the switch from one neighborhood to another during the
search is performed. As strategies to switch from one neighborhood to another we consider
basic sequential change, pipe change and so-called cyclic change. The steps of these strategies
are given in Algorithms 3–5, respectively.
We performed exhaustive testing to discover the best order of neighborhoods. Since we
are dealing with 6 neighborhoods and testing all possible orders would be time consuming,
we perform another approach where instead of considering each neighborhood separately
we consider neighborhood classes. As previously explained, we have three neighborhood
classes: intra-quay neighborhoods, inter-quay neighborhoods and crane assignment neigh-
borhood. Hence, instead of determining the order of neighborhoods we identify the order of
neighborhood classes to be used within VND. The neighborhoods within each neighborhood
class are ordered in the ascending order of their cardinality. In the intra-quay neighborhoods
class they are ordered as Intra-quay insert,Intra-quay swap ,Intra-quay reverse, while in
the inter-quay neighborhoods as Inter-quay insert and Inter-quay swap. In order to identify
the best order of the neighborhoods classes with respect to basic sequential change, cyclic
change and so-called pipe neighborhood change strategy we perform exhaustive testing. (See
the detailed computational results in Appendix A2). In all testing the best improvement search
strategy is used. The obtained results reveal:
– the best order for basic sequential VND is crane assignment neighborhood, and inter-quay
neighborhoods, and intra-quay neighborhoods.
– the best order for cyclic VND is inter-quay neighborhoods, crane assignment neighbor-
hood, and intra-quay neighborhoods.
– the best order for pipe VND is inter-quay neighborhoods, crane assignment neighborhood,
and intra-quay neighborhoods.
Among considered VND variants the best overall performance have been attained by pipe
VND using the best identified order in terms of both effectiveness and efficiency.
Algorithm 2: VND
1Input: S,kmax,type
2k←1
while k≤kmax do
3S’ ←Best-Improvement LS (S,k)
4ChangeNeighbrhood-type(S,S,k)
end
5Return S
123
Journal of Global Optimization
Algorithm 3: ChangeNeighborhood-Sequential (S,S,k)
1if Sbetter than S then
2S←S
3k←1
end
4else
5k←k+1
end
Algorithm 4: ChangeNeighborhood-Pipe (S,S,k)
1if Sbetter than S then
2S←S
end
3else
k←k+1
end
Algorithm 5: ChangeNeighborhood-Cyclic (S,S,k)
1k←k+1
2if Sbetter than S then
3S←S
end
4.4 Shaking procedure
To avoid local optima traps in which the proposed VND may be get stuck, we propose a
shaking procedure as presented in Algorithm 6. The proposed shaking procedure affects four
quays. Two quays are affected by performing inter_quay_insert_move(S,q1,q2), while
the other two quays are affected by performing a inter_quay_swap_move(S,q1,q2).In
both moves quays and vessels to be relocated are chosen at random.
Algorithm 6: Shaking-VNS
1Input: S
2Generate a random S∈N2(S)
3Generate a random S ∈N1(S)
4Return S
4.5 General Variable neighborhood search
In previous sections, we described all ingredients of our general variable neighborhood search
(GVNS). The way how they are incorporated to work together is depicted in Algorithm 7.
The stoping criterion of our GVNS is CPU time limit tmax.
123
Journal of Global Optimization
Algorithm 7: General variable neighborhood search
1tmax:the execution time limit
2S←G−FCFS()
while CPU_time ≤tmax do
3S←Shaking(S)
4S ←VND(S)
5if f(S)< f(S)then
6S←S
7k←1
end
end
8Return S
5 Computational results
The main aim of this section is to detect the size of instances that can be solved optimally
using CPLEX 12.7 MIP solver and the MIP model presented in Sect. 3. In addition, we are
interested to asses the performance of GVNS heuristic described in Sect. 4. The algorithms
were implemented in C++ and executed on an Intel Core i7 2600 CPU (2.8GHz), and 16
GB RAM. For testing purpose, test instances supplied by our industrial partner are used. The
characteristics of test instances may be summarized as follows. Time horizon, in all instances,
covers the period of 15days. The number of vessels ranges from 6 to 14 and each vessel may
request one or two products. Thus, we distinguish two types of instances: one product and
two-products instances. In the one product instances all vessels request just one product
while in two product instances we have also vessels requesting two products. Regarding
the congestion, we differentiate three scenarios: High Congestion, Medium Congestion and
Low Congestion. The congestion depends on the number of vessels arriving within the same
time window. For each choice of the number of vessels, the maximum number of requested
products and the congestion we have 3 instances, yielding 108 instances in total.
The characteristics of each six instances with the same number of vessels are summarized
in Table 1. The first column of this table indicates the index of instance. Columns 2 to 4
refers to the congestion, which is directly correlated with the arrival periods of vessels. More
precisely, as indicated in Columns 2 to 4, respectively, we distinguish three possible scenarios
of arrivals:
–Low congestion. Vessels arrive in a wide time interval. In this case, the arrival dates
ranges from 0 and 300 h;
–Medium congestion. The arrival dates are between 0 and 180h;
–High congestion. Vessels arrive in a narrow time interval. The arrival dates are in interval
from24upto90h.
Regarding the number of products requested, in each class of instances with the same number
of vessels, three first instances have a single product request, while three others have multiple
product requests. Depending on the number of products, the length of vessels and the total
demand are within intervals provided in columns “Length of vessels” and “Demand”, respec-
tively. The number of axes (or gantries) used for each vessel is either 1 or 2, see Column
“Number of axes”.
123
Journal of Global Optimization
Table 1 Characteristics of instances within the same class, i.e., with the same number of vessels
Instance Congestion Number Number Length of vessels Demand
Low Medium High of products of axes (in meters) (in tons)
1 [0,300] [0,180] [24,90] 1 1 or 2 [50,200] [5000,15000]
2 [0,300] [0,180] [24,90] 1 1 or 2 [50,200] [5000,15000]
3 [0,300] [0,180] [24,90] 1 1 or 2 [50,200] [5000,15000]
4 [0,300] [0,180] [24,90] 2 1 or 2 [100,400] [10000,30000]
5 [0,300] [0,180] [24,90] 2 1 or 2 [100,400] [10000,30000]
6 [0,300] [0,180] [24,90] 2 1 or 2 [100,400] [10000,30000]
Table 2 Planning of
unavailability periods Unavailbility periods Start Finish
1 11/06/2017 11:00 11/06/2017 16:00
2 13/06/2017 17:00 14/06/2017 04:00
3 12/06/2017 07:00 13/06/2017 00:00
4 11/06/2017 01:00 11/06/2017 09:00
The characteristics of the port are the same in all instances and maybe summarized as
follows:
– The security distance between berthed vessels Sc is equal to 5m;
– For high tide time-windows, we consider a daily period of 6h (given by weather agency);
– The terminal contains four quays with the respective lengths: 400,200,200,180 and the
respective loading rates: 2000 tones per hour (t/h), 1500 t/h, 1000 t/h, and 1000 t/h;
– The availability restriction, in this problem, is due to the planned maintenance and weather
conditions. Unavailability information is provided in Table 2.
In this section, we assess the performance of CPLEX 12.7 MIP solver used to solve the
MIP model and the proposed GVNS. The time limit for CPLEX 12.7 MIP solver was set to
120 minutes (7200 s), while the time limit of GVNS were set to 10 minutes (600 s). In order
to save space, here we present summary results, while detailed results may be found in the
appendix. The summarized results (Table 3) report the average results obtained by CPLEX
and GVNS over sets of three instances with the same number of vessels, congestion type and
the same number of requested products. The first three columns in Table 3describe number of
vessels, congestion and the maximum number of products requested, respectively. After that,
we report the average solution values and the average CPU times for CPLEX and GVNS.
The CPU times are expressed in minutes. The last column provides the average percentage
deviation between values found by CPLEX and those found by GVNS. The percentage
deviation is calculated as
GV NS_value −CPLEX_value
CPLEX_value .
The negative deviation means that the solution found by GVNS is better than the one found
by CPLEX.
From results reported in Table 3and in Appendix A3, it follows that CPLEX solved 101
out of 108 instances to optimality, while for the others provided feasible solutions without any
123
Journal of Global Optimization
Table 3 Comparison between MIP and GVNS
n Congestion # Products CPLEX GVNS % Dev.
Value Time Value Time
6 LOW 1 2064.00 0.16 2064.00 0.01 0.00
285.00 0.17 85.00 0.01 0.00
MEDIUM 1 4644.00 0.17 4644.00 0.01 0.00
2 4719.67 0.28 4719.67 0.02 0.00
HIGH 1 0.00 0.14 0.00 0.00 0.00
2 336.67 0.25 336.67 0.02 0.00
7LOW 1 0.00 0.19 0.00 0.01 0.00
20.00 0.17 0.00 0.02 0.00
MEDIUM 1 6772.67 0.24 6772.67 0.02 0.00
2 1736.67 0.29 1736.67 0.04 0.00
HIGH 1 510.00 0.16 510.00 0.02 0.00
250.00 0.27 50.00 0.10 0.00
8LOW 1 0.00 0.22 0.00 0.01 0.00
20.00 0.29 0.00 0.01 0.00
MEDIUM 1 4110.00 0.33 4110.00 0.02 0.00
2 3864.67 0.48 3864.67 0.06 0.00
HIGH 1 423.33 0.37 423.33 0.03 0.00
2 2166.67 0.79 2166.67 0.04 0.00
10 LOW 1 0.00 0.53 0.00 0.02 0.00
2 1350.00 0.35 1350.00 0.05 0.00
MEDIUM 1 8516.67 0.80 8516.67 0.14 0.00
2 10788.67 0.90 10788.67 0.11 0.00
HIGH 1 540.00 0.62 540.00 0.08 0.00
2 3696.67 4.79 3696.67 0.23 0.00
12 LOW 1 1928.33 0.73 1928.33 0.05 0.00
2 4413.67 0.92 4413.67 0.09 0.00
MEDIUM 1 10883.33 1.40 10883.33 0.17 0.00
2 13405.67 1.10 13405.67 0.88 0.00
HIGH 1 360.00 0.98 360.00 0.03 0.00
2 8213.33 120.00 6194.33 2.79 −19.89
14 LOW 1 720.00 1.06 720.00 0.04 0.00
2 2100.00 1.62 2100.00 0.10 0.00
MEDIUM 1 1527.33 1.18 1527.33 0.06 0.00
2 10356.00 42.64 9739.33 1.16 −5.71
HIGH 1 30.00 2.36 30.00 0.21 0.00
2 22653.33 120.00 13083.33 1.68 −40.85
proof of the optimality. In general, CPLEX faced difficulties to solve instances with higher
congestion and larger number of products requested. On the other hand, we may infer that
the proposed GVNS is very efficient in solving the studied problem. On small instances with
123
Journal of Global Optimization
up to 8 vessels GVNS consumes not more than 0.04 minutes, on average, to reach optimal
solutions found by CPLEX. On larger instances GVNS consumes less than 3minutes to find
a solution with equal or better quality than a solution supplied by CPLEX after 120 minutes.
Moreover, the value of a solution found by GVNS may be more than 50% better than the
solution value found by CPLEX. These findings confirm that the GVNS responded to the
main request of a heuristic approach: provide high quality solution in short time. This request
is also imposed by our industrial partner since sometimes loading and production schedules
must be (re)-calculated almost instantly.
6 Conclusion
In this paper we study the multi-quay berth allocation and crane assignment problem with
availability constraints. The problem corresponds to a real-world problem faced by our indus-
trial partner. This problem is tackled in terms of both, modeling aspect and heuristic solution
approach. Namely, the problem is first modeled as a mixed integer linear programming prob-
lem. The computational tractability of this model is assessed by CPLEX MIP solver. It turns
out that CPLEX consumes a lot of CPU time to solve this model even sometimes failing to
guarantee the optimality of the provided solution. Since in reality the high quality solution
is needed in a short time we resorted to a heuristic solution approach. For this purpose we
develop a general variable neighborhood search (GVNS) based approach. In order to achieve
high performance of the proposed approach, the heuristic is carefully tailored by conducting
extensive computational studies to determine the best order of neighborhoods and the best
variable neighborhood descent to be used. The computational results reveal that our GVNS
answered to the great extent to the request of providing high quality solution in short time.
The future research may include developing a hyper heuristic framework for solving
broader class of berth allocation problems with integrated crane assignment problems or not
as well as with and without unavailability constraints.
Acknowledgements This work has been supported by ELSAT project, which is co-financed by the European
Union with the European Regional Development Fund, the French state and the Hauts de France Region
Council. We would like to thank the reviewers for their insightful comments on the paper.
Appendix A1
Here we present the procedure to construct a feasible planning for each vessel (see Fig. 1).
123
Journal of Global Optimization
Fig. 1 Constructive heuristic for generating a feasible planning
Appendix A2
Here, we provide the detailed comparison of three different VNDs (basic sequential VND,
pipe VND and cyclic VND) using different orders of neighborhood classes. We distinguish
6 different orders of neighborhood classes because we have three neighborhood classes. The
distinguished orders are as follows:
–order 1: inter-quay neighborhoods, intra-quay neighborhoods, and crane assignment
neighborhood;
–order 2: inter-quay neighborhoods, crane assignment neighborhood, and intra-quay
neighborhoods;
–order 3: intra-quay neighborhoods, inter-quay neighborhoods, and crane assignment
neighborhood;
–order 4: intra-quay neighborhoods, crane assignment neighborhood, and inter-quay
neighborhoods;
123
Journal of Global Optimization
Table 4 Comparison of VNDs with different orders of neighborhoods
VND vari-
ant
Order 1 Order 2 Order 3 Order 4 Order 5 Order 6
Value Time Value Time Value Time Value Time Value Time Value Time
Sequential
VND
8610.00 1.78 7301.67 2.10 7211.67 1.20 7426.67 3.47 6675.67 4.24 6641.67 1.84
Cyclic
VND
7263.33 2.11 7015.00 3.01 7076.67 2.48 7789.33 2.63 7278.33 1.67 8498.33 2.50
Pipe VND 7723.33 1.83 6556.67 0.95 7946.67 1.40 7678.33 1.03 6935.00 1.65 7838.33 1.29
–order 5: crane assignment neighborhood, intra-quay neighborhoods, and inter-quay
neighborhoods;
–order 6: crane assignment neighborhood, inter-quay neighborhoods, and intra-quay
neighborhoods;
As stated in Sect. 4, the order of neighborhoods within each class is set according to
the increasing cardinality. In the intra-quay neighborhoods class the order is: Intra-quay
insert, Intra-quay swap , Intra-quay reverse neighborhood; while in the inter-quay the order
is Inter-quay insert and Inter-quay swap neighborhood.
Each variant is employed within the GVNS scheme (Algorithm 7) using 6 different orders.
For testing purposes we used the set of largest instances with the number of vessels equal to 14.
The summary results are provided in Table 4. For each variant and each order of neighborhood
classes we report the average solution value and average CPU time consumption in minutes
over the set of largest instances.
From the presented results, we infer that the best order for the basic sequential VND is
“order 6”, while for the others the best order is “order 2”. Among all tested variants, the best
overall performance has been exhibited by pipe VND employing “order 2”.
Appendix A3
Detailed results for entire data set are presented in Tables 5,6,7,8,9,10. The emphasized
values in the tables represent solution values found by CPLEX, but which optimality were
not proven within 2h of computation time.
123
Journal of Global Optimization
Table 5 Results on instances with n=6
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
HIGH 1 1 0.00 0.15 0.00 0.00 0.00
20.00 0.12 0.00 0.01 0.00
30.00 0.14 0.00 0.01 0.00
Average 0.00 0.14 0.00 0.00 0.00
21 0.00 0.15 0.00 0.01 0.00
2 504.00 0.19 504.00 0.02 0.00
3 506.00 0.42 506.00 0.02 0.00
Average 336.67 0.25 336.67 0.02 0.00
MEDIUM 1 1 6640.00 0.15 6640.00 0.01 0.00
2 3760.00 0.24 3760.00 0.02 0.00
3 3532.00 0.13 3532.00 0.01 0.00
Average 4644.00 0.17 4644.00 0.01 0.00
2 1 4005.00 0.32 4005.00 0.01 0.00
2 5184.00 0.42 5184.00 0.02 0.00
3 4970.00 0.11 4970.00 0.02 0.00
Average 4719.67 0.28 4719.67 0.02 0.00
LOW 1 1 3596.00 0.14 3596.00 0.01 0.00
20.00 0.22 0.00 0.01 0.00
3 2596.00 0.12 2596.00 0.02 0.00
Average 2064.00 0.16 2064.00 0.01 0.00
21 0.00 0.23 0.00 0.00 0.00
2 255.00 0.11 255.00 0.02 0.00
30.00 0.17 0.00 0.01 0.00
Average 85.00 0.17 85.00 0.01 0.00
Table 6 Results on instances with n=7
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
HIGH 1 1 1530.00 0.20 1530.00 0.05 0.00
20.00 0.10 0.00 0.01 0.00
30.00 0.19 0.00 0.00 0.00
Average 510.00 0.16 510.00 0.02 0.00
21 0.00 0.13 0.00 0.01 0.00
20.00 0.16 0.00 0.07 0.00
3 150.00 0.51 150.00 0.22 0.00
Average 50.00 0.27 50.00 0.10 0.00
123
Journal of Global Optimization
Table 6 continued
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
MEDIUM 1 1 9500.00 0.25 9500.00 0.01 0.00
2 4698.00 0.22 4698.00 0.02 0.00
3 6120.00 0.25 6120.00 0.03 0.00
Average 6772.67 0.24 6772.67 0.02 0.00
2 1 300.00 0.19 300.00 0.03 0.00
2 770.00 0.34 770.00 0.05 0.00
3 4140.00 0.33 4140.00 0.04 0.00
Average 1736.67 0.29 1736.67 0.04 0.00
LOW 1 1 0.00 0.14 0.00 0.00 0.00
20.00 0.20 0.00 0.01 0.00
30.00 0.24 0.00 0.01 0.00
Average 0.00 0.19 0.00 0.01 0.00
21 0.00 0.11 0.00 0.01 0.00
20.00 0.24 0.00 0.02 0.00
30.00 0.16 0.00 0.02 0.00
Average 0.00 0.17 0.00 0.02 0.00
Table 7 Results on instances with n=8
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
HIGH 1 1 180.00 0.41 180.00 0.01 0.00
2 1090.00 0.43 1090.00 0.07 0.00
30.00 0.27 0.00 0.01 0.00
Average 423.33 0.37 423.33 0.03 0.00
21 0.00 0.31 0.00 0.03 0.00
20.00 1.19 0.00 0.03 0.00
3 6500.00 0.89 6500.00 0.05 0.00
Average 2166.67 0.79 2166.67 0.04 0.00
MEDIUM 1 1 5130.00 0.28 5130.00 0.01 0.00
2 7200.00 0.31 7200.00 0.02 0.00
30.00 0.39 0.00 0.01 0.00
Average 4110.00 0.33 4110.00 0.02 0.00
2 1 1200.00 0.32 1200.00 0.02 0.00
2 6056.00 0.63 6056.00 0.06 0.00
3 4338.00 0.49 4338.00 0.11 0.00
Average 3864.67 0.48 3864.67 0.06 0.00
123
Journal of Global Optimization
Table 7 continued
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
LOW 1 1 0.00 0.17 0.00 0.01 0.00
20.00 0.17 0.00 0.01 0.00
30.00 0.32 0.00 0.01 0.00
Average 0.00 0.22 0.00 0.01 0.00
21 0.00 0.32 0.00 0.01 0.00
20.00 0.23 0.00 0.02 0.00
30.00 0.32 0.00 0.02 0.00
Average 0.00 0.29 0.00 0.01 0.00
Table 8 Results on instances with n=10
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
HIGH 1 1 1620.00 0.62 1620.00 0.21 0.00
20.00 0.52 0.00 0.02 0.00
30.00 0.72 0.00 0.02 0.00
Average 540.00 0.62 540.00 0.08 0.00
2 1 2790.00 4.42 2790.00 0.12 0.00
20.00 3.76 0.00 0.36 0.00
3 8300.00 6.19 8300.00 0.19 0.00
Average 3696.67 4.79 3696.67 0.23 0.00
MEDIUM 1 1 12870.00 0.75 12870.00 0.29 0.00
2 9350.00 0.72 9350.00 0.06 0.00
3 3330.00 0.94 3330.00 0.07 0.00
Average 8516.67 0.80 8516.67 0.14 0.00
2 1 12690.00 0.38 12690.00 0.09 0.00
2 7616.00 0.68 7616.00 0.15 0.00
3 12060.00 1.64 12060.00 0.09 0.00
Average 10788.67 0.90 10788.67 0.11 0.00
LOW 1 1 0.00 0.62 0.00 0.01 0.00
20.00 0.49 0.00 0.02 0.00
30.00 0.47 0.00 0.02 0.00
Average 0.00 0.53 0.00 0.02 0.00
21 0.00 0.28 0.00 0.02 0.00
2 4050.00 0.33 4050.00 0.07 0.00
30.00 0.45 0.00 0.04 0.00
Average 1350.00 0.35 1350.00 0.05 0.00
123
Journal of Global Optimization
Table 9 Results on instances with n=12
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
HIGH 1 1 1080.00 1.12 1080.00 0.03 0.00
20.00 0.97 0.00 0.03 0.00
30.00 0.86 0.00 0.03 0.00
Average 360.00 0.98 360.00 0.03 0.00
2121641.00 120.00 16008.00 1.96 −26.03
2822.00 120.00 635.00 6.00 −22.75
32177.00 120.00 1940.00 0.40 −10.89
Average 8213.33 120.00 6194.33 2.79 −19.89
MEDIUM 1 1 12630.00 2.06 12630.00 0.33 0.00
2 9258.00 0.75 9258.00 0.06 0.00
3 10762.00 1.41 10762.00 0.12 0.00
Average 10883.33 1.40 10883.33 0.17 0.00
2 1 15030.00 0.95 15030.00 2.29 0.00
2 17517.00 1.52 17517.00 0.20 0.00
3 7670.00 0.84 7670.00 0.15 0.00
Average 13405.67 1.10 13405.67 0.88 0.00
LOW 1 1 5785.00 1.12 5785.00 0.08 0.00
20.00 0.39 0.00 0.04 0.00
30.00 0.66 0.00 0.03 0.00
Average 1928.33 0.73 1928.33 0.05 0.00
2 1 5493.00 0.72 5493.00 0.09 0.00
2 7748.00 1.23 7748.00 0.16 0.00
30.00 0.81 0.00 0.04 0.00
Average 4413.67 0.92 4413.67 0.09 0.00
Table 10 Results on instances with n=14
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
HIGH 1 1 0.00 3.30 0.00 0.04 0.00
290.00 1.17 90.00 0.55 0.00
30.00 2.62 0.00 0.04 0.00
Average 30.00 2.36 30.00 0.21 0.00
2120960.00 120.00 11700.00 2.18 −44.18
226850.00 120.00 12190.00 2.04 −54.60
320150.00 120.00 15360.00 0.83 −23.77
Average 22653.33 120.00 13083.33 1.68 −40.85
123
Journal of Global Optimization
Table 10 continued
Congestion #Products Instance CPLEX GVNS % Dev.
Value Time Value Time
MEDIUM 1 1 810.00 1.08 810.00 0.04 0.00
2 3772.00 1.23 3772.00 0.07 0.00
30.00 1.25 0.00 0.07 0.00
Average 1527.33 1.18 1527.33 0.06 0.00
2110800.00 120.00 8950.00 0.28 −17.13
2 12240.00 4.48 12240.00 0.20 0.00
3 8028.00 3.43 8028.00 2.99 0.00
Average 10356.00 42.64 9739.33 1.16 −5.71
LOW 1 1 1440.00 0.69 1440.00 0.04 0.00
20.00 1.50 0.00 0.03 0.00
3 720.00 0.98 720.00 0.06 0.00
Average 720.00 1.06 720.00 0.04 0.00
2 1 450.00 0.73 450.00 0.14 0.00
2 5850.00 1.30 5850.00 0.10 0.00
30.00 2.82 0.00 0.07 0.00
Average 2100.00 1.62 2100.00 0.10 0.00
References
1. Agra, A., Oliveira, M.: Mip approaches for the integrated berth allocation and quay crane assignment and
scheduling problem. Eur. J. Oper. Res. 264(1), 138–148 (2018)
2. Barros, V.H., Costa, T.S., Oliveira, A.C., Lorena, L.A.: Model and heuristic for berth allocation in tidal
bulk ports with stock level constraints. Comput. Ind. Eng. 60(4), 606–613 (2011)
3. Becker, C., Scholl, A.: A survey on problems and methods in generalized assembly line balancing. Eur.
J. Oper. Res. 168(3), 694–715 (2006)
4. Bierwirth, C., Meisel, F.: A follow-up survey of berth allocation and quay crane scheduling problems in
container terminals. Eur. J. Oper. Res. 244(3), 675–689 (2015)
5. Blazewicz, J., Cheng, T.E., Machowiak, M., Oguz, C.: Berth and quay crane allocation: a moldable task
scheduling model. J. Oper. Res. Soc. 62(7), 1189–1197 (2011)
6. Chang, D., Jiang, Z., Yan, W., He, J.: Integrating berth allocation and quay crane assignments. Transp.
Res. Part E: Logist Transp. Rev. 46(6), 975–990 (2010)
7. Correcher, J.F., Alvarez-Valdes, R.: A biased random-key genetic algorithm for the time-invariant berth
allocation and quay crane assignment problem. Expert Syst. Appl. 89, 112–128 (2017)
8. Correcher, J.F., Alvarez-Valdes, R., Tamarit, J.M.: A New Mixed Integer Linear Model for the Berth
Allocation and Quay Crane Assignment problem. Department of Statistics and Operations Research.
University of Valencia, Valencia (2017)
9. Diabat, A., Theodorou, E.: An integrated quay crane assignment and scheduling problem. Comput. Ind.
Eng. 73, 115–123 (2014)
10. Ernst, A.T., O˘guz, C., Singh, G., Taherkhani, G.: Mathematical models for the berth allocation problem
in dry bulk terminals. J. Sched. 20(5), 459–473 (2017)
11. Fu, Y.M., Diabat, A.: A Lagrangian relaxation approach for solving the integrated quay crane assignment
and scheduling problem. Appl. Math. Model. 39(3–4), 1194–1201 (2015)
12. Giallombardo, G., Moccia, L., Salani, M., Vacca, I.: Modeling and solving the tactical berth allocation
problem. Transp. Res. Part B: Methodol. 44(2), 232–245 (2010)
13. Mladenovi´c, N., Hansen, P.: Variableneighborhood search. Comput. Oper. Res. 24(11), 1097–1100 (1997)
14. Hansen, P., Mladenovi´c, N., Todosijevi´c, R., Hanafi, S.: Variable neighborhood search: basics and variants.
EURO J. Comput. Optim. 5(3), 423–454 (2017)
123
Journal of Global Optimization
15. Hansen, P., O˘guz, C., Mladenovi´c, N.: Variable neighborhood search for minimum cost berth allocation.
Eur. J. Oper. Res. 191(3), 636–649 (2008)
16. Iris, Ç., Pacino, D., Ropke, S.: Improved formulations and an adaptivelarge neighborhood search heuristic
for the integrated berth allocation and quay crane assignment problem. Transp. Res. Part E: Logist. Transp.
Rev. 105, 123–147 (2017)
17. Iris, Ç., Pacino, D., Ropke, S., Larsen, A.: Integrated berth allocation and quay crane assignment problem:
set partitioning models and computational results. Transp. Res. Part E: Logist. Transp. Rev. 81, 75–97
(2015)
18. Lalla-Ruiz, E., Expósito-Izquierdo, C., Melián-Batista, B., Moreno-Vega, J.M.: A set-partitioning-based
model for the berth allocation problem under time-dependent limitations. Eur. J. Oper. Res. 250(3),
1001–1012 (2016)
19. Liang, C., Huang, Y., Yang, Y.: A quay crane dynamic scheduling problem by hybrid evolutionary algo-
rithm for berth allocation planning. Comput. Ind. Eng. 56(3), 1021–1028 (2009)
20. Meisel, F., Bierwirth, C.: Heuristics for the integration of crane productivity in the berth allocation
problem. Transp. Res. Part E: Logist. Transp. Rev. 45(1), 196–209 (2009)
21. Mjirda, A., Todosijevi´c, R., Hanafi, S., Hansen, P., Mladenovi´c, N.: Sequential variable neighborhood
descent variants: an empirical study on the traveling salesman problem. Int. Trans. Oper. Res. 24(3),
615–633 (2017)
22. Park, Y.M., Kim, K.H.: A scheduling method for berth and quay cranes. In: Container Terminals and
Automated Transport Systems, pp. 159–181. Springer (2005)
23. Pratap, S., Nayak, A., Kumar, A., Cheikhrouhou, N., Tiwari, M.K.: An integrated decision support system
for berth and ship unloader allocation in bulk material handling port. Comput. Ind. Eng 106, 386–399
(2017)
24. Raa, B., Dullaert, W., Van Schaeren, R.: An enriched model for the integrated berth allocation and quay
crane assignment problem. Expert Syst. Appl. 38(11), 14136–14147 (2011)
25. Rodriguez-Molins, M., Salido, M.A., Barber, F.: A grasp-based metaheuristic for the berth allocation
problem and the quay crane assignment problem by managing vessel cargo holds. Appl. Intell 40(2),
273–290 (2014)
26. Umang, N., Bierlaire, M., Vacca, I.: Exact and heuristic methods to solve the berth allocation problem in
bulk ports. Transp. Res. Part E: Logist. Transp. Rev. 54, 14–31 (2013)
27. Vacca, I., Salani, M., Bierlaire, M.: An exact algorithm for the integrated planning of berth allocation and
quay crane assignment. Transp. Sci. 47(2), 148–161 (2013)
28. Xu, D., Li, C.L., Leung, J.Y.T.: Berth allocation with time-dependent physical limitations on vessels. Eur.
J. Oper. Res. 216(1), 47–56 (2012)
29. Yang, C., Wang, X., Li, Z.: An optimization approach for coupling problem of berth allocation and quay
crane assignment in container terminal. Comput. Ind. Eng. 63(1), 243–253 (2012)
30. Yu, T., Qiang, Z., Benfei, Z.: A genetic algorithm based on spatiotemporal conflict between continuous
berth-allocation and time-varying specific crane assignment. Eng. Optim. 51(3), 1–22 (2019)
Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in published maps and
institutional affiliations.
123
A preview of this full-text is provided by Springer Nature.
Content available from Journal of Global Optimization
This content is subject to copyright. Terms and conditions apply.