1. Introduction
With improvements in ship intelligence, big data technology, and navigation-related sensors, Maritime Autonomous Surface Ships (MASS) have attracted significant attention. At the same time, safety and energy-saving issues related to maritime navigation have gradually become the focus of attention in this new low-carbon era. In 2018, the International Maritime Organization adopted the
IMOInitial Strategy for Greenhouse Gas Emission Reduction from Ships, sending a strong signal to the international community that the shipping industry is changing to a low-carbon industry [
1]. Reducing fuel consumption through proper route planning is an important means to respond to the requirement for a low-carbon strategy. However, due to the length of ships’ transoceanic voyages, which can range from two weeks to more than a month, weather and sea state forecasts cannot be accurately made, and the accuracy of these forecasts decreases as the time increases. Therefore, it is required that the ship route optimization should fully consider the dynamically meteorological marine environment, and the route needs to be re-evaluated and updated when forecast data are updated [
2].
Weather routing can be defined as finding an optimum route in consideration of the ETA, sailing waypoints, sailing speed, and fuel consumption based on the weather forecast data and ship performance [
3]. According to this definition, some researchers mainly extract and analyze sailing records to find the association of vessels to routes [
4] or summarize a data-driven optimal route in a specific navigation region [
5]. Others focus on solving a path-finding problem at the operation level. The main goal of this operational problem is to plan a navigation route from one port to another based on a predefined purpose [
6], in which conditions (weather, waves, and other environment variables) are along the route.
Since the ship’s navigational task often has complex influences, planning a ship route is often regarded as a pathfinding problem, which assumes that the ship’s speed or main engine power is maintained at a fixed value and only the ship’s geographical path is considered as a variable. In this way, route optimization has been researched based on various methods or algorithms, such as the modified isochrones method [
7], dynamic programming [
8,
9,
10], Dijkstra’s algorithm [
11], and the A* algorithm [
12], and some evolutionary algorithms such as the genetic algorithm [
13,
14] and the swarm algorithm [
15] have also been used. However, for ocean-going ships, the meteorological and marine environment changes rapidly, and it is not easy to maintain a stable and uniform speed for a long time on the route. The above research ignores many constraints of the meteorological environment and the ship itself. Thus, it is difficult to ensure the result is the globally optimal solution [
2].
In order to solve such problems, some 3D algorithms have been developed, in which the time variable is considered as the third dimension. Taking minimal fuel consumption as the goal, some scholars have used genetic algorithms to optimize meteorological routes under the premise of ensuring the ships’ safety in adverse sea conditions [
16,
17,
18]. Evolutionary algorithms, such as genetic algorithms, have the potential to balance local searches and global searches. However, when the ocean voyage is so long that it has many feasible routes, the limited search capability in the optimization process may fail to obtain the optimal global solution. Another research interest is to add a time variable to an existing two-dimensional route searching deterministic algorithm so that it becomes a three-dimensional path searching deterministic algorithm, such as the modified three-dimensional isochrones method with weighting factors [
19] and three-dimensional dynamic programming algorithms that include meteorological factors [
20,
21,
22,
23,
24]. These algorithms mainly use the idea of staged optimization in dynamic programming. In each stage of the optimization process, only a few nodes with the best results can enter the next stage, while the other sub-path nodes are eliminated to reduce the computational effort [
6]. Meanwhile, in each stage of the recursion process, the discarded nodes may be associated with the optimal global solution with deterministic constraints. In contrast, the A* algorithm has the advantage of retaining all nodes in each recursion and finding the optimal nodes in stages; thus, it increases the possibility of finding the optimal global solution. However, it also results in an exponential increase in the number of search nodes with each stage of the recursion process, which makes it difficult to add a time-like dimension to the route optimization problem.
With the continuous development of artificial intelligence technology, its use to achieve ship weather route optimization has become a new research interest. The idea is to generate recommended routes after summarizing and analyzing a large amount of ship navigation data. Some scholars process AIS data to recognize key turning regions and connect these turning regions via cluster similarity measuring to generate reasonable routes for different types of ships [
25,
26]. Others try to use artificial neural networks and machine learning algorithms to predict the fuel consumption of a ship under different sailing conditions to achieve the goal of determining the expected duration or saving energy [
27]. For example, artificial neural networks have been used to optimize a ship’s speed based on large amounts of ship operation data to reduce fuel consumption [
28,
29]. Three different statistical models have been used to forecast and optimize the speed of container ship routes with the goal of improving navigational safety and determining expected duration by integrating meteorological information such as wave height, wave period, wind speed, and other information [
30]. From the above research, it can be shown that different weather route optimization methods often require different applicable conditions and generally need to assume some ideal conditions, such as a more stable ship navigation state, fewer optimization nodes or dimensions, etc.
For a voyage’s safety and economy, ship course and speed are the two key variables in saving energy and controlling arrival time. In an actual navigation situation, distinct course and speed choices may cause a vessel to encounter radically different sea states, so a ship’s course and speed should be planned according to the dynamic sea environment, and most commercial software do so, such as the Bon voyage system, Seaware enroute, SPOS, and so on [
31]. Normally, some environmental factors, like the resistance of calm water [
32], waves [
33], and winds [
34], can significantly affect a ship’s speed. Calculating the values of ship dynamics is extremely complex because of the consideration of hull shape, seakeeping characteristics of the ship, the sea spectrum, and other parameters. Thus, it is too laborious and time-consuming for ship weather routing. In addition, under severe sea conditions, fuel consumption can be reduced exponentially by properly reducing a ship’s speed, thus the ship can adjust its speeds in different sea states to reduce its fuel consumption [
27].
Therefore, this paper proposes a ship route planning method under a sailing time constraint, which introduces speed as a variable in the ship route optimization process to realize the co-optimization of ship course and speed. In the next section, a three-dimensional sea environment model is constructed, which can load weather data in real time to inform the route optimization process.
Section 3 builds an ANN-based model that relates ship parameters to fuel consumption rate and RPM for use in the optimization process.
Section 4 introduces a speed variable to the route optimization process to jointly optimize ship course and speed, to design the voyage route, and to plan for deceleration or acceleration to effectively reduce fuel consumption. As a result of adding a variable, it can be understood from the above description of the 3D deterministic algorithms that the number of sub-paths increases exponentially as the algorithm iterates [
35,
36]. For ship route planning oriented towards transoceanic voyages, this will increase the searching time significantly. Thus, to compute a navigation strategy under the sailing time constraint in an acceptable computational time,
Section 5 proposes a customized A* algorithm, which uses ETA to constrain the search space and a suitable heuristic function to guide the direction of the search. Two simulations are performed in
Section 6 to test and highlight the main features of the method, followed by conclusions in
Section 7.
4. Co-Optimization of Ship Course and Speed
The route between the starting node and end node consists of several rhumb lines, and each rhumb line connects two adjacent nodes, as shown in
Figure 6. Each node includes three variables: position, time, and speed. Then, a sequence of
n nodes can represent the whole voyage, including the speed along each leg.
The course is represented by the orientation of the rhumb line connecting two adjacent nodes; by adjusting the position of the nodes, the course is changed. The time when the ship arrives at the next node is determined by the course and speed, and the meteorological and sea conditions that the ship encounters vary as time goes by. So, the route and its speed are the keys to ship route decision, and by adjusting the position of nodes and the speed between them, the whole route can be optimized.
Figure 7 shows the process of route generation. The centers of grids marked with 83, 67, 45 indicate nodes where the ship is located; the surrounding arrows refer to alternative courses from one node to the next; and
,
,
are the times when the ship reaches these nodes in sequence. When the ship chooses different courses and sails with different speeds, the nodes and their arrival times are different too, so the ship will encounter different wind and wave states, and the sailing time and fuel consumption may differ accordingly. The wind and wave state the ship encounters can be obtained using the 3D sea environment model in
Section 2.1, while the fuel consumption can be calculated using the predictive model in
Section 3.
Thus, node selection and speed configuration are the two key methods in ship voyage optimization, and optimizing ship course as well as speed is an efficient way to plan a voyage, so a method for the co-optimization of a ship’s course and speed is proposed in this work.
4.1. Speed Configuration
Usually, the speed during the voyage will be maintained in a range according to the ship’s performance. To ensure safety and economic efficiency, the ship will sail at a suitable speed in a certain sea area, and the set of permissible speeds is presented as follows:
Here, v is a row matrix vector including n permissible speeds, its interval is , is the minimum value in v, and is the maximum value in v.
Accordingly, since there are multiple permissible speeds in each node, a leg from one node to an adjacent node is expanded from 1 to
n. Alternatively, one node
i is extended to
n “ext-nodes”
, described as follows:
Here, means the ship sails from node i to the next adjacent node with fixed speed , and P contains all navigation states at node i. In addition, one sailing node is expanded into a row matrix. Thus, this method can be used to achieve parallel computation and speed up the algorithm operation.
Therefore, a speed configuration can be a part of an optimized route, as shown in
Figure 8. The expression form of the optimized route from the starting node
S to the end node
T evolves from the original
to
. That is, the ship sails from the origin node
S to node
A at 13 kt, from node
A to node
B at 12 kt, and continues sailing until from node
E to the end node
T at 15 kt. With this method, the optimized route not only contains the optimized route (
Figure 9) but also includes the optimal speed in each segment (
Figure 10) to realize the synergistic optimization of the ship’s course and speed.
5. Weather Route Optimization for Ships with Sailing Time Constraints
5.1. A* Algorithm
The A* algorithm is based on Dijkstra’s algorithm, with an added heuristic function for predicting the future cost of movement to influence the search direction and narrow the search space, so that it can find the shortest path in a certain sense in a short time.
The main process of the A* algorithm is to build an “
” node set to store nodes to be checked and a “
” node set to store checked nodes, and iterate continuously to select the node with the lowest movement cost to obtain the shortest path. The basic form of the function to evaluate the movement cost is shown in the following formula:
Here, i is the current node. F is the estimated total movement cost from the starting node to the end node. G is the minimum movement cost recorded from the starting node to the current node, and the heuristic function H is the estimated movement cost from the current node to the end node.
The A* algorithm calculates and iterates the node selection according to this evaluation function. Its basic process is as follows: the total movement cost of surrounding nodes is calculated from the starting node. The node with the minimum movement cost is selected in each iteration until the end node is found. The process is shown in
Figure 11.
The A* algorithm has characteristics of fast calculation speed to an optimal solution, but there are several problems that need to be solved for route optimization tasks, as follows:
The two-dimensional A* algorithm takes distance as the evaluation criterion. At the same time, ship fuel consumption and navigation time are the main factors to evaluate the navigation cost of a route, and taking distance as the evaluation criterion cannot accurately quantify the navigation cost.
The two-dimensional A* algorithm does not consider speed. In contrast, the ship does not sail at a fixed speed over the whole voyage; dynamically adjusting speed according to the sea state is desirable.
The two-dimensional A* algorithm does not consider dynamic unnavigable areas with heavy winds and waves, which will affect the safety and efficiency of the voyage.
Thus, the A* algorithm needs to be modified to meet the actual needs of ship navigation.
5.2. Evaluation Functions Concerning Time and Fuel Consumption
The Estimated Time of Arrival (ETA) is the time when a ship or vessel is expected to arrive at a specific destination. An accurate ETA can make entire supply chains more efficient and reliable, and it also helps to determine the expected duration of a vessel’s route.
Generally, as the two most important factors in evaluating a route, voyage time and fuel consumption need to be fully considered in the evaluation function. In fact, the voyage schedule is the crucial constraint for merchant vessels, and in the scope of reducing gas emissions, the effect of an increased sailing speed could be enhanced by the waiting time for a free berth, therefore accounting for even more emissions. The ship must arrive at the specific destination at a time close to the ETA, and thus the expected duration is taken as a constraint in the route design process, and minimum fuel consumption is the optimization objective.
In order to meet the above description, two evaluation functions for sailing time and fuel consumption are proposed:
Here,
and
are the actual time and fuel consumption of the route from the starting node to the current ext-node
, described as follows:
Let
and
describe two adjacent ext-nodes and
be the previous node; then,
is the distance between
and
, and
refers to the sailing time from
to
at the speed
.
refers to the fuel consumption rate when the ship sails from
to
. The value of
can be calculated using the fuel consumption rate model in
Section 4.1.
In addition, it is well-known that since the heuristic function
H affects the search efficiency of the A* algorithm, a suitable
H function can guarantee a faster search speed and the quality of the route [
45]. To ensure the solution quality with a short running time, heuristic functions with suitable search efficiency, named
and
, are proposed as follows:
where
is the distance from node
i to the end node;
is the estimated time when the ship reaches the end node from the current ext-node
at the speed
;
is the estimated fuel consumption from the current ext-node
to the end node at speed
;
is the economic speed of the ship, usually artificially set; and
is a function of the fuel consumption rate and speed.
The relationship of fuel consumption rate with speed is generally a cubic relationship, as shown in the Formula (
28):
where
a,
b,
c, and
d are fitting coefficients that vary with the ship’s characteristics.
5.3. Customized A* Algorithm with Time Constraint
After reconstructing the evaluation function, the process of the A* algorithm is also customized accordingly. The process is as follows, which is shown in
Figure 12:
Initialize (the set of ext-nodes to be checked) and (the set of ext-nodes checked).
All ext-nodes belonging to the start node S are added to the , and their and are set to 0, while the and are calculated and recorded.
If it is judged that the is not empty, the operation goes to Step 4; otherwise, there is no solution to this problem, which means no available path exists between S and T, and the procedure is terminated.
The total navigation time of each ext-node in the is calculated. If the total navigation time of one ext-node is greater than the pre-set ETA, the node is retained in the but will not be executed in the rest of this step. Then, the ext-node with the minimum fuel consumption of the whole voyage is found in these nodes which meet the time limit. And the ext-node will be removed from the and added into the , setting the SOG record to .
Traverse all the adjacent nodes of the navigation node i. There are two situations for the ext-nodes of these adjacent nodes:
If there is no ext-node of the adjacent node j in and , all ext-nodes of node j are added to , the G and H value of these ext-nodes are calculated and recorded, and the parent node of these ext-nodes is set as node .
If there is an ext-node of the adjacent node j in the , and the and values of calculated in this step are both smaller than those stored in the , the G and H values of in the will be updated correspondingly in this step. Also, the ext-node ’s parent node is set as node . Conversely, all information of the ext-node stored in will remain unchanged.
Check whether there is any ext-node in
that is subordinate to the end node
T. If not, repeat Step 3; if it already exists, a path composed of ext-nodes is found by querying the parent node of the current ext-node step by step until the starting node. The sailing route and speed configuration are obtained after mapping like in
Section 4.1.
The weather forecast data and navigation data at each ext-node on the route are extracted based on the waypoint sequence and speed configuration. Then, the RPM prediction model is called, and the above data are modified as the input of the prediction model to calculate the recommended RPM of each ext-node on the route. Then, the RPM recommendation scheme is output for the whole voyage.
5.4. Overall Optimization Flow
The weather route optimization method proposed in this paper consists of four parts: ship historical data processing, the ship parameter prediction model, ship navigation data processing, and ship route optimization. Briefly, the work flow is as follows, which is shown in the
Figure 13:
The historical data processing part uses historical ship voyage records and corresponding meteorological historical data, etc. These data are standardized by pre-processing data methods, and the pre-processed data are used as input for the ship parameter prediction models.
The ship parameter prediction model part is used to build two artificial neural network models with the same frame. The input contains eight variables: SOG, fore draft, aft draft, course, wind speed, wind direction, wave height, and wave direction; the output is fuel consumption rate or RPM. The trained models are used for calculating fuel consumption rate and RPM in the voyage afterward.
The ship navigation data processing part obtains and divides the ship’s characteristics and the weather forecast data into eight input variables which meet the requirements of the ship parameter prediction model and are used in the route planning process afterward.
The ship route optimization part is based on the customized A* algorithm, using the ship fuel consumption rate prediction model and the current sailing data to calculate the fuel consumption for all nodes to be checked in order to find the node with the minimum fuel consumption that satisfies the ETA constraint and thus obtain the optimal ship route. Finally, the RPM recommendation scheme for the whole range is obtained based on the sailing data and the generated route.
Notably, the ship route can be frequently updated during the voyage. The frequency of calculation during the sailing voyage would depend on the fleet’s will and the updating frequency of the forecast weather data. If the voyage is too long to acquire the forecast data at the later part of the voyage, this method would find the optimum route based on the current weather information. In addition, the updated route may have great difference with the prior one. But both routes are planned based on the assurance of sailing safety and economy, which can be identified as the optimal sailing strategy at their respective states.
7. Conclusions
As the main influencing factor of navigation efficiency in the process of ship route optimization, speed control gives ample space for optimization and should be fully considered in ship route design. Based on this, this paper proposes a ship route planning method under a sailing time constraint that designs the ship course and speed simultaneously to realize an optimal navigation strategy, including route and speed configurations for the whole voyage. This navigation strategy can ensure that a ship arrives at its destination close to its ETA. Such an optimized navigation program can not only avoid the navigational risks brought by a heavy sea state but can also generate an optimal route with minimized fuel consumption while arriving at the required ETA.
In this paper, a rasterized dynamic sea area model was constructed by processing meteorological information, and speed configuration was added to the route optimization; then, single nodes were extended to collections of “ext-nodes” for optimization. Based on the actual voyages’ records, an artificial network model was modeled to predict the fuel consumption rate and RPM to assist the route optimization. Then, the evaluation function and operation process of an A* algorithm were designed to achieve the simultaneous optimization of vessel course and speed based on the premise of arriving at ETA. The results of two optimization simulations of the winter route in the North Pacific Ocean showed that the algorithm proposed in this paper could not only guarantee navigational safety but could also reduce fuel consumption by 130.93 tons or about 7.25% compared with the historical route. Therefore, the methods in this paper can help ships reduce their fuel consumption while avoiding windy and stormy areas and still arrive at their ETA, which has particular practical significance in accomplishing complex transoceanic tasks.
In the future, we will consider more specific complexities of the sailing environment (such as currents, ice-covered waters, etc.) by obtaining and analyzing data from more voyages or different types of ships. In addition, while an ANN with a single hidden layer has great performance, there is space to optimize the prediction of the fuel consumption rate, which can be further investigated. We have up to now only used the three-dimensional A* algorithm to plan a low-fuel-consumption route under a time constraint, while the needs of ship navigation may be very diverse, and future attempts will be made to use such three-dimensional algorithms to solve multi-objective ship navigation tasks and further improve the computational speed.