# Theory and Application of Vessel Speed Dynamic Control considering Safety and Environmental Factors

Authors: Tianrui Zhou; Qinyou Hu; Zhihui Hu; Jiamao Zhi
Journal: Journal of Advanced Transportation
 (2022)

---

## Abstract

The implementation of ship speed control is extremely important in the shipping industry. It is affected by various factors, such as water depth, obstacles, and environmental factors. Traditional speed control methods only consider geographical constraints, which is difficult to achieve the goal of safe navigation and maritime traffic efficiency simultaneously. Accordingly, a two-stage speed dynamic control model is proposed in this study. In the first stage, certain safety navigation factors, including obstacles, sea environment conditions, and limit of estimated time of arrival to destination port, are considered. In the second stage, the speed dynamic control model considering safety and environmental factors is established by combining multisource data and particle swarm optimisation algorithm. The model’s superiority and advantage are validated by experiments conducted on an ocean-going ship. The experimental results show that the proposed dynamic speed control model can reduce the ship’s fuel consumption and improve energy efficiency while ensuring the safety navigation. The study is anticipated to be used as a reference for speed dynamic control.


---

## Body

## 1. Introduction

Marine transportation is efficient because more than 80% of goods delivered to various countries are shipped [1]. The efficiency of maritime transportation can be effectively improved by implementing ship speed control and route planning [2–4]. In maritime transportation, speed control is vital to ensure the safe navigation of the vessel to arrive at the destination port. However, many factors affect the ship’s navigation safety, such as obstacles, number of nearby ships [5, 6], and water depth [7, 8]. In addition, because the environmental conditions are highly uncertain [9], ocean-going vessels may encounter strong typhoons, introducing a considerable challenge to decision-making associated with speed control.Vessel speed control has attracted considerable attention from the industry due to its role in achieving the goal of green shipping. A ship may encounter extreme sea states, which can adversely affect the ship’s navigation safety and energy efficiency. Therefore, in formulating a ship speed control strategy, fully ensuring the ship’s navigation safety is foremost before dynamically controlling the speed based on the weather and sea conditions. The implementation of speed control can lead the ship towards greener and safer navigation. However, ship speed control is a dynamic optimisation problem with multiple constraints and objectives [10, 11]. Consequently, deriving an optimal solution using traditional optimisation algorithms is difficult. The development of artificial intelligence, data mining, and deep learning provides a new approach for ship route planning and dynamic speed control [12–15].In this paper, a speed dynamic control model that considers safety and environmental factors is proposed. The model is mainly divided into two steps. First, the navigational restrictions based on the sailing route are identified to ensure that the ship arrives safely at its destination port. The second step considers the uncertainty as well as the variation of weather and sea conditions with time and the limitation of estimating the time of arrival to the destination port. Based on the navigational restrictions selected in the first step and using weather forecast data, a real-time dynamic speed optimisation model is established.


## 2. Literature Review

Route planning and speed control aid in improving the energy efficiency of ships. Route planning mainly involves the selection of an optimal route based on the weather and sea conditions [16]. Under extreme sea states, the ship may experience considerable speed loss [17]; hence, the crew may opt to reduce the ship speed to ensure navigational safety. Accordingly, literature review is implemented considering path planning and speed control.


### 2.1. Route Planning

Route planning attracted interest in seafaring because it identifies a suitable route for vessels. Jasna et al. [18] assumed that a ship’s crew voluntary reduces speed to ensure safe voyaging; however, the ship unavoidably loses speed due to the strong winds and waves acting on the ship’s hull. Therefore, data from the six sailing routes of an ocean-going container ship are used to determine the speed loss under different sea states and wave heights. Choi et al. proposed a speed optimisation model for ice regions, considering that ice areas can change over time [19]; they used the A∗ algorithm to plan an optimal navigation path. Park et al. [20] proposed a two-stage weather routing model. In the first stage, the ship’s speed is maintained and the A∗ algorithm is employed to achieve route path optimisation. In the second stage, speed optimisation is implemented using the optimal route path derived in the first stage.Traditional route planning mainly selects an optimal sailing route according to weather and sea conditions for navigation safety. However, the planned navigation route is not the most economical path because it only considers safety. Lee et al. [21] proposed a model that simultaneously optimised speed and voyage route, reducing fuel consumption by 12.1% and 10.2%, respectively. The model yields better results than the Dijkstra and isochrone algorithms. Wang et al. [22] accounted for the variation in weather and sea conditions during voyage by adjusting the speed, path, and ship’s course in real time. They combined dynamic programming and genetic algorithm to achieve three-dimensional dynamic voyage optimisation. Zaccone et al. [23] assessed ship motion and comfort and then simultaneously optimised the speed and navigation route considering different arrival times. Zhang et al. [24] established an optimisation model for ship energy efficiency according to a route for Arctic navigation.


### 2.2. Speed Optimization Control

An effective approach to improve the efficiency of maritime traffic is the dynamic control of ship speed. The implementation of speed control can improve the energy efficiency of ships by reducing operating costs. Furthermore, it enables the ship to avoid strong winds and areas with intense waves, ensuring safe arrival at the destination port. Wang et al. [25] considered the influence of wind and waves on ship speed and proposed a multiobjective voyage optimisation model capable of reducing fuel consumption by more than 5%. Ma et al. [26, 27] considered that ships burn expensive bunker oil in the sulphur emission control area. Accordingly, they proposed a model for simultaneously optimising ship route and speed to reduce costs. In the foregoing, the total shipping cost includes the fixed time costs, cargo inventory, and fuel costs. Hence, by adjusting the sailing route and speed simultaneously, shipping costs and emissions are both minimised [28]. Yan et al. [29] proposed a two-stage ship fuel consumption prediction and reduction model for a dry bulk ship. In the first step, random forest (RF) is used to estimate the fuel consumption considering different influencing factors. The second step established speed optimisation based on the fuel consumption predicted by RF. After considering the limit of the arrival time at the destination port, the model achieved 2–7% fuel saving. Du et al. [30] used an artificial neural network (ANN) to model fuel consumption based on container’s noon report. They implemented three-speed optimisation according to application scenarios and finally achieved 4–9% fuel saving. Yuan et al. [31] initially considered sailing speed as the decision-making variable. However, they noted that, in actual voyages, the operator is required to adjust the main engine speed to drive the ship forward. Accordingly, the main engine speed is selected as the decision-making variable instead of the sailing speed, leading to 33.54% fuel saving.Existing speed optimisation control models seldom account for the effects of weather and sea conditions. Note that a ship may suffer speed loss under extreme sea conditions caused by adverse weather. Although some studies have also considered the effects of weather and sea conditions, most are based on historical navigation data. Consequently, their models have an inadequate practical application value. Based on the foregoing, the dynamic control of a ship’s speed in real time according to the variations in weather and sea conditions is necessary.(1)
If the sea current direction and wind directions are not within [0, 180], delete the entire row of data.(2)
Delete draughts that are clearly outside the normal range, such as when the draught is 0 or 100. If the draught is abnormal, delete the entire row of data where the draught is located.(3)
The value of fuel consumption is generally distributed in the normal range; these data are marked abnormal and deleted once the value of fuel consumption indicates extremely high or low.(4)
Delete the entire row of data in which the speed over the ground and speed over the water are negative.(5)
Some data on latitude and longitude may clearly deviate from the ship’s trajectory. For these data points, latitude and longitude are interpolated.(6)
Sort data according to voyage time. If the data point of the distance over ground is less than the previous data point (identified as anomalies), linear interpolation is implemented for these points.


## 2.1. Route Planning

Route planning attracted interest in seafaring because it identifies a suitable route for vessels. Jasna et al. [18] assumed that a ship’s crew voluntary reduces speed to ensure safe voyaging; however, the ship unavoidably loses speed due to the strong winds and waves acting on the ship’s hull. Therefore, data from the six sailing routes of an ocean-going container ship are used to determine the speed loss under different sea states and wave heights. Choi et al. proposed a speed optimisation model for ice regions, considering that ice areas can change over time [19]; they used the A∗ algorithm to plan an optimal navigation path. Park et al. [20] proposed a two-stage weather routing model. In the first stage, the ship’s speed is maintained and the A∗ algorithm is employed to achieve route path optimisation. In the second stage, speed optimisation is implemented using the optimal route path derived in the first stage.Traditional route planning mainly selects an optimal sailing route according to weather and sea conditions for navigation safety. However, the planned navigation route is not the most economical path because it only considers safety. Lee et al. [21] proposed a model that simultaneously optimised speed and voyage route, reducing fuel consumption by 12.1% and 10.2%, respectively. The model yields better results than the Dijkstra and isochrone algorithms. Wang et al. [22] accounted for the variation in weather and sea conditions during voyage by adjusting the speed, path, and ship’s course in real time. They combined dynamic programming and genetic algorithm to achieve three-dimensional dynamic voyage optimisation. Zaccone et al. [23] assessed ship motion and comfort and then simultaneously optimised the speed and navigation route considering different arrival times. Zhang et al. [24] established an optimisation model for ship energy efficiency according to a route for Arctic navigation.


## 2.2. Speed Optimization Control

An effective approach to improve the efficiency of maritime traffic is the dynamic control of ship speed. The implementation of speed control can improve the energy efficiency of ships by reducing operating costs. Furthermore, it enables the ship to avoid strong winds and areas with intense waves, ensuring safe arrival at the destination port. Wang et al. [25] considered the influence of wind and waves on ship speed and proposed a multiobjective voyage optimisation model capable of reducing fuel consumption by more than 5%. Ma et al. [26, 27] considered that ships burn expensive bunker oil in the sulphur emission control area. Accordingly, they proposed a model for simultaneously optimising ship route and speed to reduce costs. In the foregoing, the total shipping cost includes the fixed time costs, cargo inventory, and fuel costs. Hence, by adjusting the sailing route and speed simultaneously, shipping costs and emissions are both minimised [28]. Yan et al. [29] proposed a two-stage ship fuel consumption prediction and reduction model for a dry bulk ship. In the first step, random forest (RF) is used to estimate the fuel consumption considering different influencing factors. The second step established speed optimisation based on the fuel consumption predicted by RF. After considering the limit of the arrival time at the destination port, the model achieved 2–7% fuel saving. Du et al. [30] used an artificial neural network (ANN) to model fuel consumption based on container’s noon report. They implemented three-speed optimisation according to application scenarios and finally achieved 4–9% fuel saving. Yuan et al. [31] initially considered sailing speed as the decision-making variable. However, they noted that, in actual voyages, the operator is required to adjust the main engine speed to drive the ship forward. Accordingly, the main engine speed is selected as the decision-making variable instead of the sailing speed, leading to 33.54% fuel saving.Existing speed optimisation control models seldom account for the effects of weather and sea conditions. Note that a ship may suffer speed loss under extreme sea conditions caused by adverse weather. Although some studies have also considered the effects of weather and sea conditions, most are based on historical navigation data. Consequently, their models have an inadequate practical application value. Based on the foregoing, the dynamic control of a ship’s speed in real time according to the variations in weather and sea conditions is necessary.(1)
If the sea current direction and wind directions are not within [0, 180], delete the entire row of data.(2)
Delete draughts that are clearly outside the normal range, such as when the draught is 0 or 100. If the draught is abnormal, delete the entire row of data where the draught is located.(3)
The value of fuel consumption is generally distributed in the normal range; these data are marked abnormal and deleted once the value of fuel consumption indicates extremely high or low.(4)
Delete the entire row of data in which the speed over the ground and speed over the water are negative.(5)
Some data on latitude and longitude may clearly deviate from the ship’s trajectory. For these data points, latitude and longitude are interpolated.(6)
Sort data according to voyage time. If the data point of the distance over ground is less than the previous data point (identified as anomalies), linear interpolation is implemented for these points.


## 3. Data Description

### 3.1. Data Collection and Data Preprocessing

In this work, the target ship is a bulk carrier that departs from Dalian Port, China, to São Luis, Brazil; its sailing route is shown in Figure1. Numerous sensors, such as log equipment, global positioning system (GPS), automatic identification system (AIS), and fuel consumption gauge, are installed on the ship. These devices collect data that are synchronously transmitted to the shore database. The collected data include the latitude and longitude of ship position, speed over ground, and speed through water. Information related to collected data is summarised in Table 1.Figure 1
Sailing route of the ship.Table 1
Information related to collected data.
FeatureUnitsShip courseDegreeLongitudeDegreeLatitudeDegreeSea current speed (SCS)n mile/hFore draft (FD)mAft draft (AD)mSpeed over ground (SOG)n mile/hDistance over ground (DOG)n mileShip heading courseDegreeWind speed (WS)m/sWind direction (WD)DegreeSea current direction (SCD)DegreeShaft powerkwMain engine rotating speedr/minMain engine fuel consumption (FC)MtThe foregoing data are sampled every 5 min, and the fuel consumption of the main engine is averaged within 5 min. For convenience, the fuel consumption is converted into daily consumption according to the time ratio. In addition, because the wind and sea current directions are absolute, we converted them into relative wind and sea current directions according to the heading of the vessel.Errors may have been introduced into the collected data due to a number of factors, such as faulty acquisition equipment, poor transmission signal, and human factors. If these erroneous data are directly used for model training, they can negatively impact the model’s accuracy. Thus, identifying abnormal data and data cleaning are necessary. Data preprocessing using marine domain knowledge is based on the following principles.Algorithm 1: Data cleaning by using domain knowledge.
Input: the data setx of dimension n×pOutput: cleaning data by using Algorithm 1(1)
Sort voyage time of data entries(2)
While|LOGi−LOGi−1|>0.1∩LOGi+1−LOGi>0.1 or(3)
|Lati−Lati−1|>0.1∩Lati+1−Lati>0.1orDOGi<DOGi−1(4)
implemented linear interpolation for Lon (i), Lat (i), DOG (i)(5)
fori=1,2,...,n do(6)
if0≤WDi<180∩0≤SCDi<180∩0<FCi<18∩6<SOGi<16 and(7)
6<SOWi<16∩10<FDi<15∩10<ADi<15(8)
j = j + 1(9)
newdata[j, :]←data[i, :](10)
end(11)
end(12)
endAccording to the above principles, a data cleaning algorithm (i.e., Algorithm 1) is designed.After implementing the foregoing data preprocessing steps, the number of rows of data was reduced from 12,975 to 12,769.


### 3.2. Data Feature Selection

This research aims to establish a speed optimisation model to reduce fuel consumption and gas emissions. There are many factors that affect the ship’s fuel consumption, such as draft, speed over ground, and sea and weather conditions. Thus, establishing a high-precision and robust fuel consumption prediction model is the premise for developing ship speed control. Sailing speed is known to be the most important factor affecting fuel consumption. Many studies assume that fuel consumption is proportional to the cube of sailing speed. Additionally, draught and trim change the area of the ship underwater. In turn, the vessel’s resistance is affected. Weather and sea conditions also affect fuel consumption. Accordingly, seven variables are selected as inputs: speed over ground, draught, trim, wind speed and direction, and sea current speed and direction. Daily fuel consumption is selected as output variable. The distribution of each data feature is shown in Figure2.Figure 2
Distribution of each feature.
(a)(b)(c)(d)(e)(f)(g)(h)


## 3.1. Data Collection and Data Preprocessing

In this work, the target ship is a bulk carrier that departs from Dalian Port, China, to São Luis, Brazil; its sailing route is shown in Figure1. Numerous sensors, such as log equipment, global positioning system (GPS), automatic identification system (AIS), and fuel consumption gauge, are installed on the ship. These devices collect data that are synchronously transmitted to the shore database. The collected data include the latitude and longitude of ship position, speed over ground, and speed through water. Information related to collected data is summarised in Table 1.Figure 1
Sailing route of the ship.Table 1
Information related to collected data.
FeatureUnitsShip courseDegreeLongitudeDegreeLatitudeDegreeSea current speed (SCS)n mile/hFore draft (FD)mAft draft (AD)mSpeed over ground (SOG)n mile/hDistance over ground (DOG)n mileShip heading courseDegreeWind speed (WS)m/sWind direction (WD)DegreeSea current direction (SCD)DegreeShaft powerkwMain engine rotating speedr/minMain engine fuel consumption (FC)MtThe foregoing data are sampled every 5 min, and the fuel consumption of the main engine is averaged within 5 min. For convenience, the fuel consumption is converted into daily consumption according to the time ratio. In addition, because the wind and sea current directions are absolute, we converted them into relative wind and sea current directions according to the heading of the vessel.Errors may have been introduced into the collected data due to a number of factors, such as faulty acquisition equipment, poor transmission signal, and human factors. If these erroneous data are directly used for model training, they can negatively impact the model’s accuracy. Thus, identifying abnormal data and data cleaning are necessary. Data preprocessing using marine domain knowledge is based on the following principles.Algorithm 1: Data cleaning by using domain knowledge.
Input: the data setx of dimension n×pOutput: cleaning data by using Algorithm 1(1)
Sort voyage time of data entries(2)
While|LOGi−LOGi−1|>0.1∩LOGi+1−LOGi>0.1 or(3)
|Lati−Lati−1|>0.1∩Lati+1−Lati>0.1orDOGi<DOGi−1(4)
implemented linear interpolation for Lon (i), Lat (i), DOG (i)(5)
fori=1,2,...,n do(6)
if0≤WDi<180∩0≤SCDi<180∩0<FCi<18∩6<SOGi<16 and(7)
6<SOWi<16∩10<FDi<15∩10<ADi<15(8)
j = j + 1(9)
newdata[j, :]←data[i, :](10)
end(11)
end(12)
endAccording to the above principles, a data cleaning algorithm (i.e., Algorithm 1) is designed.After implementing the foregoing data preprocessing steps, the number of rows of data was reduced from 12,975 to 12,769.


## 3.2. Data Feature Selection

This research aims to establish a speed optimisation model to reduce fuel consumption and gas emissions. There are many factors that affect the ship’s fuel consumption, such as draft, speed over ground, and sea and weather conditions. Thus, establishing a high-precision and robust fuel consumption prediction model is the premise for developing ship speed control. Sailing speed is known to be the most important factor affecting fuel consumption. Many studies assume that fuel consumption is proportional to the cube of sailing speed. Additionally, draught and trim change the area of the ship underwater. In turn, the vessel’s resistance is affected. Weather and sea conditions also affect fuel consumption. Accordingly, seven variables are selected as inputs: speed over ground, draught, trim, wind speed and direction, and sea current speed and direction. Daily fuel consumption is selected as output variable. The distribution of each data feature is shown in Figure2.Figure 2
Distribution of each feature.
(a)(b)(c)(d)(e)(f)(g)(h)


## 4. Development Model for Ship Fuel Prediction

### 4.1. Tree-Based Models for Ship Fuel Prediction

#### 4.1.1. Decision Tree

Decision tree (DT), a machine learning algorithm based on a tree structure, is typically used for classification and regression [32]. It is composed of a root node, several internal nodes, and many leaf nodes. The root node, which is the main node of the tree, represents the attributes of a dataset. Based on splitting criteria, the root node is separated into several nodes until all dataset samples belong to the same category or cannot be split. However, frequently, a DT is extremely large and prone to overfitting. Thus, termination criteria must be set to control its dimensions. The max_depth, min_samples_leaf, and min_samples_split are generally used as the termination criteria.Max_depth: the maximum depth of decision tree used to control the depth of subtree; the tree stops splitting immediately once the depth of tree reached to max depthMin_samples_leaf: this is the minimum number of samples required for leaf nodes; if the number of leaf nodes is less than the min_samples_leaf, the tree stops splitting the nodesMin_samples_split: this is the minimum number of samples for nodes; if the number of node samples is less than the min_samples_split, the tree stops splitting the nodesThe main steps for constructing a DT are presented as Algorithm 2.The visualisation of DT for predicting fuel consumption is shown in Figure3. Note that DTs are prone to overfitting. To avoid this, ensemble learning techniques are applied to estimate the ship fuel consumption [33]. Base learners, usually composed of DTs, are mainly involved in ensemble learning. The regression results of learners are combined and considered as the predicted value of the target. Ensemble learning is classified into bagging and boosting depending on the relationship among learners. Each learner is trained independently and used for bagging, such as in RFs. The base learner modifies the sampling of training data as boosting based on the training results of the previous learner; the weight of the base learner is also modified. Gradient boosting DT (GDT) can overcome the prediction defect of a single DT. It is frequently applied to ship data cleaning [34] and modelling for main engine power and ship fuel [35, 36]. For detailed information on GDT, refer to the literature [37].Figure 3
Visualisation of DT for predicting fuel consumption.Algorithm 2: DT construction.
Input: training setD and termination conditions Ta.Output: regression treefxStep 1: find the best attribute featurej and attribute feature value sj which can be obtained by solving min∑Xi∈R1j,syi−c12+∑Xi∈R2j,syi−c22,R1j,s=xj≤s,R2j,s=xj>s, c1=1/N1∑xi∈R1j,syi,c2=1/N2∑xi∈R2j,syiStep 2: usej,s to split the current node into two nodes which contain two subnodes R1j,s=xj≤sandR2j,s=xj>sStep 3: repeatedly apply Steps 1 and 2 to split the node until the present node satisfies the termination conditions. The present node is changed to two subnodesc1=1/N1∑xi∈R1j,syiandc2=1/N2∑xi∈R2j,syi. The remaining nodes continue to split in the same manner.Step 4: repeatedly use Step 3 until no nodes can be split; assume that the entire dataset is split into disjoint subsetsR1,R2,…,RM. The predict result is fx=∑a=1McaI·, where I·=0,x∉ca1,x∈ca


### 4.2. Neural Network-Based Models for Ship Fuel Prediction

Numerous studies on modelling ship fuel consumption have been conducted using neural networks. An ANN includes an input layer, a hidden layer, and an output layer. All variables are entered into the input layer and transmitted to the output layer through the hidden layer. Finally, the results are found in the output layer. The ANN model for fuel consumption is shown in Figure4.Figure 4
Structure of ANN model for fuel consumption.The connection weight among the layers is continuously adjusted through error backpropagation. The value of each neuron in the hidden layer can be expressed by the following equation:(1)yl=f∑e=1u∂elχe+dl,where χe is the value of the e-th neuron in the previous layer of the hidden layer, u is the total number of neurons in the previous hidden layer, ∂el is the connection weight between the previous layer of neuron u and next layer of neuron l, dl is the bias, and f· is the activation function. The essence of dataset training is to find an optimal connection weight. The minimum error between the actual training set value and predicted value is the objective. The error is backpropagated, and all connection weights are continuously updated after each iteration. Finally, the optimal connection weights can be obtained upon reaching the maximum limit of iterations.


### 4.3. Instance-Based Models for Ship Fuel Prediction

#### 4.3.1. Support Vector Machine

Support vector machine regression (SVR) seeks to establish a hyperplane that divides a dataset sample to become linearly separable. The regression process is shown in Figure5. The regression value can be expressed as(2)fx=∑i=1nξi−ξi∗kxi,x+b,where ξiandξi∗ denote the upper and lower slack variables, respectively, C is the penalty parameter, and kxi,x is the kernel function. The value of ξiandξi∗ can be obtained from the following equation:(3)minw,b,ξi,ξi∗12wTw+C∑i=1mξi+ξi∗,s.t.ye−wTkxi−b≤ε+ξi,wTkxi+b−yi≤ε+ξi∗,ξi,ξi∗≥0,i=1,…,m,where kxi,xj is given by(4)kxi,xj=xi·xj+1p.Figure 5
Regression of SVR.


#### 4.3.2. K-Nearest Neighbour

K-nearest neighbour (KNN) regression finds thek data points closest to the target data point. Then, the average of the k data points is considered as the regression result of the target point. The regression process is shown in Figure 6. The Euclidean distance can be used to measure the distance between two data points. It can be expressed by the following equation:(5)dis=∑j=1pxoj−xij2.Figure 6
KNN regression.


### 4.4. Statistical Learning-Based Models for Ship Fuel Prediction

Linear regression is applied to describe the relationship between the independent variable and dependent variables; it can be expressed as(6)yi=b0+b1xi1+⋯+bpxip+ε,where x=x1,x2,…xp is the input variable, p is the number dimension of input variable, and b=b0,b1,b2,…bp is the independent variable coefficient; the least square method is frequently applied to calculate each coefficient. However, if some of the independent variables are strongly correlated, the method tends to cause extreme overfitting. To resolve this, the least absolute shrinkage and selection operator (LASSO) model is applied to some important variables by penalising each regression coefficient. This model can be expressed as follows:(7)SSE=∑i=1myi−b1xi1−b2xi2−⋯−bpxip2+λ∑j=1pbj.


### 4.5. Metrics for Model Validation

The coefficient of determination (R2), mean absolute error (MAE), mean square error (MSE), root mean square error (RMSE), and mean absolute percentage error (MAPE) are used to measure the accuracy of the model as defined by equations (8)–(12), respectively:(8)R2=1−∑imxi−yi2∑imxi−y¯2,(9)MAE=1m∑i=1mfxi−yi,(10)MSE=1m∑i=1mfxi−yi2,(11)RMSE=1m∑i=1mfxi−yi2,(12)MAPE=1m∑i=1mfxi−yiyi,where m is the number of testing sets, yi is the actual value of testing set, fxi is the predicted value of input variable xi, and y¯ is the average test set value. R2 approaching 1 indicates high prediction accuracy. Small values of RMSE, MAE, MSE, and MAPE denote high accuracy.


## 4.1. Tree-Based Models for Ship Fuel Prediction

### 4.1.1. Decision Tree

Decision tree (DT), a machine learning algorithm based on a tree structure, is typically used for classification and regression [32]. It is composed of a root node, several internal nodes, and many leaf nodes. The root node, which is the main node of the tree, represents the attributes of a dataset. Based on splitting criteria, the root node is separated into several nodes until all dataset samples belong to the same category or cannot be split. However, frequently, a DT is extremely large and prone to overfitting. Thus, termination criteria must be set to control its dimensions. The max_depth, min_samples_leaf, and min_samples_split are generally used as the termination criteria.Max_depth: the maximum depth of decision tree used to control the depth of subtree; the tree stops splitting immediately once the depth of tree reached to max depthMin_samples_leaf: this is the minimum number of samples required for leaf nodes; if the number of leaf nodes is less than the min_samples_leaf, the tree stops splitting the nodesMin_samples_split: this is the minimum number of samples for nodes; if the number of node samples is less than the min_samples_split, the tree stops splitting the nodesThe main steps for constructing a DT are presented as Algorithm 2.The visualisation of DT for predicting fuel consumption is shown in Figure3. Note that DTs are prone to overfitting. To avoid this, ensemble learning techniques are applied to estimate the ship fuel consumption [33]. Base learners, usually composed of DTs, are mainly involved in ensemble learning. The regression results of learners are combined and considered as the predicted value of the target. Ensemble learning is classified into bagging and boosting depending on the relationship among learners. Each learner is trained independently and used for bagging, such as in RFs. The base learner modifies the sampling of training data as boosting based on the training results of the previous learner; the weight of the base learner is also modified. Gradient boosting DT (GDT) can overcome the prediction defect of a single DT. It is frequently applied to ship data cleaning [34] and modelling for main engine power and ship fuel [35, 36]. For detailed information on GDT, refer to the literature [37].Figure 3
Visualisation of DT for predicting fuel consumption.Algorithm 2: DT construction.
Input: training setD and termination conditions Ta.Output: regression treefxStep 1: find the best attribute featurej and attribute feature value sj which can be obtained by solving min∑Xi∈R1j,syi−c12+∑Xi∈R2j,syi−c22,R1j,s=xj≤s,R2j,s=xj>s, c1=1/N1∑xi∈R1j,syi,c2=1/N2∑xi∈R2j,syiStep 2: usej,s to split the current node into two nodes which contain two subnodes R1j,s=xj≤sandR2j,s=xj>sStep 3: repeatedly apply Steps 1 and 2 to split the node until the present node satisfies the termination conditions. The present node is changed to two subnodesc1=1/N1∑xi∈R1j,syiandc2=1/N2∑xi∈R2j,syi. The remaining nodes continue to split in the same manner.Step 4: repeatedly use Step 3 until no nodes can be split; assume that the entire dataset is split into disjoint subsetsR1,R2,…,RM. The predict result is fx=∑a=1McaI·, where I·=0,x∉ca1,x∈ca


## 4.1.1. Decision Tree

Decision tree (DT), a machine learning algorithm based on a tree structure, is typically used for classification and regression [32]. It is composed of a root node, several internal nodes, and many leaf nodes. The root node, which is the main node of the tree, represents the attributes of a dataset. Based on splitting criteria, the root node is separated into several nodes until all dataset samples belong to the same category or cannot be split. However, frequently, a DT is extremely large and prone to overfitting. Thus, termination criteria must be set to control its dimensions. The max_depth, min_samples_leaf, and min_samples_split are generally used as the termination criteria.Max_depth: the maximum depth of decision tree used to control the depth of subtree; the tree stops splitting immediately once the depth of tree reached to max depthMin_samples_leaf: this is the minimum number of samples required for leaf nodes; if the number of leaf nodes is less than the min_samples_leaf, the tree stops splitting the nodesMin_samples_split: this is the minimum number of samples for nodes; if the number of node samples is less than the min_samples_split, the tree stops splitting the nodesThe main steps for constructing a DT are presented as Algorithm 2.The visualisation of DT for predicting fuel consumption is shown in Figure3. Note that DTs are prone to overfitting. To avoid this, ensemble learning techniques are applied to estimate the ship fuel consumption [33]. Base learners, usually composed of DTs, are mainly involved in ensemble learning. The regression results of learners are combined and considered as the predicted value of the target. Ensemble learning is classified into bagging and boosting depending on the relationship among learners. Each learner is trained independently and used for bagging, such as in RFs. The base learner modifies the sampling of training data as boosting based on the training results of the previous learner; the weight of the base learner is also modified. Gradient boosting DT (GDT) can overcome the prediction defect of a single DT. It is frequently applied to ship data cleaning [34] and modelling for main engine power and ship fuel [35, 36]. For detailed information on GDT, refer to the literature [37].Figure 3
Visualisation of DT for predicting fuel consumption.Algorithm 2: DT construction.
Input: training setD and termination conditions Ta.Output: regression treefxStep 1: find the best attribute featurej and attribute feature value sj which can be obtained by solving min∑Xi∈R1j,syi−c12+∑Xi∈R2j,syi−c22,R1j,s=xj≤s,R2j,s=xj>s, c1=1/N1∑xi∈R1j,syi,c2=1/N2∑xi∈R2j,syiStep 2: usej,s to split the current node into two nodes which contain two subnodes R1j,s=xj≤sandR2j,s=xj>sStep 3: repeatedly apply Steps 1 and 2 to split the node until the present node satisfies the termination conditions. The present node is changed to two subnodesc1=1/N1∑xi∈R1j,syiandc2=1/N2∑xi∈R2j,syi. The remaining nodes continue to split in the same manner.Step 4: repeatedly use Step 3 until no nodes can be split; assume that the entire dataset is split into disjoint subsetsR1,R2,…,RM. The predict result is fx=∑a=1McaI·, where I·=0,x∉ca1,x∈ca


## 4.2. Neural Network-Based Models for Ship Fuel Prediction

Numerous studies on modelling ship fuel consumption have been conducted using neural networks. An ANN includes an input layer, a hidden layer, and an output layer. All variables are entered into the input layer and transmitted to the output layer through the hidden layer. Finally, the results are found in the output layer. The ANN model for fuel consumption is shown in Figure4.Figure 4
Structure of ANN model for fuel consumption.The connection weight among the layers is continuously adjusted through error backpropagation. The value of each neuron in the hidden layer can be expressed by the following equation:(1)yl=f∑e=1u∂elχe+dl,where χe is the value of the e-th neuron in the previous layer of the hidden layer, u is the total number of neurons in the previous hidden layer, ∂el is the connection weight between the previous layer of neuron u and next layer of neuron l, dl is the bias, and f· is the activation function. The essence of dataset training is to find an optimal connection weight. The minimum error between the actual training set value and predicted value is the objective. The error is backpropagated, and all connection weights are continuously updated after each iteration. Finally, the optimal connection weights can be obtained upon reaching the maximum limit of iterations.


## 4.3. Instance-Based Models for Ship Fuel Prediction

### 4.3.1. Support Vector Machine

Support vector machine regression (SVR) seeks to establish a hyperplane that divides a dataset sample to become linearly separable. The regression process is shown in Figure5. The regression value can be expressed as(2)fx=∑i=1nξi−ξi∗kxi,x+b,where ξiandξi∗ denote the upper and lower slack variables, respectively, C is the penalty parameter, and kxi,x is the kernel function. The value of ξiandξi∗ can be obtained from the following equation:(3)minw,b,ξi,ξi∗12wTw+C∑i=1mξi+ξi∗,s.t.ye−wTkxi−b≤ε+ξi,wTkxi+b−yi≤ε+ξi∗,ξi,ξi∗≥0,i=1,…,m,where kxi,xj is given by(4)kxi,xj=xi·xj+1p.Figure 5
Regression of SVR.


### 4.3.2. K-Nearest Neighbour

K-nearest neighbour (KNN) regression finds thek data points closest to the target data point. Then, the average of the k data points is considered as the regression result of the target point. The regression process is shown in Figure 6. The Euclidean distance can be used to measure the distance between two data points. It can be expressed by the following equation:(5)dis=∑j=1pxoj−xij2.Figure 6
KNN regression.


## 4.3.1. Support Vector Machine

Support vector machine regression (SVR) seeks to establish a hyperplane that divides a dataset sample to become linearly separable. The regression process is shown in Figure5. The regression value can be expressed as(2)fx=∑i=1nξi−ξi∗kxi,x+b,where ξiandξi∗ denote the upper and lower slack variables, respectively, C is the penalty parameter, and kxi,x is the kernel function. The value of ξiandξi∗ can be obtained from the following equation:(3)minw,b,ξi,ξi∗12wTw+C∑i=1mξi+ξi∗,s.t.ye−wTkxi−b≤ε+ξi,wTkxi+b−yi≤ε+ξi∗,ξi,ξi∗≥0,i=1,…,m,where kxi,xj is given by(4)kxi,xj=xi·xj+1p.Figure 5
Regression of SVR.


## 4.3.2. K-Nearest Neighbour

K-nearest neighbour (KNN) regression finds thek data points closest to the target data point. Then, the average of the k data points is considered as the regression result of the target point. The regression process is shown in Figure 6. The Euclidean distance can be used to measure the distance between two data points. It can be expressed by the following equation:(5)dis=∑j=1pxoj−xij2.Figure 6
KNN regression.


## 4.4. Statistical Learning-Based Models for Ship Fuel Prediction

Linear regression is applied to describe the relationship between the independent variable and dependent variables; it can be expressed as(6)yi=b0+b1xi1+⋯+bpxip+ε,where x=x1,x2,…xp is the input variable, p is the number dimension of input variable, and b=b0,b1,b2,…bp is the independent variable coefficient; the least square method is frequently applied to calculate each coefficient. However, if some of the independent variables are strongly correlated, the method tends to cause extreme overfitting. To resolve this, the least absolute shrinkage and selection operator (LASSO) model is applied to some important variables by penalising each regression coefficient. This model can be expressed as follows:(7)SSE=∑i=1myi−b1xi1−b2xi2−⋯−bpxip2+λ∑j=1pbj.


## 4.5. Metrics for Model Validation

The coefficient of determination (R2), mean absolute error (MAE), mean square error (MSE), root mean square error (RMSE), and mean absolute percentage error (MAPE) are used to measure the accuracy of the model as defined by equations (8)–(12), respectively:(8)R2=1−∑imxi−yi2∑imxi−y¯2,(9)MAE=1m∑i=1mfxi−yi,(10)MSE=1m∑i=1mfxi−yi2,(11)RMSE=1m∑i=1mfxi−yi2,(12)MAPE=1m∑i=1mfxi−yiyi,where m is the number of testing sets, yi is the actual value of testing set, fxi is the predicted value of input variable xi, and y¯ is the average test set value. R2 approaching 1 indicates high prediction accuracy. Small values of RMSE, MAE, MSE, and MAPE denote high accuracy.


## 5. Speed Optimisation Model

### 5.1. Description of Speed Optimisation Problem

The changes in weather and sea conditions are considered because they influence navigational safety and fuel consumption. The weather forecast for the test case is based on the National Weather Service data. The wave and grid resolution is0.5×0.5 (updated every 6 h). The ship departs from port A (at time 0) and arrives at the destination port at the estimated time. The speed optimisation problem is shown in Figure 7. The entire voyage is divided into several large segments. Each segment contains several subsegments; the sailing speed in a subsegment is specified. The weather forecast data, combined with the ship’s draught and trim, are used in the GBR model to calculate the fuel consumption of each subsegment. The least fuel consumption throughout the voyage is set as the objective function.Figure 7
Speed optimisation problem.


### 5.2. Description of Speed Optimisation Mathematical Model

The speed optimisation mathematical model can be described as follows.Sets and indicesMeaningnTotal route divided inton segmentIIndicate the starting point of each segment, 0 represents the departure port A,n represents the destination port BiSet of all path segments,i∈1,2,…njEach segment is divided intoj subsegments, j∈1,2,…gWijSea and weather conditions in segmenti and j subsegmentDraftijDraught in segmenti and subsegment jTrimijTrim in segmenti and j subsegmentVijminMaximum allowable speed when sailing in segmenti and subsegment jVijmaxMinimum allowable speed when sailing in segmenti and subsegment jfijGBRVij,Draftij,Trimij,WijPredicted ship fuel consumption by using the proposed GBR model when sailing speed isVij, draft is Draftij, trim is Trimij, sea and weather conditions is WijtijIndicates voyage time in segmenti and j subsegmentTiVoyage time from departure port A to segmentiTmaxLatest allowable arrival timeSijVoyage path length of segmenti and subsegment jSiTotal voyage path length from departure port A to segmentiVijShip sailing speed in segmenti and subsegment jTijTotal sailing time from departure port A to segmenti and subsegment jThe speed optimisation model can be expressed as follows:(13)min∑i=1n∑j=1PfGBRVij,Draftij,Trimij,Wij×VijSij.The foregoing is subject to(14)tij=SijVij,(15)Si=Si−1+∑j=1gsi−1,j,(16)Ti=Ti−1+tij,∀i∈n,j∈g,(17)Ti≤Tmax,(18)Vijmin≤Vij≤Vijmax.Objective (13) minimises the ship fuel consumption throughout the voyage. Constraint (14) indicates the voyage time of a subsegment. Constraint (15) defines the relational distance between a segment and subsegment. Constraint (16) defines the voyage time from the departure port to a present segment. Constraint (17) ensures that the ship arrival time to the destination port is no later than the allowable arrival time. Constraint (18) regulates the upper and lower bounds of sailing speed in each subsegment.


## 5.1. Description of Speed Optimisation Problem

The changes in weather and sea conditions are considered because they influence navigational safety and fuel consumption. The weather forecast for the test case is based on the National Weather Service data. The wave and grid resolution is0.5×0.5 (updated every 6 h). The ship departs from port A (at time 0) and arrives at the destination port at the estimated time. The speed optimisation problem is shown in Figure 7. The entire voyage is divided into several large segments. Each segment contains several subsegments; the sailing speed in a subsegment is specified. The weather forecast data, combined with the ship’s draught and trim, are used in the GBR model to calculate the fuel consumption of each subsegment. The least fuel consumption throughout the voyage is set as the objective function.Figure 7
Speed optimisation problem.


## 5.2. Description of Speed Optimisation Mathematical Model

The speed optimisation mathematical model can be described as follows.Sets and indicesMeaningnTotal route divided inton segmentIIndicate the starting point of each segment, 0 represents the departure port A,n represents the destination port BiSet of all path segments,i∈1,2,…njEach segment is divided intoj subsegments, j∈1,2,…gWijSea and weather conditions in segmenti and j subsegmentDraftijDraught in segmenti and subsegment jTrimijTrim in segmenti and j subsegmentVijminMaximum allowable speed when sailing in segmenti and subsegment jVijmaxMinimum allowable speed when sailing in segmenti and subsegment jfijGBRVij,Draftij,Trimij,WijPredicted ship fuel consumption by using the proposed GBR model when sailing speed isVij, draft is Draftij, trim is Trimij, sea and weather conditions is WijtijIndicates voyage time in segmenti and j subsegmentTiVoyage time from departure port A to segmentiTmaxLatest allowable arrival timeSijVoyage path length of segmenti and subsegment jSiTotal voyage path length from departure port A to segmentiVijShip sailing speed in segmenti and subsegment jTijTotal sailing time from departure port A to segmenti and subsegment jThe speed optimisation model can be expressed as follows:(13)min∑i=1n∑j=1PfGBRVij,Draftij,Trimij,Wij×VijSij.The foregoing is subject to(14)tij=SijVij,(15)Si=Si−1+∑j=1gsi−1,j,(16)Ti=Ti−1+tij,∀i∈n,j∈g,(17)Ti≤Tmax,(18)Vijmin≤Vij≤Vijmax.Objective (13) minimises the ship fuel consumption throughout the voyage. Constraint (14) indicates the voyage time of a subsegment. Constraint (15) defines the relational distance between a segment and subsegment. Constraint (16) defines the voyage time from the departure port to a present segment. Constraint (17) ensures that the ship arrival time to the destination port is no later than the allowable arrival time. Constraint (18) regulates the upper and lower bounds of sailing speed in each subsegment.


## 6. Computational Experiments

### 6.1. Model for Fuel Consumption Prediction

Six state-of-the-art supervised learning techniques are used to model fuel consumption: ANN, DTR, GBR, KNN, SVR, and LASSO. The training set accounts for 80% of the entire dataset, and the remaining 20% is the test set. The training and test sets of each algorithm are the same. The Bayesian method combined with ten-fold cross-validation is used to optimise the hyperparameters of each algorithm (Table2). All experiments are implemented on Python 3.7.9 (on Win10 operating system, Intel CoreTM i5-8265U processor (1.80 GHz) and 8-GB RAM). Each algorithm is tested five times. To consider randomness, the average of the five experiments is used as the final value of each algorithm. The accuracy of each algorithm is listed in Table 3.Table 2
Hyperparameters of each algorithm.
ModelHyperparametersLibraryANNactivation = {“identity”, “logistic”, “tanh”, “relu”}, solver = {“lbfgs”, “sgd”, “adam”}, learning_rate = {“constant”, “invscaling”, “adaptive”}, alpha = [0.1, 0.01, 0.001], hidden_layer_sizes = [10, 100]SklearnDTRmax_depth = [1, 10], max_features = [1, 10], min_samples_split = [1, 10], min_samples_leaf = [1, 10]SklearnGBRmax_depth = [1, 10], max_features = [1, 10], min_samples_split = [1, 10], min_samples_leaf = [1, 10], loss = {“ls”,“lad”,“huber”,“quantile”}SklearnKNNn_neighbors = [1, 10], weights = {“uniform”, “distance”}SklearnSVRC = [0, 1]SklearnLASSOalpha = [0.001, 100]SklearnTable 3
Prediction accuracy of models.
ModelR2MSERMSE (t/day)MAE (t/day)MAPE (%)ANN0.8976.7472.5971.7556.292DTR0.8639.0292.9991.7496.774GBR0.9046.2772.5041.6175.726KNN0.8986.692.5861.6336.145SVR0.8837.6452.7641.8116.512LASSO0.44736.5246.0414.14422.915In Table3, the GBR model has the highest in terms of R2 value. Its MSE, RMSE, MAE, and MAPE values are all lower than those of the other five models, indicating that it has the highest prediction accuracy. Accordingly, the GBR model is selected for predicting fuel consumption.


### 6.2. Solution Procedure

As discussed in Section5.2, speed optimisation is a dynamic optimisation problem that can be solved using the particle swarm optimisation (PSO) algorithm. This algorithm was first proposed by Kennedy and Eberhart in 1995 based on birds searching for food [38]. It has been widely applied to speed optimisation because it requires fewer parameters and has fast convergence [39, 40]. Each particle adjusts speed and position by constantly sharing own position with other particles. The speed and position of each particle are updated as follows:(19)vm+1d=w×vmd+c1r1pmd−xmd+c2r2gmd−xmd,xm+1d=xmd+vm+1d,where w is the inertia weight, c1 and c2 are the learning rate, r1 and r2 are the random constant between [0, 1], vmd is the speed of d-th particle at the m iteration, xmd is the position of d particle at the m-th iteration, pmd is the best position of the d-th particle in the previous m times, gmd is the best position of all particles in the previous m-th times, xm+1d is the position of d-th particle at the m+1-th iteration, and vm+1d is the speed of d-th particle at the m+1-th iteration.The PSO process calculates the optimal speed of each segment, as shown in Figure8; the parameters of the PSO algorithm are summarised in Table 4.Figure 8
Flowchart of the optimal sailing speed by using PSO algorithm.Table 4
Parameters of PSO algorithm.
wc1c2r1r2122[0, 1][0, 1]


## 6.1. Model for Fuel Consumption Prediction

Six state-of-the-art supervised learning techniques are used to model fuel consumption: ANN, DTR, GBR, KNN, SVR, and LASSO. The training set accounts for 80% of the entire dataset, and the remaining 20% is the test set. The training and test sets of each algorithm are the same. The Bayesian method combined with ten-fold cross-validation is used to optimise the hyperparameters of each algorithm (Table2). All experiments are implemented on Python 3.7.9 (on Win10 operating system, Intel CoreTM i5-8265U processor (1.80 GHz) and 8-GB RAM). Each algorithm is tested five times. To consider randomness, the average of the five experiments is used as the final value of each algorithm. The accuracy of each algorithm is listed in Table 3.Table 2
Hyperparameters of each algorithm.
ModelHyperparametersLibraryANNactivation = {“identity”, “logistic”, “tanh”, “relu”}, solver = {“lbfgs”, “sgd”, “adam”}, learning_rate = {“constant”, “invscaling”, “adaptive”}, alpha = [0.1, 0.01, 0.001], hidden_layer_sizes = [10, 100]SklearnDTRmax_depth = [1, 10], max_features = [1, 10], min_samples_split = [1, 10], min_samples_leaf = [1, 10]SklearnGBRmax_depth = [1, 10], max_features = [1, 10], min_samples_split = [1, 10], min_samples_leaf = [1, 10], loss = {“ls”,“lad”,“huber”,“quantile”}SklearnKNNn_neighbors = [1, 10], weights = {“uniform”, “distance”}SklearnSVRC = [0, 1]SklearnLASSOalpha = [0.001, 100]SklearnTable 3
Prediction accuracy of models.
ModelR2MSERMSE (t/day)MAE (t/day)MAPE (%)ANN0.8976.7472.5971.7556.292DTR0.8639.0292.9991.7496.774GBR0.9046.2772.5041.6175.726KNN0.8986.692.5861.6336.145SVR0.8837.6452.7641.8116.512LASSO0.44736.5246.0414.14422.915In Table3, the GBR model has the highest in terms of R2 value. Its MSE, RMSE, MAE, and MAPE values are all lower than those of the other five models, indicating that it has the highest prediction accuracy. Accordingly, the GBR model is selected for predicting fuel consumption.


## 6.2. Solution Procedure

As discussed in Section5.2, speed optimisation is a dynamic optimisation problem that can be solved using the particle swarm optimisation (PSO) algorithm. This algorithm was first proposed by Kennedy and Eberhart in 1995 based on birds searching for food [38]. It has been widely applied to speed optimisation because it requires fewer parameters and has fast convergence [39, 40]. Each particle adjusts speed and position by constantly sharing own position with other particles. The speed and position of each particle are updated as follows:(19)vm+1d=w×vmd+c1r1pmd−xmd+c2r2gmd−xmd,xm+1d=xmd+vm+1d,where w is the inertia weight, c1 and c2 are the learning rate, r1 and r2 are the random constant between [0, 1], vmd is the speed of d-th particle at the m iteration, xmd is the position of d particle at the m-th iteration, pmd is the best position of the d-th particle in the previous m times, gmd is the best position of all particles in the previous m-th times, xm+1d is the position of d-th particle at the m+1-th iteration, and vm+1d is the speed of d-th particle at the m+1-th iteration.The PSO process calculates the optimal speed of each segment, as shown in Figure8; the parameters of the PSO algorithm are summarised in Table 4.Figure 8
Flowchart of the optimal sailing speed by using PSO algorithm.Table 4
Parameters of PSO algorithm.
wc1c2r1r2122[0, 1][0, 1]


## 7. Analysis of Results

### 7.1. Speed Optimisation Results

The accuracy of weather forecast is presumed to decrease as time increases. The ship captain approximates the daily voyage path length based on the estimated time of arrival. The detailed sailing route information of the target ship is summarised in Table5. Based on this information, the average daily voyage path length Si is calculated as 263.3 n mile.Table 5
Detailed sailing route information of the target ship.
Departure portDestination portVoyage pathEstimated time of arrivalDalian, ChinaSao Luis, Brazil12508.7 n mile47.5 daysIn an actual voyage, the operator must sail within a reasonable speed range. When severe sea conditions are encountered, sailing safety must be ensured. Because of speed loss, low speed is usually adopted. If the speed is overly high, the ship tends to consume more fuel because speed and fuel consumption have an exponential relationship. The speed distribution range is [6, 16] kn from Section3.2; set Vijmin=6kn and Vijmax=16kn. The sailing speeds are discretised using a 0.1-kn interval. Then, the fuel consumptions at different speeds, draughts, trims, and sea and weather conditions can be predicted using the GBR model. Because the forecast data are updated at 6-h intervals, set tij = 6 h to synchronise with the update. With the fuel consumption prediction and speed optimisation models, the optimal speed for each subsegment can be obtained using PSO. As shown in Figure 9, fitness varies with the number of iterations. The optimisation results are listed in Table 6.Figure 9
Fitness varies with iterations.Table 6
Results of speed optimisation.
Actual fuel consumption (ton)Optimize fuel consumption (tons)Reduce fuel consumption (ton)Saving ratio (%)16291557.771.34.38Figure9 shows that fitness basically converges at 50 iterations, indicating that the optimal solution can be found rapidly and effectively using the PSO algorithm. As listed in Table 6, the implementation of speed optimisation can save 71.3 t of fuel in one voyage (a savings ratio of 4.38%). If the price of oil is assumed to be 400 USD/t, then 71.3∗400 = 28,520USD can be saved in one voyage. If the company has 100 ships and each ship voyages five times a year, then 71.3∗5∗100 = 35650 tons of fuel can be saved; this is equal to savings of 14.26 million USD for the company. The foregoing amount of fuel can also be expressed in terms of carbon emissions. Based on the carbon intensity value of 3.114 as conversion factor, 111 014 t of CO2 gas emissions can be reduced.In Figure10, the original and optimal ship speeds are shown. The red curve represents the optimal speed, and the blue curve is the original speed. The figure indicates that the optimal speed has more variations than the original speed. This is possible because speed can be adjusted in real time according to the encountered wind and wave conditions to reduce fuel consumption.Figure 10
Optimal ship speed and original speed.


### 7.2. Sensitivity Analysis of Arrival Time

To study the influence of the estimated arrival time on speed optimisation, a period of 7 d before or after the original sailing time is examined. Figure11 shows the fuel consumption variation with sailing time after speed optimisation.Figure 11
Fuel consumption with sailing time after speed optimisation.The ship consumes less fuel when the sailing time is within [43, 49] d; the lowest bunker fuel consumption is upon the ship’s arrival, i.e., 44 d; beyond this, the consumption increases. This occurs because the ship’s low speed considerably deviates from the economic speed due to insufficient fuel combustion. This increase in fuel consumption throughout the voyage after 44 d seems contradictory to the conclusion that fuel consumption decreases with increasing sailing time, as reported in previously published literature. However, this is not the case. In previous studies, the sailing speed has always been at a higher value as the sailing time increases. In this study, a similar situation is depicted by the left side of the parabola shown in Figure11. If the estimated arrival time is reduced to less than 44 d, the fuel consumption can increase with time. This is because a short voyage time requires a corresponding increase in sailing speed, leading to greater fuel consumption per unit time.


## 7.1. Speed Optimisation Results

The accuracy of weather forecast is presumed to decrease as time increases. The ship captain approximates the daily voyage path length based on the estimated time of arrival. The detailed sailing route information of the target ship is summarised in Table5. Based on this information, the average daily voyage path length Si is calculated as 263.3 n mile.Table 5
Detailed sailing route information of the target ship.
Departure portDestination portVoyage pathEstimated time of arrivalDalian, ChinaSao Luis, Brazil12508.7 n mile47.5 daysIn an actual voyage, the operator must sail within a reasonable speed range. When severe sea conditions are encountered, sailing safety must be ensured. Because of speed loss, low speed is usually adopted. If the speed is overly high, the ship tends to consume more fuel because speed and fuel consumption have an exponential relationship. The speed distribution range is [6, 16] kn from Section3.2; set Vijmin=6kn and Vijmax=16kn. The sailing speeds are discretised using a 0.1-kn interval. Then, the fuel consumptions at different speeds, draughts, trims, and sea and weather conditions can be predicted using the GBR model. Because the forecast data are updated at 6-h intervals, set tij = 6 h to synchronise with the update. With the fuel consumption prediction and speed optimisation models, the optimal speed for each subsegment can be obtained using PSO. As shown in Figure 9, fitness varies with the number of iterations. The optimisation results are listed in Table 6.Figure 9
Fitness varies with iterations.Table 6
Results of speed optimisation.
Actual fuel consumption (ton)Optimize fuel consumption (tons)Reduce fuel consumption (ton)Saving ratio (%)16291557.771.34.38Figure9 shows that fitness basically converges at 50 iterations, indicating that the optimal solution can be found rapidly and effectively using the PSO algorithm. As listed in Table 6, the implementation of speed optimisation can save 71.3 t of fuel in one voyage (a savings ratio of 4.38%). If the price of oil is assumed to be 400 USD/t, then 71.3∗400 = 28,520USD can be saved in one voyage. If the company has 100 ships and each ship voyages five times a year, then 71.3∗5∗100 = 35650 tons of fuel can be saved; this is equal to savings of 14.26 million USD for the company. The foregoing amount of fuel can also be expressed in terms of carbon emissions. Based on the carbon intensity value of 3.114 as conversion factor, 111 014 t of CO2 gas emissions can be reduced.In Figure10, the original and optimal ship speeds are shown. The red curve represents the optimal speed, and the blue curve is the original speed. The figure indicates that the optimal speed has more variations than the original speed. This is possible because speed can be adjusted in real time according to the encountered wind and wave conditions to reduce fuel consumption.Figure 10
Optimal ship speed and original speed.


## 7.2. Sensitivity Analysis of Arrival Time

To study the influence of the estimated arrival time on speed optimisation, a period of 7 d before or after the original sailing time is examined. Figure11 shows the fuel consumption variation with sailing time after speed optimisation.Figure 11
Fuel consumption with sailing time after speed optimisation.The ship consumes less fuel when the sailing time is within [43, 49] d; the lowest bunker fuel consumption is upon the ship’s arrival, i.e., 44 d; beyond this, the consumption increases. This occurs because the ship’s low speed considerably deviates from the economic speed due to insufficient fuel combustion. This increase in fuel consumption throughout the voyage after 44 d seems contradictory to the conclusion that fuel consumption decreases with increasing sailing time, as reported in previously published literature. However, this is not the case. In previous studies, the sailing speed has always been at a higher value as the sailing time increases. In this study, a similar situation is depicted by the left side of the parabola shown in Figure11. If the estimated arrival time is reduced to less than 44 d, the fuel consumption can increase with time. This is because a short voyage time requires a corresponding increase in sailing speed, leading to greater fuel consumption per unit time.


## 8. Extension and Future Research

In this study, speed optimisation is implemented based on a fixed sailing route. In this route, a ship may sometimes encounter severe weather conditions, such as strong winds and typhoon. When this occurs, the planned route must be changed to ensure safe navigation. Accordingly, in future research, we will focus on developing a speed optimisation model to create multiple routes. In addition, this study used sensor data to develop a fuel consumption model; however, only the noon report was utilised. Thus, considering that these data contain many features (such as water depth, seawater temperature, and salinity) affecting fuel consumption, these factors must be considered in the future.


## 9. Conclusion

Speed optimisation is one of the important measures implemented by the International Maritime Organization to improve ship energy efficiency and reduce emissions. It can effectively reduce the ship fuel consumption, increase the operating efficiency of shipping companies, and improve their market competitiveness. This study proposes a fuel consumption prediction and reduction model based on sensor data. These data, collected by installing sensors on an ocean-going dry bulk ship, were combined with domain knowledge. A statistical method of data cleaning was also adopted to extract accurate information. Six advanced techniques (GBR, ANN, DTR, KNN, SVR, and LASSO) are selected for fuel consumption modelling based on a highly accurate fuel consumption dataset. The numerical results show that the GBR’sR2 value (0.904) is the highest among the models. Its MSE, RMSE, MAE, and MAPE values are all lower than those of the other five models. The foregoing indicates that the GBR has the best predictive performance. Combined with the weather forecast data, we used the GBR algorithm to predict the fuel consumption at different speeds, draughts, trims, and wind and current conditions. By considering the limit of the estimated time of arrival, a speed optimisation model is established based on the fuel consumption prediction model. With the lowest fuel consumption as the objective function, we calculated the optimal speed for each segment using the PSO algorithm. The experimental results show that speed optimisation can save 71.3 t of fuel (equivalent to a savings ratio of 4.38% with respect to the actual fuel consumption of the voyage). In addition, optimal speed is related to the arrival time; only by setting the arrival time to a reasonable value can the optimal speed achieve fuel saving. The proposed speed optimisation model is anticipated to serve as a theoretical reference for ship crews in developing optimal speed plans and setting a reasonable voyage arrival time.



---

*Source: 5333171-2022-04-23.xml*