
must have coarser cells than if NAMOA*-TD were
used alone, allowing more time for the rest of the al-
gorithm. This results in even less precise paths than
before, but this is not an issue since they are meant to
be refined immediately afterward.
For the selection of the k paths from the Pareto
front, we rely on the cost vectors and ensure that their
values are as evenly distributed as possible.
Regarding the search for Pareto-optimal paths dur-
ing an iteration of WRM, we will test two algorithms:
• NAMOA*-TD for completeness (at the cost of ex-
ecution time)
• Scalar Dijkstra, with a cost equal to a scalariza-
tion of the different costs, for speed (at the cost of
completeness).
WRM is designed to progressively narrow the area
where the vertices of the next graph may appear, fo-
cusing on the current path. However, in cases where
the current path on the new graph is not better than
the previous one, we allow ourselves to temporarily
expand this area to increase the chances of finding a
better path in the next iteration.
4 EXPERIMENTS
The current and weather data are derived from GRIB
files corresponding to real-world data. The algorithms
were tested over a 10-day weather period, with sev-
eral different routes starting at various times. We used
a 64-bit machine clocked at 2.1 GHz with 192 GB of
RAM for the experiments. So far, we have only con-
sidered two criteria: time and fuel consumption. The
fuel consumption model was provided by a shipping
company and is merely an approximation for a sin-
gle type of its vessels. All tests were conducted us-
ing the same random seed to ensure the reproducibil-
ity of results and provide a fair comparison between
different algorithm configurations. Distances are mea-
sured in degrees, and we assume that the distance of
one degree in meters is constant (ignoring the vari-
ation due to latitude). To determine the search area
around a route using WRM, we set an initial distance
d around the initial route, then multiply this distance
by 0.75 when the solution is improved and by 1.25
when there is no improvement. We limit the process
to 10 iterations. The test results presented here con-
cern a route from Boston to Lisbon on a specific date.
The other results we obtained for different dates and
between different ports do not show qualitative differ-
ences. Figure 7 shows the result of the first part of the
algorithm, which consists of running NAMOA*-TD
on a rectangular grid.
For the second part, WRM once again uses
NAMOA*-TD. Initially, we used a scalar Dijkstra,
which was very fast but did not significantly improve
the results.
The following figures 8, 9, and 10 show the results
of applying WRM with different initial values of d.
In the various tests, we observed that the solu-
tions tend to converge toward local minima that differ
from those found by NAMOA* during the first phase.
Moreover, the more space we allow for divergence
around a solution, the higher the final quality of the
solutions.
We then wanted to verify whether the initial solu-
tion quality is less important than its diversity. To do
this, in the second phase of the algorithm, we replaced
NAMOA*-TD with a scalar Dijkstra.
The results obtained are similar in quality but
much faster.
First phase NAMOA* Scalarization
(12 paths) (2 paths)
Time (s) 1610.12 7.743
Second phase NAMOA* Dijkstra Dijkstra
D = 0.5 493.284 17.892 7.112
D = 1.0 1169.74 34.475 8.647
D = 5.0 > 20 min. 565.256 127.749
5 SPEED VARIATION
So far, the approaches we have described assume
constant-speed routes. Allowing speed variation dur-
ing the journey has advantages in terms of optimizing
criteria but presents significant drawbacks in terms of
computation time.
Allowing speed changes at each vertex of the
graph multiplies the number of choices and exponen-
tially increases computation time. However, adjusting
speed during the journey can, for example, allow a
ship to avoid certain geographic areas when weather
conditions are poor. One might plan to slow down to
pass after a storm, then speed up later to make up
for lost time. Conversely, one could speed up to pass
ahead of a storm and then slow down later to conserve
fuel for the remainder of the trip.
5.1 A Naive First Approach
We initially experimented with a naive approach that
extended our previous algorithm by allowing multi-
ple speed choices at each vertex in the graph. As ex-
pected, the computation times became too long: the
few tests conducted with five speed options resulted
in computation times of up to 1 hour and 30 min-
A Ship Routing Algorithm Generating Precise and Diverse Paths
83