561
both registered by Marine Traffic on the 12
th
of
September2018.
Figure5.HoryzontIItrackregisteredbyMarineTrafficon
the12thofSeptember2018.
3 SHIPʹSTRAJECTORYPLANNING
ALGORITHMS
Navigational data registered on board a ship were
usedtoverifytheperformanceonfourdifferentshipʹs
trajectory planning algorithms: the Ant Colony
Optimization algorithm (ACO), the Trajectory Base
Algorithm (TBA), the Visibility Graph‐search
Algorithm(VGA)anttheDiscreteArtificialPotential
Field algorithm
(DAPF). These algorithm represent
both stochastic and deterministic optimization
methods.Belowashortdescriptionofthealgorithms
ispresented.
3.1 TheAntColonyOptimizationalgorithm(ACO)
This algorithm belongs to the heuristic methods, to
the subgroup called the Swarm Intelligence (SI)
methods.TheSImethodsareapproachesinspiredby
the
collectivebehaviourofcoloniesofinsectsorother
animalcommunities.TheSIalgorithmutilizefeatures
ofinsectcoloniessuchasself‐organization,flexibility
and robustness. The operation principle of ACO is
inspired by the ant colony foraging behaviour.
Foraging ants deposit a chemical substance on the
ground,calledapheromone.Other
antscansmellthis
substance and they choose a path, where the
pheromone concentration is higher. By using this
trail‐lyingandtrail‐followingbehaviour,antsareable
tofindtheshortestpathbetweenthefoodsourceand
theirnest.Thisbeha viourisappliedto artificialants
used in the
ACO algorithm to solve different
optimizationproblems.
In the ACO algorithm for shipʹs safe trajectory
planningartificialantsmoveonthegraphcomposed
ofadmissibleownshippositionsinordertofindthe
shortest trajectory between the current own ship
position and the defined final waypoint. After data
initialization, which
includes the definition of
parameterssuchasalphaandbetacoefficients,initial
pheromone trail amount at each of the possible
waypoints, pheromone evaporation coefficient,
number of ants, maximum number of steps to be
made byan ant andnumber of iterations, every ant
constructsitspathfromthecurrentOS
positiontothe
final waypoint using the action choice rule given as
Equation 1, where
j
wp
t
is the pheromone trail
amount deposited on the neighbouring vertex,
ij
wp
istheheuristicinformationcalledvisibility,whichis
expressed as an inverse of the distance between the
currentvertex(i)andtheneighbouringvertex(j).
jij
ij
lil
ant
i
wp wp
ant
wp
wp wp
lwp
tt
Pt
tt
(1)
After that the pheromone trail update is applied,
composedofpheromoneevaporationandpheromone
depositaccordingtoEquation2.Afterachievementof
themaximumnumberof iterationsorthemaximum
runtime,theshortesttrajectoryisreturnedasafinal
solution.
1
11
jjj
m
ant
wp wp wp
ant
ttt
(2)
3.2 TheTrajectoryBaseAlgorithm(TBA)
Thisalgorithmbelongs tothedeterministicgroupof
methods. In this method a database storing
trajectories, constituting candidate solutions is
searched through in order to find the shortest
trajectorysolvingaconsiderednavigationalsituation.
Trajectories in the database are stored according to
increasing
valueof their fitnessfunction Equation3,
definedasthelengthofatrajectory.
1
22
11
1
min
M
ii i i
i
Ixxyy
(3)
COLREGscomplianceofthesolution,similarlyas
in ACO approach, of the solution is assured by a
proper shape and size of the target ship domain.
Trajectories are evaluated in the same order as they
aresortedinthedatabase,thereforewhenatrajectory
not exceeding the constraints is
found, the selection
process in stopped, and found trajectory constitutes
the shortest trajectory solving the considered
situation.
3.3 TheVisibilityGraph ‐searchAlgorithm(VGA)
Thisalgorithmbelongstothegraphtheorymethods.
thenavigationalenvironmentisrepresentedwiththe
use of a visibility graph composed of vertices
includingthestartand
finalownshipwaypointsand
the vertices belonging to the areas of obstacles and
edges connecting these vertices, for which the
connection does not intersect the areas occupied by
obstacles.
The visibility graph‐search algorithm used for
findingtheshortestcollision‐freeownshiptrajectory
applies a version of A*
algorithm. Applied fitness
function (Equation 4) is composed of two
components:thefirstoneg(v), definedasthe length