Modeling, Computing and Data Handling Methodologies For Maritime Transportation
Modeling, Computing and Data Handling Methodologies For Maritime Transportation
Charalampos Konstantopoulos
Grammati Pantziou Editors
Modeling, Computing
and Data Handling
Methodologies
for Maritime
Transportation
Intelligent Systems Reference Library
Volume 131
Series editors
Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland
e-mail: kacprzyk@ibspan.waw.pl
The aim of this series is to publish a Reference Library, including novel advances
and developments in all aspects of Intelligent Systems in an easily accessible and
well structured form. The series includes reference works, handbooks, compendia,
textbooks, well-structured monographs, dictionaries, and encyclopedias. It contains
well integrated knowledge and current information in the field of Intelligent
Systems. The series covers the theory, applications, and design methods of
Intelligent Systems. Virtually all disciplines such as engineering, computer science,
avionics, business, e-commerce, environment, healthcare, physics and life science
are included.
Modeling, Computing
and Data Handling
Methodologies for Maritime
Transportation
123
Editors
Charalampos Konstantopoulos Grammati Pantziou
Department of Informatics Department of Informatics
University of Piraeus Technological Educational Institute
Piraeus of Athens
Greece Athens
Greece
Innovation is the keyword that drives and brings together the scientific and
commercial world these days. Computer science and technologies are usually
hidden beneath the success, especially in the disciplines well established before IT
revolution in the end of the last century. This is exactly the case in maritime
transportation: Ideas of e-navigation, GPS-based logistics, artificial intelligence in
routing, or cost optimization are only mere examples of what can be achieved when
traditional transportation approaches are boosted by aptly applied computer tech-
nologies. Despite the fact that a significant part of maritime industry has already
been somehow IT-supported, there are still issues and aspects waiting to be solved,
implemented, deployed, or improved.
A well-known problem of any interdisciplinary research is a lack of common
understanding between the specialists. In technical sciences, often there are multiple
discipline-specific terms that might be unclear to researches from other fields.
An AI solution applied to marine technology may be misunderstood by IT
researchers as well as mariners. The former might not be aware of the problem’s
roots and organizational or legal constraints (e.g., COLREGs), while the latter
would be puzzled with terms such as “metaheuristic”. Thus, it is crucial to establish
a communication platform and knowledge exchange. Any interdisciplinary meeting
or publication is a step forward. And this precisely is the root of the “Modeling,
Computing and Data Handling Methodologies for Maritime Transportation”
volume.
This volume comprises of seven chapters proposing solid IT-based models and
systems in various maritime transportation fields, ranging from shipping safety and
security issues to maritime logistics optimization. Three of the chapters are
extended versions of papers from the 1st Workshop on Modeling, Computing and
Data Handling for Marine Transportation (MCDMT 2015) in association with the
6th International Conference on Information, Intelligence, Systems and
Applications (IISA 2015), July 6–8, 2015, Corfu, Greece. Such workshops as
ix
x Foreword
Joanna Szłapczyńska
Division of Computer Science Foundations and Computer Networks
Department of Navigation
Faculty of Navigation
Gdynia Maritime University
Gdynia, Poland
Preface
xi
xii Preface
From our position, we wish to thank Prof. George Tsichritzis for his constant
support and help during the preparation of this volume. We would also like to thank
all the authors for their contributions and the reviewers for their assessment of the
chapters. We hope that the readers will find the contents of this edited volume
interesting and useful.
xv
xvi Contents
Noura Al-Dhaheri Maqta Gateway, Abu Dhabi Ports, Abu Dhabi, United Arab
Emirates
Eleni Charou Institute of Informatics and Telecommunications, National Centre
for Scientific Research “DEMOKRITOS”, Aghia Paraskevi, Greece
Myun-Seok Cheon Corporate Strategic Research, ExxonMobil Research and
Engineering Company, Annandale, NJ, USA
Tatjana Davidović Mathematical Institute, Serbian Academy of Sciences and
Arts, Belgrade, Serbia
Theodore Giannakopoulos Institute of Informatics and Telecommunications,
National Centre for Scientific Research “DEMOKRITOS”, Aghia Paraskevi,
Greece
Murat M. Gunal Industrial Engineering Department, Turkish Naval Academy,
Tuzla, Istanbul, Turkey
Sotirios Gyftakis Institute of Informatics and Telecommunications, National
Centre for Scientific Research “DEMOKRITOS”, Aghia Paraskevi, Greece
Stuart Harwood Corporate Strategic Research, ExxonMobil Research and
Engineering Company, Annandale, NJ, USA
Andrew John Liverpool Logistics, Offshore and Marine Research Institute,
Liverpool John Moores University, Liverpool, UK
Charalampos Konstantopoulos Department of Informatics, University of
Piraeus, Piraeus, Greece
Ioanna Koromila Institute of Nuclear and Radiological Sciences and Technology,
Energy and Safety, National Centre for Scientific Research “DEMOKRITOS”,
Aghia Paraskevi, Greece; Ship Dynamics, Stability and Safety Research Group,
Department of Naval Architecture and Marine Engineering, National Technical
University of Athens, Athens, Greece
xix
xx Contributors
xxi
xxii Abbreviations
Abstract The Minimum Cost Hybrid Berth Allocation problem is defined as fol-
lows: for a given list of vessels with fixed handling times, the appropriate intervals
in berth and time coordinates have to be determined in such a way that the total cost
is minimized. The costs are influenced by positioning of vessels, time of berthing,
and time of completion for all vessels. Having in mind that the speed of finding
high-quality solutions is of crucial importance for designing an efficient and reli-
able decision support system in container terminal, metaheuristic methods are the
obvious choice for solving MCHBAP. In this chapter, we survey Evolutionary Algo-
rithm (EA), Bee Colony Optimization (BCO), and Variable Neighborhood Descent
(VND) metaheuristics, and propose General Variable Neighborhood Search (GVNS)
approach for MCHBAP. All four metaheuristics are evaluated and compared against
each other and against exact solver on real-life and randomly generated instances
from the literature. The analysis of the obtained results shows that on instances reflect-
ing real-life situations, all four metaheuristics were able to find optimal solutions in
short execution times. The newly proposed GVNS showed to be superior over the
remaining three metaheuristics in the sense of running times. Randomly generated
instances were out of reach for exact solver, while EA, BCO, VND, and GVNS eas-
ily provided high-quality solutions in each run. The results obtained on generated
data set show that the newly proposed GVNS outperformed EA, BCO, and VND
regarding the running times while preserving the high quality of solutions. The com-
putational analysis indicates that MCHBAP can be successfully addressed by GVNS
and we believe that it is applicable to related problems in maritime transportation.
N. Kovač
Maritime Faculty, University of Montenegro, Dobrota 36, 85330 Kotor, Montenegro
e-mail: knatasa@ac.me
Z. Stanimirović (B)
Faculty of Mathematics, University of Belgrade, Studentski trg 16,
11000 Belgrade, Serbia
e-mail: zoricast@matf.bg.ac.rs
T. Davidović
Mathematical Institute, Serbian Academy of Sciences and Arts, Kneza Mihaila 36/III,
11000 Belgrade, Serbia
e-mail: tanjad@mi.sanu.ac.rs
© Springer International Publishing AG 2018 1
C. Konstantopoulos and G. Pantziou (eds.), Modeling, Computing and Data
Handling Methodologies for Maritime Transportation, Intelligent Systems
Reference Library 131, DOI 10.1007/978-3-319-61801-2_1
2 N. Kovač et al.
1.1 Introduction
The effective and economic usage of port resources represents one of the most impor-
tant issues in maritime transportation. Among all studied topics in the optimization of
maritime transportation, Berth Allocation Problem (BAP) and its numerous variants
take significant place. BAP assumes that the vessels have to be processed during a
considered planning horizon while also taking into account the layout of the port.
Vessels are essentially a set of following data: size, expected arrival time, estimated
handling time, the most favored berth in the port, as well as the penalties that are
used in the objective function. BAP has a goal to set each vessel in appropriate berth
and time intervals in such a way that the cost function is optimized. NP-hardness of
BAP is discussed in [25].
BAP has been intensively studied in recent literature [13, 20, 42]. Sometimes it
is combined with another resources, called cranes, which are usually treated in the
second stage of problem solving [33]. Various objective functions were considered for
optimization. Some studies deal with minimization of the total waiting and handling
times [1, 19], whereas the others consider the minimization of total costs for waiting
and handling, and the costs of earliness or delay in completion as the objective [16].
The classification scheme for BAPs was proposed in [2] and elaborated in [3]. It is
based on four attributes: spatial, temporal, handling time, and performance measure.
According to the spatial attribute, BAPs can be discrete, continuous, hybrid or
draft. In the discrete case (DBAP), a quay is divided into a finite number of sections,
denoted as berths. DBAP assumes that each berth can serve one vessel at a time and
each vessel is allowed to occupy only one berth at a time. In addition, a given time
horizon is also measured in discrete units. In the continuous case, a calling vessel
can be allocated at any position in a quay with a requirement to avoid overlapping
with other vessels. Hybrid layout (HBAP) is obtained in the BAP formulation if
quay is partitioned in berths and if vessels can share one berth or vessels can occupy
more than one berth. Finally, in the fourth layout, berthing position of a vessel also
depends on its draft.
The most common BAP models with respect to the temporal attribute are static
and dynamic. In the case of static BAP, the arrival times are either not specified or
they may be changed during the berthing process, i.e., they are considered as soft
constraints of the problem. The fact that the arrival times are not specified means
that the considered vessels are already at the port and that they can be berthed
instantaneously. The second case of static BAP considers the possibility that the
vessels can be either slowed down or speeded up at a certain cost. In the dynamic
BAP, the arrival times of the vessels are fixed, meaning that vessels cannot be berthed
before their expected time of arrival.
1 Metaheuristic Approaches for the Minimum Cost … 3
According to the handling time attribute, BAPs are classified in four categories:
BAPs with fixed handling times, with handling times depending on the berthing
position, on the assignment of Quay Cranes (QCs), or on a QC operation schedule.
The last attribute actually corresponds to the objective function of a considered
BAP. The value of the objective function can depend on waiting time of a vessel,
handling time of a vessel, completion time of a vessel, speedup of a vessel to reach
the terminal before the expected arrival time, tardiness of a vessel against the given
due date, berthing of a vessel apart from its desired berthing position, and some other
factors. Detailed survey of BAP variants can be found in [3, 36].
Various solution approaches to BAP have been proposed in the literature up to
now. In practice, it is important to have an efficient decision support system for
helping the port manager to trade-off between the quickness of vessel service and
the economic usage of the vessels at the port. When it is taken into the consideration
that both container vessels and the port’s resources impose great costs, it is beneficial
for them to be utilized in the best possible way. Ports are highly dynamic systems and
the manager usually has to make the decision in very short time. Situation in the port
is sometimes changing on a minute basis, and therefore, seconds can be crucial for
making a right decision. Because of this, it is of high importance to develop efficient
optimization algorithm that will provide the manager with necessary data. Therefore,
only few papers propose exact methods as solution approach [32], mostly in some
special considerations of BAP. On the other hand, the majority of papers use heuristic
methods, such as Lagrangean relaxation [19], Branch-and-Bound-based heuristic [1],
etc. Having in mind the complexity of the problem and the need for efficient providing
a high-quality solution, the metaheuristic methods, such as simulated annealing [29],
tabu search [6], ant colony optimization [5], particle swarm optimization [41], etc.,
are the natural choice for BAP and its variants. Detailed overview of the metaheuristic
approaches for BAP can be found in [23].
In this chapter, the static Minimum Cost Hybrid Berth Allocation Problem
(MCHBAP) is considered. This variant of BAP does not involve QC schedul-
ing, as it is assumed that each berth is equipped by a crane. According to the
notation from [2], MCHBAP is classified as hybr|stat|fix| (w1 pos + w2 speed +
w3 wait + w4 tard). The value for spatial attribute is set to hybr, as the model consid-
ered in this work is inspired by the model of [35] and it corresponds to the case shown
in Fig. 3d from [2]. The objective function is a weighted sum of four components:
berthing of a vessel apart from its favored berthing position, speeding up or waiting
of a vessel with respect to the expected arrival time, and tardiness of a vessel against
its due dates. It is adapted from paper [35] dealing with static MCHBAP.
Regarding solution approaches to MCHBAP, the Mixed Integer Linear Program-
ming (MILP) formulation is proposed in [8] and it was used within the CPLEX
commercial software and three MIP-based heuristics. However, due to the formu-
lation complexity, none of the MIP based heuristics was able to give satisfactory
results for problem instances involving more than 20 vessels. These results indicate
that a metaheuristic would be a promising approach for larger problem instances of
MCHBAP. In this chapter, we provide a survey of three metaheuristic approaches
for MCHBAP: Bee Colony Optimization (BCO) [22], Evolutionary algorithm (EA)
4 N. Kovač et al.
[24], and Variable Neighborhood Descent (VND) [7] and propose General Variable
Neighborhood Search (GVNS) as a new one.
Evolutionary algorithms are adaptive, global search techniques that exploit the
concepts of natural adaptation and selective breeding of organisms [17]. EAs work
with a population of individuals, where each individual represents a possible solution
of the given problem. The main goal of EA is to increase the quality of individuals
and the whole population by iteratively applying genetic operators, such as selection,
crossover, mutation, etc. In the literature, there are numerous studies that propose
EAs as solution methods to different variants of BAP. Goh and Lim [12] considered
a NP-complete variant of BAP, named as Ship Berthing Problem. The performance
of three metaheuristic methods designed for this variant of BAP was investigated in
[12]: Randomized Local Search, Tabu Search and Genetic Algorithms. The problem
of determining a dynamic berth assignment in the public berth system was considered
by Nishimura et al. [31]. A Genetic Algorithm was proposed as solution method,
producing good quality solutions in reasonable amount of computational time. Imai
et al. [18] introduced the variant of BAP at a multi-user container terminal with
indented berths, formulated it as a integer linear program, and designed a GA method
to solve the considered problem. The discrete dynamic berth scheduling problem
that minimizes the total service time of all the vessels was studied by Han et al.
[14]. A hybrid method, named as GASA, representing a combination of Genetic
Algorithm and Simulated Annealing, was proposed as solution approach in [14].
The computational results showed that GASA outperformed pure GA in the sense
of solution quality and running times. In [4], a hybrid parallel GA, which combined
parallel GA and heuristic algorithm, is applied to a dynamic berth allocation and
quay crane assignments. An GA-based optimization heuristic was first proposed in
the literature by Theofanis et al. [40] when solving the dynamic berth scheduling
problem. Another EA-based optimization method was designed by [24] to solve
MCHBAP with fixed handling times of vessels. As in many variants of BAP, the
main problem when implementing a GA method for MCHBAP is large number
of infeasible solutions that may appear during the GA run, mostly when applying
crossover operator. For this reason, the EA-based method proposed in [24] excludes
crossover as variation operators. In order to preserve the diversity of individuals in the
population and to increase the quality of solutions, the authors of [24] involved four
types of mutation operator and a two-phase improvement strategy in the designed
EA-based approach.
BCO is an optimization algorithm based on the behavior of honey bees in nature.
The core idea of BCO is to explore the principles which bees use when searching for
food in nature, and to design optimization algorithms that would efficiently search for
the optimal solution of the given combinatorial optimization problem [9]. In the liter-
ature, one can find numerous examples of successful applications of BCO to various
transportation, location, and scheduling problems, majority of them being summa-
rized in [39]. In [22], the constructive variant of BCO for MCHBAP is developed and
it is proven that the optimal solution is reachable. To enhance the performance of the
BCO algorithm, three improvement techniques are proposed and their complexities
are discussed.
1 Metaheuristic Approaches for the Minimum Cost … 5
For a given set of incoming vessels that aim to be served within a pre-specified
planning horizon, a solution of MCHBAP defines a berthing position and a berthing
time in such a way that the total berthing cost is minimized. This cost for each vessel
consists of four components: costs of positioning a vessel apart from its favored berth,
speeding up or waiting caused by missing the estimated arrival time of a vessel, and
tardiness of completion for a vessel. It is assumed that the handling (operation)
6 N. Kovač et al.
times of all vessels are known input parameters. As illustrated in Fig. 1.1, a planning
horizon can be presented by a rectangle with a given space and time coordinates.
A solution of MCHBAP defines packing small rectangles (representing vessels)
into the given planning horizon. It is assumed that both coordinates are discrete, as
space is modeled by the berth indices whereas the time is divided into segments
in such a way that berthing time of each vessel can be represented by an integer.
Furthermore, the height of each rectangle representing a vessel is equal to the length
of the corresponding vessel (expressed by the number of berths), while its width
corresponds to the handling time of that vessel. The reference point of a vessel
(marked by the index of vessel in Fig. 1.1) is given in the lower-left corner of a
rectangle and its coordinates are equal to berthing position and berthing time of the
corresponding vessel. An allocation is feasible if all rectangles can fit in the given
planning horizon without overlapping (Fig. 1.1).
MCHBAP is described by the input data, objective function, and a set of constrains
that define feasible solutions. The input data of MCHBAP are listed below:
l Number of vessels;
m Number of berthing positions;
T Number of time segments in the planning horizon;
vessel A set of 9-tuples containing data needed to describe all l vessels, i.e.,
where
vesselk = {ETAk , ak , bk , dk , sk , c1k , c2k , c3k , c4k }, k = 1, . . . , l.
1 Metaheuristic Approaches for the Minimum Cost … 7
l
c1k σk +c2k (ETAk −Atk )+ +c3k (Atk −ETAk )+ +c4k (Dtk −dk )+ , (1.1)
k=1
where
T
m
σk = {|i − sk | : position (t, i) is assigned to vessel k} ,
t=1 i=1
a − b, if a > b,
(a − b)+ =
0, otherwise,
and Dtk = Atk + ak /bk represents the departure time of the vesselk ,
Dtk ∈ {1, 2, . . . , T }. Namely, if only one crane is used to serve the vesselk , the
required processing time is ak . However, if the vesselk occupies more berths (each
equipped by a crane), the processing time will be reduced bk times.
According to the definition of the objective function given in [35], σk is expressed
by the given double sum. It can be explained as follows: as the vesselk can occupy
8 N. Kovač et al.
several berths and only one is preferred (which usually means that it contains the
required equipment for serving the vessel), all other allocated berths have to be
penalized. The lack of the proper equipment on these berths requires the engagement
of the additional equipment and/or labor. All that increases the costs of handling the
vessel. Finally, (a − b)+ denotes that term has impact only if its value is positive.
The MILP formulation of MCHBAP was proposed in [8] and used within CPLEX
exact solver for solving small to medium size problem instances. In addition, it was
incorporated into MIP-based heuristic methods to obtain sub-optimal solutions for
the larger examples. From the MILP formulation proposed in [8], it may be concluded
that the MCHBAP complexity regarding the number of variables is O(mlT ). It means
that an exact solver must determine the values of l · T (2 · m + 1) binary variables
and 2 · l integer ones in the optimal solution. In addition, it is necessary to calculate
objective function value of the optimal solution. The MILP formulation from [8]
also implies that the MCHBAP complexity in respect to the number of constraints is
O(lT 2 + mT + ml). Note that MCHBAP is NP-hard problem as a variant of BAP.
Experimental evaluation described in [8] shows that, due to the complexity of
MILP formulation, the gaps between the obtained solutions and the optimal ones
are large. Therefore, metaheuristic methods described in this chapter are based on
combinatorial formulation described above.
Container terminal is represented as a two dimensional plane with time and berth
as axes. Vessels are modeled by the rectangles of heights equal to the number of
berths (bk ) and widths matching the needed handling time (wk = ak /bk ). Therefore,
MCHBAP can be observed as a variant of rectangle packing problem.
All methods considered here are based on the combinatorial formulation for MCH-
BAP and use the same data structures and initialization (preprocessing) phase. During
the initialization phase, the list of 3-tuples containing berth and time coordinates and
the corresponding penalty cost as elements is created for each vessel. It is named
ξ list and it covers all possible positions of the vessel in the planning horizon. The
collection of all l individual ξ lists is denoted by Ξ .
The ξ lists are sorted in the non-decreasing order of the penalty cost values. The
role of ξ lists is to assure efficient search through solution space by its significant
reduction in each step. More precisely, any change in the allocation of vessels in port
produces the changes in the corresponding ξ lists in such a way that only feasible
positions for each vessel remain as the elements in its list. As ξ lists remain sorted
at each step of the search, it is easy to detect positions with smaller penalty cost
for each allocated vessel (if there is any). In addition, ξ list structure enables easy
identification of unfeasible solution: if at any moment there exists a vessel with empty
ξ list, the corresponding solution could be discarded as unfeasible.
During the execution of metaheuristic methods, the main steps are the selection
of a vessel to be allocated and the selection of its position in berth-time plane.
1 Metaheuristic Approaches for the Minimum Cost … 9
These decisions are made stochastically, based on the priorities of vessels. Criterion
for vessel selection in EA and BCO is a linear combination of the corresponding ETA
parameter value, the size of the rectangle representing the corresponding vessel in
the planning horizon, and the calculated average cost of all possible ξ list elements
for the observed vessel. Coefficients of this linear combination are named λ1 , λ2 ,
and λ3 , respectively. Their values are determined experimentally in such a way that
λ1 + λ2 + λ3 = 1. The linear combination of parameters with the corresponding
coefficients represents the priority of a vessel used for its selection by the roulette
wheel.
The selection of vessels’ positions in BCO and in the initialization phase of EA
is performed stochastically, based on the position costs. The positions with smaller
costs have higher chances to be selected.
All metaheuristic methods keep the best found solution, the corresponding total
cost value, and the CPU time of first occurrence of the best found solution in global
variables Solution, GlobalBest, and minT , respectively.
Table 1.1 Input data for the problem with m = 8 berths, l = 5 vessels and T = 15 time units
vesselk ETAk ak bk dk sk c1k c2k c3k c4k
1 1 9 3 4 1 10 20 20 25
2 4 6 3 6 3 10 20 20 25
3 4 14 2 11 6 10 20 20 25
4 5 14 2 12 7 10 20 20 25
5 6 18 2 16 2 10 20 20 25
1 2 3 4 5 6 7 8
The indices of vessels to be served on a berth are given in brackets, while the
berth indices are indicated below the brackets. This representation means that berth
1 serves vessel 1, while vessels 5 and 2 are assigned to berth 2. Berths 5 and 7 serve
vessels 3 and 4, respectively. Empty brackets above berth indices 3, 4, 6, and 8 imply
that these berths are empty, i.e., no reference points of vessels are assigned to them.
Figure 2 from [24] illustrates the solution to MCHBAP obtained by decoding
Individual_1. If the reference point of a vessel is assigned to the berth with index
k, it means that this vessel belongs to the k-th sublist. As, the hybrid case of BAP
is considered, it is allowed that a vessel occupies some space within more than one
adjacent berths.
From Fig. 1.2, it can be seen that vessels 5 and 2 are served on berth 2, but the order
on time axis does not follow the order of vessels in the individual’s representation.
Vessel 5 is allocated to port before vessel 2 and therefore, it is placed on the cheapest
possible location. Vessel 2 is then allocated at the cheapest location that remained
after vessel 5 is served. The representation of Individual_1 implies that berth 3 is
empty, however, in the decoded solution, berth 3 is not free, as it is occupied by some
1 Metaheuristic Approaches for the Minimum Cost … 11
In [24], the initial population contains nEA individuals. The generation of initial
individuals is performed by the procedure Initialize with pseudo-code shown in
Algorithm 1. The input parameters of this procedure are population size (nEA) and
the size of tournament for selecting a berth that will be initially assigned to the
considered vessel. For each of nEA individuals in the initial population, the procedure
Initialize forms the corresponding Ξ list.
The priorities are determined based on the initial ξ lists (where all positions are
considered feasible) and they do not change during the allocation phase.
The procedure Roulette considers all unused vessels and among them chooses
one by one vessel by performing the roulette wheel selection. The probability that a
vessel will be selected depends on its previously calculated priority. As the length of
each vessel and the total number of time segments in the planing horizon are known
in advance, it is easy to determine the subsets of subsequent berths with enough
free space to handle the selected vessel. The procedure TournamentForBerths
is applied next, in order to decide which berth should be assigned to the selected
vessel. The berth is selected among all possible berths with enough free space for
the examined vessel by the means of tournament selection. After the vessel and its
associate berth are chosen, the vessel is placed as the last one on the selected berth.
More precisely, the index of a vessel is placed at the end of the corresponding sublist
of the berth to which the vessel is assigned.
The described steps are repeated until all vessels are associated to the berths.
After that, the individual is decoded by actual allocation of vessels to the positions
in berth-time plane. If an unfeasible individual is created, it is removed from the
population and a new one is formed until nEA feasible individuals are obtained. The
feasibility of an individual is checked by procedure Feasible.
1.3.3 EA Operators
The EA proposed in [24] uses elitist strategy in the generation replacement, meaning
that certain number of individuals from one EA generation directly passes to the
next one. These individuals are named elite ones and their role is to preserve high
quality genetic material that will be used to generate new EA generation. In the EA
implementation from [24], the number of elite individuals is set to eliteNO = 1/3 ∗
nEA. The remaining 2/3 ∗ nEA individuals that will take part in creating new EA
generation are chosen by fine-grained tournament selection [11] with two tournament
sizes. Tournaments of size1 are performed 40% ∗ (2/3nEA) times, while remaining
individuals are selected via tournaments of size2 , where size1 < size2 holds. The basic
idea behind the applied selection operator is to increase the chances of lower quality
individuals to take part in producing new generation. The implemented selection
operator also prevents duplicated individuals from entering the next EA generation,
and thus enabling the diversity of individuals in the EA population with an aim to
keep EA away from local optimum trap.
Existing studies in the literature that use EA as solution approaches for various
optimization problems involve different types of variation operators. For example,
EAs from [26, 37] use crossover as variation operator, while [10, 34] apply only
mutation. The study [24] proposes EA for MCHBAP that uses no crossover operator
in the EA concept. The reason is in the fact that all examined types of crossover
operator produced large number of infeasible individuals. There are two strategies
that can be applied when an infeasible individual appears during the EA run, i.e.,
1 Metaheuristic Approaches for the Minimum Cost … 13
while the probability of Insert and Swap mutations is increasing according to the
following formula
μEA = 0.9 ∗ (popID)/(maxGen), (1.3)
where popID denotes the index of the current EA generation, and maxGen represents
the maximal number of EA generations. These formulae were determined through
the set of preliminary experiments.
The EA from [24] involves an additional improvement strategy after the muta-
tion part. The improvement procedure is applied on the subset of individuals in the
population, which are selected by performing tournament selection. The number of
individuals that are subject to improvement strategy, as well as the tournament size,
are input parameters of EA. The level of selection pressure is tuned by varying the
size of the tournament. Lager tournament size implies that lower fitted individuals
will have smaller chances to be selected for improvement procedure, and vice versa.
The pseudo-code of the applied improvement procedure is given in Algorithm 2.
The procedure Improve tries to find better allocation of vessels on each berth in
the selected individual. For each group, corresponding to a single berth, vessels are
examined one by one, and they are allocated on the cheapest possible position on the
given berth by procedure CheapestAllocation. After all vessels are placed within
corresponding berths, the procedure Reorder is applied to sort the vessels in the
descending order in respect to their costs in the given allocation. The improvement
procedure takes one by one vessel from the sorted array and examines its correspond-
ing ξ list. If there are cheaper positions for a vessel, regardless the berth index, this
vessel is moved to the cheapest available position. Cheaper positions for a vessel are
detected by procedure ExistsCheaper. At the end of the improvement process, the
procedure MakeIndividual is called in order to make corresponding changes in
the representation of the newly obtained individual. More precisely, the reallocated
vessels are moved at the beginning of group corresponding to their new berths. The
order of vessels within a group is changed according to performed reallocation, with
an aim to first consider the vessels with the highest penalty costs.
16 N. Kovač et al.
The above described steps are repeated until one of the EA termination criteria
is satisfied. The EA uses the combination of two stopping criteria: time limit and
maximal number of generations. On each improvement of the current best solution,
the corresponding CPU time is saved in minT . The pseudo-code of EA for MCHBAP
is presented in Algorithm 4, which is taken from [24].
As it can be seen from the description of the EA for MCHBAP, the algorithm
involves a number of parameters, such as population size, tournament sizes, stopping
criteria parameters, etc. Therefore, a set of parameter tuning tests was performed to
determine the values that ensure the best EA performance. Based on the obtained
results, the values of EA parameters are chosen as follows. The number of individuals
in population nEA is equal to 20, Tournament sizes size1 and size1 of the applied fine-
grained tournament selection are set to 3 and 5, respectively. Formulae (1.2) and (1.3)
describe how the probability of mutation μEA changes as the EA progresses. The
number of individuals that are subject to the EA improvement phase is set to 5 in
18 N. Kovač et al.
each generation. The maximal number of generations maxGen is equal to 40, while
the maximal running time RunTime is set to 10 min.
The steps of a single iteration of BCO for MCHBAP are presented in Algorithm 5. At
the beginning of the algorithm, a Ξ list and an initial (empty) solution are assigned
to each bee. When generating partial solution, at each forward pass, the bee must
make two decisions: to choose l/NC vessels and to pick an allowed position from
the ξ list for each of the chosen vessels.
where Ob represents the normalized value for the current cost of solution formed
by the b-th bee, while u keeps information on the number of forward passes (u =
1, 2, . . . , NC). The value of Ob is calculated as follows:
Cmax −Cb
, if Cmax = Cmin ,
Ob = Cmax −Cmin b = 1, 2, . . . , B, (1.5)
1, if Cmax = Cmin ,
where Cmin and Cmax denote minimum and maximum values over the costs of all
solutions currently held by the bees.
Within the RecruitingProcess procedure, using the roulette wheel method, each
follower decides on a new vessel arrangement by choosing one arrangement from
the set of the solutions generated by the recruiters. Recruiters with better solutions
(smaller current costs) have greater probabilities to be selected by a follower. The
20 N. Kovač et al.
probability that the solution of recruiter b would become the solution for any of the
uncommitted bees is calculated as:
Ob
pb = , b = 1, 2, . . . , R, (1.6)
R
Ok
k=1
where Ok denotes the normalized value for the current cost of the k-th recruiter
and R represents the number of bees that recruit. Roulette wheel method is applied
to assign each uncommitted follower to one recruiter by using (1.6) and a random
number generator. Each bee that abandoned its own solution will take the solution
of its recruiter bee. More precisely, the recruiter’s solution is copied and placed to
be the solution of the follower. In addition, the follower copies the Ξ list from the
recruiter as well. In case that the solution is not complete, meaning that there are
vessels which have not been allocated on the berth-time plane, the algorithm will
proceed with a new forward pass.
Forward and backward passes are performed NC times each, such that a complete
solution is constructed for each bee. After NC steps, some of B bees managed to
create complete (i.e., feasible) solutions, whereas others fail to do that. This failure
is due to the fact that both the vessel ordering and their positions are not adequate,
as there might be vessels blocking the remaining positions for the other available
vessels. Among all feasible solutions, the one with the best total cost is determined.
The selected solution is used to update the new global best, meaning that an iteration
of BCO is completed. The BCO for MCHBAP is enhanced by the improvement
techniques that are described in the remaining part of the section. The BCO iterations
and improvement steps are executed until the stopping condition (maximum CPU
time) is met. Finally, the best formed solution (i.e., the current global best) is returned
as the final BCO solution.
To enhance the constructive BCO approach, three improvement techniques are pro-
posed in [22] that are performed on the complete solutions.
The first improvement technique is used at the end of each iteration and it is
applied to all complete solutions held by the bees. Each bee which has a complete
solution tries to accomplish some improvements of its own solution by using the
final ξ list. Each bee moves trough its own list of vessels looking for the vessel
with the highest penalty cost that has a nonempty cheaper ξ element. Each vessel
vk , k ∈ {1, . . . , l} is moved to the first (cheapest) available position according to the
existing ξ list, if such a position exists. After this step, the Ξ list is updated for all
unused vessels indicating the new forbidden positions. Due to the complexity, the
clearing of the newly available positions is not performed at this phase.
1 Metaheuristic Approaches for the Minimum Cost … 21
The first improvement procedure is performed for each vessel in the the list, so
that either a better solution is formed for the bee, or it remains unchanged if all
lists for all vessels do not contain cheaper positions. Finally, each solution is being
evaluated and the one with the lowest penalty cost is set as the global best solution.
Figure 1.7 shows an example of the vessels’ allocations before and after the first
improvement of the complete solution. Positions that have not been released are
colored in black in Fig. 1.7. After reallocation of the vessel 1, its previously occupied
positions remain marked, even they are free for new allocations. However, as Ξ list
is not updated, these positions are not considered by other vessels. For example,
suppose that position on berth 6 and time unit 3 is cheaper for vessel 3 compared to
its currently allocated position. Before allowing the algorithm to move vessel 3 on
this cheaper position, the Ξ list must be updated.
The above described ideas are implemented in the first improvement procedure
with pseudo-code presented in Algorithm 6. The procedure FirstImprovement is
called for all bees with complete solutions. The vessels are ordered non-increasingly
in terms of the penalty costs by applying the procedure Sort. Procedure ExistsS-
mallerCost returns True if the Beeξ list is containing an element with lower penalty
cost than the penalty cost on position pi for vessel i. If algorithm determines a better
position for the examined vessel, solution has to be updated in appropriate way by
22 N. Kovač et al.
to move identified vessel to the cheapest available position and completely update
Ξ list as well as the corresponding Solution.
At each reduction of the GlobalBest value, the best found solution undergoes
the third, final improvement. For each vessel, the third improvement considers all
unfeasible positions with smaller penalty costs than the current one. The infeasibility
means that those positions are occupied by other vessels. We would refer to those
vessels as conflicting with the considered vessel. The third improvement tries to
resolve the conflict in such a way that the reallocation of conflicting vessels yields
the reduction of total cost.
An illustration of the third improvement technique is presented in Fig. 1.9. For
example, let us assume that for vessel 4, the position at berth 1 and time unit 2
is cheaper than its current one. This position is already occupied by vessel 1. If
this position is taken into account as possible allocation for vessel 4, it would be
in conflict with vessels 1 and 2. Thus, the third improvement procedure tries to
reorganize vessels 4, 1, and 2, such that the overall cumulative cost is minimized.
Small shift of vessels 1 and 2 allows that vessel 4 can be allocated to that cheaper
position.
The structure of the third improvement technique is presented in Algorithm 8.
As in previous two improvement techniques, vessels are arranged in the decreasing
order in respect to the penalty costs. Some vessels were obviously not allocated to
cheaper positions due to the conflicting reasons. The idea of the third improvement is
to enable considering these positions and resolving conflicts by repositioning some
other vessels. For a given vessel i and all its possible cheaper positions j, procedure
ConflictVessels(i) creates the subsets of conflicting vessels Vj . Generally, there
are few vessels conflicted with the vessel allocated at the observed position, and
therefore, this search does not lead to large CPU time consumption.
For each position j, vessel i and set Vj are considered at the same time. The idea
is to slightly shift the conflicting set of vessels Vj , such that the increase of penalty
costs of vessels Vj produces the significant decrease in the cumulative penalty cost.
This means that the total penalty cost of the vessel i and the set of vessels Vj will be
decreased with respect to the Solution.
The role of the function Solve(s, Ξ ) is to find the new positions for vessels
from the given list s by examining all available positions in Ξ list. If some vessel is
moved from its original position, the obtained new arrangement of vessels is saved
1 Metaheuristic Approaches for the Minimum Cost … 25
The first implementation of the Variable Neighborhood Descent (VND) method for
MCHBAP is proposed in [7]. The MCHBAP solutions in VND are represented by
sequence pair introduced in [30]. A sequence pair consists of two permutations, H
and V , which are used to describe the positions of vessels in the planning horizon.
The rules for defining permutations H and V are as follows:
(a) if vessel j precedes vessel i in the permutation H, then vessel j “cannot see”
vessel i on “left-up” view,
(b) if vessel j precedes vessel i in the permutation V , then j “cannot see” i on “left-
down” view.
The definition of H and V permutations is illustrated in Fig. 1.10. The gray region
represents left-up (left-down) view of vessel j, respectively. Therefore, vessel j cannot
see vessel i in both cases, and consequently, j is before i in both permutations H and
V . Note that the illustrations in Fig. 1.10 do not correspond to a single (H, V ) pair.
1 Metaheuristic Approaches for the Minimum Cost … 27
Fig. 1.10 An illustration of sequence pair solution representation based on (H, V ) permutations
Actually, according to the left part of Fig. 1.10, j precedes i in permutation H, but it
is after i in permutation V . Similarly, j is after i in permutation H and precedes it in
V , according to the right part of Fig. 1.10.
Transformation from an allocation to (H, V ) pair is unique. On the other hand,
a pair of permutations (H, V ) represents a whole class of allocations. Therefore,
a special procedure is designed to determine an allocation with the minimum total
cost. In [30], pair (H, V ) represents a solution of VLSI layout design problem with
the goal to minimize the total space used. This property is explored to break the ties
when decoding (H, V ) in [30].
To ensure that permutation pair (H, V ) will result in a feasible solution to BAP,
the study [7] uses the concept of the longest common subsequence (LCS) introduced
in [38]. Sequence pair is in connection with weighted directed acyclic graphs that can
be assigned to the observed packing problem. These graphs represent horizontal and
vertical relationship among elements to be packed. Horizontal path in the packing is a
common subsequence of a sequence pair, and vice versa. Vertical path in the packing
is defined similarly. The only difference is that the first element of the sequence pair
is reversed. The longest (weighted) common subsequences in horizontal and vertical
relationship graphs correspond to the longest weighted paths in those graphs [38].
Intuitively, LCSs may be considered as the maximal dimensions required for packing
the given elements.
The LCS concept applied to MCHBAP observes permutations H and V as
weighted sequences and finds the longest common subsequence in the weighted
permutation pair. In [7], LCS is used in combination with vessel size to check the
feasibility of the H and V permutations. To check the feasibility with respect to the
total number of available berths, the number of used berths is considered as the length
of a vessel. In the same way, vessel’s width (defined as the required processing time)
is used to check the feasibility of the pair (H, V ) with respect to the planning hori-
zon. In other words, pair (H, V ) leads to a feasible allocation in the two dimensional
berth-time plane, if two conditions are satisfied:
aj
≤ T, (1.7)
vj ∈LCS(H,V )
bj
28 N. Kovač et al.
The sum of processing times used in (1.7) The sum of berth indices used in (1.8)
bj ≤ m, (1.8)
vj ∈LCS(H R ,V )
For the given set of vessels υ = {v1 , v2 , . . . , vl } and vessel vj ∈ υ, disjoint subsets
L, R, A and B of υ, based on pair (H,V) are defined as:
Set L consists of all vessels that have to be allocated to the left from the given
vessel vj . Vessels from the set R have to be placed to the right from the vessel vj .
Sets A and B represents the sets of vessels whose allocation point will be above or
below from the allocation point of the given vessel vj .
Subsets R and A are used to decode feasible pair (H, V ) in such a way that total
allocation cost is minimized. Namely, algorithm starts from the vessel vk with empty
R and A subsets, and finds its cheapest available position. Such unique vessel exists,
it is the rightmost and highest allocated vessel in the port. The cheapest position
for vessel vk is the first element of its ξ list consistent with (H, V ) pair. After vk is
allocated, proper update of the ξ lists for all other vessels is performed and vessel
vk is removed from the subsets R and A, ensuring that there will be no overlap for
vessels that are still unallocated. Next vessel with empty sets R and A is chosen. For
the selected vessel vj , the algorithm first determines all positions from its ξ list that
are not violating order defined by the pair (H, V ), and among those positions takes
the cheapest one. That position defines the reference point of vessel vj . One by one,
all unallocated vessels are placed in the port. Note that each vessel has at least one
feasible allocation point in the port, as the pair (H, V ) is also feasible. Procedure of
decoding pair (H, V ) is described in Algorithm 10.
Procedure Examine forms the subsets of vessels R and A for each element from
the set of observed vessels, while function FindEmpty returns the index of vessel with
empty subsets R and A. To ensure that only feasible positions that are in accordance
with pair (H, V ) are used for vessel allocation, the algorithm calls procedure Clear.
Among positions returned by Clear procedure, function FindCheapest selects the
best one, i.e., position with the smallest penalty cost. After allocating a vessel in the
port, procedure UpdateList is called to update all ξ lists.
30 N. Kovač et al.
The VND proposed in [7] starts with the procedure InitialSolution that con-
structs an initial solution. At the beginning, procedure ClusterPreferredLoca-
tions is applied to generate groups of vessels that are in conflict regarding their
preferred berthing locations. This step is followed by procedure Sort, which is sort-
ing the obtained groups in non-increasing order of their cardinality. Within a group,
vessels are sorted in non-decreasing order based on the values of parameter ETA.
One by one, groups of vessels are allocated in the port by procedure Allocate, in
such a way that the total cost of a group is minimized. Having in mind that the groups
of conflicting vessels are usually small, all possible ordering of vessels are examined
for scheduling within the available positions in their ξ lists, and the one resulting
in minimum total cost is selected for allocation. If a vessel is not in a conflict with
any other vessel, it is allocated on the very first (the cheapest) position of its ξ list.
This step is denoted in pseudo-code by Solution(groups(i)) ←− ξ(groups(i), 1).
After a proper position for a vessel is found, the complete update of Ξ list elements
for all remaining vessels is performed by procedure Update. When all vessels are
allocated (i.e., all groups are processed) an initial solution is formed. The pair of per-
mutations (H, V ) corresponding to the initial solution is formed. The pseudo-code
of the described procedure is shown in Algorithm 11.
Fig. 1.12 The result of applying ChangePositionH to vessel 2 that is moved k = 1 positions to the
right in respect to permutaion H
only few positions to the left or right in both initial permutations H and V . This was
the main idea for defining neighborhood structures in the VND algorithm from [7].
The VND proposed in [7] uses three types of neighborhoods that are applied
only to the vessels from ωS, respecting the order of vessels. For a given size k,
k = 1, 2, 3, . . . , kmax , the three types of neighborhoods are applied as follows:
Fig. 1.13 The result of applying ChangePositionV to vessel 3 that is moved k = 1 positions to the
right in respect to permutation V
Fig. 1.14 The result of applying ChangePositionH V to vessel 4 that is moved k = 1 positions to
the left with respect to permutation H and k = 1 positions to the right in respect to permutation V
To improve the performance of the VND from [7] and to allow better diversifica-
tion of results, a General Variable Neighborhood Search (GVNS) for MCHBAP is
developed. The proposed GVNS involves shaking phase and uses six neighborhoods
in VND. Therefore, this VND is different from the one proposed in [7]. Shaking
procedure involves stochastic transformation of current best solution, and it is used
in order to help the algorithm to escape from the local minimum and to efficiently
explore the search space. In the local search phase, instead of simple local search,
the proposed GVNS uses VND to find improvements by systematic exploration of
six neighborhoods of the current solution.
The proposed GVNS starts with the procedure InitialSolution described in
Algorithm 11. The initial solution is generated in the same way as in VND. The
34 N. Kovač et al.
The newly formed groups are allocated following the same rules as in the pro-
cedure for constructing the initial solution. New solution is formed by procedure
Allocate that uses the list of newly formed groups as input. If algorithm determines
that the formed vessels clustering leads to an unfeasible solution, shaking procedure
1 Metaheuristic Approaches for the Minimum Cost … 35
of the current best solution is repeated until feasible solution is constructed. If the
newly created solution is already examined during algorithm’s run, shaking proce-
dure of the current best solution is performed again. Procedure Feasible investigates
whether the newly formed solution is feasible or not, while the procedure New checks
if the newly formed solution has already been explored during the algorithm’s run.
Once the shaking procedure creates a new feasible solution, the corresponding per-
mutation pair (H, V ) is constructed by ShakePerm procedure. After that, the GVNS
algorithm proceeds to the local search phase that is performed on the new feasible
solution generated by the procedure Shake.
In the local search phase, the proposed GVNS uses VND instead of simple local
search to find improvements of the current solution. Six neighborhoods are used
to systematically explore solution space. These neighborhoods are changing H or
V permutation, or both permutations simultaneously, in order to form the optimal
sequence pair. Sufficiently large neighborhood and appropriate order of permuta-
tions transformation are essential in creating high quality solutions. Modifications
of standard Swap and Move are used to reshuffle permutations H and V , and they
are applied in the following order:
(i) SingleSwapH selects two vessels and exchanges their positions in permutation
H, leaving permutation V unmodified;
(ii) SingleSwapV selects two vessels and swaps their positions in permutation V ,
while permutation H is unchanged;
(iii) SingleMoveH selects two vessels vi and vj and moves vessel vj behind vessel vi
in permutation H, regardless of mutual order of vessels vi and vj ;
(iv) SingleMoveV performs moving of selected vessel vj behind vessel vi in permu-
tation V , regardless of whether the vessel vi is in front of or behind vessel vj in
the current permutation;
(v) DoubleSwapHV consists of one SingleSwapH and one SingleSwapV that are not
necessarily performed on the same pair of vessels;
(vi) DoubleMoveHV is performed by one SingleMoveH and one SingleMoveV that
are not necessarily realized on the same pair of vessels.
Metaheuristics EA [24], BCO [22], VND [7], and the newly introduced GVNS
developed for MCHBAP are evaluated and compared against each other and against
exact solver from [21]. The computational study is conduced over two sets of problem
instances. The first data set contains real-life instances, which are derived from the
example used in [4] characterized by l = 21 vessels, m = 12 berths, and the time
40 N. Kovač et al.
and the corresponding VND running time (T ). All time related data are given in
seconds.
From the results presented in Table 1.3, it can be seen that all four metaheuristic
were able to produce optimal solutions provided by exact solver. Moreover, the
optimal solution was obtained by EA, BCO, GVNS in each of 10 runs. Regarding
the execution time, all metaheuristics outperformed the exact solver on average, VND
and GVNS being faster for all test instances. Among EA, BCO, VND, and GVNS, the
smallest average time over all real-life examples is obtained for the newly proposed
GVNS. In order to emphasize the shortest average CPU times, in Table 1.3, these
values are presented in bold.
Table 1.4 contains the comparison of results obtained by considered metaheuris-
tic methods on randomly generated test instances. As it was mentioned above, these
instances remained out of reach for exact solver from [21]. The first column of
Table 1.4 (column heading i) contains the index of the considered instance, while
the second column (named BK) refers to the best-known cost value. The next four
columns contain results related to the EA metaheuristic. In the column named Best
the best found total cost (obtained after 10 EA executions) is presented. The cor-
responding average total cost AvgC and average minimum CPU time AvgT are
presented in the next two columns.
In order to measure the quality of the obtained EA results, in column G% we
present the average gap calculated as 100 · AvgC−BK
BK
. The results for BCO and GVNS
in Table 1.4 are given in the same way. Due to deterministic nature of VND, the
column AvgC is omitted, while column T shows the VND running time (in seconds)
obtained in a single run. In addition, the gap for VND is calculated as 100 · Best−BK
BK
.
In order to highlight the best performing method with respect to the solution quality,
the best-known solutions for each instance are bolded in Table 1.4. Similarly, for the
best performing method with respect to CPU time, the shortest (average) CPU times
for each instance are bolded in Table 1.4.
Table 1.4 Computational results—generated test examples: l = 35, m = 8, T = 112
42
(continued)
Table 1.4 (continued)
i BK EA BCO VND GVNS
Best AvgC AvgT G% Best AvgC AvgT G% Best T G% Best AvgC AvgT G%
25 613 613 613.0 134.45 0.0000 613 613.0 104.45 0.0000 645 512.64 5.2202 613 628.2 190.54 2.4796
26 477 477 477.0 148.93 0.0000 477 477.0 35.94 0.0000 477 108.45 0.0000 477 477.0 40.15 0.0000
27 517 517 517.0 144.85 0.0000 517 517.0 48.69 0.0000 517 2.84 0.0000 517 517.0 0.18 0.0000
28 517 517 517.0 209.62 0.0000 517 517.0 27.19 0.0000 634 560.95 22.6306 517 517.0 21.05 0.0000
29 464 464 464.0 132.01 0.0000 464 464.0 55.52 0.0000 467 2.25 0.6466 464 464.3 147.64 0.0647
30 592 592 592.0 330.95 0.0000 592 592.0 32.02 0.0000 592 1.81 0.0000 592 592.0 0.13 0.0000
31 665 665 665.2 229.23 0.0301 665 665.0 200.38 0.0000 675 196.95 1.5038 665 672.0 178.60 1.0526
32 495 495 495.0 183.15 0.0000 495 495.0 90.05 0.0000 495 172.83 0.0000 495 495.0 66.54 0.0000
33 481 481 481.0 153.04 0.0000 481 481.0 48.23 0.0000 481 6.94 0.0000 481 481.0 14.78 0.0000
34 539 539 539.0 231.52 0.0000 539 539.0 58.23 0.0000 539 160.14 0.0000 539 539.0 7.02 0.0000
35 528 528 528.0 136.32 0.0000 528 528.0 43.98 0.0000 528 3.50 0.0000 528 528.0 0.21 0.0000
36 522 522 522.6 253.14 0.1149 522 522.0 199.94 0.0000 522 55.52 0.0000 522 522.0 15.94 0.0000
37 467 467 467.0 318.14 0.0000 467 467.0 342.61 0.0000 467 1.83 0.0000 467 467.0 0.13 0.0000
1 Metaheuristic Approaches for the Minimum Cost …
38 479 479 480.4 254.55 0.2923 479 479.0 63.61 0.0000 518 6.66 8.1420 479 483.5 109.43 0.9395
39 534 534 534.0 136.48 0.0000 534 534.0 136.67 0.0000 534 40.56 0.0000 534 534.0 2.99 0.0000
40 574 574 575.5 114.58 0.2613 574 574.0 213.41 0.0000 574 1.25 0.0000 574 574.0 58.36 0.0000
41 554 554 555.5 477.55 0.2708 554 554.0 60.45 0.0000 563 237.05 1.6245 554 560.7 377.57 1.2094
42 448 448 448.0 142.48 0.0000 448 448.0 35.55 0.0000 448 1.77 0.0000 448 448.0 0.13 0.0000
43 529 529 534.0 590.94 0.9452 529 529.0 35.47 0.0000 529 151.89 0.0000 529 532.9 43.75 0.7372
44 553 553 553.0 209.99 0.0000 553 553.0 62.02 0.0000 553 34.20 0.0000 553 554.2 108.80 0.2170
45 478 478 478.0 134.73 0.0000 478 478.0 72.12 0.0000 478 1.86 0.0000 478 478.0 0.13 0.0000
46 575 575 575.0 230.33 0.0000 575 575.0 109.73 0.0000 575 119.75 0.0000 575 575.1 94.92 0.0174
47 554 554 558.2 386.90 0.7581 554 554.0 90.06 0.0000 554 256.53 0.0000 554 563.3 226.79 1.6787
Average 538.8 538.8 539.3 212.77 0.0873 538.9 538.9 86.29 0.0030 544.1 92.63 1.0033 538.8 540.3 67.14 0.2537
43
44 N. Kovač et al.
As can be seen from Table 1.4, EA and GVNS were able to obtain the best-known
solutions for all test instances. BCO missed BK solution only for the first instance,
while VND failed to reach the best-known solution for 14 out of 47 instances.
In addition, VND produced the largest gap with respect to the best-known solu-
tion. With an exception of the first instance, BCO produced the BK solution in all
ten runs, as it can be seen from the corresponding G% column. EA and GVNS have
small values for average gap, with EA being slightly more reliable method. The
same conclusion holds with respect to the average cost values. However, BCO still
performs better with respect to both AvgC and G%.
Regarding the (average) minimum CPU time, the superior method is GVNS,
followed by BCO, VND, and EA. The (average) minimum CPU times of GVNS,
BCO, VND, and EA are 67.14, 86.29, 92.63, and 212.77 s, respectively. This means
that GVNS is 28.5% faster than BCO, 37.97% faster than VND, and 216.9% faster
than EA.
From the presented computational results, it can be seen that GVNS outperforms
other methods on both data sets regarding the execution speed. Having in mind that
the average gap values are quite small for all methods, we can consider GVNS to be
the most suitable method for MCHBAP.
1.7 Conclusion
this data set indicate that the proposed GVNS outperforms other three metaheuristic
methods regarding CPU time, while solution quality remains at high level.
Our computational results indicate that GVNS has obvious advantage over pre-
sented methods for MCHBAP. We strongly believe that it may also be applied to
similar problems in maritime transportation. For further enhancing of metaheuris-
tics, their hybridization and combination with exact methods seem to be encouraging
topics.
Acknowledgements This research was partially supported by Serbian Ministry of Education, Sci-
ence and Technological Development under the grants nos. 174010 and 174033. The authors would
like to thank the anonymous referees for the valuable suggestions that led to the improved presen-
tation of the results described in this manuscript.
References
1. Bierwirth, C., Meisel, F..: A fast heuristic for quay crane scheduling with interference con-
straints. J. Sched. 12(4), 345–360 (2009)
2. Bierwirth, C., Meisel, F.: A survey of berth allocation and quay crane scheduling problems in
container terminals. Eur. J. Oper. Res. 202, 615–627 (2010)
3. 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)
4. Chang, D., Jiang, Z., Yan, W., He, J.: Integrating berth allocation and quay crane assignments.
Transp. Res. Part E 46(6), 975–990 (2010)
5. Cheong, C.Y., Tan, K.C.: A multi-objective multi-colony ant algorithm for solving the berth
allocation problem. In: Advances of Computational Intelligence in Industrial Systems, pp.
333–350. Springer (2008)
6. Cordeau, J.F., Laporte, G., Legato, P., Moccia, L.: Models and tabu search heuristics for the
berth-allocation problem. Transp. Sci. 39(4), 526–538 (2005)
7. Davidović, T., Kovač, N., Stanimirović, Z.: VNS-based approach to minimum cost hybrid
berth allocation problem. In: Proceedings of SYMOPIS 2015, pp. 237–240, Silver Lake, Serbia
(2015)
8. Davidović, T., Lazić, J., Mladenović, N., Kordić, S., Kovač, N., Dragović, B.: Mip-heuristics
for minimum cost berth allocation problem. In: Proceedings of International Conference on
Traffic and Transport Engineering, ICTTE 2012, pp. 21–28, Belgrade, Serbia (2012)
9. Davidović, T., Teodorović, D., Šelmić, M.: Bee colony optimization part I: the algorithm
overview. Yugoslav J. Oper. Res. 25(1), 33–56 (2015)
10. De Falco, I., Della Cioppa, A., Tarantino, E.: Mutation-based genetic algorithm: performance
evaluation. Appl. Soft Comput. 1(4), 285–299 (2002)
11. Filipović, V.: Fine-grained tournament selection operator in genetic algorithms. Comput. Artif.
Intell. 22(2), 143–161 (2003)
12. Goh, K.-S., Lim, A.: Combining various algorithms to solve the ship berthing problem. In: 12th
IEEE International Conference on Tools with Artificial Intelligence, ICTAI 2000, pp. 370–375
(2000)
13. Guan, Y., Cheung, R.K.: The berth allocation problem: models and solution methods. OR
Spectr. 26(1), 75–92 (2004)
14. Han, M., Li, P., Sun, J.: The algorithm for berth scheduling problem by the hybrid optimization
strategy gasa. In: 9th International Conference on Control, Automation, Robotics and Vision,
pp. ICARCV’06., 1–4. IEEE (2006)
46 N. Kovač et al.
15. Hansen, P., Mladenović, N., Brimberg, J., Moreno Pérez, J.A.: Variable neighbourhood search.
In: Gendreau, M., Potvin, J.-Y. (eds.) Handbook of Metaheuristics, 2nd edn., pp. 61–86.
Springer, New York (2010)
16. Hansen, P., Oğuz, C., Mladenović, N.: Variable neighborhood search for minimum cost berth
allocation. Eur. J. Oper. Res. 191(3), 636–649 (2008)
17. Holland, J.H.: Adaptation in Natural and Artificial Systems. The University of Michigan Press,
Ann Arbor (1975)
18. Imai, A., Nishimura, E., Hattori, M., Papadimitriou, S.: Berth allocation at indented berths for
mega-containerships. Eur. J. Oper. Res. 179(2), 579–593 (2007)
19. Imai, A., Nishimura, E., Papadimitriou, S.: The dynamic berth allocation problem for a con-
tainer port. Transp. Res. Part B 35, 401–417 (2001)
20. Kim, K.H., Moon, K.C.: Berth scheduling by simulated annealing. Transp. Res. Part B 37(6),
541–560 (2003)
21. Kordić, S., Dragović, B., Davidović, T., Kovač, N.: A combinatorial algorithm for berth alloca-
tion problem in container port. In: The 2012 International Association of Maritime Economists
Conference, IAME 2012, Taipei (2012)
22. Kovač, N.: Bee colony optimization algorithm for the minimum cost berth allocation problem.
In: XI Balcan Conference on Operational Research, pp. 245–254, BALCOR 2013, Beograd-
Zlatibor, Serbia (2013)
23. Kovač, N.: Metaheuristic approaches for the berth allocation problem. Yugoslav J. Oper. Res.
(2017). doi:10.2298/YJOR160518001K
24. Kovač, N., Davidović, T., Stanimirović, Z.: Evolutionary algorithm for the minimum cost
hybrid berth allocation problem. In: IEEE Conference publications IISA 2015, pp. 1–6, Ionian
University, Corfu, Greece (2015)
25. Lim, A.: The berth planning problem. Oper. Res. Lett. 22(2), 105–110 (1998)
26. Marić, M., Stanimirović, Z., Stanojević, P.: An efficient memetic algorithm for the uncapaci-
tated single allocation hub location problem. Soft Comput. 17(3), 445–466 (2013)
27. Meisel, F.: Seaside Operations Planning in Container Terminals. Springer, Berlin (2009)
28. Mladenović, N., Hansen, P.: Variable neighborhood search. Comput. Oper. Res. 24(11), 1097–
1100 (1997)
29. Moorthy, R., Teo, C.-P.: Berth management in container terminal: the template design problem.
OR Spectr. 28(4), 495–518 (2006)
30. Murata, H., Fujiyoshi, K., Nakatake, S., Kajitani, Y.: VLSI module placement based on
rectangle-packing by the sequence-pair. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst.
15(12), 1518–1524 (1996)
31. Nishimura, E., Imai, A., Papadimitriou, S.: Berth allocation planning in the public berth system
by genetic algorithms. Eur. J. Oper. Res. 131, 282–292 (2001)
32. Oğuz, C., Narin, Ö.: Solving berth allocation problem with column generation. In: Multidisci-
plinary International Conference on Scheduling : Theory and Applications, MISTA 2009, pp.
744–747, Dublin, Ireland (2009)
33. Park, Y.M., Kim, K.H.: A scheduling method for berth and quay cranes. OR Spectr. 25(1),
1–23 (2003)
34. Prodhon, C.: A hybrid evolutionary algorithm for the periodic location-routing problem. Eur.
J. Oper. Res. 210, 204–212 (2011)
35. Rashidi, H., Tsang, E.P.K.: Novel constraints satisfaction models for optimization problems in
container terminals. Appl. Math. Model. 37(6), 3601–3634 (2013)
36. Stahlbock, R., Voß, S.: Operations research at container terminals: a literature update. OR
Spectr. 30(1), 1–52 (2008)
37. Stanimirović, Z., Marić, M., Božović, S., Stanojević, P.: An efficient evolutionary algorithm
for locating long-term care facilities. Inf. Technol. Control 41(1), 77–89 (2012)
38. Tang, X., Tian, R., Wong, D.F.: Fast evaluation of sequence pair in block placement by
longest common subsequence computation. IEEE Trans. Comput.-Aided Des. Integr. Circ.
Syst. 20(12), 1406–1413 (2001)
1 Metaheuristic Approaches for the Minimum Cost … 47
39. Teodorović, D., Šelmić, M., Davidović, T.: Bee colony optimization part II: the application
survey. Yugoslav J. Oper. Res. 25(2), 185–219 (2015)
40. Theofanis, S., Boile, M., Golias, M.: An optimization based genetic algorithm heuristic for the
berth allocation problem. IEEE Congr. Evol. Comput. DCEC 2007, 4439–4445 (2007)
41. Ting, C.-J., Wu, K.-C., Chou, H.: Particle swarm optimization algorithm for the berth allocation
problem. Expert Syst. Appl. 41(4), 1543–1550 (2014)
42. Wang, F., Lim, A.: A stochastic beam search for the berth allocation problem. Decis. Support
Syst. 42, 2186–2196 (2007)
Chapter 2
Ship Stability Considerations in the Quay
Crane Scheduling Problem
Noura Al-Dhaheri
Abstract The aim of this paper is to present the recent literature that has advanced in
the field of maritime logistics, specifically with regards to the consideration of vessel
stability during the process of unloading and/or loading containers onto vessels.
This process is essentially known as the Quay Crane Scheduling Problem (QCSP)
which determines the operational profile of each quay crane in terms of the container
tasks and timing. The literature on this and other problems pertaining to quayside
operational planning is presented, before introducing the works with a contribution
in ship stability. The works are described with insights into their formulation and
solution techniques, as well as their contribution to the literature. Most importantly,
the results are discussed and directions are provided for future work in the area.
N. Al-Dhaheri (B)
Maqta Gateway, Abu Dhabi Ports, Abu Dhabi, United Arab Emirates
e-mail: noura.aldhaheri@adports.ae
containers from the quay onto the vessel. The vessel is longitudinally divided into
several bays and, each container is discharged from or loaded onto a given bay accord-
ing to a stowage plan. Import, transshipment and export containers are temporarily
stored in the container stacking yard. Import containers are transported from the quay
to the stacking yard where they stay till being delivered to customers through the gate.
Transshipment and export containers are stored in the stacking yard until the vessel
that ships them to their next destination arrive. They are subsequently transported to
the quay. Container transport from the quay to the stacking yard and vice versa is
ensured by shuttle vehicles such as internal trucks, automated guided vehicles and
straddle carriers [2]. For a more comprehensive overview on the layout of container
terminals and, the handling and transport equipment, the reader can refer to [23] and
brinkman 2011. Quayside problems include the Berth Allocation Problem (BAP)
which determines the berths that incoming vessels are assigned to, the Quay Crane
Assignment Problem (QCAP), whereby the required cranes are assigned to each ship,
before scheduling of crane tasks can take place through the Quay Crane Scheduling
Problem (QCSP).
The BAP is one of the well-studied problems in the literature of maritime logistics.
It can be distinguished into the static BAP and dynamic BAP, depending on the
assumed arrival profile of ships. The static case of the BAP is addressed by Simrin
et al. [21], who develop a Lagrangian relaxation based approach for the problem,
while the dynamic case is tackled by Arango et al. [7] and Schoonenberg et al.
[19]. Other authors focus on service priority agreements between port and vessel
operators [6, 11], and explicitly account for these in their formulations, as these are
often very expensive agreements. Aside from containers terminals, the BAP has also
been studied in the context of bulk ports [1], in which additional challenges arise
with respect to the decision of a ship’s berthing position, depending on the facilities
and equipment required for the handling of various types of cargo.
The QCAP is frequently integrated with either the BAP or the QCSP, due to the
strong interdependence with each of the aforementioned problems. An example of the
integration of the BAP with the QCAP is the work of [15]. The QCSP is known to be
the most complex among the three quayside operational problems, due to the fact that
tasks must be scheduled while strict physical constraints are satisfied. Specifically,
2 Ship Stability Considerations in the Quay Crane Scheduling Problem 51
given that cranes travel on a single rail, non-crossing must be enforced at all times. In
addition, cranes must be positioned at least certain bays apart to prevent interference.
Therefore, the QCSP is inherently complex, leading the majority of researchers to
develop heuristic techniques to tackle it.
The first notable work on the QCSP is that of [13], who develop a branch-and-
bound and a Greedy Randomized Adaptive Search Procedure (GRASP) to solve the
problem with the objective of minimizing the weighted sum of the makespan and
QCs completion times. Their model was later refined by Moccia et al. [17] who
account for safety margin constraints in a more stringent way and solve medium
and large instances of the problem using branch-and-cut (B&C). Other heuristics
used include Tabu Search (TS) [18], tree-search-based heuristics [16] and Genetic
Algorithm (GA) [14], among others. As far as exact techniques are concerned, [12]
develop a Branch-and-Price algorithm to solve the problem to optimality.
Due to the strong interdependency between all three problems pertaining to quay-
side operations, and especially between the assignment and scheduling problem,
researchers have investigated the integration of these two problems, rather than
treating them only sequentially. The resulting problem is known as the integrated
Quay Crane Assignment and Scheduling Problem (QCASP), for which researchers
have presented novel approaches both in terms of problem formulation and solu-
tion techniques that aim to effectively and efficiently solve this inherently complex
problem. Integration consistently leads to better results but it comes at the cost of
increased computational intensity, which is an issue that many researchers attempt
to address. Diabat and Theodorou [8, 22] try to overcome the complexity of the
integrated problem by transforming crane scheduling into a crane-to-bay alloca-
tion problem and solve the problem using heuristics, namely a Genetic Algorithm
(GA) and Lagrangian-relaxation based heuristic, respectively. The authors assume
a uni-directional crane movement to model the problem. Bi-directional movement
is adopted by Fu et al. [10] and Fu and Diabat [9] who also solve the integrated
QCASP using a GA and Lagrangian relaxation-based heuristic, respectively. Other
researchers, such as [19] approach the integrated QCASP from a cost perspective,
aiming to indicate the impact of load time cost on vessel’s prioritization. The authors
allow for adjustable QC operational costs as well as adjustable working rates, as
quay cranes are not necessarily identical.
The continuous advancement of research gives rise to more practical operational
aspects which were not previously considered. One such aspect is the issue of vessel
stability during the process of handling a container vessel, which is presented in more
detail in the following section, both in terms of problem description and literature
contribution.
To provide a visual illustration of the significance of ship stability, Fig. 2.2 depicts the
great imbalance that can be caused in the case of uneven container weight distribution
across the vessel. The stability of the vessel is violated if the vessel’s center of
52 N. Al-Dhaheri
gravity shifts too much toward one side during the loading or unloading process.
This shift results from workload distribution along the vessel and the sequence of
operations. Henceforth the QCSP should consider vessel stability constraints to allow
for obtaining QC schedules that can be used in practice.
In 2013, [24] produced the first paper that highlighted the importance of con-
sidering vessel stability in the QCSP. Wang et al. [24] incorporate vessel stability
into a mixed integer program (MIP) and develop a Genetic Algorithm (GA) to solve
the problem. The GA discards any QC schedule that violates the QCSP constraints,
including those related to vessel stability.
Al-Dhaheri and Diabat [2] develop a Mixed Integer Program (MIP), in which
they implicitly account for vessel stability by minimizing the differences between
the container loads stacked over a number of bays and by maintaining a balanced
load across all bays. Furthermore, this MIP accounts for important considerations
such as the bidirectional movement of cranes and the ability to move between bays
even before completion of all container tasks. The increased complexity of these
additional considerations is offset by the simple objective, and overall the model
is proved to successfully address the vessel stability issue and it is solvable for
small- to medium-sized instances. While typically in the literature the objective of
the QCSP is to minimize the “makespan” of the QC schedule, the contribution of
the aforementioned paper is that it proves that this objective is equally served by
ensuring sufficient balance of the workload distribution among the cranes.
2 Ship Stability Considerations in the Quay Crane Scheduling Problem 53
Fig. 2.3 Graphical illustration of the container weight distribution during the QCSP
Unlike the majority of models developed in the literature, the current model allows
for QCs to travel between bays, even before the container tasks at that bay are
completed. In fact, this is readily implemented in practice because this extra degree
of freedom allows for better solutions. This leads to a model that better reflects
real-life circumstances, as long as the non-crossing constraints are maintained at
all times. Given the fact that the time required for cranes to travel between bays
is negligible, compared to the handling times, it is not taken into consideration.
However, the authors illustrate how this can be easily incorporated as an extension
to the model. The authors also relax the restriction of unidirectional crane movement
that is frequently adopted by researchers. Thus, the authors allow for fully taking
advantage of the assumption that cranes can move between bays, even before the
completion of all container handling at the currently assigned bay. Finally, identical
service rates are assumed for all cranes, but once again the authors demonstrate that
the formulation can be modified to account for variability in service rates.
Figure 2.3 provides a graphical illustration of the problem, depicting the sequen-
tial indexing along the quay for both bays and cranes, the rail upon which cranes
are mounted, the safety margins between adjacent cranes, as well as the stacked
containers on the first bay. When dividing the vessels into bay areas, the safety mar-
gin between two adjacent QCs can be implicitly taken into consideration; hence the
safety margin has not been incorporated into this model.
The authors conduct a computational analysis through which several important
insights are drawn: first of all, a lower number of cranes with higher efficiency is
a preferred option compared to a higher number of cranes with lower efficiency.
A second conclusion is that changing the distribution of container workload across
bays has an impact on the total handling time required to serve the vessel; in fact, the
greater the standard deviation of the container workload difference between bays,
the greater the handling time required. Another interesting observation made by the
authors’ analysis is that reordering of container workload does not have an impact on
54 N. Al-Dhaheri
the handling time, but it actually has a great impact on the CPU time. While this may
not be significant for small problem instances, it does become the case when applied
to real-life problem sizes. In addition, the authors examined the effect of increasing
the number of bays, while maintaining the same workload and concluded that a larger
number of bays do not lead to a lower handling time, as would be expected due to
the fact that more bays allow for more flexible movement of QCs. As a final remark,
the authors note that increasing the problem size leads to an exponential increase in
CPU time, thus rendering the model more appropriate for small and medium rather
than large sized problems.
In the work of [4] the authors aim to explicitly rather than implicitly consider
vessel stability. Once again, a novel MIP is developed that is very flexible in han-
dling various settings of the QCSP, such as those related to crane traveling time,
task preemption, and the unidirectional quay crane operating mode. While the MIP
formulation provides an optimal unidirectional schedule for all considered small-
sized problem, in relatively reasonable time, it does not return the optimal solution
for all these instances. Moreover, the experimentation of the MIP formulation on
small-sized problems and the use of the proposed lower bound (LB), highlight the
interest for adopting a search strategy focused on unidirectional schedules.
A Genetic Algorithm is also designed to solve the problem. The GA embraces
the unidirectional search strategy. It provides optimal unidirectional schedules for all
small-sized instances within significantly lower time than the one required by GAMS.
Furthermore, for medium and large size instances, where GAMS fails to solve the
problem, the GA returns a near-optimal solution within a reasonable computational
time. This promotes the use of the proposed GA as a solution approach for the
considered QCSP, especially for medium and large sized instances.
One aspect that remains to be addressed is the inherent uncertainty associated
with the scheduling problem. This is addressed in the work of [4], who develop a
formulation that incorporates the randomness related to the handling rates and idle
times of quay cranes and stacking cranes. The objective is to minimize vessel han-
dling time while considering the entire container handling process involving both
seaside operations and container transfer operations, tasks that take place between
the quay and the stacking yard. A stochastic mixed integer programming model is
proposed and a simulation based Genetic Algorithm (GA) is applied to construct
QC schedules that account for the dynamics and the uncertainty inherent to the con-
tainer handling process. The proposed GA framework embeds a simulation model
to evaluate the fitness of each chromosome. The proposed algorithm is tested under
both stochastic and deterministic circumstances. The obtained solutions are further-
more evaluated more accurately using the simulation model with a larger sample
size. Simulation results show that the algorithm provides better QC schedules when
it is used under stochastic environment. However, the algorithm incurs much larger
computational time when it is used under stochastic environment than when it is used
under deterministic environment.
The authors point out that the intended QC performance in terms of utilization
rate cannot be reached without employing a sufficient number of Straddle Carriers
(SCs). Moreover, the results highlight the significance of using a simulation model to
2 Ship Stability Considerations in the Quay Crane Scheduling Problem 55
obtain more realistic and reliable performance of the QC schedules returned by the
algorithm under deterministic environment. Computational experiments demonstrate
satisfactory results of the proposed algorithm and stress the importance of simulation
in obtaining more reliable estimates of QC schedule performance.
The final model presented in the current review is that of [3], which encompasses
three major contributions: first, to develop a new and more tractable optimization
model for the single-vessel QCSP with vessel stability constraints; secondly, to
extend this model to the multiple-vessel QCSP; and thirdly, to design an efficient
solution algorithm that is capable of solving real-sized instances of the problem. In
order to achieve these research milestones, the QCSP is initially formulated for the
single vessel case, with the objective of minimizing the makespan without consid-
ering stability constraints. After devising a new formulation for the single vessel
case (whose performance is evaluated against benchmark formulations of the liter-
ature), the authors use its solution in another optimization problem that considers
the stability constraints. Then they extend the model to the multiple vessel case,
which is solved with the help of Lagrangian relaxation, whereby the problem is
decomposed by vessel and each is solved efficiently as a single vessel case. The
Lagrangian subproblems don’t have the integrity property, and therefore the solu-
tion of the Lagrangian subproblems provides a lower bound, that is at least as good
as the linear programming relaxation bound, on the optimal value of the original
problem. The Lagrangian multipliers are updated using the cutting plane method
and the solution of the Lagrangian master problem provides an upper bound on the
optimal value of the Lagrangian lower bound. Upper bounds on the optimal value
of the original problem objective function are obtained using a constructive heuris-
tic, and through computational experiments we demonstrate the performance of the
Lagrangian relaxation-based procedures.
First the authors present the single ship case: for a given ship, and a number of
identical quay cranes (QCs) Q, the aim of the QCSP with ship stability considerations
is to schedule the work of cranes in a way that all tasks are performed. A task is defined
on the basis of the unloading or loading operation of a single container. Preemption
is permitted, as a single bay can be assigned to multiple QCs for the handling of its
containers. However, at any time, there can be at most one QC working on any bay.
This is enforced through what are known as interference constraints. In addition, all
QCs travel on a single rail along the quay, which implies that crossing is not allowed.
We assume that the traveling time between two consecutive bays is constant, and
identical for all QCs. A safety margin is also maintained which is measured by the
minimum distance in bays between adjacent QCs.
The authors extend the formulation from the single ship to the multi ship case,
assuming in this case that the berthing order is known for the ships to be handled,
i.e. the static case of the problem is addressed. In addition, they assume that cranes
can move between ships, which means it is not necessary for a crane to complete all
operations at the current ship before moving on to the next.
56 N. Al-Dhaheri
As far as future research is concerned, there is great potential for expansion of the
models presented addressing the issue of ship stability. There are several assumptions
that can be easily included, such as a non-constant productivity rate for cranes and
the consideration of the travel times required for cranes to travel between bays. In
addition, non-identical container weights could be assumed, as is the case in practice,
which would pose additional modeling challenges in terms of weight distribution.
Another modeling contribution would be to assume both unloading and loading
operations.
This work can be further enhanced by integrating the QCSP with stability con-
straints with the Berth Allocation Problem (BAP). Until now this has been a challenge
in the field, due to the very high complexity of the integrated problem. However,
extending the current formulation and implementing a similar solution approach
could lead to an efficient solution of the problem. A future direction for the solution
approach could be to apply Branch & Price (B&P) to solve the single ship problem
with stability constraints in one stage rather than in a two stage approach involving a
heuristic. Then, the multi-ship problem would be solved once again with Lagrangian
relaxation and with the subproblems solved using B&P.
For a truly comprehensive formulation, other aspects of container terminal oper-
ations could be accounted for, such as yard congestion. This occurs when the yard
storage areas are overly accessed by vehicles transporting containers to respective
stacks. An interesting extension would be to consider lateral in addition to horizontal
stability, which would require a three dimensional approach to the problem. Finally,
the QCSP could be combined with the Container Relocation Problem (CRP), which
involves placing container on other bays while containers deeper in the stack of the
current bay are being accessed. Also, given that the QCs represent one of the major
valuable resources at container terminals, it is worth further investigating the SCs
to assign to each QC while taking into account more details regarding yard conges-
tion and containers’ stack location. Also, it could be useful to investigate other SCs
deployment strategies such as pooling, where SCs are assigned to vessels rather than
to QCs. Thus, within a pooling strategy, any SC can serve any QC assigned to the
vessel.
As far as solution techniques are concerned, more heuristics can be developed
and compared to the existing ones, in terms of performance and efficiency. Finally,
conducting tests on real-life instances that have been used by other works and bench-
marking them would be extremely beneficial in terms of comparatively evaluating
the model and ultimately judging its appropriateness for use by container terminal
operators.
2 Ship Stability Considerations in the Quay Crane Scheduling Problem 57
References
1. Al Hammadi, J., Diabat, A.: An integrated berth allocation and yard assignment problem for
bulk ports: formulation and case study. RAIRO Oper. Res. (2017) (in press)
2. Al-Dhaheri, N., Diabat, A.: The quay crane scheduling problem. J. Manuf. Syst. 36, 87–94
(2015)
3. Al-Dhaheri, N., Diabat, A.: A Lagrangian-relaxation-based heuristic for the multiship quay
crane scheduling problem with ship stability constraints. Ann. Oper. Res. (2016)
4. Al-Dhaheri, N., Jebali, A., Diabat, A.: A simulation based Genetic Algorithm approach for the
quay crane scheduling under uncertainty. Simul. Model. Pract. Theory 66, 122–138 (2016a)
5. Al-Dhaheri, N., Jebali, A., Diabat, A.: The quay crane scheduling problem with nonzero crane
repositioning time and vessel stability constraints. Comput. Ind. Eng. 94, 230–244 (2016b)
6. Alzaabi, S., Diabat, A.: On the berth allocation problem. RAIRO Oper. Res. 50(3), 491–501
(2016)
7. Arango, C., Corts, P., Onieva, L., Escudero, A.: Simulation-optimization models for the
dynamic berth allocation problem. Comput. Aided Civil Infrastruct. Eng. 28(10), 769–779
(2013)
8. Diabat, A., Theodorou, E.: An integrated quay crane assignment and scheduling problem.
Comput. Ind. Eng. 73, 115–123 (2014)
9. Fu, YM., 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)
10. Fu, YM., Diabat, A., Tsai, IT.: A multi-vessel quay crane assignment and scheduling problem:
formulation and heuristic solution approach. Expert Syst. Appl. 41(15), 6959–6965 (2014)
11. Imai, A., Nishimura, E., Papadimitriou, S.: Berth allocation with service priority. Transp. Res.
Part B: Methodol. 37(5), 437–457 (2003)
12. Kenan, N., Diabat, A.: A branch-and-price algorithm to solve a quay crane scheduling problem.
Proc. Comput. Sci. 61, 527–532 (2015)
13. Kim, K.H., Park, Y.M.: A crane scheduling method for port container terminals. Eur. J. Oper.
Res. 156(3), 752–768 (2004)
14. Liang, C., Huang, Y., Yang, Y.: A quay crane dynamic scheduling problem by hybrid evolu-
tionary algorithm for berth allocation planning. Comput. Ind. Eng. 56(3), 1021–1028 (2009)
15. Lu, Z., Han, X., Xi, L.: Simultaneous berth and quay crane allocation problem in container
terminal. Adv. Sci. Lett. 4(6–7), 2113–2118 (2011)
16. Meisel, F.: The quay crane scheduling problem with time windows. Naval Res. Logist. (NRL)
53(1), 45–59
17. Moccia, L., Cordeau, JF., Gaudioso, M., Laporte, G.: A branch-and-cut algorithm for the quay
crane scheduling problem in a container terminal. Naval Res. Logist. 53(1), 45–59 (2006)
18. Sammarra, M., Cordeau, JF., Laporte, G., Monaco, MF.: A Tabu search heuristic for the quay
crane scheduling problem. J. Sched. 10(4–5), 327–336 (2007)
19. Schoonenberg, W., Hols, J., Diabat, A.: A cost based approach for a crane assignment and
scheduling problem. In: International Conference on Industrial Engineering and Systems Man-
agement (IESM), 21–23 Oct 2015, Seville, Spain
20. Simrin, A., Diabat, A.: The dynamic berth allocation problem: a linearized formulation. RAIRO
Oper. Res. 49(3), 473–494 (2015)
21. Simrin, A.S., Alkawaleet, N.N., Diabat, A.H.: A Lagrangian relaxation based Heuristic for the
static berth allocation problem using the cutting plane method. In: Proceedings of the 15th
International Conference on Enterprise Information Systems, pp. 565–569 (2013)
22. Theodorou, E., Diabat, A.: A joint quay crane assignment and scheduling problem: Formula-
tion, solution algorithm and computational results. Optim. Lett. 9, 799–817 (2015)
23. Vo, S., Stahlbock, R., Steenken, D.: Container terminal operation and operations research—a
classification and literature review. OR Spectrum 26(1), 3–49 (2004)
24. Wang, J., Hu, H., Song, Y.: Optimization of quay crane scheduling constrained by stability of
vessels. Transp. Res. Rec.: J. Transp. Res. Board 2330(1), 47–54 (2013)
25. Zeng, Q., Diabat, A., Zhang, Q.: A simulation optimization approach for solving the dual-
cycling problem in container terminals. Marit. Policy Manag. 42(8), 87–94 (2015)
Chapter 3
Recent Progress Using Matheuristics
for Strategic Maritime Inventory Routing
3.1 Introduction
In 2014, the volume of world seaborne shipments was estimated to be 9.84 billion
tons, accounting for roughly 80% of total world merchandise trade [48]. The petro-
chemical sector was responsible for transporting approximately 32% of this tonnage
with 17% going to crude oil, 9% to petroleum products, and 6% to gas and chemicals
[48, Fig. 1.3]. The transportation costs associated with these commodities directly
affect the economic viability of certain projects and thus effective supply chain
decision support tools are critical to ensure profitability. This chapter discusses recent
progress using matheuristics (i.e., heuristics that rely on a mathematical program-
ming model) to find high quality ship schedules and inventory policies for a certain
maritime transportation problem known as the Maritime Inventory Routing Problem
(MIRP), which plays a critical part in global bulk shipping. As there have been sev-
eral papers over the last 5 years that have investigated matheuristics for particular
(often proprietary) applications, we review and evaluate several prominent methods
on a publicly available data set.
Inventory routing problems (IRPs) comprise the integration and coordination of
two components of the logistics value chain: inventory management and vehicle
routing. After their emergence in the industrial gases industry, IRPs are now promi-
nent in a number of business sectors with maritime IRPs arising in the petrochemical
sector being a primary source of real-world IRP applications [15, p. 2]. IRPs have
gained an important status because they are instrumental in vendor managed inven-
tory (VMI), a policy in which a central decision maker oversees both the inventory
and its distribution within a supply chain [12]. Andersson et al. [5] furnish a summary
of research on IRPs in road and maritime contexts. Christiansen et al. [14] offer a
thorough overview of maritime transportation.
Relative to other transportation industries (e.g., air, rail, and truck), the maritime
sector has been slow to adopt optimization-based decision support tools for business
planning and operations. As a consequence, relatively few commercial software tools
have been developed to fill this niche market. Meanwhile, the complexity of such
problems is often too great to be handled using spreadsheets and experience.
Matheuristics are heuristic algorithms made by the interoperation of metaheuris-
tics and mathematical programming techniques [10]. They have garnered increasing
attention in the last decade due to advances in mathematical programming software
that can now reliably solve certain classes of optimization problems to near optimality
within an acceptable time limit [9]. Matheuristics for IRPs are discussed in [8] and,
more generally, for vehicle routing problems in [6]. They have been applied in other
shipping applications, such as in liner shipping network design Brouer et al. [11].
The guiding tenet behind the matheuristics presented here is the desire to main-
tain a single mixed-integer linear programming (MILP) formulation and to find high
quality solutions to it by iteratively fixing subsets of variables and solving the result-
ing MILP with a general purpose MILP solver. Specifically, consider a generic MILP
min c x (3.1a)
s.t. Ax ≥ b (3.1b)
x ∈ Zn 1 × Rn 2 (3.1c)
Brief review of matheuristics Archetti and Bertazzi [6] classify matheuristics for
vehicle routing problems (a superset of IRPs) into three classes, which we state
verbatim:
62 D.J. Papageorgiou et al.
initial solutions for MILP problems, and local branching is used to improve feasible
solutions. Hemmati et al. [28] evaluated the potential of having a VMI service in
tramp shipping to provide flexibility in delivery time and cargo quantities. Hemmati
et al. [27] propose a two-phase hybrid matheuristic to solve a multi-product short sea
MIRP. They first convert the MIRP into a ship routing and scheduling problem and
then apply an adaptive large neighborhood search to solve the resulting optimization
problem. Jiang and Grossmann [31] evaluate a number of MILP formulations for an
operational MIRP; no heuristics are applied.
or consumed at port j in time period t. The amount of inventory at the end of time
period t must be between 0 and S max j,t .
Since it may not be possible to satisfy all demand or avoid hitting tank top, we
include a simplified spot market so that a consumption port may buy product and a
production port can sell excess inventory whenever necessary. The penalty parameter
P j,t denotes the unit cost associated with the spot market at port j in time period t.
We assume that P j,t > P j,t+1 for all t ∈ T so that the spot market is only used as late
as possible, i.e., to ensure that a solution will not involve lost production (stockout)
until the inventory level reaches capacity (falls to zero). When the penalty parameters
are large (like a traditional “Big M” value), inventory bounds can be considered
“hard” constraints. When they are small, however, inventory bounds can be treated
as “soft” constraints. This “soft” interpretation may be beneficial in strategic planning
problems for several reasons. First, a user may attempt to solve an instance with a
demand forecast that cannot be met by the existing fleet in order to understand the
limitations of the current infrastructure (see also [24]). Second, the inventory bounds
given as input may be overly conservative in order to make the solution more robust
when, in fact, slight bound violations may be acceptable. Third, incurring a small
penalty for a particular solution (as opposed to declaring it strictly infeasible) can
mitigate minor unwanted effects of using a discrete-time model [36].
Vessels travel from port to port, loading and discharging product. We assume
vessels fully load and fully discharge at a port and that direct deliveries are made. Each
vessel belongs to a vessel class vc ∈ VC. Vessel class vc has capacity Q vc . Vessels are
owned by the supplier or time-chartered for the entire planning horizon. We assume
vc
that port capacity always exceeds vessel capacity, i.e., S max j,t ≥ max{Q : vc ∈ VC}
and that vessels can fully load or discharge in a single period. These assumptions
allow vessels to load or discharge in the same period in which they leave a port so
that loading and discharging decisions do not need to be explicitly modeled.
As is done in several other works, the problem is modelled on a time-expanded
network. The network has a set N0,T +1 of nodes and a set A of directed arcs. The
node set is shared by all vessel classes, while each vessel class has its own arc set Avc .
The set N0,T +1 of nodes consists of a set N = {( j, t) : j ∈ J , t ∈ T } of “regular”
nodes, or port-time pairs, as well as a source node n 0 and a sink node n T +1 .
Associated with each vessel class vc is a set Avc of arcs, which can be parti-
tioned into source, sink, waiting, and travel arcs. A source arc a = (n 0 , ( j, t)) from
the source node to a regular node represents the arrival of a vessel to its initial
destination. A sink arc a = (( j, t), n T +1 ) from a regular node to the sink node indi-
cates that a vessel has departed the system and is no longer in use. A waiting arc
a = (( j, t), ( j, t + 1)) from a port j in time period t to the same port in time period
t + 1 represents a vessel remaining at that port in two consecutive time periods.
Finally, a travel arc a = (( j1 , t1 ), ( j2 , t2 )) with j1 = j2 represents travel between
two distinct ports, where the travel time (t2 − t1 ) between ports is given. If a travel
or sink arc is taken, we assume that a vessel fully loads or discharges immediately
before traveling. The cost of traveling on arc a ∈ Avc is Cavc .
The set of all travel and sink arcs for each vessel class are denoted by Avc,inter
(where “inter” stands for “inter-regional”). The set of incoming and outgoing arcs
66 D.J. Papageorgiou et al.
We next define the decision variables. Let xavc be the number of vessels in vessel class
vc that travel on arc a ∈ Avc . Let s j,t be the ending inventory at port j in time period
t. Initial inventory s j,0 is given as data. Finally, let α j,t be the amount of inventory
bought from or sold to the spot market near port j in time period t.
We consider the following discrete-time arc-flow MILP model, which was intro-
duced in Papageorgiou
et al. [34]:
min Cavc xavc + P j,t α j,t (3.3a)
vc∈VC a∈Avc j∈J t∈T
⎧
⎨ +1 if n = n 0
s.t. xavc − xavc = −1 if n = n T +1 , ∀ n ∈ N0,T +1 , vc ∈ VC (3.3b)
⎩ 0 if n ∈ N
a∈F S vc
n a∈RS vc
n
⎛ ⎞
s j,t = s j,t−1 + j ⎝ D j,t − Q vc xavc − α j,t ⎠ , ∀ n = ( j, t) ∈ N (3.3c)
vc∈VC a∈F S vc,inter
n
xavc ≤ B j , ∀ n = ( j, t) ∈ N (3.3d)
vc∈VC a∈F S vc,inter
n
α j,t ≥ 0, ∀ n = ( j, t) ∈ N (3.3e)
3 Recent Progress Using Matheuristics for Strategic MIRPs 67
The objective is to minimize the sum of all transportation costs and penalties for lost
production and stockout. Constraints (3.3b) require flow balance of vessels within
each vessel class. Constraints (3.3c) are inventory balance constraints at loading and
discharging ports, respectively. Berth limit constraints (3.3d) restrict the number of
vessels that can attempt to load/discharge at a port at a given time. This formulation
requires that a vessel must travel at capacity from a loading region to a discharging
region and empty on the return voyage to a loading region. This model does not
require decision variables for tracking inventory on vessels (vessel classes), nor does
it include decision variables for the quantity loaded/discharged in a given period.
This model is similar to the one studied in Goel et al. [24]. The major differences
are that they do not include travel costs in the objective function; they model each
vessel individually (in other words, there is only one vessel per vessel class); they
model consumption rates as decision variables with upper and lower bounds; and they
include an additional set of continuous decision variables to account for cumulative
unmet demand at each consumption port.
It is unclear if additional constraints are beneficial for finding better primal solutions.
On the one hand, more constraints typically imply that a solver must do more work
at each search tree node, e.g., during each dual simplex update since the constraint
matrix A is larger. On the other hand, a tighter relaxation often reduces the number
of nodes that must be explored. Below we describe a set of mixed integer rounding
cuts that can be added to the formulation. These cuts were originally proposed in
Engineer et al. [18] and later in Agra et al. [1] and Papageorgiou et al. [36]. For
completeness, a formal derivation is provided in the appendix.
Let R j,t be the cumulative amount of product required for pick up or delivery at
port j by time period t, i.e.,
t
≤t D j,t − s j,0
if j ∈ J C ,
R j,t = (3.4)
t
≤t D j,t
+ s j,0 − S j
max
if j ∈ J P .
Then, for any scalar Q > 0, the following mixed integer rounding cuts are valid:
0 )+
Q vc (Fvc − F j,t α j,t
R j,t
− xavc + ≥ ∀( j, t) ∈ N , (3.5)
vc∈VC t
≤t a∈F S vc,inter
Q 1− 0
F j,t t
≤t
Q(1 − 0 )
F j,t Q
j,t
where D j,[t1 ,t2 ] = tt2
=t1 D j,t
, and S min max
j,t and S j,t are known or improved bounds on
s j,t . This is particularly relevant when implemented within a rolling horizon approach
since s j,t1 −1 will be known when t1 is the starting time period of the interval being
optimized. In this case, we have S min j,t1 −1 = S j,t1 −1 = s j,t1 −1 .
max
Reducing the number of time periods Aggregation in space and/or time are com-
monplace when attempting to reduce the solution space of a large optimization prob-
lem. In this approach, we attempt to reduce the number of time periods in which
vessels can travel between distinct ports. In our implementation, rather than manip-
ulate the set T of time periods, we limited the set of travel arcs (i.e., arcs that involve
two distinct ports) so that vessels may only travel in even-numbered periods. The
berth limit constraints were not modified. We attempted several other variants, but
did not see any benefits for this class of problems.
Rolling horizon heuristics Arguably the most common form of time decomposition
in engineering applications is some form of rolling horizon heuristic (RHH). In the
IRP literature, Al-Ameri et al. [3] present a rolling horizon framework for vendor-
managed inventory systems. In the MIRP literature, this approach was applied in
Al-Khayyal and Hwang [4], Rakke et al. [38], Agra et al. [2], and others. The basic
idea of an RHH tailored to time-based IRPs is to solve a sequence of overlapping
3 Recent Progress Using Matheuristics for Strategic MIRPs 69
τ central
Several variants are worth mentioning. Uggen et al. [47] present a fix-and-relax
heuristic in which the forecast period includes all remaining time periods and all
integer decision variables in the forecast period are relaxed to be continuous. This
did not work well for this class of problems, so we did not adopt it. Goel et al. [24] and
Shao et al. [41] apply a rolling horizon framework within a construction heuristic,
but without solving a mathematical program. From a high level, the approximate
dynamic programming method proposed in Papageorgiou et al. [34], the first of
its kind for maritime inventory routing problems, can be viewed as a type of rolling
horizon heuristic that uses value functions to approximate the value of sending vessels
to certain ports in the forecast period. It is more complex than the matheuristics
evaluated in this work. Similarly, Toriello et al. [46] apply approximate dynamic
programming to address a deterministic IRP. It is one of the first papers to apply
70 D.J. Papageorgiou et al.
t ∈ T
subset of time periods considered; we assume T ∈ T
Parameters
Rem remaining time available up to time t for vessel v from its first possible arrival to the
Tt,v
supply port
OW
T j,v one-way travel time from the supply port to demand port j for vessel v
RT
T j,v roundtrip travel time from the supply port to demand port j (and back) for vessel v
C OW
j,v travel cost of a one-way voyage from the supply port to demand port j for vessel v
C RT
j,v travel cost of a roundtrip voyage from the supply port to demand port j (and back)
for vessel v
D LB
j,t cumulative excess demand at demand port j up to time period t
D UB
j,t maximum demand at demand port j up to time period t
Pj penalty for unmet demand: P j = P j,1 , for all j
3 Recent Progress Using Matheuristics for Strategic MIRPs 71
Decision Variables
σ j,t ≥ 0 , ∀ j ∈ JC,t ∈ T
(3.6i)
x RT
j,t,v ∈ Z+ , ∀ j ∈ J C , t ∈ T
, v ∈ V (3.6j)
x OW
j,t,v ∈ {0, 1} , ∀ j ∈ J C , t ∈ T
, v ∈ V (3.6k)
z j,vc ∈ {0, 1} , ∀ j ∈ J C , vc ∈ VC . (3.6l)
72 D.J. Papageorgiou et al.
The objective is to minimize the total cost of one-way and roundtrip voyages and
cumulative unmet demand penalties up to time T . Constraints (3.6b) limit the number
of one-way and roundtrip voyages each vessel can make. Constraint (3.6h) requires
at least K discharging port-vessel class pairs to be incompatible. Constraints (3.6c)
and (3.6d) bound the amount of product that can be discharged at each discharging
port up to time t ∈ T
. Note that the more periods considered (i.e., the larger T
is),
the more difficult it becomes to solve this MILP to provable optimality. For example,
if T
= T , then this MILP would be almost as difficult to solve as Model (3.3).
Constraints (3.6e) ensure that the cumulative number of voyages is correct. Note
that it allows for a single one-way voyage to be made up to time period t − 1 (e.g.,
j,t−1,v = 1), but then the return trip to be completed after time period t − 1 such
x OW
that no one-way trip is made up to time period t (e.g., x OW j,t,v = 0).
Since the interplay of one-way and roundtrip voyages is important, the following
example is meant to clarify how the two are used in Model (3.6). Consider an instance
with a single supply port, a single demand port, and a single vessel originating at the
supply port and available in the first time period. Assume a 181-day planning horizon
with T = {0, 1, . . . , 180}. Assume that a one-way (roundtrip) voyage requires 10
(20) days. Assume that, in an optimal solution, the demand port is visited in time
periods t ∗ for t ∗ ∈ {10, 30, 50, 70, 90, 110, 130, 150, 170}. Now, let T
= {90, 180}
be the subset of time periods considered in Model (3.6). Omitting the subscripts j and
v in x RT OW
j,t,v and x j,t,v (since there is only one demand port and one vessel), this optimal
solution corresponds to a solution x90 RT
= 4, x90
OW
= 1, x180
RT
= 8, and x180
OW
= 1. That
is, up to time period 90, there are four roundtrip voyages in which the vessel delivers
in time periods t ∗ ∈ {10, 30, 50, 70} and a single one-way voyage in which the vessel
delivers in time period 90. Up to time period 180, there are eight roundtrip voyages
and a single one-way voyage. Note that if one-way voyages were only permitted in
the last time period (i.e., t = 180 in this example), only four roundtrips would have
been feasible up to time period 90 possibly causing slack σ90 to be positive. Since σ j,t
denotes cumulative slack, an incorrect amount of slack would have been incurred.
Parameter settings: In our computational experiments, we set K = 0.2|J C ||VC|
and T
= {t ∈ T : t mod T /T
= 0} with T
= 12 so that T
= |T
| = 12.
K -opt local search Borrowing from the K -opt local search procedures commonly
used in combinatorial optimization problems, this heuristic fixes the routes for all but
K vessel classes, and solves MILP (3.3) for a better solution over the neighborhood
defined by the K unfixed vessel classes. This matheuristic is remarkably simple
3 Recent Progress Using Matheuristics for Strategic MIRPs 73
to implement and was used in [24, 30, 34, 35, 42], although often with routes for
vessels, rather than vessel classes, being fixed and optimized. Pseudocode is provided
in Algorithm 2.
The most interesting step in the algorithm is deciding which vessel classes should
be fixed and in what order. In this chapter, we simply use a predefined ordering so that
the set S of vessel class tuples is given as input. Goel et al. [24] suggested a tailored
scheme for dynamically choosing pairs of vessels to include in a 2-opt approach for
an LNG-IRP. It is important to note that the order in which vessel classes are selected
can have a significant impact on the performance of the algorithm.
1-opt with D-day time window flexibility search This algorithm is a variant of the
time-window improvement heuristic introduced in Goel et al. [24] and used subse-
quently in Shao et al. [41]. As proposed in [24], this heuristic searches a neighborhood
consisting of all solutions such that any voyage departure is delayed or advanced by
at most D days, relative to the departure date for that voyage in the incumbent solu-
tion. We extend this heuristic by increasing the size of the neighborhood to include
a 1opt search. Specifically, in addition to allowing voyages 2D days of additional
flexibility (D days before and D days after), we also unfix all variables associated
with a single vessel class. Thus, this heuristic searches over larger neighborhoods
than 1opt.
Solution pool-based polishing This algorithm seeks to improve the best known
solution given a pool of solutions by attempting to exploit the best properties of
these solutions. It is similar in spirit to that of [39]. The method solves an MILP in
which travel and demurrage arcs are active (unfixed) only if they were selected by one
of the solutions in the solution pool. All other travel and demurrage arcs are removed
from (fixed to zero in) the problem formulation. The MILP is initialized with the
best solution from the pool, and can be terminated by achieving proven optimality
or by reaching the time limit. Unlike other heuristic methods, this heuristic can take
multiple solutions as input.
The solution pool can be generated by MILP solvers, or by saving the solutions
found through different approaches. This heuristic can be used as a last step to
improve the solutions found with other methods.
74 D.J. Papageorgiou et al.
Combining the construction and improvement heuristics presented above has the
potential to further improve solution quality. Several hybridizations are discussed
below. Before proceeding, we pause to mention that it is not clear a priori if solving
each portion of a rolling horizon heuristic to provable optimality is, indeed, better than
solving a portion to near optimality before rolling forward. For example, an optimal
solution to a myopic instance may place vessels in a suboptimal future position from
which it is impossible to recover.
Rolling horizon heuristic with a coarse time granularity forecast In this approach,
we keep the central period unperturbed, but restrict the times at which vessels may
make port-to-port voyages in the forecast period. In all of our computational testing,
we use a time grain of 2, which means that vessels may only leave in even numbered
time periods. Increasing the time grain above 2 in these instances always resulted in a
performance degradation. This reduces the number of travel arcs, but not the number
of demurrage arcs.
Rolling horizon heuristic with interspersed calls to K -opt Since solving a 90-
period instance to provable optimality can be challenging in its own right, this hybrid
is meant to clean up flaws in the solution that have accrued in the process of running
a rolling horizon heuristic. Consequently, in this hybrid, a K -opt algorithm is called
immediately after T /2 periods have been fixed and again after all T periods have
been fixed.
Rolling horizon heuristic with restricted port-vessel class pairs This hybrid
applies a rolling horizon heuristic over the entire planning horizon after restrict-
ing port-vessel class pairs (i.e., after solving MILP (3.6)). Thus, if a port-vessel
class pair is deemed incompatible by MILP (3.6), this pair is excluded for the entire
solution process thereafter. The hope is that solving each portion of the rolling hori-
zon heuristic is simplified due to these port-vessel class restrictions and that this
simplification will result in superior solutions given a time limit.
K -opt with restricted port-vessel class pairs This hybrid applies K -opt over the
entire planning horizon after restricting port-vessel class pairs (by solving MILP
(3.6)).
3 Recent Progress Using Matheuristics for Strategic MIRPs 75
Our computational experiments are performed on the Group 2 instances of the pub-
licly available maritime inventory routing problem library (MIRPLib), available at
mirplib.scl.gatech.edu and presented in Papageorgiou et al. [36]. Since its
creation in 2012, the MIRPLib website has received over 75,000 visits and has gained
the attention of all of the major MILP solvers, including CPLEX, Express, Gurobi,
Mosek, and SCIP. This is important as two of the major goals for the library were:
(1) to present benchmark instances for a particular class of MIRPs; (2) to provide the
MILP community with a set of optimization problem instances from the maritime
transportation domain. Indeed, we show that the MILP solvers have gained some
ground as they are now able to find feasible solutions to several instances faster than
before. Nevertheless, for large instances, matheuristics are far superior. Moreover,
the progress in MILP solvers makes it possible to solve larger neighborhoods within
the local search framework.
For consistency, we use the same convention for naming instances proposed in
[36], which is based on the number of loading and discharging ports/regions, the
number of vessel classes, and the number of vessels. This convention is easily under-
stood with an example. Consider an instance named LR1_DR04_VC03_V15a. LR1
means that there is one loading region/port. DR04 means that there are four discharg-
ing regions/ports. VC03 means that there are three vessel classes. V15 means that
there are a total of 15 vessels (with at least one vessel belonging to each vessel class).
Finally, the letter ‘a’ indicates that the production and consumption rates at all ports
are constant over all time periods; the letter ‘b’ indicates that these rates may vary
over time.
Table 3.1 provides information and statistics for each of the 72 instances. There are
24 Group 2 base instances that have been formulated with three different planning
horizons (120, 180, and 360 time periods) yielding a total of 72 instances. The
columns are:
• Column 1 (Horizon): Number of periods in the planning horizon
• Column 2 (Instance name)
• Column 3 (Difficulty): Easy (E), Medium (M), or Hard (H). An instance is declared
Hard (H) if no commercial MILP solver (using default settings) can close more
than 10% of the gap (defined in (3.7)) in 1800 s; Easy (E) if at least one commercial
MILP solver can close more than 90% of the gap in 1800 s using default CPLEX;
and Medium (M) otherwise.
76
Table 3.1 Statistics and best known results for Group 2 MIRPLib instances (Bold font indicates a new best objective function value or lower bound)
Horizon Instance name Difficulty Original model Presolved model Statistics
Rows Cols Int Cols Rows Cols Int Cols Objval Bound Rgap Agap
120 LR1_DR02_VC01_V6a E 1081 1855 1134 1023 1839 1118 33809 33809 0.00 0
120 LR1_DR02_VC02_V6a E 1441 2979 2258 1389 2909 2188 74982 74982 0.00 0
120 LR1_DR02_VC03_V7a E 1801 4082 3361 1697 3867 3146 40446 39318 2.79 1128
120 LR1_DR02_VC03_V8a E 1801 4004 3283 1713 3854 3133 43721 43717 0.01 4
120 LR1_DR02_VC04_V8a E 2161 5216 4495 2047 4959 4238 41657 41277 0.91 380
120 LR1_DR02_VC05_V8a E 2521 6316 5595 2308 5791 5070 36659 36088 1.56 571
120 LR1_DR03_VC03_V10b M 2401 5643 4682 2297 5493 4532 92941 83645 10.00 9296
120 LR1_DR03_VC03_V13b E 2401 5665 4704 2299 5515 4554 124921 118706 4.98 6215
120 LR1_DR03_VC03_V16a E 2401 5372 4411 2273 5169 4208 82837 71635 13.52 11202
120 LR1_DR04_VC03_V15a E 3001 7152 5951 2860 6940 5739 73312 72108 1.64 1204
120 LR1_DR04_VC03_V15b E 3001 7188 5987 2849 6966 5765 117812 102148 13.30 15664
120 LR1_DR04_VC05_V17a E 4201 11110 9909 3908 10538 9337 72876 71572 1.79 1304
120 LR1_DR04_VC05_V17b E 4201 11123 9922 3919 10604 9403 105766 84970 19.66 20796
120 LR1_DR05_VC05_V25a M 5041 13412 11971 4665 12673 11232 105328 102755 2.44 2573
120 LR1_DR05_VC05_V25b E 5041 13368 11927 4707 12772 11331 137107 125966 8.13 11141
120 LR1_DR08_VC05_V38a M 7561 20621 18460 7015 19616 17455 166615 158499 4.87 8116
120 LR1_DR08_VC05_V40a E 7561 20759 18598 7074 19919 17758 178593 171418 4.02 7175
(continued)
D.J. Papageorgiou et al.
Table 3.1 (continued)
Horizon Instance name Difficulty Original model Presolved model Statistics
Rows Cols Int Cols Rows Cols Int Cols Objval Bound Rgap Agap
120 LR1_DR08_VC05_V40b M 7561 20724 18563 7055 19848 17687 200746 188843 5.93 11903
120 LR1_DR08_VC10_V40a M 12961 39298 37137 11729 36678 34517 185538 180353 2.79 5185
120 LR1_DR08_VC10_V40b M 12961 39229 37068 11868 37173 35012 206315 195690 5.15 10626
120 LR1_DR12_VC05_V70a H 10921 30166 27045 10169 28847 25726 278647 267766 3.90 10881
120 LR1_DR12_VC05_V70b M 10921 30138 27017 10226 28907 25786 308555 294441 4.57 14114
120 LR1_DR12_VC10_V70a H 18721 57811 54690 17162 54871 51750 283154 274121 3.19 9033
120 LR1_DR12_VC10_V70b H 18721 57773 54652 17196 54880 51759 295126 285440 3.28 9686
180 LR1_DR02_VC01_V6a E 1621 2815 1734 1563 2799 1718 52167 52166 0.00 1
180 LR1_DR02_VC02_V6a E 2161 4539 3458 2109 4469 3388 129372 128106 0.98 1267
180 LR1_DR02_VC03_V7a M 2701 6242 5161 2597 6027 4946 60547 58790 2.90 1757
180 LR1_DR02_VC03_V8a E 2701 6164 5083 2613 6014 4933 68153 66989 1.71 1164
3 Recent Progress Using Matheuristics for Strategic MIRPs
180 LR1_DR02_VC04_V8a M 3241 7976 6895 3127 7719 6638 66017 65274 1.12 743
180 LR1_DR02_VC05_V8a M 3781 9676 8595 3568 9151 8070 58619 57260 2.32 1359
180 LR1_DR03_VC03_V10b M 3601 8643 7202 3497 8493 7052 125638 106712 15.06 18926
180 LR1_DR03_VC03_V13b E 3601 8665 7224 3499 8515 7074 165764 143695 13.31 22069
180 LR1_DR03_VC03_V16a M 3601 8372 6931 3473 8169 6728 143178 120556 15.80 22622
180 LR1_DR04_VC03_V15a M 4501 10992 9191 4360 10780 8979 118621 116211 2.03 2410
180 LR1_DR04_VC03_V15b E 4501 11028 9227 4349 10806 9005 189989 170432 10.29 19557
(continued)
77
78
360 LR1_DR08_VC05_V40a H 22681 65879 59398 22194 65039 58558 652380 624179 4.32 28201
360 LR1_DR08_VC05_V40b H 22681 65844 59363 22175 64968 58487 709713 630407 11.17 79306
360 LR1_DR08_VC10_V40a H 38881 125218 118737 37649 122598 116117 663245 649885 2.01 13360
360 LR1_DR08_VC10_V40b H 38881 125149 118668 37788 123093 116612 724513 651195 10.12 73318
360 LR1_DR12_VC05_V70a H 32761 96406 87045 32009 95087 85726 1021389 982619 3.80 38770
360 LR1_DR12_VC05_V70b H 32761 96378 87017 32066 95147 85786 1093013 980410 10.30 112603
360 LR1_DR12_VC10_V70a H 56161 184051 174690 54602 181111 171750 1024399 1002624 2.13 21775
360 LR1_DR12_VC10_V70b H 56161 184013 174652 54636 181120 171759 1001541 985670 1.58 15871
79
80 D.J. Papageorgiou et al.
where z method is the objective function value of the method under evaluation and z best
is the objective function value of the best known solution ever found. It should be
noted that the previous incumbent solutions as reported in [36] were found by warm-
starting a local search procedure with the best solution found using the ADP methods
described in [34], applying local search for five hours, and then warm-starting Gurobi
with this solution and solving for 10 days.
Table 3.2 lists the algorithms compared in this computational study. All matheuris-
tics were coded in AIMMS version 4.13.1.204. Because we set a time limit to search
over each neighborhood in our local search implementation, our local search is no
longer deterministic due to idiosyncrasies of MILP solvers.
The time limit for solving Model (1) in Step 1 of Algorithm 1 for the rolling
horizon heuristic is 120 s, regardless of the number τ c of central periods.
For benchmarking purposes, we first compare the performance of the general purpose
MILP solvers CPLEX 12.6.2 and Gurobi 6.5. This comparison is relevant because
both solvers have been in possession of these instances since 2012 and have made
improvements over the previous versions which were used in Papageorgiou et al.
[36]. Two variants were run for each solver. The first directly solves Model (3.3),
3 Recent Progress Using Matheuristics for Strategic MIRPs 81
while the second solves Model (3.3) with MIR cuts (3.5) appended to the model for
all t ∈ T for which the right hand side (3.5) is positive. It must be noted that CPLEX
has an advantage when MIR cuts are included as these cuts are added as “User cuts” to
a user cut pool, whereas they had to be included in the initial formulation for Gurobi.
This distinction is important because when cuts are included in a cut pool, a solver
only includes the cuts on an as-needed basis (i.e., when they are violated). Because
we could not pass these cuts to Gurobi in a cut pool through the AIMMS-Gurobi
interface, Gurobi had to include all of the cuts as structural constraints from the
outset resulting in a larger constraint matrix that must be preprocessed and factorized
throughout the branch-and-cut algorithm. These benchmarking results with CPLEX
and Gurobi were run on a Sandy Bridge dual-socket Linux machine with kernel
2.6.32-279.el6.x86_64 equipped with eight 2.6 GHz cores and 4 GB of RAM per
core (32GB of RAM). This machine is more powerful than the machine used to test
our matheuristics.
Of the 72 total instances (24 base instances each formulated with a time horizon
of 120, 180, and 360 periods), there are 26 Hard instances, 25 Medium instances,
and 21 Easy instances. Figure 3.1 further breaks down the number of instances in
each difficulty category based on the number of discharging ports and number of
time periods in the planning horizon.
82 D.J. Papageorgiou et al.
10
120 180 360
Periods Periods Periods
9
8
Number of instances in difficulty category
5 Hard
4 Medium
Easy
3
0
2 3,4,5 8,12 2 3,4,5 8,12 2 3,4,5 8,12
Number of discharging ports
Figure 3.2 shows profile curves of the average fraction of the gap closed over time
broken down by Easy, Medium, and Hard instances. We see that default CPLEX
on average outperforms default Gurobi in each difficulty category. As mentioned
above, the comparison between both solvers with MIR cuts is not a fair one since it
is not an “apples-to-apples” comparison; nevertheless, we report it for completeness.
CPLEX with MIR cuts appears to perform better than default CPLEX for Medium
and Hard instances. It is important to note that our gap metric (3.7) is different from
the traditional gap metric used by solvers. If the latter were used, the benefits of
including MIR cuts would be more pronounced as the dual bound improvements are
greater. In all subsequent experiments evaluating matheuristics, CPLEX 12.6.2 was
used.
Figure 3.3 presents performance profiles for several matheuristics and categorizes
their performance based on their ability to solve Easy, Medium, and Hard instances.
To improve readability, the RHH variants are shown in the top row, K -opt variant in
the middle row, and the “best” RHH, K -opt, and commercial solver algorithms are
compared in the bottom row. The word “best” is in quotations to emphasize that it is
3 Recent Progress Using Matheuristics for Strategic MIRPs 83
based on the performance up to 1800 s. If a shorter time limit were used, the “best”
algorithm may change.
Rolling horizon comparison. The top row of Fig. 3.3 compares the performance
of the various RHH variants. For all three difficulty levels, RHH variants outper-
form the best commercial solver within an 1800 s time limit. On Hard instances,
rhh_60_30 performs the best up to 1200 s, after which the two rhh_30_60 vari-
ants begin to take over. Surprisingly, using a coarse grain forecast with rhh_60_30
on Hard instances is more of a bane than a boon. Using a 90-period forecast was
never beneficial on Medium and Hard instances.
K-opt comparison. The middle row of Fig. 3.3 compares the performance of the
various K -opt approaches. Although this class of matheuristics was introduced as
improvement heuristics in Sect. 3.3.2, they can just as well be applied in an iterative
manner to generate high quality feasible solutions. In all of our experiments using a
K -opt variant as a construction heuristic, we first solved an entire instance for 30 s
before starting Algorithm 2. The results are somewhat mixed. It is not clear if using
port-vessel class restrictions provides improvement. For Easy instances, restrictions
seem to help, but they are not necessary since CPLEX’s performance is satisfactory.
For Hard instances, they seem to help for 1-opt as 1opt_restrict outperforms
1opt, but the reverse is true when comparing 2opt_restrict and 2opt.
Best of the best comparison. The bottom row of Fig. 3.3 reveals, not surprisingly,
that the best RHH is superior to the best K -opt variant when used as a construc-
tion heuristic. Not shown in the bottom row of Fig. 3.3 is that on Hard instances,
in 900 s, rhh_60_30 performs better than 2opt, which in turn does better than
rhh_30_60. This is because rhh_60_30 is taking larger steps when rolling for-
ward compared to rhh_30_60. It should also be reiterated that “order matters”
and that perhaps with a more intelligent ordering of vessel class pairs, 2opt could
outperform rhh_60_30.
Finally, it is worth calling attention to the fact that on Hard instances, the worst
performing RHH and K -opt variant are far superior to all commercial solvers. We
will revisit Hard instances in Sect. 3.4.4.
84 D.J. Papageorgiou et al.
RHH
K-opt
Best of best Easy Medium Hard
and A is the objective function value of the solution after the algorithm is applied.
All improvement heuristics were tested with a time limit of 5 min.
Table 3.3 presents the performance of the different improvement heuristics for
“good” solutions (Bucket 1) and “bad” solutions (Bucket 2). The table shows the
average improvement of the different heuristics over all instances. Note that an
instance can have multiple solutions. Therefore, the percentage improvement of
each instance in each bucket is calculated as the average improvement of all the
solutions for that particular instance and bucket. The table presents the comparison
of 5 methods: 1opt, 1opt_1daytw, 2opt_cyclic, CPLEX with local branch-
ing, and default CPLEX. The first three methods are described in Sect. 3.3.2. The
last two methods involve solving the problems with CPLEX using local branching
(cpx_lb) and default CPLEX (cpx), both using the “incumbent solution” as an
initial integer solution.
The reason for evaluating these three K -opt heuristics is because they all require
the same number of iterations (the cardinality of the set S in Algorithm 2 is the
same, |S| = |VC|) with 1opt searching the smallest neighborhood in each itera-
tion, 1opt_1daytw the next largest neighborhood, and 2opt_cyclic the largest
neighborhood of the three. The two CPLEX variants search the largest neighborhood
as they solve the original problem using an initial solution to warmstart the solution
process. Hence, this experiment attempts to answer the question: Empirically, is it
better to search larger neighborhoods, which may not solve to provable optimality,
or many smaller neighborhoods?
The first thing to note is that, as expected, all improvement heuristics are more
successful at improving solutions in Bucket 2 than in Bucket 1. Moreover, all algo-
rithms are better at improving Easy instances, regardless of the bucket. Of all of the
tested improvement heuristics, 2opt_cyclic on average performs the best. The
only exception is in the Hard instances from Bucket 1, in which 1opt performs
the best on average. It is interesting to note that CPLEX with the local branching
option performs better than CPLEX with default settings. However, these two do not
perform as well as other improvement heuristics, particularly in Medium and Hard
instances.
Table 3.4 presents the number of instances for which a better solution was found
after applying the different improvement heuristics. For example, if an instance has
86 D.J. Papageorgiou et al.
Table 3.4 Number of instances for which the method found better solutions
Easy Medium Hard Total
2opt_cyclic 9 15 19 43
1opt 7 14 22 43
1opt_1daytw 7 13 15 35
cpx_lb 0 0 0 0
cpx 5 4 0 9
pool_polish 5 10 11 26
Table 3.5 Average percentage improvement of best solution using improvement heuristics
Easy Medium Hard
2opt_cyclic 1.3 1.8 3.0
1opt 0.5 1.5 5.4
1opt_1daytw 1.2 0.8 1.2
cpx_lb 0.0 0.0 0.0
cpx 0.8 0.1 0.0
pool_polish 0.5 0.4 0.3
9 solutions in the pool then the improvement is calculated using the best found
solution (after applying the heuristic method to all 9 instances), compared to the best
solution from the pool. The only exception is pool_polish, in which the best
found solution is obtained by applying the solution pool polishing method presented
in Sect. 3.3.2 (i.e. this problem is solved only once using all of the solutions, while
the other methods are solved one time for each solution).
Table 3.4 shows that 2opt_cyclic and 1opt can improve the best solution
in 43 out of the 72 instances. Of these two, 2opt_cyclic is better at improv-
ing Easy and Medium instances, while 1opt is better at improving Hard instances.
1opt_1daytw and pool_polish also perform well by improving the best solu-
tion in 35 and 26 of the instances, respectively. However, CPLEX has difficulties
improving the best solution found. In particular, default CPLEX can only find a
better solution in 9 of the instances, while CPLEX with local branching in none.
Table 3.5 presents the average percentage improvement over the best solution
from the pool. The quality improvement of the instance in each basket is similar (in
terms of behaviour) to the number of instances for which a better solution was found.
In particular, 2opt_cyclic performs the best in Easy and Medium instances and
1opt performs the best in Hard instances. Default CPLEX makes little improvement
in Easy and Medium instances, and no improvement in Hard instances.
3 Recent Progress Using Matheuristics for Strategic MIRPs 87
In this section, we investigate hybrid matheuristics for finding good feasible solutions
to the 26 Hard instances in this data set, almost all of which have eight or more
discharging regions and five or more vessel classes. These instances are particularly
challenging and require extra attention. Likewise, they are more representative of
real-world instances.
Three of the hybrid heuristics outlined in Sect. 3.3.3 combine an RHH with a K -
opt procedure or port-vessel class restrictions. Figure 3.4 shows the performance of
these hybrids. An asterisk means that the CPLEX parameters “Emphasize feasibility
over optimality” and “local branching” were engaged. The first observation to make
is that all hybrids are able to close between 86 and 91% of the optimality gap in 3600
s. All three RHH methods with τ c = 60, i.e., 60 periods in the central period, close
at least 82% of the optimality gap by 1800 s, whereas the best RHH method tested in
Sect. 3.4.2 was able to close roughly 73% of the optimality gap in the same time limit.
These results give an affirmative answer to the question: Is it true that RHH-K opt
hybrids are successful at cleaning up flaws in the solution that have accrued in the
process of running a rolling horizon heuristic?
Although the heuristic rhh_60_30_1opt_restrict*, which includes port-
vessel class restrictions, falls to the bottom of the list after 3600 s, it is actually the
best performing algorithm up to 1800 s. This suggests that restrictions can be useful
for accelerating time to good feasible solutions.
be used when trying to improve larger instances in one fell swoop. Alternatively, one
can break down the problem into smaller chunks and apply a generic MILP solver
directly. For example, one could modify the rhh_τ c _τ f _kopt algorithm so that
K -opt is applied only to the last Rτ c periods when it is invoked, where R is a positive
scalar, instead of to the entire “past.”
For Hard instances, and thus most industrial-scale problem instances, arguably
the simplest, yet most effective algorithm is coupling a rolling horizon heuristic with
a K -opt procedure (rhh_τ c _τ f _kopt) as outlined in Sect. 3.3.3. If a relatively long
time limit is set, then an RHH with a short central period τ c (30 in our experiments)
allows one to gradually build a solution and make numerous corrections over time.
Interspersing calls to a K -opt procedure will further refine suboptimal decisions
made in the “past.” If a short time limit is imposed, then an RHH with a longer
central period τ c (60 in our experiments) is a wise choice because it rolls forward
with larger steps and thus will lead to a complete solution (i.e., all time periods in
the planning horizon will be considered) more quickly. If a very short time limit is
imposed, a more specialized algorithm may be necessary (e.g., the ADP approach
described in [34]).
3 Recent Progress Using Matheuristics for Strategic MIRPs 89
Acknowledgements We wish to thank two anonymous referees for their feedback, in particular
Reviewer 1 whose perceptive comments helped improve the quality of the chapter.
3.6 Nomenclature
Sets are denoted using capital letters in a calligraphic font, such as T and V. Parame-
ters are typically denoted with capital letters in italic font or with Greek characters.
Decision variables always appear as lower case letters.
90 D.J. Papageorgiou et al.
Data
Decision Variables
α j,t (continuous) number of units of unmet demand/excess inventory at port j ∈ J in time period t ∈ T
s j,t (continuous) number of units of inventory at port j ∈ J available at the end of period t
xavc (integer) number of vessels in vessel class vc ∈ VC using arc a ∈ Avc .
3.7 Appendix
S≤ = {(x, y) ∈ Z × R+ : x − y ≤ b} .
and
S≥ = {(x, y) ∈ Z × R+ : x + y ≥ b} .
3 Recent Progress Using Matheuristics for Strategic MIRPs 91
1
x+ y ≥ b (3.9)
1 − f0
n
( f j − f 0 )+ 1
a j
+ xj + g j y j ≤ b
(3.10)
j=1
1 − f0 1 − f 0 j:g <0
j
n
( f j − f 0 )+ 1
a j − xj + g j y j ≥ b (3.11)
j=1
1 − f0 1 − f 0 j:g >0
j
Here, we have thrown out the continuous variables with non-positive coefficients
and we have partitioned the integer variables based on the value of their fractional
part f j being greater than or less than the fractional part f 0 of the right-hand side b.
Next, rewrite the left hand side of (3.12) as w + z ≥ b where w and z are defined as
1 Note ( f j − f 0 )+
that the term 1− f 0 can only increase the coefficient of x j , which makes the constraint
stronger.
92 D.J. Papageorgiou et al.
w := a j x j + a j
x j , and
j: f j ≤ f 0 j: f j > f 0
z := gj yj + (1 − f j )x j .
j:g j >0 j: f j > f 0
1 − fj
1
a j x j + a j
+ xj + g j y j ≥ b .
j: f j ≤ f 0 j: f > f
1 − f0 1 − f 0 j:g >0
j 0 j
1− f f −f
Note that a j
+ 1− f0j = a j − 1−
j
f0
0
for all j ∈ {1, . . . , n} : f j > 0. Note also that
for those integer variables j whose fractional part f j is greater than the fractional
( f j − f 0 )+
part f 0 of the right-hand side, the relaxed coefficient a j − 1− f0
in the MIR cut
(3.11) is stronger than for those j with f j ≤ f 0 .
References
1. Agra, A., Andersson, H., Christiansen, M., Wolsey, L.: A maritime inventory routing problem:
discrete time formulations and valid inequalities. Networks 62(4), 297–314 (2013)
2. Agra, A., Christiansen, M., Delgado, A., Simonetti, L.: Hybrid heuristics for a short sea inven-
tory routing problem. Eur. J. Oper. Res. 236(3), 924–935 (2014)
3. Al-Ameri, T.A., Shah, N., Papageorgiou, L.G.: Optimization of vendor-managed inventory
systems in a rolling horizon framework. Comput. Ind. Eng. 54(4), 1019–1047 (2008)
4. Al-Khayyal, F., Hwang, S.: Inventory constrained maritime routing and scheduling for multi-
commodity liquid bulk, Part I: Applications and model. Eur. J. Oper. Res. 176(1), 106–130
(2007)
5. Andersson, H., Hoff, A., Christiansen, M., Hasle, G., Løkketangen, A.: Industrial aspects and
literature survey: combined inventory management and routing. Comput. Oper. Res. 37(9),
1515–1536 (2010)
6. Archetti, C., Speranza, M.G.: A survey on matheuristics for routing problems. EURO J. Com-
put. Optim. 2(4), 223–246 (2014)
7. Asokan, B.V., Furman, K.C., Goel, V., Shao, Y., Li, G.: Parallel large-neighborhood search
techniques for LNG inventory routing. Submitted for publication (2014)
8. Bertazzi, L., Speranza, M.G.: Matheuristics for inventory routing problems. In: Hybrid Algo-
rithms for Service, Computing and Manufacturing Systems: Routing and Scheduling Solutions,
p. 488. IGI Global, Hershey (2011)
9. Bixby, R., Rothberg, E.: Progress in computational mixed integer programming—a look back
from the other side of the tipping point. Ann. Oper. Res. 149(1), 37–41 (2007)
10. Boschetti, M.A., Maniezzo, V., Roffilli, M., Röhler, A.B.: Matheuristics: optimization, simu-
lation and control. In: Hybrid Metaheuristics, pp. 171–177. Springer (2009)
11. Brouer, B.D., Desaulniers, G., Pisinger, D.: A matheuristic for the liner shipping network design
problem. Transp. Res. Part E: Logist. Transp. Rev. 72, 42–59 (2014)
12. Campbell, A., Clarke, L., Kleywegt, A., Savelsbergh, M.W.P.: The inventory routing problem.
In: Crainic, T.G., Laporte, G. (eds.) Fleet Management and Logistics, pp. 95–113. Kluwer
(1998)
3 Recent Progress Using Matheuristics for Strategic MIRPs 93
13. Christiansen, M., Fagerholt, K., Flatberg, T., Haugen, O., Kloster, O., Lund, E.H.: Maritime
inventory routing with multiple products: a case study from the cement industry. Eur. J. Oper.
Res. 208(1), 86–94 (2011)
14. Christiansen, M., Fagerholt, K., Nygreen, B., Ronen, D.: Maritime transportation. In: Barnhart,
C., Laporte, G. (eds.) Transportation, Handbooks in Operations Research and Management
Science, vol. 14, pp. 189–284. Elsevier (2007)
15. Coelho, L.C., Cordeau, J.F., Laporte, G.: Thirty years of inventory-routing. Transp. Sci. 48(1),
1–19 (2014)
16. Cornuéjols, G.: Valid inequalities for mixed integer linear programs. Math. Programm. 112(1),
3–44 (2007)
17. Dauzère-Pérès, S., Nordli, A., Olstad, A., Haugen, K., Koester, U., Myrstad, P.O., Teistklub, G.,
Reistad, A.: Omya hustadmarmor optimizes its supply chain for delivering calcium carbonate
slurry to European paper manufacturers. Interfaces 37(1), 39–51 (2007)
18. Engineer, F.G., Furman, K.C., Nemhauser, G.L., Savelsbergh, M.W.P., Song, J.H.: A Branch-
Price-And-Cut algorithm for single product maritime inventory routing. Oper. Res. 60(1),
106–122 (2012)
19. Fischetti, M., Lodi, A.: Local branching. Math. Programm. 98(1–3), 23–47 (2003)
20. Fodstad, M., Uggen, K.T., Rømo, F., Lium, A., Stremersch, G.: LNGScheduler: a rich model
for coordinating vessel routing, inventories and trade in the liquefied natural gas supply chain.
J. Energy Mark. 3(4), 31–64 (2010)
21. Furman, K.C., Song, J.H., Kocis, G.R., McDonald, M.K., Warrick, P.H.: Feedstock routing in
the ExxonMobil downstream sector. Interfaces 41(2), 149–163 (2011)
22. Godfrey, G.A., Powell, W.B.: An adaptive dynamic programming algorithm for dynamic fleet
management, I: Single period travel times. Transp. Sci. 36(1), 21–39 (2002)
23. Godfrey, G.A., Powell, W.B.: An adaptive dynamic programming algorithm for dynamic fleet
management, II: Multiperiod travel times. Transp. Sci. 36(1), 40–54 (2002)
24. Goel, V., Furman, K.C., Song, J.H., El-Bakry, A.S.: Large neighborhood search for LNG
inventory routing. J. Heurist. 18(6), 821–848 (2012)
25. Goel, V., Slusky, M., van Hoeve, W.J., Furman, K.C., Shao, Y.: Constraint programming for
LNG ship scheduling and inventory management. Eur. J. Oper. Res. 241(3), 662–673 (2015)
26. Halvorsen-Weare, E., Fagerholt, K.: Routing and scheduling in a liquefied natural gas shipping
problem with inventory and berth constraints. Ann. Oper. Res. 203(1), 167–186 (2013)
27. Hemmati, A., Hvattum, L.M., Christiansen, M., Laporte, G.: An iterative two-phase hybrid
matheuristic for a multi-product short sea inventory-routing problem. Eur. J. Oper. Res. 252(3),
775–788 (2016)
28. Hemmati, A., Stålhane, M., Hvattum, L.M., Andersson, H.: An effective heuristic for solving
a combined cargo and inventory routing problem in tramp shipping. Comput. Oper. Res. 64,
274–282 (2015)
29. Hewitt, M., Nemhauser, G.L., Savelsbergh, M.W.P.: Branch-and-price guided search for inte-
ger programs with an application to the multicommodity fixed-charge network flow problem.
INFORMS J. Comput. (2012)
30. Hewitt, M., Nemhauser, G.L., Savelsbergh, M.W.P., Song, J.H.: A Branch-and-price guided
search approach to maritime inventory routing. Comput. Oper. Res. 40(5), 1410–1419 (2013)
31. Jiang, Y., Grossmann, I.E.: Alternative mixed-integer linear programming models of a maritime
inventory routing problem. Comput. Chem. Eng. 77, 147–161 (2015)
32. Munguía, L.M., Ahmed, S., Bader, D.A., Nemhauser, G.L., Shao, Y.: Alternating criteria search:
a parallel large neighborhood search algorithm for mixed integer programs. Submitted for
publication (2016)
33. Mutlu, F., Msakni, M.K., Yildiz, H., Snmez, E., Pokharel, S.: A comprehensive annual delivery
program for upstream liquefied natural gas supply chain. Eur. J. Oper. Res. (2015)
34. Papageorgiou, D.J., Cheon, M.S., Nemhauser, G., Sokol, J.: Approximate dynamic program-
ming for a class of long-horizon maritime inventory routing problems. Transp. Sci. 49(4),
870–885 (2014)
94 D.J. Papageorgiou et al.
35. Papageorgiou, D.J., Keha, A.B., Nemhauser, G.L., Sokol, J.: Two-stage decomposition algo-
rithms for single product maritime inventory routing. INFORMS J. Comput. 26(4), 825–847
(2014)
36. Papageorgiou, D.J., Nemhauser, G.L., Sokol, J., Cheon, M.S., Keha, A.B.: MIRPLib—a library
of maritime inventory routing problem instances: survey, core model, and benchmark results.
Eur. J. Oper. Res. 235(2), 350–366 (2014)
37. Rakke, J.G., Andersson, H., Christiansen, M., Desaulniers, G.: A new formulation based on
customer delivery patterns for a maritime inventory routing problem. Transp. Sci. 49(2), 384–
401 (2014)
38. Rakke, J.G., Stålhane, M., Moe, C.R., Christiansen, M., Andersson, H., Fagerholt, K., Norstad,
I.: A rolling horizon heuristic for creating a liquefied natural gas annual delivery program.
Transp. Res. Part C: Emerg. Technol. 19(5), 896–911 (2011)
39. Rothberg, E.: An evolutionary algorithm for polishing mixed integer programming solutions.
INFORMS J. Comput. 19(4), 534–541 (2007)
40. Savelsbergh, M.W.P., Song, J.: An optimization algorithm for the inventory routing problem
with continuous moves. Comput. Oper. Res. 35(7), 2266–2282 (2008)
41. Shao, Y., Furman, K.C., Goel, V., Hoda, S.: A hybrid heuristic strategy for liquefied natural
gas inventory routing. Transp. Res. Part C: Emerg. Technol. 53, 151–171 (2015)
42. Song, J.H., Furman, K.C.: A maritime inventory routing problem: practical approach. Comput.
Oper. Res. 40(3), 657–665 (2013)
43. Stålhane, M., Rakke, J.G., Moe, C.R., Andersson, H., Christiansen, M., Fagerholt, K.: A con-
struction and improvement heuristic for a liquefied natural gas inventory routing problem.
Comput. Ind. Eng. 62(1), 245–255 (2012)
44. Topaloglu, H.: A parallelizable dynamic fleet management model with random travel times.
Eur. J. Oper. Res. 175(2), 782–805 (2006)
45. Topaloglu, H., Powell, W.B.: Dynamic-programming approximations for stochastic time-
staged integer multicommodity-flow problems. INFORMS J. Comput. 18(1), 31–42 (2006)
46. Toriello, A., Nemhauser, G.L., Savelsbergh, M.W.P.: Decomposing inventory routing problems
with approximate value functions. Naval Res. Logist. 57(8), 718–727 (2010)
47. Uggen, K., Fodstad, M., Nørstebø, V.: Using and extending fix-and-relax to solve maritime
inventory routing problems. TOP 21(2), 355–377 (2013)
48. UNCTAD: Review of Maritime Transport United Nations, New York and Geneva (2015)
Chapter 4
Evolutionary Computation for the Ship
Routing Problem
Abstract In this chapter, we present evolutionary algorithms for solving the real time
ship weather routing problem. The objectives to be minimized are the mean total risk
and fuel cost incurred along the obtained route while considering the time-varying
sea and weather conditions and also a constraint on the total passage time of the
route. In addition, for achieving a high safety level the proposed approaches should
return only solutions compliant with the guidelines of the International Maritime
Organization (IMO). Two different well-known genetic algorithms, namely SPEA2
and NSGA-II are applied to the ship routing problem and a comparative performance
evaluation of the two algorithms is performed. The proposed approaches are tested
on real data and compared with an exact algorithm which solves the same problem.
4.1 Introduction
This chapter presents genetic algorithms for the point-to-point ship weather routing
problem which seeks for an optimal route of a ship from a departure to a desti-
nation port given a constraint on the total travel time. An optimal route reaches
the destination port at minimum fuel consumption and maximum safety taking into
account technical and operational restrictions. The problem can be formulated as
and the mean risk of the route while taking into account the prevailing weather
conditions. In this study, SPEA2 and NSGA-II were both applied to the optimal ship
routing problem. Moreover, the performance of these algorithms were compared with
that of an exact algorithm [35] for the same problem in order to assess the ability
of the two MOGAs in finding the whole Pareto set. It is also worth mentioning that
diversity of the obtained solutions and early convergence in MOGAs is achieved
by employing the appropriate evolutionary operations and through the appropriate
selection of the initial population.
The rest of the paper is organized as follows. In Sect. 4.2, we formally define the
point-to-point ship routing problem as a special case of the dynamic multi-objective
shortest path problem. The related work is presented in Sect. 4.3. Next, in Sect. 4.4,
we describe the proposed genetic algorithm. Some critical modelling issues affecting
the effectiveness of solving methods for the ship routing problem are presented in
Sect. 4.5. The efficiency of the evolutionary computation in this maritime setting is
evaluated in a number of experiments in Sect. 4.6, where both SPEA2 and NSGA-II
algorithms are compared against the algorithm in [35] which is a forward label setting
algorithm that has the best so far performance in the literature for the problem at hand.
Finally, some concluding remarks and the directions for future work are presented
in Sect. 4.7.
In this subsection, the ship routing problem is formally defined as a non linear integer
programming problem. The ship routing problem in its most general version is an
instance of the dynamic multi-objective shortest path problem. However, in this study,
we focus on the most realistic version of the point-to-point ship routing problem,
where the ship speed does not change along the route and waiting at nodes is not an
option.
Let G = (V, A) be a directed graph, where V and A is the set of nodes (|V | = n)
and A and the set of arcs (|A| = m) respectively. Each arc in (i, j) ∈ A is associated
with three time dependent positive costs ci1j (t), ci2j (t) and ci3j (t) which are the travel
time, the fuel consumption and the risk respectively along this arc when departure
from node i takes place at time t. The frozen arc model of [26] is followed in this
study where the above arc costs are assumed to be constant during the arc traversal.
The problem can be defined as that of finding a shortest path P between a source
s ∈ V and a destination d ∈ V with minimum total fuel consumption FC(P) and
risk R(P), when the departure time at the source node is tstar t and the voyage duration
V D(P) does not exceed a certain upper bound T on the maximum duration of the
route.
For the problem formulation, we need an upper bound H on the number of arcs
comprising a solution path. This is required because when waiting at nodes is forbid-
den, the optimal solution may contain infinite number of arcs, as a result of infinite
loops along the route [26]. In fact, the obtained solution might be a walk and not
98 A. Veneti et al.
a path. Since, this infinite number of arcs cannot be formulated with finite number
of variables, an additional constraint on the arc number in a solution path should be
enforced.
A number of variables are used for the formulation of problem as a non linear
integer programming problem. Namely, we define pi ∈ {0, 1} with pi = 1 when the
solution path has exactly i arcs. We also use the variable αirj with αirj = 1 when the
arc αi j is the r -th arc starting from s along the route and αirj = 0, otherwise. Also t rj
is defined as the arrival time at node j immediately after traversing arc αi j but only
when that arc is the r -th arch of the solution path (αirj = 1). If such an arc does not
exist, we assign a large value to t rj . In addition, we always set ts0 = tstar t .
Constraint (4.4) requires that the voyage duration of the solution path must not be
longer than the maximum duration T . Constraint (4.5) ensures that the first arc of the
solution path is actually an outgoing arc of the node s. Constraint (4.6) makes sure that
4 Evolutionary Computation for the Ship Routing Problem 99
at most one arc in the graph can be the r -th edge of the solution path. Constraint (4.7)
states that the solution path cannot continue beyond the node d. Constraint (4.8)
essentially specifies the number of arcs of the solution path. Constraint (4.9) states that
the terminal node of the solution path will be the node d. Constraint (4.10) is a flow
conservation constraint ensuring that there is only one incoming and one outgoing
arc at each node along the solution path and also that these arcs are consecutive in the
path. Equation (4.11) estimates the arrival time at node j when this node is the head
of the r -th arc of the solution path. In this equation, we assume that ci j (M) = M
q
(q = 1 · · · 3) where M and M are large numbers.
Each solution z is the pair of the values of the two objective functions for the
corresponding path. Also, although the proposed Integer Programming model is non
linear, when the time dependent edge costs functions ci1j (t), ci2j (t) and ci3j (t) are
linear, the above formulation can be transformed into a linear model [6].
risk and the fuel consumption. It is assumed that the risk depends on the wind speed
during the ship voyage. The method is based on the Strength Pareto Evolutionary
Algorithm (SPEA) designed for solving combinatorial multi-objective optimization
problems. Each solution route is specified as a sequence of waypoints from the origin
point to the destination point. The initial population consists of a set of basic routes
namely, an orthodrome i.e., a 2-dimensional projection of the shortest curve between
the origin point and destination point, a loxodrome i.e., a 2-D projection of the curve
intersecting the meridians at a constant angle, a time-optimized isochrone route and
another time-optimized isochrone route also optimized for fuel consumption. Then,
the initial population is increased by applying random mutations of the basic routes. A
method is also developed for route ranking based on the decision-maker preferences,
which are expressed in terms of linguistic, fuzzy values. The authors have applied
their technique to finding routes in the Atlantic Ocean.
Marie et al. in [24] present a GA for computing the Pareto optimal ship routes
with respect to voyage time and fuel consumption. The fuel consumption estimation
is based on resistances caused by the wind and the waves. The authors propose a
new discretization of the search space based on a number of physical parameters,
such as the origin and the destination, the maximum speed, the desired sailing time,
the distance between the waypoints and the course changes per hour. The initial
population is randomly chosen, as a random sequence of grid nodes. It is assumed
that the sea and the wind conditions are time-dependent and a linear interpolation
technique is employed for time instances lacking weather measurements.
A GA is proposed in [10] for finding real-time optimal ship routes with optimiza-
tion criteria the estimated arriva timel, the mean total risk and the fuel consumption.
Besides ship movements which affect ship stability, ship structural safety is consid-
ered for risk assessment. Ship operational restrictions are also taken into account
for solving the optimization problem, while ship course and speed are the control
variables. The well-known technique NSGA-II [9] was employed for solving the
problem. Among others, the initial route population includes the shortest route in
terms of the passage time only. In addition, penalty functions are introduced for
preventing constraint violation. Thus, through this artificial increase of the objective
value, infeasible solutions are avoided. Finally, an interesting finding in this work
is that the Gaussian mutation operator and the two-point crossover operator achieve
faster solution convergence.
Since the selection of the initial route population greatly affects the quality of
the final solution of an evolutionary approach for solving the ship routing problem,
Szlapczynska et al. in [30] proposed the modified isochrone method by Hagiwara in
[14], for generating this population. The authors modified the isochrone method so
as to ensure that the initial population will not contain routes crossing land since this
“no land crossing” property of the initial route population reduces the computational
time and improves the quality of the solution. The proposed algorithm has linear
4 Evolutionary Computation for the Ship Routing Problem 101
computational complexity with respect to the number of grid cells but the optimality
of the derived solutions largely depends on the land bitmap resolution. The pro-
posed method is suitable for trans-oceanic navigation, and the authors applied their
approach for finding the best route from Plymouth to New York.
In [37], the authors propose a multi-objective route planning method for fishing
vessels most suitable for coastal navigation. For faithfully predicting the ship perfor-
mance in the prevailing sea and weather conditions, detailed models are employed
for the seakeeping response of the vessel, the added resistance incurred in an irregular
sea state as well as the engine of the vessel. Specifically, graphs of the power rate,
fuel consumption and exhaust gases of the engine versus the speed rate are taken into
account. The objectives to be optimized are the duration, the fuel consumption and
the safety of the trip. For the measurement of the safety level of the trip, a number of
criteria are considered, specifically, the slamming and the green water probability,
the vertical acceleration at bridge as well as the lateral acceleration. For solving the
multi-objective problem, the Strength Pareto Evolutionary Algorithm (SPEA2) is
used which determines the Pareto frontier of the solution space. Besides, the heading
of the ship, the ship speed is also considered as a decision variable which can be
properly set for achieving optimality with respect to the three objectives. Also, for
expediting the search of the Pareto-optimal solutions, as a first step, the proposed
approach determines the single objective optimal solutions with respect to the three
objectives and then these solutions are used as initial solutions for the evolutionary
algorithm. Finally, the authors propose a ranking method for the obtained solutions
so that the solutions that mostly conform to the user priorities are presented to the
user.
In [38] a complete on-board ship weather routing system is described where
ship responses are modelled for any sea-state condition taking into account the wave
directional spreading. The system employs the multi-objective route planning method
described also in Vettor et al. [37], to optimize the route between two ports mini-
mizing fuel consumption, time of arrival and risk related to weather conditions. The
performance of the ship weather routing approach has been evaluated in two different
simulation scenarios: the first refers to the passage of a container ship departing from
the Northern Europe and crossing the North Atlantic Ocean towards the south- east
US coast, and the second considers a fishing vessel transiting the western Mediter-
ranean Sea from the port of Valencia to a fishing area south of Malta.
Currently, there is a great deal of active research regarding algorithms and their
applications in a variety of multiobjective problems. Among the MOGAs reported
to date, the NSGA-II algorithm by Deb et al. and SPEA2 by Zitzler et al. have excel-
lent performance. These algorithms include important search mechanisms, such as
preservation of good solutions discovered in the search and reduction of the potential
Pareto-optimal solutions.
In our study, the routes are optimized with respect to two conflicting objectives,
the total fuel consumption and the voyage risk. For maintaining diversity in the
obtained routes, SPEA2 and NSGA-II algorithms have been selected as they are the
most promising approaches. The basic operators employed in these algorithms are
the node-based crossover operator and three different types of mutation operators. In
102 A. Veneti et al.
the initial population, we have included the shortest routes in terms of the traveling
time as well as the routes optimized only with respect to a single criterion, either
the fuel consumption or the voyage risk. We have also taken into account historic
data, and we have added to the initial population all the routes which are usually
followed by many ships in practice. Our method takes also into account the IMO
restrictions. The performance of the two algorithms is evaluated not only in terms
of execution time, but we also assess the ability of the algorithms in retrieving the
whole Pareto set.
A preliminary version of the algorithms described in this chapter is presented in
[36]. More specifically, a prototype version of the evolutionary algorithm based on
the NSGA-II algorithm is described. The objectives of the optimized routes are the
same, namely the mean total risk and fuel cost. Also, safety is taken into account
and restrictions are applied according to the guidelines of the International Maritime
Organization (IMO). However, in the preliminary version, the performance of the
algorithm has not been thoroughly examined as in this study.
In general, meta-heuristic methods do not ensure the return of the whole set of Pareto-
optimal solutions. Another problem is that they often return solutions with no suf-
ficient population diversity. However, NSGA-II and SPEA2 algorithm successfully
handle these issues by employing carefully designed operators. In the following, we
present the basic operations and structures used by NSGA-II and SPEA2 algorithms
in this particular maritime setting.
• Route gene coding: Each solution path (chromosome) comprises a number of nodes
(genes) of the sea grid, termed also as waypoints. Each route has a different number
of nodes. Also, for each node of the route, its longitude and latitude coordinates
are stored as well as the arrival time at that node. Also, all routes are associated
with the same ship speed which is assumed to be constant throughout the journey.
• Initialization of route population: The convergence rate of an evolutionary algo-
rithm toward optimal solutions heavily depends on the quality and the diversity of
the initial population. Oddly enough, many evolutionary approaches for generating
obstacle-free routes perform a random generation of the initial population. Specif-
ically, each route of the initial population comprises random waypoints picked
from a predefined navigation area. However, as the random waypoints may be
situated over land or obstacles, infeasible routes may be derived. Thus, a random
initial population may slow down the convergence rate toward an optimal solution
and this in turn may increase the execution time of the algorithm or may result in
worse solutions.
4 Evolutionary Computation for the Ship Routing Problem 103
In our study, the grid points of a route are exclusively selected from the sea area and
not from land or obstacle areas. The initial population contains four different routes,
specifically, the routes optimized either for the fuel consumption, navigation, safety
or the traveled distance. A main concern in the ship routing problem is also the
fact that each weather forecast is relevant only for a specific time interval. As a
result, each weather update may alter the optimal routes that have been calculated
for the initial population.
Next, the initial population is grown by creating random mutations of the above
single-objective optimal routes. By taking into account historical data [39], routes
that are followed by many vessels in practice are included in the initial population,
as well. However, this sort of information may not be available for all possible
departure and destination ports.
• Fitness function: The fitness function indicates the competence of an individual
from one generation to the next during the evolutionary computation. Specifically,
for the problem at hand, the fitness function should reflect the constraints and
the objectives of the problem. Thus, the value of the fitness function for each
individual is the pair of values (FC, R) where FC is the total fuel consumption and
R is the accumulated risk of the path associated with the individual. Furthermore,
the fitness function should be designed in such as way that solutions violating
problem constraints will have lower fitness value. In particular, since some kinds
of manoeuvre in vessel navigation are not allowed for safety reasons, there should
be a constraint on the maximum permitted change of course direction. Lastly,
solutions with travel time exceeding the maximum total passage time are discarded
from the current population rather than assigned a lower fitness value.
• Route selection in NSGA-II: For elitism preservation and diversity during evalu-
ation, two techniques are used, i.e. the non-dominating sorting and the crowded-
comparison operator. Specifically, all solutions are categorized into a number of
fronts at different levels and each solution is assigned to its respective front based
on its dominance relationship. Thus, the solutions which belong to a front are
dominated by at-least one of the solutions belonging to the previous level front.
The non-domination rank ri of a solution corresponds to the level of the front
which this individual belongs to. The crowding distance di of a solution i is the
extent of the search space around i which is not occupied by another solution in
the population. Thus, NSGA-II achieves population diversity in the set of the non-
dominated solutions by using a niching method.1 With the above definitions, the
crowded comparison operator [8] can now be defined. According to this operator,
a solution i is the winner of the tournament with another solution j if (a) solution
i has better rank (ri < r j ) or (b) solutions i and j have the same rank but solution
i has better crowding distance than solution j, that is, ri = r j and di > d j .
Essentially, each route within a generation is associated with a fitness value which is
determined first by the non-domination level of the route and then by the crowding
distance of that route. Now, before producing the individuals of the next generation,
the algorithm should select which of the existing individuals (those of the current
1a method for finding and preserving multiple favorable parts of the solution space.
104 A. Veneti et al.
and the past generations) will be the candidates for producing the offsprings of
the next generation. These individuals should have high fitness values and their
number should not exceed a certain size. For determining this set, the existing
individuals are first sorted by the crowded comparison operator and then the first
in this order individuals are placed in this set. By using the crowded comparison
operator, faster convergence toward optimal solutions is achieved since the best
solutions in every generation are saved from extinction.
Then, using the crowded comparison operator for deciding the winner, a binary
tournament selection operator is applied to the members of the set above for select-
ing the individuals which will generate the offsprings of the next generation. Next,
the new individuals are produced by applying cross-over and mutation operations
to the winners of the tournaments.
Finally, the evolutionary process terminates when the performance improvement
between successive generations is sufficiently small (smaller than a threshold
value) or when a certain number of generations has been produced.
• Route selection in SPEA2: The second approach, the SPEA2 algorithm [40] is a
new model of a multi-objective genetic algorithm that improves the search per-
formance of SPEA [41]. The algorithm maintains an archive of fixed size which
contains high fitness individuals from all the past generations. The fitness func-
tion of individuals in the archive differs from that of individuals in the current
population. Specifically, the fitness value of an individual belonging to the archive
is the normalized number of the individuals of the current population dominated
by that particular individual, whereas for an individual in the current population,
the fitness value is the sum of two values: (a) the sum of the fitness values of
all archive members which dominate that individual and (b) the density value of
that individual where density is defined as a decreasing function of distance of
that individual to its k-nearest neighbor and k is a parameter commonly set to the
square root of total population size.
Then, the non-dominated individuals from both the current population and the
archive will form the updated archive for the next generation. If the total number
of these individuals is lower than the fixed size of the archive, then the archive is
filled with individuals with the highest overall fitness values from both the current
archive and population. If the available non-dominated individuals are more than
the required size of the archive, a truncation operation is applied where individ-
uals with many other members of the archive in close proximity are iteratively
removed until the size of the archive will be reduced to the pre-determined size.
This truncation operation achieves a good spread of non-dominated solutions and
also maintains the boundary solutions which are essential for attaining that good
spread. After the generation of the new archive, a binary tournament selection with
replacement is performed and the mating pool is created. By applying cross-over
and mutation operations to the members of the mating pool, the new offsprings of
the next generation are produced. The evolutionary process ends when a specified
number of generations have been created or if another stopping criterion holds.
• Crossover operation: This operation combines two different parts of two randomly
chosen routes (chromosomes) from the mating pool. For making sure that this
4 Evolutionary Computation for the Ship Routing Problem 105
There is a number of modeling issues that have a critical impact on the effectiveness
of ship routing algorithms. Specifically, it is essential to have a ship model which
accurately predicts the response of the vessel to the weather conditions and also
predicts the effect of these conditions on the real speed of the ship. In addition,
an accurate model is needed for the fuel consumption along the ship route since
this precise estimation of the consumption is a prerequisite for finding routes with
minimum fuel consumption in reality.
We used the Aegean sea as a case study and the grid structure modeling this sea
area was developed within the framework of the the AMINESS system [13]. Static
and dynamic information was considered, namely geographic and bathymetric data,
protected areas, risk estimation [19] as well as predictions for the weather and sea
conditions. Moreover, voyage safety was taken into account and dangerous situations
were avoided by following the IMO recommendations [18]. In particular, surf-riding
and broaching-to are two situations that should be avoided when navigating in non-
agreeable weather conditions.
√ Surf-riding and broaching-to arise when 135◦ < <
1.8 L
225◦ and VR > where , VR and L are the relative ship-wave angle,
cos(180 − )
the ship speed and the ship length, correspondingly. As the ship speed is constant,
the only way to rule out surf-riding and broaching-to is by eliminating the grid edges
where these conditions hold.
Parametric rolling motions is another hazardous situation that may arise in bad
weather conditions and should also be avoided. It happens when the encounter wave
period TE is almost equal to the natural rolling period of ship TR or the encounter
period TE is near one half of the ship roll period TR . The period of encounter TE is
estimated by the following formula:
3TW2
TE = (sec)
3TW + VR cos()
where TW is the wave period, is the relative ship-wave angle and VR is the ship
speed (in knots).
For determining the time required for navigating between two points, the actual
ship speed should be considered. This speed is often lower than the nominal one
because of the added resistance induced by irregular waves and wind during navi-
gation. In this study, we use the model in [23] for predicting the actual ship speed.
This is a generic model independent of specific ship features and the speed decrease
is a function only the significant wave height H and the ship-wave relative direction
. Specifically, the actual ship speed VR is calculated by the following equation:
VR = V (H, ) = V0 − f () · H 2
If more detailed information about a ship is available, a more analytical model for
the vessel response to weather/sea conditions could be employed. Namely, we could
use the approximate method by Kwon [21] for estimating the speed loss caused by
the added resistance from the wind and rough sea conditions.
The estimation of the fuel consumption rate along a ship route is a very complex
issue and a topic of intense research. In practice, the following formula is used: [2,
16, 24, 29, 32]:
F=K·P (4.14)
where F is the fuel consumption rate measured in kg/h, K is the specific fuel con-
sumption of the ship and P is the engine power in BHP2 (kW) of the ship. Therefore,
the total fuel consumption of the whole route is the product of its passage time P T
and the fuel consumption rate F:
FCtotal = F · P T (4.15)
In this section, the two MOGA approaches are compared with a forward label set-
ting algorithm [35], which solves the bi-objective shortest path problem in a time-
dependent network, with a maximum travel time constraint and waiting at nodes
being forbidden. In our setting, all algorithms search for the Pareto-optimal ship
routes between a departure and destination port, optimizing the total fuel consump-
tion and risk, subject to the constraint of the maximum travel time. The departure
from the departure port takes place at a fixed time and the nominal ship speed is con-
sidered to be constant. Specifically, the test parameters were fixed as follows: speed
= 30 kn, K = 200 g/kWh (specific fuel consumption), engine power = 4000 kWh.
All algorithms were implemented in C++ and the tests were carried out on a
server with an Intel(R) Xeon(R) E5-2430 v2 at 2.50 GHz processor and 16 GB RAM.
Table 4.2 details the parameters of MOGAs in these tests.
2 Brake HorsePower (BHP) is a measure of the engine power at the output shaft of the engine.
4 Evolutionary Computation for the Ship Routing Problem 109
The execution times of the algorithms for different routes are listed in Table 4.3.
For each different route, 100 tests were performed and the average execution time is
shown in the third and the fourth column. The execution time of algorithm from [35]
is listed in the last column. MOGAs run faster than the algorithm of [35] in all tests.
In addition, NSGA-II and SPEA2 have almost the same execution time.
In this study, we used the ratio of non-dominated individuals (RNI) for evaluating
the accuracy of the derived solution set and the cover rate for evaluating the breadth
of this solution set. Specifically, the ratio of non-dominated individuals is calculated
as follows. If SU is the union of the solution sets S1 and S2 obtained by the two
methods, the set of non-dominated solutions in SU is determined and then, the
percent of these solutions found by each method is calculated. The higher the value
of this ratio for a solution method, the larger the part of the Pareto-optimal front that
has been found by this method. Regarding the performance of SPEA2 and NSGA-II,
the ratio of non-dominated individuals in SPEA2 was slightly higher (50.9%) than
that of NSGA-II (49.1%).
The cover rate of a solution method indicates the diversity of Pareto optimum
individuals obtained by the method. This rate is calculated by focusing on a single
objective each time. Then, for this particular objective, the distance between the
individuals giving the maximum and the minimum value in this objective is calculated
and then the interval between the maximum and minimum value is partitioned in
subintervals whose number is given as input parameter. Next, the ratio of subintervals
containing at least one Pareto optimum individual over the total number of these
intervals is estimated. Finally, the same estimation is done for each different objective
and then the cover rate is obtained by averaging the ratios above. A high value in the
110 A. Veneti et al.
Fig. 4.5 Comparison of NSGA-II and SPEA2 with respect to the cover rate
cover rate clearly means that the Pareto-optimal solutions found are well distributed
along the whole Pareto front. From Fig. 4.5, it is evident that the cover rate of the
solution set obtained with NSGA-II was slightly lower than that of SPEA2. Also, the
results of Fig. 4.6 shows how the cover rate varies with respect to the GA generation.
In principle, the distribution of the solutions could be evaluated by using gen-
eralized co-variance value. However, co-variance is not suitable for the solutions
that have multiple peaks [17]. In that case, though the co-variance value is high, the
diversity of the solutions is very low. For this reason, we opted for the cover rate for
evaluating the diversity instead of the co-variance.
For a closer study of the performance of the three algorithms, we also examined
the quality of the solution sets obtained for a journey between two specific ports.
In Fig. 4.7, we can see the Pareto frontier retrieved by the exact algorithm along
with the solution sets derived by the NSGA-II and the SPEA2 algorithm. Solutions
of the NSGA-II are denoted with red dots. Blue circles represent the solutions of
the SPEA2 algorithm, while solutions of the exact algorithm are denoted with green
stars. The exact algorithm returned the whole Pareto set, consisting of 48 routes from
Nafplio to Milos (Fig. 4.8a), while the NSGA-II returned 32 routes (Fig. 4.8b) and
the SPEA2 retrieved 33 routes (Fig. 4.8c).
4 Evolutionary Computation for the Ship Routing Problem 111
Fig. 4.6 Variation of the cover rate of NSGA-II and SPEA2 versus GA generation
Fig. 4.7 The objective function values of the solutions returned by SPEA2, NSGA-II and the exact
algorithm for a route between Nafplio and Milos
112 A. Veneti et al.
Fig. 4.8 Solution sets for the route from Nafplio to Milos
4 Evolutionary Computation for the Ship Routing Problem 113
4.7 Conclusion
In this chapter, we studied two evolutionary approaches for solving the time depen-
dent, bi-objective ship routing problem with fixed departure time and a constraint of
the maximum voyage duration. All techniques considered use a node based crossover
operation and three different kinds of mutation operations. Also, by exploiting his-
toric information, vessel routes which are preferred by many captains are identified
and included in the initial population of the two MOGAs. Experimental results show
that MOGAs have lower execution time than that of the exact algorithm of [35].
On the downside, the two evolutionary approaches did not manage to retrieve all
Pareto-optimal solutions. Concerning the comparison between the two evolutionary
algorithms, while NSGA-II slightly outperforms SPEA2 with regard to the exe-
cution time, SPEA2 achieves marginally higher accuracy in terms of the ratio of
non-dominated individuals and sightly higher cover rate ratio. As a future work, we
will study the same problem, allowing the ship speed to change along the route,
however not frequently, since frequent speed change is not a common practice for
short trips.
Acknowledgements This work was carried out in the framework of the project “AMINESS: Analy-
sis of Marine Information for Environmentally Safe Shipping” which was co-financed by the Euro-
pean Fund for Regional Development and from Greek National funds through the operational
programs “Competitiveness and Entrepreneurship” and “Regions in Transition” of the National
Strategic Reference Framework—Action: “COOPERATION 2011 Partnerships of Production and
Research Institutions in Focused Research and Technology Sectors”. The publication of this paper
has been partly supported by the University of Piraeus Research Center. Also, in this work the
research carried out by the first author was partially funded by Onassis Scholarship Foundation.
References
1. Ari, I., Aksakalli, V., Aydogdu, V., Kum, S.: Optimal ship navigation with safety distance and
realistic turn constraints. Eur. J. Oper. Res. 229(3), 707–717 (2013)
2. Avgouleas, K.: Optimal ship routing. Ph.D. thesis, Massachusetts Institute of Technology
(2008)
3. Azaron, A., Kianfar, F.: Dynamic shortest path in stochastic dynamic networks: ship routing
problem. Eur. J. Oper. Res. 144(1), 138–156 (2003)
4. Babel, L., Zimmermann, T.: Planning safe navigation routes through mined waters. Eur. J.
Oper. Res. 224, 99–108 (2014)
5. Bijlsma, S.: A computational method in ship routing using the concept of limited manoeuvra-
bility. J. Navig. 57(3), 357–369 (2004)
6. Bisschop, J.: AIMMS-Optimization modeling. Paragon Decis. Technol. (2011)
7. Chitra, C., Subbaraj, P.: Multiobjective optimization solution for shortest path routing problem.
Int. J. Comput. Inf. Eng. 4(2), 77–85 (2010)
8. Deb, K.: Multi-objective optimisation using evolutionary algorithms: an introduction. In Multi-
objective evolutionary optimisation for product design and manufacturing. Springer, London
3–34 (2011)
9. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algo-
rithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)
114 A. Veneti et al.
10. Decò, A., Frangopol, D.M.: Real-time risk of ship structures integrating structural health moni-
toring data: application to multi-objective optimal ship routing. Ocean Eng. 96, 312–329 (2015)
11. Dolinskaya, I.S.: Optimal path finding in direction, location, and time dependent environments.
Nav. Res. Logist. (NRL) 59(5), 325–339 (2012)
12. Fang, M.C., Lin, Y.H.: The optimization of ship weather-routing algorithm based on the com-
posite influence of multi-dynamic elements (ii): Optimized routings. Appl. Ocean Res. 50,
130–140 (2015)
13. Giannakopoulos, T., Vetsikas, I.A., Koromila, I., Karkaletsis, V., Perantonis, S.: Aminess: a
platform for environmentally safe shipping. In: Proceedings of the 7th International Conference
on PErvasive Technologies Related to Assistive Environments, 45, 1–45:8 ACM (2014)
14. Hagiwara, H.: Weather routing of(sail-assisted) motor vessels. Ph.D. thesis, Technische Uni-
versiteit Delft (1989)
15. Harries S., Heimann J. and Hinnenthal J.: Pareto optimal routing of ships. In: Proceedings of
the International Conference on Ship and Shipping Research, Palermo, (2003)
16. Hinnenthal, J., Clauss, G.: Robust pareto-optimum routing of ships utilising deterministic and
ensemble weather forecasts. Ships Offshore Struct. 5(2), 105–114 (2010)
17. Hiroyasu, T., Nakayama, S., Miki, M.: Comparison study of SPEA2+, SPEA2, and NSGA-
II in diesel engine emissions and fuel economy problem. In: The 2005 IEEE Congress on
Evolutionary Computation, 2005. vol. 1, pp. 236–242. IEEE (2005)
18. IMO, M.: 1/circ. 1228. Revised Guidance to the Master for Avoiding Dangerous Situations in
Adverse Weather and Sea Conditions, adopted 11th Jan 2007
19. Koromila, I., Nivolianitou, Z., Giannakopoulos, T.: Bayesian network to predict environmental
risk of a possible ship accident. In: Proceedings of the 7th International Conference on PErvasive
Technologies Related to Assistive Environments. 44:1–44:5 ACM (2014)
20. Kosmas, O., Vlachos, D.: Simulated annealing for optimal ship routing. Comput. Oper. Res.
39(3), 576–581 (2012)
21. Kwon, Y.: Speed loss due to added resistance in wind and waves. Nav. Archit. 14–16 (2008)
22. Lo, H.K., McCord, M.R.: Adaptive ship routing through stochastic ocean currents: general
formulations and empirical results. Trans. Res. Part A: Policy Pract. 32(7), 547–561 (1998)
23. Mannarini, G., Coppini, G., Oddo, P., Pinardi, N.: A prototype of ship routing decision support
system for an operational oceanographic service. Trans. Nav. Int. J. Mar. Navig. Saf. Sea Trans.
7(1), 53–59 (2013)
24. Marie, S., Courteille, E., et al.: Multi-objective optimization of motor vessel route. Proc. Int.
Symp. Trans. Nav. 9, 411–418 (2009)
25. Montes, A.A.: Network shortest path application for optimum track ship routing. Technical
report, DTIC Document (2005)
26. Orda, A., Rom, R.: Minimum weight paths in time-dependent networks. Networks 21(3), 295–
319 (1991)
27. Padhy, C.P., Sen, D., Bhaskaran, P.K.: Application of wave model for weather routing of ships
in the North Indian Ocean. Nat. Hazards 44(3), 373–385 (2008)
28. Shao, W., Zhou, P., Thong, S.K.: Development of a novel forward dynamic programming
method for weather routing. J. Mar. Sci. Technol. 17(2), 239–251 (2012)
29. Szlapczynska J., Smierzchalski R.: Multicriteria optimisation in weather routing.
In: Weintrit A. (eds.) Marine Navigation and Safety of Sea Transport. Taylor & Francis Group,
London (2009). ISBN: 978-0-415-80479-0
30. Szlapczynska, J., Smierzchalski, R.: Adopted isochrone method improving ship safety in
weather routing with evolutionary approach. Int. J. Reliab. Qual. Saf. Eng. 14(06), 635–645
(2007)
31. Szlapczynski, R.: A new method of ship routing on raster grids, with turn penalties and collision
avoidance. J. Navig. 59(1), 27–42 (2006)
32. Takashima, K., Mezaoui, B., Shoji, R.: On the fuel saving operation for coastal merchant ships
using weather routing. Proc. Int. Symp. Trans. Nav. 9, 431–436 (2009)
33. Tsatcha, D., Saux, É., Claramunt, C.: A bidirectional path-finding algorithm and data structure
for maritime routing. Int. J. Geogr. Inf. Sci. 28(7), 1355–1377 (2014)
4 Evolutionary Computation for the Ship Routing Problem 115
34. Tsou, M.C.: Integration of a geographic information system and evolutionary computation for
automatic routing in coastal navigation. J. Nav. 63(2), 323–341 (2010)
35. Veneti, A., Konstantopoulos, C., Pantziou, G.: Continuous and discrete time label setting algo-
rithms for the time dependent bi-criteria shortest path problem. In: Operations Research and
Computing: Algorithms and Software for Analytics, pp. 62–73 (2015)
36. Veneti, A., Konstantopoulos, C., Pantziou, G.: An evolutionary approach to multi-objective ship
weather routing. In: 2015 6th International Conference on Information, Intelligence, Systems
and Applications (IISA), pp. 1–6. IEEE (2015)
37. Vettor, R., Tadros, M., Ventura, M., Soares, C.G.: Route planning of a fishing vessel in coastal
waters with fuel consumption restraint. Marit. Technol. Eng. 3 (2016)
38. Vettor, R., Soares, C.G.: Development of a ship weather routing system. Ocean Eng. 123, 1–14
(2016)
39. Vodas, M., Pelekis, N., Theodoridis, Y., Ray, C., Karkaletsis, V., Petridis, S., Miliou, A.:
Efficient ais data processing for environmentally safe shipping. SPOUDAI-J. Econ. Bus. 63(3–
4), 181–190 (2014)
40. Zitzler, E., Laumanns, M., Thiele, L., et al.: Spea2: Improving the strength pareto evolutionary
algorithm. In: Eurogen, pp. 95–100 (2001)
41. Zitzler, E., Thiele, L.: An evolutionary algorithm for multiobjective optimization: the strength
pareto approach. Swiss Federal Institute of Technology (ETH), Switzerland 43, (2008)
Chapter 5
Decision Support Tool Employing Bayesian
Risk Framework for Environmentally
Safe Shipping
Abstract Due to the significant increase of tanker traffic from and to the Black Sea
that pass through narrow straits formed by the 1600 Greek islands, the Aegean Sea is
characterized by an extremely high marine environmental risk. Therefore it is vital
to all socio-economic and environmental sectors to reduce the risk of a ship accident
in that area. In this chapter a web tool for environmentally safe shipping is presented.
The proposed tool focuses on extracting aggregated statistics using spatial analysis
of multilayer information: vessel trajectories, vessel data as well as information
regarding environmentally important areas. The decision support system includes
preprocessing, clustering of trajectories (based on their spatial similarity) and risk
assessment employing probabilistic models (Bayesian network). Applications of the
web tool are presented in areas such as marine traffic monitoring in environmentally
protected areas, and influence of restricted areas in marine traffic. Results demonstrate
that the web tool can provide essential information for maritime policy makers.
5.1 Introduction
Over the last years shipping activity has greatly increased since the demand of mer-
chandises between countries in different continents has multiplied. Indeed, cargo
transported by the liner shipping industry represents about two thirds of the total
global trade value [1]. In addition, the marine environment encompasses an immense
diversity of life species. Maritime industry should, therefore, coexist in harmony
with marine life. There are several marine areas that comprise significant environ-
mental and ecological sensitive resources. In this chapter, the Greek Seas (Aegean
and Ionian) are considered as the geographical scope of the research. Such a region
represents an exceptional marine area with not only unique geographical morphol-
ogy, important environmental and ecological sensitivity, but intense marine traffic as
well.
The restriction of the national waters monitoring policy to the marine accident pre-
vention is a significant fact, mainly due to legal limitations when enforcing shipping
routes in the Aegean Sea. In fact, although traffic separation schemes (TSS) or similar
routing-schemes are active in the Mediterranean Sea (e.g. Straits of Gibraltar, Alge-
ria, Barcelona, Italy, Port Said and the North Adriatic Sea) and the Black Sea (e.g.
between the Dardanelles and Istanbul including the Bosporus, ports of Odessa and
Sevastopol), currently there is not any TSS in the area of central Aegean Sea where
it is particularly essential. Consequently, shipping companies and vessels’ masters
operating in the waters of the Aegean Sea may neglect risks that would derive from
a possible accident, due to unsafe trajectories and local weather conditions. In fact,
restricted and shallow waters in conjunction with the particular prevailing weather
conditions, such as “meltemia”1 , consist some factors that may contribute to a marine
accident.
A possible maritime accident that results in oil spill would negatively affect the
marine environment of the Greek Seas. In addition, such an accident would have
negative impact on local communities, tourism, fisheries, public health as well as the
economy. As accidents involving oil spills are impossible to be completely cleaned
up, the Greek Seas ecosystem may suffer long term catastrophic and irreversible
changes. Therefore, it is essential to minimize the large environmental risk in order
to make the Greek Seas safer. This could be realized through the development of a
decision support tool that offers environmental policy recommendation options.
The main capabilities of the proposed decision support system are the following
four [7]:
• Integration of information from multiple sources of maritime importance
• Employment of risk assessment
• Incorporation of preprocessed historical maritime data
• Immediate delivery of results for alternate policy options
Briefly explained, the proposed method consists of a trajectory density model
combined with a visualization model with two visual cues (color and density). This
1 Meltemia are very strong, prevailing winds in the area of central Aegean Sea during Summer.
5 Decision Support Tool 119
off the coast of Portugal. Their suggested approach for estimating the risk collision
in complex traffic patterns is obtained from the number of collision candidates cal-
culated directly from decoded AIS data and using the concept of collision diameter.
The authors suggest that their method provides important insight into the level of
maritime risk and improvement of maritime safety. Furthermore, a methodology for
computing and visualizing behavioural patterns of vessel trajectories by means of
density is presented in the paper of Willems et al. [31].
The structure of this chapter is the following: In Sect. 5.2 the model of vessel risk
estimation is developed. Next, in Sect. 5.3 the preprocessing and the clustering of his-
torical trajectories are outlined. The policy recommendation tool is comprehensively
discussed in Sect. 5.4 while in Sect. 5.5 decision tool applications are presented.
Finally, conclusions are drawn in Sect. 5.6, followed by acknowledgements and the
list of references.
In the context of the present sub module, the marine environmental risk of a vessel
is estimated. Aggregated results of that risk module are visualized in the policy rec-
ommendation tool in order to provide a view of the developed ship risk distribution.
A risk assessment procedure is applied to estimate the environmental risk. In the
field of maritime safety, Formal Safety Assessment guidelines [14] are utilized for
assessing risks. A typical FSA study consists of the following basic steps:
Step 1 Hazards identification
Step 2 Risk analysis
Step 3 Risk control options
Step 4 Cost benefit assessment, and
Step 5 Recommendations for decision-making
In order to develop the appropriate environmental risk model, both the potential
hazards to vessels are identified and a risk analysis is conducted. Indeed, collision,
contact and grounding accidental events are identified as potential hazards to vessels.
Such kind of marine accidents might lead to huge oil spills negatively affecting the
marine environment. In more detail, a collision event includes ships striking or being
struck by another ship, regardless of whether under way, anchored or moored, while
a contact event includes ships striking or being struck by an external object, but not
another ship or the sea bottom. As a grounding event, a vessel striking the sea bottom,
shore or underwater wrecks is considered. Although a lot of efforts, through national
and international rules and regulations, have been attempted to prevent these events,
accidents continue to occur.
Therefore, collisions, contacts and groundings are taken into consideration in
order to conduct the risk analysis step. In line with the FSA guidelines, risk is defined
as the probability of an event multiplied by its consequences (see (5.1)).
5 Decision Support Tool 121
R= P×S (5.1)
The proposed model combines the results of a marine accident probability (P) with the
severity of its consequences (S). The factor P, as a first approximation, is calculated
employing the Bayesian network methodology by using a simplified model to predict
the probability of an accident given the main characteristics of the vessel; namely
the ship type, size, age and flag [20]. A more advanced model taking into account
the dynamic factor of the probability is elaborated, along with considerations about
the weather, the geographical area and the traffic conditions [21]. As far as the
consequences (S) are concerned and considering the environmental scope of this
study, attention should be drawn on the estimation of the impact resulting from an
oil spill. In the final stage of the model, the two factors (P and S) are integrated
and produce the final environmental risk of a possible ship accident in the Aegean
Sea. A process flowchart is illustrated in Fig. 5.2. In the following subsections, the
components of the proposed model are briefly discussed.
The most appropriate probability modelling tool that fits in the present research is
the Bayesian network methodology. The Bayesian network is considered to be the
most proper methodology among others, namely Fault Tree Analysis (FTA), Event
Tree Analysis (ETA), Probabilistic Risk Analysis (PRA), Fuzzy logic, Analytical
Hierarchy Process (AHP) and other artificial intelligence methods. There are several
122 Gyftakis S. et al.
The purpose of the static model is to estimate the accident probability given the static
information of the vessel. Figure 5.3 illustrates an overview of that model.
The static Bayesian network takes into consideration four input variables; the
type, the size, the age and the flag of the vessel. Each of these variables has a set of
values.
Briefly explained, the vessel type could take the values passenger, tanker, general
cargo, and other. Passenger is any vessel carrying more than 12 passengers, tanker
is any vessel carrying liquid cargo, general cargo is any vessel carrying bulk cargoes,
containers or vehicles, and other is any other vessel, such as research vessel, yacht,
tug, and fishing. The variable vessel size can take the values small, medium, and large
depending on the weight of the cargo (deadweight) for tankers and general cargoes,
and the length for passenger vessels. All other ships are considered as small.
As far as the age of the vessel is considered, this variable is split into new, middle
and old. A vessel under the age of five years is considered new, while a vessel older
than twenty-five years is an old vessel. Finally, the variable flag of the vessel could
take the values low risk, medium risk, high risk and very high risk, according to
PARIS MOU flag list 2012. The states of each vessel variable are shown in Table 5.1.
Therefore, the output of the static model is the static probability regarding that
this vessel might be involved in a collision, contact or grounding event. This output is
estimated by computing the probability indicated in (5.2) from the Bayesian Network.
To estimate the probabilities and therefore, train the Bayesian model, historical data
were used in addition to expert judgement. Actually, the Greek Ministry of Mercantile
Marine casualty database is the primary data source. In particular, more than 100
accidents have been fully annotated with the respective data vessel records. For each
accident both the vessel IMO and MMSI number, type and year of build, the current
(if the vessel exists) and previous (at the moment of the accident) vessel name and
flag, the type of accident and the location the accident occurred were recorded.
In the dynamic Bayesian network, both the weather conditions and the navigation area
nodes have hidden input nodes that must be taken into consideration. The specific
124 Gyftakis S. et al.
navigation area characteristics are taken into account in order to define the low,
medium or high contribution to marine accidents. Type of waters (e.g. narrow street
and shallow waters) and marine traffic density are the navigation areas parent nodes.
The prevailing weather conditions are of significant importance for a possible marine
accident. Sea state, wind speed, swell and visibility, are the appropriate states for that
node. Finally, the visibility node is calculated given the values of the daytime, fog,
sky and rain. Therefore, in order to estimate the dynamic accident probability, the
conditional probabilities presented in (5.4), (5.5) and (5.6) are evaluated. Each of the
input variables has a set of values. The states of each variable are shown in Table 5.2.
These dynamic variables change during the voyage. The National Meteorological
Office of Greece provides data about the current and the future weather conditions.
As far as the geomorphological characteristics and the environmental sensitive areas
in the Aegean Sea are concerned, the required data are collected from the properly
constructed database. The vessel density per navigation area is calculated using the
AIS vessels signal. In order to train the dynamic Bayesian network, real weather
conditions data and the trajectories of the vessels crossing the Aegean Sea are utilized.
5 Decision Support Tool 125
Consequences of the considered marine accidents might affect humans, ships, the
environment, industry, and also the waterways. In the context of the present work
only the environmental impact has been taken into consideration. Environmental
damage, clean-up costs and socioeconomic effects are basically associated with the
environment, and mostly with oil spills [19]. The first cost group refers to oil spills that
may impact the environment causing physical smothering of organisms, chemical
toxicity or ecological changes [15]. As far as the second cost group is concerned,
clean-up costs of an eventual spill, research costs and other specific costs, such as
the loss of cargo and/or vessels and the repairs needed after accident are considered.
According to [3, 10, 19, 29], the main factors influencing the clean-up cost of oil
spills are related to (a) the type of oil, (b) the location, (c) the weather and sea
conditions, (d) the amount of spilled oil together with the rate of spillage, and (e)
the clean-up response. Finally, the socioeconomic effects consist of property damage
and income losses [22].
The total cost of an oil spill can be derived by using several different methods.
The model proposed by Kontovas et al. [19] is the one that is considered the most
appropriate for this work. Therefore, the mathematical framework for estimating the
total cost of an oil spill is stated in (5.7).
where S represents the consequences measured in U.S. dollars and V is the volume of
oil spilled measured in metric tons. The considered cases of V factor are the following
three: zero, mean and total outflow. Zero outflow implies no consequences, mean
outflow denotes that approximately half of cargo is lost, while in total outflow all the
cargo is lost.
This component (preprocessing and clustering) is used to provide the policy rec-
ommendation tool with a set of statistics for respective vessel trajectories and uses
long-term marine traffic information. At a first stage historical trajectories are read
from the HERMES DB [26, 27]. HERMES DB is a database software that can handle
trajectories. For each unique vessel in the dataset the respective vessel characteristics
(size, ship type, flag, etc.) are retrieved from a vessel database.
At the functional core of this component, the following analysis steps are con-
ducted:
• For each vessel, the Bayesian Network that estimates the vessel risk is employed
to infer a single accident probability per vessel in the dataset.
• A set of trajectory-specific features is extracted, mostly based on velocity, initial
and final position, destination, speed deviation, vessel type and flag. This is fed as
input to a hierarchical clustering method in order to extract groups of similar (in
terms of the adopted features) trajectories.
The second step (clustering) comprises the task of grouping objects based on their
spatial and temporal similarity [18]. Therefore, the goal of this procedure is to group
similar vessel trajectories into homogeneous categories, in terms of similar trajec-
tory attributes. The output of this procedure can be considered as a set of channels
of similar trajectories (Fig. 5.5). Each set of channels is mapped to a single trajec-
tory cluster (Dominant Trajectory Cluster) that can be considered as an aggregated
representative of similar trajectories.
The usefulness of this functionality is twofold:
• Provision of a better visualization of large trajectory datasets, since each group of
similar trajectories can be visualized by its respective “centroid”
• Extraction of a more efficient and compressed representation of trajectory clusters:
instead of storing and analyzing attributes on the whole set of initial trajectories, the
computations are performed over the aggregates of each cluster. Towards this end,
for each cluster an aggregate attribute representation is stored (e.g. the histogram
of ship sizes) instead of the initial (raw) characteristics.
In order to achieve the clustering of the trajectories, each trajectory is represented
by a set of attributes: average speed, standard deviation of speed, minimum and max-
imum longitude and latitude, moments computed over the vessel direction angle and
distance metrics. Next, a fast hierarchical clustering implementation is incorporated
5 Decision Support Tool 127
on the adopted feature space [25]. The resulting enriched dataset is stored in an inter-
mediate Fusion Table which is then used as input by the policy recommendation tool
to execute spatial queries and extract aggregated statistics.
In this section the decision support tool is presented in detail. More specifically,
the functionalities of the on-line tool, the technologies used, and data analytics are
described.
• Select the type of chart (pie, timeline chart 1 or 2) to display in the current tab
(described in Subsect. 5.4.3)
• Select the color scheme of vessel trajectories. Color by dominant cluster (default),
risk, risk of accident (described in Sect. 5.2)
• Select dataset of vessel trajectories: normal (default), with restricted areas as
described in Subsect. 5.5.3
In the map area two tools are available: pan tool (to move the map) and rectangular
tool. Selecting the rectangular tool the user can draw a rectangular area over the map.
This selected area defines the spatial filter.
The results area includes six tabs. Each tab contains (aggregated) statistical dia-
grams of the results. The diagrams of the tabs are described in Subsect. 5.4.3.
The main focus of the visualization procedure is the extraction of aggregated
statistics for a given spatial filter (bounding rectangle). These statistics are dis-
played through respective diagrams. In general, the spatiotemporal variability of
the attributes of the selected trajectories is portrayed in those diagrams. The trajecto-
ries are selected through a spatiotemporal query on the system database defined by
the bounding box of the user input.
In our system the datasets are stored in Google Fusion Tables (see Subsect. 5.4.2).
A snapshot of our dataset is shown in Fig. 5.7. For every vessel trajectory the various
attributes are shown (e.g. ship type, age, flag, risk etc.) together with the geometry of
it. The trajectory coordinates are stored as KML LineString (see Subsect. 5.4.2). This
storage schema makes the trajectory retrieving process via intersection queries rather
simple and fast. In Fig. 5.8 a sample record (Fusion Table row) view is displayed.
Beside the row attributes the vessel trajectory is displayed on a map.
5 Decision Support Tool 129
In the web tool, after the user has selected the dataset and the rectangle area, an
intersection is performed (on the server side) on the trajectories of the Fusion Table.
The trajectories that are contained or intersected by that rectangular are selected
and returned to the interface together with their attributes. After the retrieval of
the intersected trajectories, the respective attributes are aggregated and presented as
statistical diagrams to the user. These diagrams are discussed in Subsect. 5.4.3.
Also, the results of each query can be saved. First, the user enters the test name
in the text area “Enter Test name” and after pressing the button “Send Results” the
data are stored in a Fusion Table. The data stored include the test date, the Fusion
table (of the vessel trajectories) used, the spatial extent of the query, the intersected
trajectories and its attributes. These data can be further processed or retrieved and
displayed in the web tool using the drop-down menu “Select saved test results”.
Next, the technologies used in this web tool will be presented followed by the data
analytics.
130 Gyftakis S. et al.
For data visualization in the context of a web application environment, the following
technologies are adopted:
Fusion Tables: Google Fusion Tables (Google [8]) is a web application provided
by Google for data management. Fusion tables can be used for gathering, visu-
alizing and sharing data tables. Data are stored in multiple tables that Internet
users can view, edit and download. The web application provides means (APIs)
for visualizing data using pie charts, bar charts, lineplots, scatterplots, timelines,
and geographical maps. Example of a Fusion Table is shown in Fig. 5.7, while
Fig. 5.8 shows a Fusion Table row view.
KML: Keyhole Markup Language (KML, Google [9]) is a file format used to
display geographic data in Internet-based maps or Earth browsers and is based on
the XML standard. KML elements are stored in Fusion Tables as record attributes.
In our datasets KML LineString represents a vessel trajectory.
Ajax: Asynchronous JavaScript and XML (Ajax, Wikipedia [30]) is a set of client-
side web technologies that provide asynchronous functionality to web applica-
tions. Using Ajax, the web applications are able to exchange data with a server,
and update parts of the page without the need for a complete web page reloading.
The decision support tool is employing the following (Javascript) libraries:
• https://www.google.com/jsapi: to display Google maps.
• http://maps.google.com/maps/api/js?sensor=false&libraries=drawing: to enable
user interaction on Google maps.
• google.load("visualization", "1", {‘packages’: [‘table’, ‘map’, ‘corechart’]}): to
enable visualization API and the piechart, linechart, and histogram packages.
• http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js:
this library renders KML on the Google Maps JavaScript API.
The data analytics (statistics), in the results area of the web tool, are organized into
six tabs. Each tab contains two separate parts (different diagrams) that display the
variability of attributes of the selected trajectories (Fig. 5.6). More specifically the
attributes analyzed by this software are the following:
• Ship type
• Ship age
• Ship size
• Port of destination
• Ship flag
• Ship flag risk (risk due to the ship flag)
5 Decision Support Tool 131
Fig. 5.13 Example of risk histogram per ShipType and per ShipAge
134 Gyftakis S. et al.
In this section the capabilities of the policy recommendation tool are demonstrated
in applications where this tool has been employed. First, queries in environmentally
sensitive areas are presented. Next, an example of marine traffic monitoring for
environmental safety is described followed by a scenario of restricted areas in marine
traffic.
The capabilities of the policy recommendation tool are extended by including layers
of environmentally sensitive areas of the Aegean and Ionian Seas. The following
environmentally sensitive layers are included:
Natura 2000: this is an ecological network of protected areas set up to ensure
the survival of Europe’s most valuable species and habitats, and includes both
terrestrial and marine sites (European Environment Agency [5]),
CDDA 2014: the Common Database on Designated Areas (CDDA) is a data bank
for officially designated protected areas in Europe such as nature reserves, pro-
tected landscapes, national parks etc. (European Environment Agency [4]),
Ornithological: this layer contains the most important bird nesting areas of Greece
(as provided by the Hellenic Ornithological Society). These are sites particularly
important for bird conservation and selected on the basis of internationally agreed
standard criteria, and
Ydatokalliergeies: this layer includes the fishery areas of the Aegean and Ionian
Seas (as provided by the Greek Ministry of Rural Development and Food)
At the web tool the user can select (at the toggle layers area) to view any of these
layers. An example of a query in an area of the Natura 2000 layer is presented in
Fig. 5.14. In this case, clicking on any Natura 2000 area launches an information box
with the ID and Description attributes of that area. Also, a Query button is included
in that info box. Clicking on that button automatically executes the query. The geo-
metrical limits of the spatial query are defined by the minimum bounding box of the
selected environmental area. As soon as the server responds, the intersected trajec-
tories and the aggregated statistics for this specific Natura 2000 area are displayed in
the web tool. Finally, the user can select a test name and send the results to a Fusion
table for storage and further processing.
In this application (Giannakopoulos et al. [6]) aggregated statistics are extracted from
seven areas of major interest in the Greek marine territory employing the decision
5 Decision Support Tool 135
support tool. The objective of this research is to study the correlation between spatial
environmental importance and marine traffic risk.
These areas in the Greek marine territory have been selected due to their envi-
ronmental importance. Criteria for this selection are: area must either be protected
(e.g. NATURA 2000) or shelters highly important species. In this research areas have
been selected from the NATURA 2000 layer. In Table 5.3 the names of these areas
are displayed together with their respective general sectors and sector IDs.
For each area and its corresponding sector the decision support tool has been
employed to detect (using spatial query) the contained trajectories and display their
aggregated statistics, focusing on the average vessel risk. The spatial extent of the
general sectors are presented in Fig. 5.15. For the selected areas the spatial extent
is defined by the minimum bounding box of the corresponding NATURA 2000
area. Queries are performed in the general sectors and specific areas (as described
in Subsect. 5.5.1). Test results are stored in Fusion Tables and exported. Next, the
exported data are used for computing the following statistical measures.
Risk (A) : Area risk = average risk for all vessels in that area
136 Gyftakis S. et al.
Risk (S) : Sector risk = average risk for all vessels in that sector
Risk Overall : average risk for all vessels in the database
%R>x : number of vessels (in area A or sector S) with risk greater than x
The aggregated risk measures are presented in Table 5.4. In this table the following
comparisons are depicted:
• Comparison between each sector risk, each included area risk and the overall risk
• Comparison between the percentages of vessel trajectories, with risk greater than
specific thresholds (0.4, 0.5 and 0.6), in each sector and each included area
The results of Table 5.4 demonstrate that the average risk of all areas considered,
is greater than the corresponding general sector’s risk. Additionally, the percentage
of trajectories belonging to the three high-risk-zones is almost always extensively
greater than the respective percentages in the sector’s aggregates. The above results
indicate that these environmental sensitive areas have a great probability to experi-
ence a marine accident due to vessel traffic with high risk.
This application of marine traffic monitoring for environmental safety can be
expanded by studying the temporal variability of marine traffic through environ-
mental sensitive areas and useful conclusions can be derived for policy makers. For
5 Decision Support Tool 137
Table 5.4 Aggregated risk results of areas of interest and general sectors
Area Sector Risk %R > 0.4 %R > 0.5 %R > 0.6
(A) (S) A S Overall A S A S A S
Kasos 1 0.38 0.35 24 20 10 7 4 2
Kythera 1 0.37 0.35 22 20 10 7 3 2
Zakynthos 2 0.36 0.35 23 22 10 11 2 1
Amorgos 3 0.38 0.34 0.34 40 30 24 16 2 2
Koufonissia 3 0.36 0.34 36 30 20 16 1 2
Lemnos 4 0.40 0.36 32 24 13 12 5 2
Sporades 4 0.40 0.36 43 24 20 12 3 2
example, a case study could examine (for a Natura 2000 area) the temporal variability
of risk for ship types general cargo and tanker and ship ages old and middle.
In this section the influence of restricted areas in marine traffic is examined. Two case
studies are considered where marine traffic limitation is imposed in specific areas.
An illustration of using the monitoring tool for implementation of if-then-scenarios
in maritime traffic is described in Gyftakis et al. [11].
The (common) scenario in each case study includes complete vessel traffic restric-
tion in an area specified by a rectangular box (spatial filter) and for the time length
of the complete original dataset (no temporal filter). Using the spatial filter a query
is performed in the complete dataset and the interesected trajectories (with their
attributes) are returned. These trajectories represent the vessels that need to be redi-
rected due to traffic restriction in that area. For this purpose, a graph-based optimal
route extraction algorithm is utilized in a batch mode on the restricted trajectories
(Makrygiorgos et al. [23]). The optimal route algorithm is based on a search grid
with interconnected nodes. The nodes of that search grid that are contained in the
restricted area are deactivated. The optimal route selection is performed on the mod-
ified search grid. This modification guarantees that the new trajectories will divert
from the restricted area. The dataset of the produced trajectories together with the rest
trajectories of the original dataset are stored in a Fusion Table. The user can select
this alternative dataset in the selection area of the web tool interface (e.g. Cythera
Isolated Area).
For comparison reasons, the scenario contains the examination of marine traffic
in an area close to the restricted one. Queries are performed in that area (examination
area) using the original (without any area restriction) dataset of trajectories and the
alternative one (with the area restriction).
138 Gyftakis S. et al.
Policy makers can obtain valuable information from the comparison of the results
of those queries. For example, if a major marine accident happens in a specific
area and that area must be restricted, what are the consequences (of marine traffic)
at nearby areas? In another example, if traffic of specific type of vessels must be
restricted in an area, what are the optimal time periods? In each case, the proposed
decision support tool delivers analytic data and statistics to support a policy with
objective arguments.
In the following subsections two case studies with restricted areas in the Aegean
Sea are described; one at Cythera Strait and another one at Kafireas Strait.
In this example the restricted area is the Cythera strait that is formed by the southeast-
ern peninsula of the Peloponnese and the islands of Elafonissos and Cythera. This
area represents one of the most dangerous navigational areas in the Mediterranean.
The event of without restriction is displayed in Fig. 5.16. In more detail, the
examination area is a rectangular area nearby the Cythera strait. Marine traffic is
dense through the Cythera Strait and through the examination area. The original
dataset has been used for the spatial query.
The results of the query are displayed in Fig. 5.16. In this figure two characteristic
diagrams are shown, the risk histogram versus ship type and ship age. In these
diagrams the largest frequency is at risk 0.3 with 14 ships (4 passenger and 10 cargo
ships). The maximum risk (0.9) is due to 2 middle-aged tanker ships.
Next, the event of area restriction is examined. In Fig. 5.17 the restricted area is
displayed in red (Cythera strait). As described in Subsect. 5.5.3 imposing this area
restriction a modified dataset is produced. The dataset used in this case is the Cythera
Isolated Area. Using the same examination area as before a query is performed and
the results are displayed in Fig. 5.17. The diagrams displayed are the risk histogram
versus ship type and ship age.
Overall the risk histograms follow the same distribution as in the event of without
restriction. In the diagrams of the restriction event, the largest frequency is at risk
0.3 with 24 ships (13 passenger and 11 cargo ships) compared to 14 (4 passenger
and 10 cargo ships) before. Hence, the increase in the number of ships (for risk 0.3)
is mainly due to passenger ships diversion. Also, the number of ships for maximum
risk (0.9) remains the same as before.
The conclusions are that cargo ships and tankers avoid the Cythera strait and the
restriction increases traffic of passenger ships in nearby areas.
In the second example the restricted area is the Kafireas strait between the island
of Euboea and the island of Andros (in earlier times this strait was one of the most
dangerous navigational areas in the entire Aegean).
5 Decision Support Tool 139
The restricted area is shown (red area) in Fig. 5.19 while in Fig. 5.18 an examina-
tion area is selected close to the restricted one and away of the major ship routes. In
the event of without restriction (Fig. 5.18) the original dataset has been used for the
spatial query.
5 Decision Support Tool 141
The results of the query are displayed in Fig. 5.18. The diagrams displayed in this
figure are the risk histogram and the risk timeline (daily average, daily maximum).
In the risk histogram the largest frequency happens at risk 0.4 with numbers of ships
11. There are no ships for frequencies greater than 0.5. In the timeline diagram there
are no ships except the last day.
Next, the event of restriction in Kafireas strait is explored. Following the procedure
in Subsect. 5.5.3 a modified dataset is produced (Kafireas Isolated Area). Using this
dataset and the same examination area as before a query is performed and the results
are displayed in Fig. 5.19. The diagrams displayed in this figure are the risk histogram
and the risk timeline (daily average, daily maximum).
In the histogram diagram the largest frequency happens at risk 0.4 with number
of ships 185. For risk frequencies greater than 0.5 there are totally 26 ships. The
timeline diagram contains ships for every day in contrast to the timeline of the no
restricton event. The maximum risk line is almost every day higher than the 0.5 value.
The conclusions are that imposing restriction in Kafireas strait can generate high
marine traffic in areas with minimal marine traffic. This incease produces high risk
traffic every day of the week.
In this chapter a decision support tool employing Bayesian risk framework for envi-
ronmentally safe shipping is presented. The objective of the presented tool is to handle
information from vessel trajectories in order to support policy actions for environ-
mental risk reduction in Greek Seas. The proposed system includes preprocessing,
clustering of trajectories (based on their spatial and temporal similarity) and risk
assessment using probabilistic models. The latter was accomplished through the
construction of a Bayesian network able to predict the probability of marine accident
(i.e. collision, contact and grounding) using dynamic information about the navi-
gation area and weather conditions. The functionalities, technologies used and data
analytics of the tool are discussed. Applications of the decision tool are presented
in areas such queries in protected areas, marine traffic monitoring for environmen-
tal safety and influence of restricted areas in marine traffic. Analysis of the results,
especially risk diagrams, demonstrates the significance of using the developed tool
for maritime policy makers.
The presented functionalities of the decision support tool deliver important infor-
mation for the expansion of this system. For a lot of types of what-if-scenarios
modules can easily assembled and tested. For example, the study of maritime traffic
restrictions can produce important information on usefulness and side effects of such
restrictions. Temporal queries can be explored and possible links with accident data
as well.
A step forward in risk assessment is to integrate both static and dynamic risk
models with the consequences model, in order to consider the exact extent of the
consequences.
142 Gyftakis S. et al.
Acknowledgements This work was carried out in the framework of the project “AMINESS: Analy-
sis of Marine Information for Environmentally Safe Shipping” that was co-financed by the European
Fund for Regional Development and by Greek National funds through the operational programs
“Competitiveness and Entrepreneurship” and “Regions in Transition” of the National Strategic
Reference Framework—Action: “COOPERATION 2011 Partnerships of Production and Research
Institutions in Focused Research and Technology Sectors”.
References
1. Bingham, P., Koch, L.: Liner shipping in the european union. Technical report, The World
Shipping Council and IHS Global Insight (2009)
2. Det Norske Veritas (DNV): Formal safety assessment—Large passenger ships, annex ii: Risk
assessment large passenger ships—Navigation. Technical report, Det Norske, Veritas (2003)
3. Etkin, D.: Estimating clean-up costs for oil spills. In: International Oil Spill Conference, Amer-
ican Petroleum Institute. Washington, DC (1999)
4. European Environment Agency: Nationally designated areas (CDDA) (2016a). http://www.
eea.europa.eu/data-and-maps/data/nationally-designated-areas-national-cdda-10
5. European Environment Agency: Natura 2000 data—The European network of protected sites
(2016b). http://www.eea.europa.eu/data-and-maps/data/natura-7
6. Giannakopoulos, T., Gyftakis, S., Charou, E., Perantonis, S., Nivolianitou, Z., Koromila, I.,
Makrygiorgos, A.: Long-term marine traffic monitoring for environmental safety in the Aegean
Sea. In: 36th International Symposium on Remote Sensing of Environment. Berlin, Germany,
May 2015
7. Giannakopoulos, T., Vetsikas, I., Koromila, I., Karkaletsis, V., Perantonis, S.: Aminess: a plat-
form for environmentally safe shipping. In: 7th International Conference on PErvasive Tech-
nologies Related to Assistive Environments. Rhodes, Greece, May 2014
8. Google: About Fusion Tables (2016a). https://support.google.com/fusiontables/answer/
2571232?hl=en
9. Google: Keyhole Markup Language (2016b). https://developers.google.com/kml/
documentation/kml_tut
10. Grey, C.: The cost of oil spills from tankers: an analysis of iopc fund incidents. In: International
Oil Spill Conference. vol. 1, pp. 41–47. American Petroleum Institute (1999)
11. Gyftakis, S., Giannakopoulos, T., Makrygiorgos, A., Charou, E., Perantonis, S., Koromila, I.,
Nivolianitou, Z.: A maritime data analytics platform for policy recommendation. In: 6th Inter-
national Conference on Information, Intelligence, Systems and Applications. Corfu, Greece,
July 2015
12. Hanninen, M.: Bayesian networks for maritime traffic accident prevention: Benefits and chal-
lenges. Accid. Anal. Prev. 73, 305–312 (2014)
5 Decision Support Tool 143
13. Hanninen, M., Kujala, P.: Bayesian network modeling of port state control inspection findings
and ship accident involvement. Expert Syst. Appl. 41(4), 1632–1646 (2014)
14. IMO: International maritime organization. msc 83/inf.2. formal safety assessment: Consoli-
dated text of the guidelines for formal safety assessment (fsa) for use in the imo rule-making
process (2009). (msc/circ.1023mepc/circ.392)
15. ITOPF: Tip 13: Effects of oil pollution on the marine environment. Technical report, Interna-
tional Tanker Owners Pollution Federation (2014)
16. Jensen, J., Soares, C., Papanikolaou, A.: Methods and tools. In: Papanikolaou, A. (ed.) Risk-
Based Ship Design: Methods, Tools and Applications, pp. 213–231. Springer, Berlin, Heidel-
berg (2009)
17. Jiacai, P., Qingshan, J., Zheping, S., Jinxing, H.: An ais data visualization model for assessing
maritime traffic situation and its applications. Proc. Eng. 29, 365–369 (2012)
18. Kisilevich, S., Mansmann, F., Nanni, M., Rinzivillo, S.: Spatio-temporal clustering: a survey.
In: Maimon, O., Rokach, L. (eds.) Data Mining and Knowledge Discovery Handbook, 2nd ed,
pp. 855–874. Springer Science+Business Media (2010)
19. Kontovas, C., Psaraftis, H., Ventikos, N.: An empirical analysis of iopcf oil spill cost data. Mar.
Pollut. Bull. 60, 1455–1466 (2010)
20. Koromila, I., Nivolianitou, Z., Giannakopoulos, T.: Bayesian network to predict environmental
risk of a possible ship accident. In: 7th International Conference on PErvasive Technologies
Related to Assistive Environments. Rhodes, Greece, May 2014
21. Koromila, I., Nivolianitou, Z., Giannakopoulos, T., Perantonis, S., Charou, E., Gyftakis, S.: A
dynamic model for environmentally safe shipping through the Aegean Sea. In: 6th International
Conference on Information, Intelligence, Systems and Applications. Corfu, Greece, July 2015
22. Liu, X., Wirtz, K.: Total oil spill costs and compensations. Marit. Policy and Manage. 33(1),
49–60 (2006)
23. Makrygiorgos, A., Giannakopoulos, T., Perantonis, S.: Accelerating multi-objective ship rout-
ing using a novel grid structure and a simple heuristic. In: 1st International Workshop on Mod-
elling, Computing and Data Handling for Marine Transportation, IISA 2015. Corfu, Greece,
July 2015
24. Montewka, J., Ehlers, S., Goerlandt, F., Hinz, T., Tabri, K., Kujala, P.: A framework for risk
assessment for maritime transportation systems—A case study for open sea collisions involving
ropax vessels. Reliab. Eng. Syst. Saf. 124, 142–157 (2014)
25. Müllner, D.: fastcluster: Fast Hierarchical, Agglomerative Clustering Routines for R and
Python. J. Statist. Softw. 53(1), 1–18 (2013)
26. Pelekis, N., Frentzos, E., Giatrakos, N., Theodoridis, Y.: Hermes: A trajectory db engine for
mobility-centric applications. In: ACM SIGMOD International Conference on Management
of Data. Vancouver, Canada, June 2008
27. Pelekis, N., Frentzos, E., Giatrakos, N., Theodoridis, Y.: Hermes: A trajectory db engine for
mobility-centric applications. Int. J. Knowl. Based Organ. 5(2), 19–41 (2015)
28. Silveira, P., Teixeira, A., Soares, C.: Use of ais data to characterize marine traffic patterns and
ship collision risk off the coast of portugal. J. Navig. 66(6), 879–898 (2013)
29. White, I., Molloy, F.: Factors that determine the cost of oil spills. In: International Oil Spill
Conference. Vancouver, Canada (2003)
30. Wikipedia: Ajax (2016). https://en.wikipedia.org/wiki/Ajax_(programming)
31. Willems, N., Wetering, H.V.D., Wijk, J.V.: Visualization of vessel movements. Comput. Graph.
Forum 28(3), 959–966 (2009)
Chapter 6
A Decision Support System for the
Assessment of Seaports’ Security Under
Fuzzy Environment
6.1 Introduction
Critical maritime infrastructure (CMI) systems, which are defined as ports, water-
ways, vessels and their intermodal connections, are the backbone of world economic
development due to the enormous roles they performed in enhancing smooth flows
of cargoes around the globe. Over the past few decades, these systems have arguably
been vulnerable to a wide variety of crimes ranging from theft to direct attacks by
terrorists who utilise the systems as a conduit for shipment of Weapons of Mass
Destruction (WMD), hostile operatives and contraband.
Given the dynamic risks and the complex operational environment of maritime
operations, the threats affecting the systems and their economic realities are well
researched and documented [19]. However, the implemented International Shipboard
and Port Facility Security (ISPS) Code requires security risk assessment for various
ship and port facility security plans to be designed in such a manner that it can prevent
and detect security flaws within an international framework, enabling collection and
exchange of security information, providing a methodology for assessing security,
and ensuring that adequate measures are in place and roles and responsibilities of
port facility security officers are designated [30].
Although the Code does show some level of effectiveness in enhancing maritime
security it does not prescribe a generally accepted framework for maritime security
assessment [52, 53]. An obvious problem is that part B of the Code leaves analysts to
choose and define their suitable methodology for individual maritime security assess-
ment. Other security measures implemented to optimize CMI systems’ operations
include the Container Security Initiative (CSI) and the Customs-Trade Partnership
Against Terrorism Initiative (C-TPAT) [5, 7, 36, 37].
Several optional maritime security initiatives were developed in response to the
9/11 attacks. The US Department of Homeland Security led the federal effort in devel-
oping a comprehensive national maritime security to address all maritime related
threats [13]; the offshore and on-shore security assessment tools [14], maritime
security risk analysis model (MSRAM) and MSRAM-PLUS [1] have been pre-
sented to enrich the insufficient literature of maritime security. However, the lack
of data to analyse the complex structure of maritime operations in order to address
security scenarios proactively, makes it difficult to adapt the conventional security
risk assessment methods.
The purpose of a collaborative modelling of security systems/measures is to pri-
oritize the high-level risks or flaws within the system in order to invest appropriate
strategies that aim at enhancing the performances of security systems/measures.
Realising such an objective requires other contextual factors to be considered i.e.
environmental, economic, technical and organizational factors. These factors can be
defined as multiple uncertain decision attributes in analysing a complex maritime
security problem.
Yang et al. [52] developed a security assessment framework using fuzzy evi-
dential reasoning approaches to deal with the incompleteness of objective data.
Although the method was accepted due to its novelty in enriching maritime security
6 A Decision Support System for the Assessment … 147
assessment literature, it has lately been criticised in a number of areas due to its com-
plex mathematical algorithm. Furthermore, the approach did not successfully address
maritime security assessment from a systematic perspective. Therefore, in response
to an urgent need for a user-friendly security systems’ assessment framework that
will guide the quantification of the security risk level in terms of vulnerability, threat
and consequence in a systematic manner, the present paper is developed.
This paper introduce the concept of belief degrees to increase the flexibility and
confidence of experts in evaluating the performance effectiveness of security sys-
tems/measures in order to propose a new security assessment approach for seaport
operations. In order to achieve the aforementioned aims, the paper is organised as
follows: Sect. 6.2 reviews the literature associated with maritime security. Section 6.3
presents the methodology. Section 6.4 provides a case study to illustrate the applica-
bility of the methodology and Sect. 6.5 presents the conclusion of the study.
Maritime security encompasses a wide range of attack scenarios due to the complex
nature of their operations. Over the last few decades, the focus of security analysts has
been on terrorism due to the impact of such an attack. However, the threat of a cyber-
attack is increasingly of growing relevance in maritime information, communication
and control systems as its occurrence can compromise data confidentiality, integrity
and availability. Usually, cyber-attacks targeting seaport systems are in the following
areas [27]:
• Sea and land-based systems such as vessel tracking and information system
(VTIS), automatic identification system (AIS) or long-range identification and
tracking system (LRIT).
• Container terminal operating systems (CTOS).
• Port electronic data interchange (EDI) system for domestic and international trade.
Before the 9/11 attacks, most security incidents associated with port operations
were from drugs smuggling and organised crimes. However, the studies on terrorist
attacks disrupting port operations and supply chain systems has been growing in the
relevant literature in the post 9/11 era [19, 45]. Seaports, as an integral component
of critical maritime infrastructure, (CMI) systems face additional security threats
due to their close spatial interaction with mega-city agglomerations and seashore
tourist attractions [7]. Security experts have shown that some terrorist groups also
have varying degrees of maritime expertise and capabilities which can be exploited
to wreak havoc on a seaport system through the following means [11, 15, 16, 31–33]:
• Sink a large commercial cargo ship in a major shipping channel, thereby blocking
traffic to and from the port.
148 A. John et al.
• Seize control of a large commercial cargo ship and use it as a collision weapon for
destroying a bridge or refinery located at the waterfront.
• Use land around the port’s system to wreak havoc, possibly on refineries located
in industrial port areas and on other port facilities.
• Attack vessels or ports used to supply military operations overseas and interfere
with those operations.
• An attack to disrupt the world oil trade and cause large-scale environmental dam-
age.
• An attack on or hijacking of a large ship containing volatile fuel (i.e. Liquefied
Natural Gas (LNG) or Liquefied Petroleum Gas (LPG)) and detonation of it to
cause in-port explosions.
• Use of commercial cargo containers to smuggle terrorists, nuclear, chemical or
biological weapons, components thereof or other dangerous materials into a coun-
try.
• Directly target a cruise liner or passenger ferry to cause mass casualties by conta-
minating the ship’s food supply, detonating an improvised explosive device (IED)
or ramming the vessel with a fast-approach small attack craft.
Information regarding authorised individuals coming into the port systems needs to
be monitored in order to control entry and exit to a port facility and to specific areas
6 A Decision Support System for the Assessment … 149
within the port systems. The access control system is designed to prevent unautho-
rised entry. An effective access control system prevents the introduction of harmful
devices, materials and components. Additionally, access control systems include
guarded entry and exit points, access control rosters, personal recognition, ID cards,
badge exchange procedures and personnel escorts for visitors. Due to the complex-
ity of the access control system, cyber access systems have been further developed
to optimise the system’s operation; they include firewall, password protection, and
antivirus software.
Seaport facilities are considered to be critical infrastructure systems and are vulnera-
ble to wide varieties of risks due to their complex structures. As a result, they need to
be protected from threats by early detection using sophisticated and robust security
systems/measures. The detection capability of a seaport security can be achieved by
assessing the following [1]:
The use of screening measures in port operations has significantly helped in detecting
hazardous, illicit substances and human trafficking in major ports around the world.
These developments have enhanced the effectiveness of container cargo shipment
and supply chain security with minimum disruption to operations. Three major cargo
security initiatives have been developed based on the US Safe Port Act of 2006
to improve maritime and cargo security; these are non-intrusive inspection (NII),
radiation scanning and radio frequency identification (RFID) container intrusion
detection [15, 17, 29].
In order to enhance the security of ports and the supply chain systems in general
due to the perceived threat of terrorists exploiting deficiencies in the system to plan
and execute an attack, the Customs and Border Protection agency (CBP) requires
advanced cargo information from importers and ocean vessel carriers to be supplied
electronically for non-bulk cargo shipments in-bound to the US. The focus of these
initiatives is to improve and enhance the CBP’s ability to be proactive in cargo security
150 A. John et al.
risk assessment and to recognise high-risk shipments going into the US seaports
[38]. Pursuant to section 203 of the Safe Port Act of 2006 and section 343(a) of the
Trade Act of 2002 as amended by the Maritime Transportation Security Act (MTSA)
of 2002, the security of port systems can be evaluated by assessing the following
initiatives [38]:
• Importer Security Filing (ISF) (responsible for filing ten (10) data elements).
• Ocean Vessel Carrier Filing (OVCF) (responsible for filing two (2) data elements).
The accuracy of the (10 + 2) data elements and cargo manifest depends on the
level of partnership, with various stakeholders involved in international export and
import of cargoes. Partnership between the different parties involved in the process
facilitates a reduction in security risks and enhances the robustness of the programme
and effectiveness of the security systems of a port.
6.3 Methodology
Since the ability of a seaport to maximize its security and ensure continuous oper-
ations despite a mishap depends on the availability of the right information at the
right time for robust decision making [25], within this paper a generic framework
using fuzzy sets theory, Evidential Reasoning (ER) and Fuzzy Analytical Hierarchy
Process (FAHP) is proposed. The proposed framework can be implemented as a key
part of security assessment during the process of risk evaluation of a seaport oper-
ation. The steps involved in the assessment are shown in Fig. 6.1, as summarised
below:
As seaports maintain their position on the frontline to facilitate global trade and
to ensure a formidable security system, the complex risk environment challenges
6 A Decision Support System for the Assessment … 151
decision makers with regard to resource allocation among a wide group of counter-
measures in order to minimise security risk and enhance the adaptive capacity of the
system. The literature review revealed various security systems/measures which can
serve as the basis for collaborative modelling and strategic decision making of the
system, and which are presented in Table 6.1 [10, 21, 38, 45, 47].
152 A. John et al.
Based on the information presented in Sect. 6.2.1, Table 6.1 and the ISPS Code, an
integrated generic security risk model with hierarchical structure is presented in
Fig. 6.2. A set of linguistic variables (i.e. Tables 6.2 and 6.3) developed based on
literature [28] is used by the security analyst to describe the parameters of the model
in order to establish a basis for the modelling of the system.
Decision makers need to understand the problems clearly before attempting to
solve them in a transparent manner. This is true when there are many criteria to be
considered, each of which in turn consists of several sub-criteria. For this reason, it is
imperative to display the problem in a hierarchical structure. Based on the model, the
goal of the problem is the performance effectiveness of security systems/measures.
In the second level, there are several criteria, each of which has its contribution to
measuring the performance of the overall goal, and then some of these criteria are
further broken down until the stage where decision makers are able to make informed
and practical decisions on resilience of the security systems under high uncertainty.
FAHP is employed in this study to obtain the weight of each attribute in the hierarchy
and to synthesise the risks from the bottom to the top level of the hierarchy in a
systematic fashion. Compared to the conventional AHP method, which uses crisp
values in evaluating the relative importance of each attribute, FAHP uses fuzzy ratios
for ease of expert knowledge elicitation.
An advantage of FAHP is its flexibility for integration with different techniques
such as evidential reasoning in risk analysis. Therefore, FAHP leads to the generation
of weighting factors to represent the primary risk within each category of the model.
When determining the weights of attributes, the experts’ judgement is in the form of
pair-wise comparisons based on an estimation scheme, which lists the intensity of
importance using linguistic variables. Each variable has a corresponding triangular
fuzzy number that is employed to transfer experts’ judgements into a comparisons
matrix as presented in Eq. 6.1 [2].
ãx = (L , M, U ) (6.1)
154 A. John et al.
where L, M and U stand for the smallest possible number, the most promising number
and the largest possible number that describes a fuzzy event. Table 6.4 shows the
linguistic variables for a criterion and its corresponding triangular fuzzy number
(TFN), as modified and adopted from [2], it is used in this study for the purpose of
weighting factor estimation.
Suppose there are m experts or decision makers with equal weights, the elements
in a fuzzy pair-wise comparison matrix can be modelled as follows:
1
ãi, j = ⊗ ei,1 j ⊕ ei,2 j ⊕ · · · ei.k j · · · ⊕ ei,m j (6.2)
m
1
ã j,i = (6.3)
ãi, j
where ãi, j is the relative importance by comparing event i and j while ei.k j represents
the kth expert judgement in TFN format and ⊗ is fuzzy multiplication operation. For
6 A Decision Support System for the Assessment … 155
The weight factors of each element in the hierarchy can be computed using the
geometric mean technique [9].
1/n
r̃i = ãi,1 ⊗ ãi,2 ⊗ · · · ⊗ ãi,n (6.5)
where ãi,n is the fuzzy comparison value of criterion i to criterion n, r̃i is the geometric
mean of the ith row in the fuzzy pair-wise comparison matrix, and w̃i is the fuzzy
weight of the ith criterion of a triangular fuzzy number (TFN) indicated by w̃i =
(wil , wim , wiu ), while wil , wim and wiu are the lower, middle and upper values of the
fuzzy weight of the ith criterion respectively.
The geometric mean obtained from the triangular fuzzy weight using Eq. 6.6 needs
to be defuzzified into a crisp weight factor using an approach derived by [46].
The defuzzified mean value D Fw̃i for (wil , wim , wiu ), can be obtained as follows:
u
wi − wil + wim − wil
D Fw̃i = (6.7)
3 + wil
The normalised weight of the ith attribute can be obtained using Eq. 6.8.
DFw̃
wi = i (6.8)
DFw̃i
where DFw̃i represents the sum of the defuzzified mean values of all the rows in
the comparison matrix.
In order to control and ensure accuracy in the result of the method, the consistency
ratio for each of the matrices needs to be analysed. The consistency ratio (CR) is
used to estimate the consistency of the pair-wise comparisons as follows:
CR = CI RI
λmax − n
CI =
n−1
156 A. John et al.
n n
k=1wk a jk
j=1 wj
λmax = (6.9)
n
where CI stands for consistency index, RI stands for average random index [41],
n stands for matrix order, and λmax stands for maximum weight value of the n-
by-n comparison matrix. When CR less than 0.10, the comparisons are acceptable;
otherwise, they are not acceptable and should be revised in order to obtain a consistent
opinion [35].
or harm. Though there are some overlaps in the description of the models’ attributes
and the risk parameters, the main issue or content are largely independent which can
enable their aggregation and synthesis via the ER software for a flexible decision-
making process. Based on the above analogy, risk can be represented mathematically
as:
Equation 6.10 is applicable to all categories of risk associated with CMI sys-
tems and can be used to determine the risk level of each security system/measure
in order to evaluate its performance. Therefore, this will provide the decision mak-
ers with an opportunity to adapt appropriate strategies that are robust yet flexible
enough to reduce the probability of an attack through deterrence and countermea-
sures. Security risks can be reduced by improving the performance of the security
systems/measures. The literature review indicated that a common expression for
risk presented in Eq. 6.10 is seen as the philosophical basis for security risk assess-
ment methodologies of many maritime critical systems [26]. Therefore, Eq. 6.10 is
assumed independent and represented by fuzzy numbers for a flexible modelling
of the system as indicated by Mokhtari et al. [24], UNISYS [47], Sadiq et al. [42],
158 A. John et al.
Mcgill et al. [23], Anoop et al. [3] and Moteff [26], Eq. 6.10 can be written as:
r̃ = l˜ ⊗ ṽ ⊗ c̃ (6.11)
where r̃ , l,˜ ṽ and c̃ stand for fuzzy risk, likelihood of threats, vulnerability and
consequence respectively.
The implication for Eq. 6.11 is that the risk levels of every system under a fuzzy
environment can be analysed as the product of the three fuzzy numbers represented as
l˜ = (xl , yl , zl ), ṽ = (xv , yv , z v ) and c̃ = (xc , yc , z c ). Based on Eq. 6.11, these num-
bers can be expressed as follows:
where FTN represents fuzzy triangular numbers. FTN is used because of its compu-
tational simplicity and the ease with which it can be applied during the calculation
process.
FTNlvc = (xl ⊗ xv ⊗ xc , yl ⊗ yv ⊗ yc , zl ⊗ z v ⊗ z c ) (6.13)
Due to the dynamic nature of maritime business, seaport systems require good
scientific and engineering knowledge on diverse issues relating to the systems’ opera-
tions. The generic security model considers operational factors such as cargo, people
and information process flows when determining risks and action plans, while taking
into account potential adversaries and the port’s security forces, as well as threats
and vulnerabilities including decisions on security resource utilisation.
Because security risk is a fuzzy problem that is uncertain and imprecise, it is usually
challenging to quantify it due to the fact that potential security flaws or threats occur
infrequently and their closed interval range can have an assumed value of 0 and 1.
A practical and efficient way to express security levels in a port is to use qualitative
descriptors, particularly from the port facilities security officers (PFSOs), company
security officers (CSOs) and security intelligent experts.
The likelihood of threats and vulnerability can be assessed using such terms as
Very Low, Low, Medium, High and Very High while the consequence or impact can be
assessed as Negligible, Minor, Moderate, Critical and Catastrophic, as represented in
Tables 6.5, 6.6 and 6.7 respectively. These subjective variables can further be defined
in terms of their membership functions with a curve that defines how each point
in the input space can be mapped into a membership value between 1 and 0. As
presented in Riahi et al. [39], the most commonly used membership functions are
the triangular and trapezoidal; this research uses the five scale method, adapted and
modified from Ngai and Wat [28] to represent the l, v and c levels of security risk as
shown in Fig. 6.3 with uniform distribution of linguistic variables.
6 A Decision Support System for the Assessment … 159
measuring the risk level of each security attribute it is necessary to convert the fuzzy
rating of the parameters into a belief structure with the same set of evaluation grades
[20]. The evaluation of security risk attributes by each of the risk parameters can be
explained by the following expression:
The estimation of security risk level obtainable in Eqs. 6.10–6.13 can be converted
using the five steps presented in Table 6.8. The obtained result (i.e. FTNlvc ) can be
converted into fuzzy risk Z (i.e. the normalised fuzzy set) [20, 42]. The conversion
of FTNlvc into Z is carried out to simplify the computational analysis and present the
risk’s level in a unified space of discourse which can subsequently be used as input
data into the IDS software for aggregation and ranking in a systematic fashion.
The theory of evidence was first generated by Dempster [12] and further developed
by Shafer [43]. It is often referred to as Dempster–Shafer theory of evidence or D–S
theory. The D–S theory was originally used for information aggregation in expert
systems as an approximate reasoning tool [22]. Subsequently it has been used in
decision making under uncertainty [49]. Due to the ever-changing environment and
the multiple criteria decision making problems having a degree of uncertainty, the
ER algorithm was developed. The ER approach can be elucidated as follows [51]:
Let “R” represent the set of the five risk expressions and be synthesised by two
subsets R1 and R2 from two different assessors. Then, for example, R, R1 and R2
can separately be expressed by:
where “Very Low”, “Low”, “Medium”, “High” and “Very High” (the risk expression)
are associated with their corresponding degrees of belief. Suppose the normalised
relative weights of two assessors in the risk evaluation process are given as ω1 and
ω2 (ω1 + ω2 = 1). ω1 and ω2 can be estimated by using an AHP technique. Suppose
M1m and M2m (m = 1, 2, 3, 4 or 5) are individual degrees to which the subsets R1
and R2 support the hypothesis that the risk evaluation is confirmed to the five risk
expressions. Then, M1m and M2m are obtained as follows:
M1m = ω1 × β1m
(6.15)
M2m = ω2 × β2m
where m = 1, 2, 3, 4, 5.
Suppose H1 and H2 are the individual remaining belief values unassigned for M1m
and M2m (m = 1, 2, 3, 4, 5). Then, H1 and H2 are expressed as follows [51]:
H1 = H̄1 + H̃1
(6.16)
H2 = H̄2 + H̃2
164 A. John et al.
where H̄n (n = 1 or 2), representing the degree to which the other assessor can play a
role in the assessment, and H̃n (n = 1 or 2), is caused by the possible incompleteness
in the subsets R1 and R2 . H̄n (n = 1 or 2) and H̃n (n = 1 or 2), are described as
follows:
H̄1 = 1 − ω1 = ω2
H̄2 = 1 − ω2 = ω1
4
H̃1 = ω1 1 − β1
m
(6.17)
m=1
4
H̃2 = ω2 1 − β2m
m=1
Suppose β m (m = 1, 2, 3, 4 or 5) represents the non-normalised degree to which
the risk evaluation is confirmed to each of the five risk expressions as a result of the
synthesis of the judgments produced by assessors 1 and 2. Suppose HU represents
the non-normalised remaining belief unassigned after the commitment of belief to
the five risk expressions because of the synthesis of the judgments produced by
assessors 1 and 2. The ER algorithm is stated as follows [51]:
β m = K M1m M2m + M1m H2 + M2m H1
H̄U = K H̄1 H̄2
H̃U = K H̃1 H̃2 + H̃1 H̄2 + H̃2 H̄1
⎡ ⎤−1
(6.18)
⎢ ⎥
⎢ 4 4 ⎥
⎢ R⎥
K = ⎢1 − T
M1 M2 ⎥
⎢ ⎥
⎣ T =1
R=1 ⎦
R = T
After the above aggregation, the combined degrees of belief are generated by
assigning H̄U back to the five risk expressions using the following normalization
process [51]:
β m = β m /1 − H̄U (m = 1, 2, 3, 4)
(6.19)
HU = H̃U 1 − H̄U
ations of lower level criteria in the chain systems (i.e. components or subsystems)
can also be combined.
There are numerous methods for validating a generic knowledge-based system under
uncertainty, but the most commonly used validation techniques are field test, sub-
system validation, informal validation and sensitivity analysis. Sensitivity analysis
has been found to be a reliable technique for validating novel approaches under high
levels of uncertainty [34].
This study seeks to examine the sensitivity of the security systems’ performances
to individual elements that make up the model. Due to the lack of visibility regarding
port security issues, the lack of precise data and the novelty of this model, it has not
been possible to find any established means of benchmarking the results; this analysis
uses incremental processes through conducting several industrial case studies to
validate the results. Thus, the developed model can then be refined and applied in
the industry to improve the resilience of maritime security systems/measures.
In light of the above, the generic model has been partially validated using sensi-
tivity analysis. The aim of sensitivity analysis is to test the sensitivity of the model;
it refers to how sensitive the conclusions are to a minor change in the inputs. The
change may be the variation of the model’s parameters or changes in the belief
degrees assigned to the linguistic variables used to describe them. If the methodol-
ogy is sound and its inference reasoning is logical, then the sensitivity analysis must
at least follow the following axioms [52]:
Axiom 1: A slight decrement or increment in the belief degree of each security
system/measure at the bottom level of the hierarchy should result in the effect of the
relative decrease or increase in the model output.
Axiom 2: If K and Q, where (Q > K ) criteria from all the bottom level criteria are
selected and the degree of belief associated with the highest preference linguistic term
of each of such K and Q criteria is decreased by the same amount (i.e. simultaneously
the degree of belief associated with the lowest-preference linguistic terms of each of
such K and Q criteria is increased by the same amount) and the model’s output data
are evaluated as A K and A Q respectively, accordingly, A Q should be less than A K .
Based on the generic model presented in Fig. 6.2 and available information in
Sect. 6.2.1, a case study is presented to illustrate the applicability of the methodology.
The aim of the case study is to provide the decision makers with a simplified means
of modelling security scenarios under a fuzzy environment especially during port
166 A. John et al.
security risks’ auditing, marine terminal security risks’ evaluation, and port/terminal
redevelopment security systems’ planning, construction and implementation.
This phase of the analysis involves the identification of the seaport security sys-
tems/measures through a robust literature review and brainstorming session con-
ducted with security analysts using a structured and systematic approach. Accord-
ingly, the security systems/measures are identified and presented in Table 6.1.
1
ã1,2 = ((2, 3, 4) ⊕ (4, 5, 6) ⊕ (5, 6, 7)) = (3.6, 4.6, 5.6)
3
1
ã2,1 = = (0.176, 0.217, 0.270)
ã1,2
a11 a12
δ̃ = a11 (1, 1, 1) (3.6, 4.6, 5.6)
a21 (0.18, 0.22, 0.27) (1, 1, 1)
Each weight of the attribute in the hierarchy can be calculated by using Eqs. 6.5
and 6.6. For example, w̃11 is calculated as follows:
1 1 1 1
r̃1 = ((1, 1, 1) ⊗ (3.6, 4.6, 5.6)) 2 = (1 × 3.6) 2 , (1 × 4.6) 2 , (1 × 5.6) 2
= (1.897, 2.145, 2.367) .
w̃11 can be converted into a crisp value by using Eq. 6.7 as follows:
0.145
w11 = = 0.81.
0.145 + 0.035
An evaluation sheet was used by the security experts based on the model in Fig. 6.2
to facilitate the analysis of security risks under a fuzzy environment. The experts pri-
oritised the security systems/measures in terms of likelihood of threats, vulnerability
and consequence.
As an example, the ratings of the security experts on “ocean vessel carrier filing”
are made as (4, 4, 3), representing the likelihood of information misrepresentation or
false information provided (0.5, 0.75, 1), vulnerability (i.e. probability of a flaw in
the system) (0.5, 0.75, 1) and consequence or impact (0.25, 0.5, 0.75) respectively.
Based on Eq. 6.12, the security risk of the attributes under fuzzy environments is
computed as:
FTNlvc = 0.06, 0.28, 0.75
The obtained risk result FTNlvc is mapped over FTNr (i.e. 5 grades defined over the
universe of discourse of risk (VL, L, M, H and VH)) as shown in Fig. 6.4.
Based on Fig. 6.4, the point where the newly mapped FTNlvc intersects each lin-
guistic term of FTNr are circled, and maximum values are used at points where FTNlvc
and a linguistic term of FTNr intersect at more than one points, and the corresponding
results are presented in Table 6.13. ZP (i.e. the intersecting points) is normalised to
obtained Z . These steps are demonstrated in Fig. 6.4 and Table 6.10.
The result of the process is presented in Tables 6.11 and 6.12, and Fig. 6.4. In a
similar way, the experts’ ratings for the other factors are analysed and the results
obtained are shown in Tables 6.12 and 6.13 respectively.
Table 6.13 presents the results of the risk synthesis based on the calibration of the
security systems/measures using linguistic scales with the aid of IDS software under
a fuzzy environment. Pursuant to the evaluation results presented in Table 6.13, it
can be seen that the highest amounts of 22.94 and 6.53% belief degrees of the High
and Very High evaluation grades are associated with the access control measures in
comparison to advanced cargo information process, screening measures, detection
measures, personnel security and operational security.
The analysis has shown that personnel security measures has the lowest percentage
in terms of belief degrees associated with the evaluation grades High and Very High.
It is worth mentioning that comparison can also be made with respect to the Very Low
and Low evaluation grades of the six security attributes. Based on the assessment, the
final security risk level is obtained as 0.44 or 44%. This value represents the experts’
assessment of the port’s security and can be used to assist port security analysts to
carry out security assessment of a port, and also initiate safety audit and review of
key performance indicators of various port departments for enhanced operation. This
approach may provide a viable approach where there is lack of objective or statistical
data in such an assessment for the port under investigation.
Table 6.14 Experimental results for sensitivity analysis using the IDS software
Security risk attributes Output data Output data Output data
(10%) (20%) (30%)
Guards at main security gate 0.1988 0.3089 0.4142
Importer security filing 0.3325 0.4131 0.4935
Watch men at quay/vessel interface 0.3771 0.4426 0.5192
Perimeter intrusion detection device 0.3952 0.4572 0.5220
Biometrics 0.4054 0.4694 0.5290
Radiation detection device 0.4091 0.4722 0.5318
Gamma/X-ray detection measures 0.4177 0.4734 0.5328
Ocean vessel carrier filing 0.4200 0.4745 0.5339
Under-water and sonar cameras 0.4298 0.4798 0.5323
Perimeter fencing patrol 0.4347 0.4792 0.5310
Marshalling area patrol 0.4409 0.4870 0.5388
Water borne area patrol 0.4493 0.4881 0.5348
Cargo handling area patrol 0.4475 0.4896 0.5367
Access route patrol 0.4554 0.4907 0.5374
Monitoring device for ware house 0.4601 0.5016 0.5389
Monitoring device for stacking area 0.4721 0.5028 0.5379
Monitoring device for perimeter side 0.4782 0.5039 0.5369
Monitoring device for main gate 0.4829 0.5129 0.5409
Monitoring device for quayside operations area 0.4999 0.5209 0.5449
Fig. 6.5 Sensitivity analysis result conducted by varying the belief degrees
174 A. John et al.
This security risk evaluation has shown the sensitivity of the model’s parameters to
slight changes in input data (see Fig. 6.5). The results of the experiments show that
the performance of port security depends on many variables and a change in these
variables will ultimately affect the security posture of ports operating in a dynamic
environment. The model attempts to address maritime operations and their associated
facilities and infrastructure as they attempt to collectively represent one of the single
greatest unaddressed challenges to the security of nations and the global economy.
The results of the analysis highlighted the significance of access control measures
to seaport security given the dynamic nature of operations taking place within the
system and also the importance of developing a comprehensive and effective regime
of control over who and what will have access into the port environment. Additionally,
another factor that influenced the performance effectiveness of seaport operations is
the advanced cargo information process (R4). Based on the analysis, it can be shown
that “advanced cargo information process” has the belief degree of 0.1963, which
is associated with the High linguistic variable, and also significant in influencing
seaport security. Based on industrial experience, the ISF and OVCF help the CBP
to evaluate and identify high-risk cargo shipments going into a seaport in order to
prevent smuggling and ensure cargo safety and security of infrastructure systems, it
can be concluded that the model is sound and has revealed the influence magnitude
of each parameter in a systematic fashion.
In the research conducted by Riahi [38], Talas and Menachof [45] and Christopher
[10], access control measures and advanced cargo information process are mentioned
as significant security measures reported in the literature due to a port’s composition
and its operational environment. The studies further revealed that ports that build
their security foundation on these concepts are well equipped to control risks and
ensure the safety of maritime cargo. Thus, the ranking orders in Fig. 6.5 are consistent
with those discussed by Riahi [38], Talas and Menachof [45] and Christopher [10].
This evaluation can be used to develop schemes or measures that can enhance the
performance of security systems/measures and reduce their vulnerability to security
incidents.
6.5 Conclusion
This paper proposes a flexible approach to assess the performance of security sys-
tems/measures regarded as a multi-attribute decision making problem under a fuzzy
environment. An analysis process that incorporates fuzzy logic, belief degree con-
cept and evidential reasoning is proposed. In this approach, the performance effec-
tiveness of security systems/measures are analysed using fuzzy set modelling. This
provides the infrastructure analysts with flexibility in articulating judgements about
the security risk parameters such as likelihood of threats, vulnerability of the system
6 A Decision Support System for the Assessment … 175
and consequent severity. The evaluation process of the security estimate is obtained
using an evidential reasoning algorithm. Such an approach provides analysts with a
robust tool to make full use of the information provided at the bottom level of the
hierarchy to generate the overall security estimate for decision-making processes in
a transparent manner.
It is beneficial that the proposed framework is based on existing and tested meth-
ods. Specifically, the model can be used during the design process of green seaport
construction and green deep-water tank farms’ construction within a port’s system
where PFSOs and CSOs can work hand-in-hand to facilitate a resilient security
scheme that can best suit the company’s need and purpose. The model’s strengths
have been seen from its potential to obtain security estimate from risk analysis asso-
ciated with the security assessment requirement in ISPS Code and also form the
basis for developing a structured generic security management methodology in a
systematic way.
References
1. Adler, R.M., Fuller, J.: An integrated framework for assessing and mitigating risks to maritime
critical infrastructure. In: 2007 IEEE Conference on Technologies for Homeland Security, pp.
252–257. IEEE (2007)
2. An, M., Huang, S., Baker, C.: Railway risk assessment-the fuzzy reasoning approach and fuzzy
analytic hierarchy process approaches: a case study of shunting at waterloo depot. Proc. Inst.
Mech. Eng. Part F: J. Rail Rapid Trans. 221, 365–383 (2007)
3. Anoop, M., Rao, K.B., Gopalakrishnan, S.: Conversion of probabilistic information into fuzzy
sets for engineering decision analysis. Comput. Struct. 84, 141–155 (2006)
4. Bakir, N.O.: A Brief Analysis of Threats and Vulnerabilities in the Maritime Domain. Springer,
Managing Critical Infrastructure Risks (2007)
5. Barnes, P., Oloruntoba, R.: Assurance of security in maritime supply chains: conceptual issues
of vulnerability and crisis management. J. Int. Manag. 11, 519–540 (2005)
6. Belton, V., Stewart, T.J.: Multiple Criteria Decision Analysis: An Integrated Approach. Kluwer,
Norwell, MA (2002)
7. Bichou, K.: The ISPS code and the cost of port compliance: an initial logistics and supply
chain framework for port security assessment and management. Marit. Econ. Logist. 6, 322–
348 (2004)
8. Blümel, E., Boevé, W., Recagno, V., Schilk, G.: Ship, port and supply chain security concepts
interlinking maritime with hinterland transport chains. WMU J. Marit. Aff. 7, 205–225 (2008)
9. Buckley, J.J.: Fuzzy hierarchical analysis. Fuzzy Sets Syst. 17, 233–247 (1985)
10. Christopher, K.: Port Security Management. Auerbach Publications (2010)
11. Clarke, R.A., Lynch, P., Publico, P.B.: LNG Facilities in Urban Areas: A Security Risk Man-
agement Analysis for Attorney General Patrick Lynch. Rhode Island, Good Harbor Consulting
(2005)
12. Dempster, A.P.: A generalization of bayesian inference. J. R. Stat. Soc. B (Methodological),
205–247 (1968)
13. DOHS: National Strategy for Maritime Security. Washington, DC (2005)
14. Emerson, S.D., Nadeau, J.: A coastal perspective on security. J. Hazard. Mater. 104, 1–13
(2003)
15. Frittelli, J.: Port and maritime security: background and issues for congress. Port Marit. Secur.
11 (2008)
176 A. John et al.
16. Greenberg, M.D., Chalk, P., Willis, H.H., Khilko, I., Ortiz, D.S.: Maritime Terrorism: Risk and
Liability. Rand Corporation (2006)
17. Hecker, J.Z.: Port Security: Nation Faces Formidable Challenges in Making New Initiatives
Successful. DTIC Document (2002)
18. Huang, C.L., Yoon, K.: Multiple Attribute Decision Making Methods and Applications: A
State of Art Survey. Springer, New York (1981)
19. John, A.: Proactive risk management of maritime infrastructure systems: resilience engineering
perspectives. Ph.D. thesis, Liverpool John Moores University-UK (2013)
20. Li, Y., Liao, X.: Decision support for risk analysis on dynamic alliance. Decis. Support Syst.
42, 2043–2059 (2007)
21. Mansouri, M., Nilchiani, R., Mostashari, A.A.: Risk management-based decision analysis
framework for resilience in maritime infrastructure and transportation systems. IEEE Syst.
Conf. 35–41 (2009)
22. Mantaras, R.L.D.: Approximate Reasoning Models. Prentice Hall PTR (1990)
23. McGill, W.L., Ayyub, B.M., Kaminskiy, M.: Risk analysis for critical asset protection. Risk
Anal. 27, 1265–1281 (2007)
24. Mokhtari, K., Ren, J., Roberts, C., Wang, J.: Decision support framework for risk management
on sea ports and terminals using fuzzy set theory and evidential reasoning approach. Expert
Syst. Appl. 39, 5087–5103 (2012)
25. Mostashari, A., Nilchiani, R., Omer, M., Andalibi, N., Heydari, B.: A cognitive process archi-
tecture framework for secure and resilient seaport operations. Mar. Technol. Soc. J. 45, 120–127
(2011)
26. Moteff, J.: Risk Management and Critical Infrastructure Protection: Assessing, Integrating,
and Managing Threats. Vulnerabilities and Consequences. Library of Congress Washington
DC Congressional Research Service, DTIC Document (2005)
27. Nakamuara, K., Ogawa, Y., Kato, H., Shibasaki, R.: Impacts of maritime transportation risk on
maritime traffic flows and regional 6 economies: the case study at the straits of Malacca and
Singapore 7. In: Transportation Research Board 91st Annual Meeting (2012)
28. Ngai, E., Wat, F.: Fuzzy decision support system for risk analysis in e-commerce development.
Decis. Support Syst. 40, 235–255 (2005)
29. Omer, M., Mostashari, A., Nilchiani, R., Mansouri, M.: A framework for assessing resiliency
of maritime transportation systems. Marit. Policy Manag. 39, 685–703 (2012)
30. Orbeck, E.: Implementation of the ISPS Code in Norwegian Ports and Harbour Protection
Through data Fusion Technologies. Springer Science Business Media B.V (2009)
31. Parfomak, P.W., Frittelli, J.: Maritime Security: Potential Terrorist Attacks and Protection
Priorities. Congressional Research Service, DTIC Document, Washington DC (2007)
32. Pate, A., Taylor, B., Kubu, B.: Protecting America’s Ports: Promising Practices. Police Exec-
utive Research Forum, 221075 (2007)
33. Percival, B.: Indonesia and the United States: Shared Interests in Maritime Security. United
States-Indonesia Society (2005)
34. Pfingsten, T.: Bayesian active learning for sensitivity analysis. In: Proceedings of the 17th
European Conference on Machine Learning, pp. 353–364. Springer, Berlin, Germany (2006)
35. Pillay, A., Wang, J.: Technology and Safety of Marine Systems. Elsevier Science (2003)
36. Price, W.: Reducing the risk of terror events at seaports 1. Rev. Policy Res. 21, 329–349 (2004)
37. Raymond, C.Z.: Maritime terrorism in Southeast Asia: a risk assessment. Terrorism Polit.
Violence 18, 239–257 (2006)
38. Riahi, R.: Enabling security and risk-based operations of container liner supply chains under
high uncertainties. Ph.D. thesis, Liverpool John Moores University (2010)
39. Riahi, R., Bonsall, S., Jenkinson, I., Wang, J.: A seafarer’s reliability assessment incorporating
subjective judgements. Proc. Inst. Mech. Eng. Part M J. Eng. Marit. Environ. 226, 313–334
(2012)
40. Roy, B., Vanderpooten, D.D.: The European school of MCDA: emergence, basic features, and
current works. Eur. J. Oper. Res. 99(1), 26–27 (1997)
41. Saaty, T.L.: Analytic Hierarchy Process. McGraw-Hill, New York (1980)
6 A Decision Support System for the Assessment … 177
42. Sadiq, R., Kleiner, Y., Rajani, B.: Water quality failures in distribution networks-risk analysis
using fuzzy logic and evidential reasoning. Risk Anal. 27, 1381–1394 (2007)
43. Shafer, G.: A Mathematical Theory of Evidence. Princeton University Press Princeton (1976)
44. Steward, T.J.: A critical survey on the status of multiple criteria decision making theory and
practice. OMEGA Int. J. Manag. Sci. 20, 569–586 (1992)
45. Talas, R., Menachof, D.A.: The efficient trade-off between security and cost for sea ports: a
conceptual model. Int. J. Risk Assess. Manag. 13, 46–59 (2009)
46. Tang, M.T., Tzeng, G.H., Wang, S.W.: A hierarchy fuzzy MCDM method for studying
electronic marketing strategies in the information. service industry. J. Intell. Inf. Manage.
8(1), 1–22 (2000)
47. UNISYS: White Paper on Port Security Roadmap. Unisys Corporation, Blue Bell, PA, USA
(2011)
48. Voss, M.D., Whipple, J.M., Closs, D.J.: The role of strategic security: internal and external
security measures with security performance implications. Trans. J. 5–23 (2009)
49. Yager, R.R.: On the determination of strength of belief for decision support under uncertainty–
Part II: fusing strengths of belief. Fuzzy sets Syst. 142, 129–142 (2004)
50. Yang, J.B., Singh, M.G.: An evidential reasoning approach for multiple attribute decision
making with uncertainty. IEEE Trans. Syst. Man Cybern. 24(1), 1–18 (1994)
51. Yang, J.B., Xu, D.L.: On the evidential reasoning algorithm for multiple attribute decision
analysis under uncertainty. IEEE Trans. Syst. Man Cybern. Part A Syst. Humans 32, 289–304
(2002)
52. Yang, Z., Wang, J., Bonsall, S., Fang, Q.: Use of fuzzy evidential reasoning in maritime security
assessment. Risk Anal. 29, 95–120 (2009)
53. Yang, Z., Wang, J., Li, K.: Maritime safety analysis in retrospect. Marit. Policy Manag. 40(3),
261–277 (2013)
Chapter 7
Maritime Simulation Using Open Source
Tools: Ship Transits in Bosporus
Murat M. Gunal
7.1 Introduction
The volume of maritime traffic is increasing every year and its management for
international community is becoming more problematic than it was in the past. In
the last decades, new problems and concerns emerged in Maritime Transportation
(MT), such as maritime piracy and environmental effects. Transportation companies
are looking for safer and cleaner routes for their ships. On a wider perspective, all
stakeholders are looking for the ways of protection against piracy for safer routes,
as well as of reducing carbon emission gases for cleaner environment.
Operational Research/Management Science (OR/MS) methods and tools can help
provide insights to these problems. Decision makers in MT can tackle these problems,
and others, using optimisation, simulation, and analytics techniques which OR/MS
has been providing for many years. In fact, the birth of modern OR comes from the
sea. During World War II, OR techniques were used to intercept submarines in open
sea. Since its birth, new methods have been developed and these are applied in wider
sectors.
One of the popular techniques in OR/MS is simulation. Simulation is a method in
which real systems are mimicked on computer. Since doing this is safer and cheaper
than trying in real, it is adopted and applied in many domains. Healthcare, production,
service systems, and transportation benefit from simulation.
The purpose of this chapter is to demonstrate how to build a basic simulation model
of maritime operations for decision making. This chapter is written as a tutorial rather
than a text to explain the concepts in simulation modelling. The readers are assumed
that they are already aware of basic simulation modelling concepts and capable of
programming in Java language.
In this tutorial, two open source libraries are used to build a model of maritime
transportation;
• OpenMap (http://www.openmap-java.org/)
• SimKit (https://eos.nps.edu/simkit/)
The simulation model utilizes OpenMap for creating a front-end (e.g. user inter-
face and graphical features) and a backbone for geographical data manipulation.
Since it is an open source software, the user can extend its default appearance by
adding new features such as text, icons, and images. Second, SimKit package is uti-
lized to simulate entities on map. Simulated entities (e.g. Ships) interact with each
other and with the map. The model is based on conceptualisation of movement and
detection in SimKit [4].
The model in this exercise is a fictional case on Bosporus, the narrow strait in
Istanbul, Turkey. The Bosporus is one of the busiest waterways in the world which
connects Black Sea and Marmara Sea. It is 17 nautical miles in length and passes
through Istanbul city. It includes sharp turns and due to the ships carrying hazardous
material there is high risk of accident. Turkish Strait Vessel Traffic Services (TSVTS)
system is established in late 1990s and modernized in 2006. Its purpose is to enhance
the maritime traffic and environmental safety against risk and dangers which may
be resulted from maritime traffic, within specified service area in Turkish Straits
including the Bosporus [7]. The TSVTS includes 16 unmanned traffic surveillance
stations with radars, and there are pilotage services provided to ships which transits
in south and north bounds.
7 Maritime Simulation Using Open Source Tools … 181
7.2 Overview
Analysing ship traffic in narrow waters has been a popular topic in recent decades.
Ince and Topuz [11] expressed that modelling and simulation has a significant role in
designing safe and efficient traffic systems in narrow waters. They demonstrated how
a simulation model is used to design Vessel Traffic Management and Information
System (VTMIS) in Turkish Straits. Earlier than this study, Kose et al. [12] analysed
effects of new oil pipelines in Black Sea, and potential increase in number of ships
passing Istanbul strait. Their findings affected the maritime administration to run
one-way traffic flow in Bosporus. Almaz et al. [1] also simulated Bosporus in greater
detail, considering natural factors such as visibility and water current, resources such
as pilotage and tug boat services, and management rules such as overtaking rules.
Their study echoes previous ones; the increasing risk of ship trans passing Bosporus.
Basar [2] simulated ship traffic in Çanakkale Strait to examine also the effects of
increase in volume on waiting times of ships and risk of transit. His study focused
on a specific area in the strait.
Although in these studies Commercial-Off-The-Shelf simulation software is used,
Huang et al. [10] pointed out that there is no adequate simulation tool to study
maritime traffic on ports and narrow waters. They developed a systematic approach,
MTSS, that enables developing simulation models of complex traffic on busy ports.
They showed its use in a busy port and conducted experiments under emergency
situations such as closure of waterways. Their tool helped port authority professionals
discover the impacts of such emergencies. MTSS had also been used for analysing
ship traffic in Tokyo Bay, Straits of Singapore and Shanghai [9]. Singapore Straits
has also been analysed by [17] using a different approach.
Other than simulation, different methods are also used for analysis. Mavrakis and
Kontinakis [14] presented a queuing model to analyse Bosporus strait ship traffic. Yip
[19] proposed a traffic flow model for maritime domain using differential equations.
The mathematical model considers water current and ship domain concepts which
7 Maritime Simulation Using Open Source Tools … 183
can analyse two-dimensional marine traffic on a water way. Ucan and Nas [15] took
a similar view of Bosporus and studied pilot capacity. They showed that number of
pilots must increase due to the diversity of ships and increasing traffic in Bosporus.
With regards to risk, Geijerstam and Scensson [8] is a detailed study which inves-
tigates ship collision risk in general, and ship accidents in offshore oil installations
in specific. The factors involve humans, technical equipment, and decision making
at several levels of organisational structure.
A GIS is software to deal with the earth’s geography. There are many GIS packages
and tools in the market. ARCView, Google Maps, GeoKIT, NASA World Wind,
Digital Nautical Chart, Falcon View, and OpenMap are some of the known GIS
software. Among these software packages some of them require licence but others
are freely available and open source, such as OpenMap. OpenMap is a free and open
source software written in Java programming language. This is the main purpose
why this GIS is chosen in this modelling exercise, first, it is free and open source,
and second it is written in Java and therefore compatible with the simulation software
package SimKit.
GIS software manipulates geographical digital data. What makes a GIS software
valuable is the data supplied to it. It is like a satellite navigation on a car, it is useless
without the map data. If, for example, you are interested in vehicle routing on roads,
then the road data, which is generally represented by vectors, must be given to the
software. Three types of digital map data exist;
• Vector maps
• Elevation maps
• Raster maps
A vector map consists of vectors, or lines, which their start and end points are known.
Think about shore lines or political boundaries, or rivers, or roads in a town. You
can draw these shapes with lines, either straight or curved on a paper. Curved lines
are more difficult to represent on computer since they need more parameters than a
straight line needs. For a straight line, or say for multiple straight and connected lines,
you need to keep starting point and ending point of each line. By a “point” we meant
a point on earth which means a pair of latitude and longitude. On a 2-dimensional
computer screen it is easy to covert world coordinate system (Lat-Lon pair) to screen
coordinate system (X, Y pair). On the other hand, curves can be approximated by a
number of small line segments.
There are different formats of elevation data. The common one is the Digital
Terrain Elevation Data (DTED). DTED simply keeps grid based elevation data, that
is the earth is divided into squares and for each square there is an elevation value.
Dimensions of these squares are matter of resolutions and in standards there are three
184 M.M. Gunal
levels; in DTED level 0 (DTED0), a square’s one side is 900 meters, in DTED level
1 (DTED1) it is 90 meters, and in DTED level 2 it is 30 meters.
Raster maps are paper based maps which are scanned and converted to digital
format. It is convenient to see a real map on screen but in digital format it is not of
much use, since the data is actually a scanned image.
As mentioned earlier a GIS software manipulates the data supplied to it. It can
handle different data at once. The data generally displayed as “layers”, which you
can turn on and off. For example, you can show a vector map together with DTED
map. In this chapter, a simulation model is also represented as a layer in OpenMap.
Therefore, you can observe simulation with the map data.
OpenMap package is an open source GIS package written in Java. It includes an API
and is customizable to create GIS based Java applications. Although it offers GIS
functions necessary for developing applications, programmers can add new features
and link other packages. OpenMap is fully open source and ideal for geospatial
analysis.
Simkit package is a Discrete Event Simulation (DES) code library also written
in Java. It is developed by [5]. Although it is a generic DES simulation package, it
performs better in modelling defence systems such as naval operations. This package
is taught at graduate level simulation course in the U.S. Naval Postgraduate School
(NPS). There are notes and examples on the website on how a Simkit model can be
built. Furthermore, Simkit is one of the open source simulation APIs [6] available.
There is no direct link between these two pieces of software. However, as this
tutorial shows, it is possible to link them two and use together. This link is first estab-
lished in a master’s thesis at NPS [13] and showed that they can work well together.
SimKit and a different GIS (GeoKit) is used in another study [18] where military
deployment operations are analysed. Buss and Ahner [3] is one of the applications of
SimKit with GIS capabilities. They built a DES model, using OpenMap and SimKit,
to find optimal allocation of firing and sensors of military deployment. In their study,
they discuss advantages and disadvantages of level of detail in models and conclude
that a low-level approach is suitable for fast and flexible model building.
Distinction of this modelling exercise is that it uses ready-made classes of SimKit
and OpenMap. Therefore, it allows fast and minimum effort modelling. However, the
modeller can still extend the work here, for example by adding rules of interaction
to vessels. This can be achieved by using “Event Graphs”, the founding concept of
SimKit [5]. An Event Graph is the representation of simulation events on a graph
diagram and is ideal for implementing Event Scheduling (ES) algorithm. It has events
as circles to represent nodes and transitions as arrows to represent edges. When an
event occurs in simulation, it triggers other events to occur after a delay in the future.
An EG is drawn for this case study.
7 Maritime Simulation Using Open Source Tools … 185
Since OpenMap and Simkit are written in Java, we will develop our model in Java.
We are going to use Eclipse (http://eclipse.org) compiler environment. Attachment
source files are developed and tested at Eclipse IDE for Java Developers, version
Mars.2.Release (4.5.2).
Fig. 7.2 Event graph of maritime simulation model (the Simple version)
the ship is moving inside the Radar’s range circle, its Exit time can be calculated and
be scheduled as “Exit Range” which also means “Undetection”.
The EG in Fig. 7.2 is conceptual representation of the system we modelled. Its
implementation is done in MaritimeSim and will be explained in following sections.
MaritimeSim includes 5 files which work together (Table 7.1). First two files are text
files to run and to setup the application. Last three files are Java source code files in
MaritimeSim model.
“openmap.properties” file is the input file for OpenMap GIS package. The file starts
with initialization parameters (Code-Box 1). Lines 10 to 12 are indicating center
point of map’s initial position, and its initial scale. Once the application is started,
the user can change these as needed. Line 15 is the projection used on the map. Width
7 Maritime Simulation Using Open Source Tools … 187
and Height of the map window is specified on lines 18 and 19, and the title is set on
line 22.
This file is a long file which include every detail necessary to setup the GIS
application. However for MaritimeSim, very few is required. Lines 640 to 644 (Code-
Box 2), at the end of the file, specifies the class names of the two layers which will
be included in MaritimeSim application. “.classs” property is “MartimeSim.” text
and this shows the Java package name developed for the model. This package will
be explained in Java files section.
188 M.M. Gunal
After indicating the location of class files, you must then tell OpenMap that
you want to show these layers. To do this you need to add “SimulationLayer” and
“SimulationExtra” words in the “openmap.layers” string on Line 220 and 230. These
layers are shown in the same order as they are written here. This is important since the
mouse control is given to the top layer. Note that as class and prettyName properties
are written for SimulationLayer, each of these layers have also property lines in the
input file. A layer may also have extra properties that are entered in the input file.
Simulation Layer has only these default two properties. If you want to parameterize
this layer, then you need to write “getProperties” method in your layer class.
OpenMap is a GIS software and it can only work with the GIS data, such as vector
maps, Digital Terrain Elevation Data (DTED) maps, raster maps. These maps are
actually files on your computer’s file system and it is your task to tell OpenMap where
these files are located. MaritimeSim is set to display vector maps (ShapePolitical
layer) and the data is included with the application. Line 299 indicates that the map
data is under “data/shape/cntry02” folder.
To run the application, rather than running from Eclipse, “MaritimeSim” batch file is
recommended (Code-Box 3). This file includes DOS commands to set up necessary
libraries, such as Java and OpenMap. The user must edit line 10 according to the
location where the application is installed.
When the user interface appears, to start the simulation, you need to open Simu-
lationLayer’s control panel. To do this, click on the left most mini button on lower
right corner of the screen. It will open “Simulation” window with “Run Simulation”
button which will start the simulation.
7 Maritime Simulation Using Open Source Tools … 189
This file creates a GIS layer for OpenMap which communicates with simulation
model. Java imports are required libraries. The other two parts, OpenMap and Simkit,
are the other libraries that this class needs. This layer implements several inter-
faces. For example, SimEventListener is used to implement the “processSimEvent”
method, which will be discussed later.
190 M.M. Gunal
The constructor’s role is to instantiate the simulation model and to display the
radar. The “simModel” variable is the link between the model and the map layer.
The rest of the constructor is the code required for showing Radar’s graphics on map.
In constructor, radarText and radarCircle graphic objects are created on the location
specified in model file.
event is heard all ship’s circles lat-lon locations are updated. Line 75 is the loop to
iterate on Simulation model’s movers dictionary. This dictionary keeps ships’ data
generated (arrived) in the model. The iterator variable nM is a temporary variable.
“shipsCircle” and “shipsText” are also dictionaries as the same size as “movers”
dictionary. On Line 78, the ship’s circle is picked from “shipsCircle” dictionary and
its Lat and Lon is updated from the model’s mover equivalent. The same thing is
done for the text of ships on lines 81 and 82.
“ShipArrival” event’s role is to add circle and text objects to this layer. On Line
86, when ShipArrival event is heard, the ship’s location is got from the model on
line 94. Since the simulation model already generated a mover object, its location is
known in model and the rest is just to create shadow circle and text objects. After
these objects are created, on line 112, they are displayed on map.
“displayObjectsOnMap” method displays all map graphic objects on map by
using OpenMap’s “generate” method. This method visualizes the graphic object on
the current projection of the map.
“projectionChanged” method is overridden for OpenMap’s Layer class. This
method is essentially executed when the map is panned or zoomed. The “paint”
method works with this method. Its role is to render graphic objects.
7 Maritime Simulation Using Open Source Tools … 193
Finally the last part of our simulation layer is the control panel of this layer. There
could be a menu item or a panel for controlling the simulation. “getGUI” method
is written to create a simple user interface and to start the simulation. On line 158,
when this method is called, simModel variable starts to send simulation events to
this layer, or in other words this layer listens to simulation model. The same listener
linkage is done for mover and radar objects in lines between 160 and 167. On line
194 M.M. Gunal
169, the “Run Simulation” button’s action is managed. When this button is pressed,
simulation model’s “startPinging” method is called which activates the thread.
This file is the simulation model class file which runs as a thread. It includes necessary
Java and SimKit classes and extends “SimEntityBase” which is the base class for
any SimKit model. The “Runnable” class is a Java class and its role is to make
this simulation model run as a thread. A Thread is related to the operating system,
Microsoft Windows in our case, to be able to run a programme in parallel to other
programmes. This makes the simulation run parallel to map application and therefore
does not lock the map during simulation run.
7 Maritime Simulation Using Open Source Tools … 195
The constructor takes three arguments (Code-Box 10). “deltaT” is the “inter ping
time” which means simulation time step for screen updates. In every “Ping” event (in
“doPing” method), all simulation object graphics are updated to their current location.
Second argument in the parameter string is “millisPerSimtime” which determines
sleep time of simulation thread. This causes the model to suspend for a small amount
of time and to continue running afterward. The last parameter is a Boolean flag
which sets the animation on or off. On line 47, we set the number of pilots to one
in this simulation model. Lines between 49 to 52, we instantiate a random variable
generator. “RandomVariateFactory” on line 52 is a method in SimKit for creating
generators. We create Exponential distribution generator with an average interarrival
time of 15 min. Lines between 54 and 58 are related to referee mechanism in SimKit.
A SimKit entity communicates with other entities via “Mediators”. A mediator is set
between sensors and movers. By doing so, for example, a mover sends messages to
the referee (ref variable) and this referee broadcasts this message to those who are
concerned.
“routeLatLon” is a floating point variable array and the numbers in it are the coor-
dinates of the Bosporus route. This route is applied to all ships transiting Bosporus.
The for loop in lines 74 to 77 fills the “bosphRoute” array list with these numbers.
There is one radar in the simulation model and it includes a mover object. A sensor
(the radar) must be with a mover object in SimKit and the “dummyRadarMover” in
line 82 takes this role. Since it is stationary, its speed is set to 0. In line 85, we set
this mover to start automatically once the model is reset. Additionally, in line 86, we
register radar to the referee. The same logic is applied to all other movers (ships) in
the loop in line 89.
SimKit events are shown in Code-Box 11. There are as many event handlers
as the events shown in Fig. 7.2 MaritimeSim part. The first one is “Run” event’s
“doRun” method. For each event in an event graph, a “do[Event Name]” method
must be written in SimKit. “doRun”s function is to start the simulation thread by
calling “startPinging” method. This is explained in Code-Box 12. Second event is
196 M.M. Gunal
the “Ping” event and its handler is “doPing”. Inside this method, if the animation is
on, or the isPinging method returns true, a “waitDelay(“Ping”, deltaT)” command
in line 118 is executed. “waitDelay” command is a SimKit command to schedule
a new event in event list in simulation. This is the implementation of self loop in
Fig. 7.2 “Ping” event. Line 118 causes new ping events to be scheduled every deltaT
time unit and when this method is executed, it also causes simulation to sleep for
“deltaT * millisPerSimtime” real time units, in line 120. Screen updating occurs in
Simulation Layer class, since the graphic objects are belonging to that class.
“doShipArrival” is the longest event handler. The parameter ID value is the ship
ID and it is passed between Ship Arrival event to keep track of the ID number of the
last ship arrived. Next ship’s arrival is scheduled in line 162 and its parameter, for the
next arriving ship, is incremented by one. If the current ship’s ID is 1, the next ship’s
ID will be 2 and its arrival will occur after amount of time the “arrivalTimeGenerator”
generates in line 162. “doShipArrival” starts with generating a latitude value between
40.8754 and 40.9452, lines 128 and 129. Likewise, a random uniform value is gen-
erated for a longitude value. These are the left-right, and upper-lower boundaries of
Yenikapi anchoring region. By doing this, we create a random arrival location (line
135). When the ship starts to move from this initial location, it will follow Bosporus
route, and will proceed until the final location. Line 142 creates a final location in
the middle of the Black Sea. After preparing for the new mover, it is created in line
146 by adding to “movers” dictionary. Movers dictionary’s key is a string containing
ship’s name, and its value is a “UniformLinearMover”. This is a SimKit class and
a basic implementation of movement. A mover starts from an initial location, and
has a speed. However its movement is managed by a “Mover Manager”. For each
mover, there must be a mover manager. Mover manager is responsible for move-
ment discipline, such as patrolling, random walk, following a path. All movers in
this simulation model follows the Bosporus route. Since the bospRoute is a dynamic
198 M.M. Gunal
array, it adds up all arriving ship’s final destinations. Therefore (in line 158) the final
destination is removed every time it is added to the route. Line 160 is the queue
implementation. A ship’s ID is added to a queue so that the ship in turn will be
picked from that queue. As explained, line 162 is for scheduling next ship’s arrival.
The condition in line 164 is for the start of ship’s movement. A ship can only start
its transit if there is a pilot available and there is a ship waiting in queue. Once this
condition is satisfied, we schedule in line 165 a “ShipTransit” event straight away,
for the ship we have just pushed to queue. Also, start of transit means that a pilot is
engaged with this ship’s transit so that we decrement the number of available pilots
by one, in line 166.
This file is an extra file to display some objects on map. It is separated from Simulation
Layer to differentiate indirect needs in simulation, such as drawing a border for
anchoring area, and outputs of simulation. It is a layer just like Simulation Layer,
and its visibility can be set on or off.
The constructor of this layer includes a polyline graphic object. This is used to
mark Yenikapi anchoring area. The “paint” method renders this area and makes some
simulation outputs displayed on the upper left corner of the map. These are simulation
time, number of ships arrived, and number of detections made by the radar.
202 M.M. Gunal
The extended version of the model is used for experimental analysis. Although a
range of factors and levels are available to be included in the analysis, the experiments
comprise two factors; full-time equivalent number of pilots, and arrival volumes, and
five levels in each factor. The first factor is one of the capacity constraints regarding
waiting times. This factor is a manageable factor since the transit management can
hire more pilots to ease the waiting times of ships in Bosporus. Figure 7.3 shows
the waiting times of ships for five levels of number of pilots. In this figure, waiting
times are shown as the averages and confidence intervals at 95% level (bars) for 10
simulation replications. Since the variation is not high, 10 replications are enough
for obtaining meaningful results. Inter arrival times on both directions are assumed
to be 25 min on average.
7 Maritime Simulation Using Open Source Tools … 203
300
200
150
100
50
0
8 9 10 11 12
Number of Pilots
Fig. 7.3 Waiting times of ships by number of pilots
Ships heading to North, from Marmara to Black Sea, have higher waiting times.
This is due to the strong currents on this direction and longer transit times. In the
model, transit times, or the service times in queuing terms, are different in North and
South directions to reflect the effect of water current. As expected, when the number
of servers increase waiting times decrease, and vice versa. However, the exponential
shape suggests that we will need more pilots to diminish the waiting time.
The second factor, mean interarrival times of ships, is included to explore potential
effects of the Istanbul Channel. Opening a man-made channel on the far west of
Bosporus is an idea developed in the last decade and aims at easing the ship traffic
load on Bosporus. Historic values show that on both directions inter arrival time is
25 min on average. This value is increased by 10 min-steps and its effects on waiting
times are shown in Fig. 7.4. Note that by increasing this value, we are decreasing
300
Waiting Time (Minutes)
toSouth
250
200
150
100
50
0
25 35 45 55 65
Mean of Inter Arrival Time
Fig. 7.4 Waiting times of ships by mean of inter arrival times
204 M.M. Gunal
expected number of ships generated. The Istanbul Channel project is not definite yet,
and its effect on inter arrival times are not known yet, but it is certain that ships’
waiting times are likely to decrease in Bosporus, as the graph suggests. We assumed
that there are 10 pilots working for both directions.
These two sets of experiments show the use of extended model. To do the exper-
iments, new variables are added in the code to collect necessary statistics such as
waiting times. On a ship arrival, we record the arrival time and on the exit, we find the
difference and record this value. Changing number of pilots and inter arrival times
are easy to do in the code.
The extended version is an amplification of the simple model. For example, ship
arrival, start transit, end transit events in Fig. 7.2 are doubled in the extended version,
since two-way traffic is simulated. For the ship arrival, “ShipArrivalNorthBound”
and “ShipArrivalSouthBound” events generate new arrivals on appropriate locations
and times. Likewise, “StartTransitNorthBound”, “StartTransitSouthBound”, “End-
TransitNorthBound”, and “EndTransitSouthBound” events are added in the code.
The modeller must add necessary start and end events for any other type of move-
ments. With regards to radar events, there is no implementation in the “Simulation-
Model.java” file since the events are generated automatically by the Simkit’s Sensor
and Mover objects.
MaritimeSim model is an example of developing a simulation model by program-
ming. Note that there are several software available on the market, Commercials
Off the Shelf (COTS), which have user interfaces and ready-made objects for fast
model building. Using an API, such as SimKit and OpenMap, require programming
expertise however give full flexibility to a modeller. Using a COTS or API to sim-
ulate something is a difficult decision. If the problem on hand include very special
requirements, such as handling GIS and multi interacting entity types, COTS simu-
lation software may not suffice. Varol and Gunal [16] is an example of such case in
which the problem required handling GIS and interacting five entity (agent) types.
MartimeSim model has similar requirements and therefore model building is done
by programming.
7.5 Conclusion
transit the strait North bound (the basic version), and North and South bounds (the
extended version) on a predefined route. At the end of the route, there is a radar
which detects the passing ships in the basic version. The model animates ships on
map and the number of arriving and transited ships are counted and displayed. A
conceptual model of this system is created using Event Graph paradigm. EG is an
ideal representation for DES.
In most of the simulation studies published in the academic literature, simulation
models are not openly revealed. This chapter particularly contributes to this end,
since every detail is explained and full source code is given. By doing so, we expect
emergence of new studies which use simulation method explained here, to create
value in maritime industry.
References
1. Almaz, A.O., Or, I., Ozbas, B.: Investigation of transit maritime traffic in the strait of Istanbul
through simulation modeling and scenario analysis. Int. J. Simul. Syst. Sci. Technol. (7) No. 7
(2006)
2. Basar, E.: Investigation into marine traffic and a risky area in the Turkish straits system:
canakkale strait. Transport 25(1), 5–10 (2010)
3. Buss, A.H., Ahner, D.K.: Dynamic allocation of fires and sensors (Dafs): a low-resolution
simulation for rapid modeling. In: Perrone, L.F., Wieland, F.P., Liu, J., Lawson, B.G., Nicol,
D.M., Fujimoto, R.M. (eds.) Proceedings of the 2006 Winter Simulation Conference (2006)
4. Buss, A.H., Sanchez, P.: Simple movement and detection in discrete event simulation. In:
Kuhl, M.E., Steiger, N.M., Armstrong, F.B., Joines, J.A. (eds.) Proceedings of the 2005 Winter
Simulation Conference, pp. 992–1000 (2005)
5. Buss, A.H.: Basic Event Graph Modeling. Technical Notes, Simulation News Europe, 1–6
April 2001
6. Dagkakis, G., Heavey, C.: A review of open source discrete event simulation software for
operations research. J. Simul. Adv. Online Publ. 19 June 2015. doi:10.1057/jos.2015.9
7. Emniyeti, K., Mudurlugu, G.: Vessel Traffic and Pilotage Services. www.kiyiemniyeti.gov.tr/
default.aspx?pid=23 (2016). Accessed June 2016
8. Geijerstam, K.A.F., Scensson, H.: Ship Collision Risk-An identification and evaluation of
important factors in collisions with offshore installations. Departmen of Fire and Safety Engi-
neering and Systems Safety. Lund University, Sweden. Report 5275 (2008). ISSN: 1402-3504
9. Hasegawa, K., Yamazaki, M.: Qualitative and quantitative analysis of congested marine traffic
environment—an application using marine traffic simulation system. Int. J. Mar. Navig. Saf.
Sea Trans. 7(2) (2013)
10. Huang, S.Y., Hsu, W.J., Fang, H., Song, T.: MTSS—a maritime traffic simulation system and
scenario studies for a major hub port. ACM Trans. Model. Comput. Simul. (TOMACS) 27(1),
Article No. 3 (2016)
11. Ince, A.N., Topuz, E.: Modelling and simulation for safe and efficient navigation in narrow
waterways. J. Navig. 57(1), 53–71 (2004)
12. Kose, E., Basar, E., Demirci, E., Guneroglu, A., Erkebay, S.: Simulation of marine traffic in
Istanbul Straits. Simul. Model. Pract. Theory 11(2003), 597–608 (2003)
13. Mack, P.: THORN: a study in designing a usable interface for a geo-referenced discrete event
simulation. MSc Thesis, Naval Postgraduate School, USA (2000)
14. Mavrakis, D., Kontinakis, N.: A queueing model of maritime traffic in Bosporus Straits. Simul.
Model. Pract. Theory 16(2008), 315–328 (2008)
206 M.M. Gunal
15. Ucan, E., Nas, S.: Analysing Istanbul strait maritime pilot capacity by simulation technique. J.
Navig. 69(4), 815–827 (2016)
16. Varol, A.E., Gunal, M.M.: Simulating prevention operations at sea against maritime piracy. J.
Oper. Res. Soc. 66(12), 2037–2049 (2015)
17. Xiaobo, Q., Meng, Q.: Development and applications of a simulation model for vessels in the
Singapore Straits. Expert Syst. Appl. Int. J. 39(9), 8430–8438 (2012)
18. Yildirim, U.Z., Tansel, B.C., Sabuncuoglu, I.: A multi-modal discrete-event simulation model
for military deployment. Simul. Model. Pract. Theory, 17(4), 597–611 (2009). doi:10.1016/j.
simpat.2008.09.016, ISSN: 1569-190X
19. Yip, T.L.: A marine traffic flow model. Int. J. Mar. Navig. Saf. Sea Trans. 7(1) (2013)