# Optimizing Ship Speed to Minimize Total Fuel Consumption with Multiple Time Windows

Authors: Jae-Gon Kim; Hwa-Joong Kim; Hong Bae Jun; Chong-Man Kim
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

We study the ship speed optimization problem with the objective of minimizing the total fuel consumption. We consider multiple time windows for each port call as constraints and formulate the problem as a nonlinear mixed integer program. We derive intrinsic properties of the problem and develop an exact algorithm based on the properties. Computational experiments show that the suggested algorithm is very efficient in finding an optimal solution.


---

## Body

## 1. Introduction

According to the report of World Shipping Council in 2008, fuel cost represents as much as 50–60% of total ship operating cost. Since fuel consumption is known to be the third power function of ship speed [1], many global shipping companies are trying to reduce fuel consumption by slowing down ship speed (called slow steaming). In this study, we consider the ship speed optimization problem with the objective of minimizing total fuel consumption of a (tramp or liner) ship operated on a given route. For a tramp ship, the ship speed optimization problem is a tactical problem which should be solved for every sailing, while it is a strategic problem to be solved just one time when designing a shipping route for a liner ship [2]. We determine ship speed on each leg under time window restrictions related with port calls. Time window sizes are narrow for congested ports, while they are wide for noncongested ones.There are two kinds of time windows: hard time window and soft one [3, 4]. A hard time window should be kept at all costs while the soft one can be violated with appropriate penalties. There usually exist multiple time windows for each port call depending on the available service time of the port. Most ports have restricted operating hours since they are closed for service at night and during weekends. In this case, the wide time windows can be regarded as multiple time windows [5]. Also, ports have restrictions on the draft of ships that may safely enter [6, 7]. Many ports have time-dependent draft restrictions due to the tide that leads to multiple time windows at each port. Therefore, our aim in this study is to develop a mathematical model and an exact algorithm for the ship speed optimization problem with multiple hard time windows.There are some previous studies on the ship speed optimization problem which are related to our problem although they consider different objective functions, decision variables, and constraints. Ronen [1] performs pioneering research on determining optimal ship speed by considering the tradeoff between fuel savings by slow steaming and the loss of revenues due to the resulting voyage extension on the other hand. Ting and Tzeng [8] propose a dynamic programming model for the ship scheduling problem with both soft and hard time window constraints with the objective of meeting the time window constraints as closely as possible. Brown et al. [9] suggest a linear programming model for optimizing operation modes of a naval ship to minimize the fuel consumption when the ship transit time is given. Corbett et al. [10] evaluate the effect of the speed reduction on mitigation of CO2 emissions quantitatively. Ronen [11] determines the optimal speed and fleet size (the number of deployed ships) for containerships on a single route with a weekly service cycle. Wang and Meng [12] propose a model and an algorithm to determine an optimal sailing speed of container ships on each leg of each ship route in a liner shipping network while considering transshipment and container routing. Previous literature on the speed optimization problem can also be found in the airline industry such as Lovegren and Hansman [13], Jensen et al. [14], and Aktürk et al. [15].Our study stems from the ship speed optimization problem to minimize total fuel consumption with hard time windows studied by Fagerholt et al. [16], Norstad et al. [17], Hvattum et al. [18], Kim et al. [2], and Zhang et al. [19]. Fagerholt et al. [16] formulate the problem as a nonlinear programming model and propose a heuristic algorithm by discretizing the time window and reformulating the problem as the shortest path model. Norstad et al. [17] develop a recursive smoothing algorithm (RSA) for speed optimization and present a multistart local search heuristic for the tramp ship routing and scheduling problem with speed optimization. Hvattum et al. [18] prove that the RSA of Norstad et al. [17] guarantees optimality. Kim et al. [2] also propose an exact algorithm for the ship speed optimization problem. Zhang et al. [19] establish the optimality properties for the problem. Although the suggested algorithms and properties are very efficient for the problem with a single time window constraint, they cannot handle multiple time windows which are common in maritime transportation.In this study, we extend the studies of Hvattum et al. [18] and Kim et al. [2] to solve a more general ship speed optimization problem with multiple time window constraints. The remainder of this paper is organized as follows: the next section presents a mathematical formulation of the problem with a small example problem. In Section 3, we derive optimality properties of the problem. We present an exact algorithm based on the optimality properties in Section 4. Section 5 reports the computational test results on randomly generated test instances followed by concluding remarks in the last section.


## 2. Problem Description

The notations used throughout the paper are shown in the Notations.The daily fuel consumption functionf
(
v
) can be approximated by a well-known cubic function of speed as f
(
v
)
=
c
·
v
3, where c is a factor of converting speed to the fuel consumption [1]. Then, the total amount of fuel consumption of a vessel sailing from port i to port i
+
1 can be expressed as(1)
f
v
i
,
i
+
1
·
d
i
,
i
+
1
v
i
,
i
+
1
=
c
·
d
i
,
i
+
1
·
v
i
,
i
+
1
2
.Using (1), the considered problem can be formulated as the following nonlinear mixed integer programming model. We set t
1
=
0 since port 1 is the start port.(2)
P
m
i
n
i
m
i
z
e
Z
=
c
·
∑
i
=
1
n
-
1
d
i
,
i
+
1
·
v
i
,
i
+
1
2
(3)
s
u
b
j
e
c
t
t
o
t
i
+
p
i
+
d
i
,
i
+
1
v
i
,
i
+
1
≤
t
i
+
1
for
i
=
1,2
,
…
,
n
-
1
(4)
∑
j
=
1
m
i
z
i
j
=
1
for
i
=
2
,
…
,
n
(5)
∑
j
=
1
m
i
z
i
j
·
s
i
j
≤
t
i
≤
∑
j
=
1
m
i
z
i
j
·
e
i
j
for
i
=
2
,
…
,
n
(6)
v
m
i
n
≤
v
i
,
i
+
1
≤
v
m
a
x
for
i
=
1,2
,
…
,
n
-
1
(7)
t
i
≥
0
for
i
=
1
,
…
,
n
(8)
z
i
j
∈
0,1
for
i
=
2
,
…
,
n
,
j
=
1
,
…
,
m
i
.Objective function (2) expresses the total amount of fuel consumption of the ship. Constraint (3) ensures that cargo service at each port starts after the ship arrives at the port. Constraints (4) and (5) ensure that the start time of cargo services lies in exactly one of the time windows at each port. Constraint (6) represents that the ship speed on a leg is bounded by its allowable minimum and maximum speeds. Constraints (7) and (8) specify feasible ranges of decision variables.A small example with four ports is used throughout the paper to help readers understand the problem and suggested properties and algorithm. In the example,c
=
0.01, v
m
i
n
=
10, v
m
a
x
=
20, and cargo service time is assumed to be zero at all ports. Figure 1 depicts time windows at ports, distances between ports, and a feasible solution of the example. In the feasible solution, v
1,2
=
13.33, v
2,3
=
20.00, and v
3,4
=
13.33.Figure 1
Multiple time windows, distance between ports, and feasible arrival time of the ship at each port for the four-port example.


## 3. Optimality Properties

We define anouter time window at a port as a single time window that covers all time windows at the port. Let [
s
i
,
e
i
] be the outer time window at port i. Then, we have [
s
i
,
e
i
]
=
[
s
i
1
,
e
i
m
i
]. Using the time window reduction method of Kim et al. [2], we can reduce the size of the outer time window at each port as much as possible without affecting the feasible region of the problem. In the method, the size of the outer time window at a port is reduced by increasing the start time of the outer time window to the earliest possible time at which the ship can arrive at the port, while decreasing the end time of the outer time window to the latest possible time at which the ship can arrive. In the remainder of this paper, we assume that [
s
i
,
e
i
] was already reduced using the time window reduction method of Kim et al. [2]. Then, the jth time window at port i, [
s
i
j
,
e
i
j
], can be updated as follows for i
=
2
,
…
,
n and j
=
1
,
…
,
m
i.(i)
Ifs
i
>
e
i
j or e
i
<
s
i
j, the jth time widow of port i is no longer valid; thus it is eliminated.
(ii)
Ifs
i
j
<
s
i
≤
e
i
j, let s
i
j
←
s
i.
(iii)
Ifs
i
j
<
e
i
≤
e
i
j, let e
i
j
←
e
i.In the remainder of this paper, we assume that [
s
i
j
,
e
i
j
] and m
i were already updated. In the four-port example, time windows at each port cannot be reduced any longer.Proposition 1.
An optimal value oft
n, t
n
∗
=
e
n.Proof.
We refer readers to Proposition  4 of Kim et al. [2].Proposition 2.
If the time window constraints and the ship speed limits are relaxed, the optimal ship speed,v
R, is a constant along the entire route and obtained as v
R
=
∑
i
=
1
n
-
1
d
i
,
i
+
1
/
(
t
n
∗
-
∑
i
=
1
n
-
1
p
i
).Proof.
We refer readers to Proposition  1 of Hvattum et al. [18] and Proposition  5 of Kim et al. [2].Lett
i
R be the time at which service starts at port i and Ψ be a set of ports at which start time of service is not within any of the ports’ time windows, when the ship sails at a constant speed v
R. If i
∈
Ψ, then t
i
R
<
s
i
1 or e
i
j
<
t
i
R
<
s
i
j
+
1 for 1
≤
j
<
m
i or t
i
R
>
e
i
m
i. For i
∈
Ψ, we define left and right time gaps of infeasibility at port i, denoted by Δ
i
L and Δ
i
R, respectively, as follows.Ift
i
R
<
s
i
1, Δ
i
R
=
s
i
1
-
t
i
R and Δ
i
L does not exist.
Ife
i
j
<
t
i
R
<
s
i
j
+
1 for 1
≤
j
<
m
i, Δ
i
L
=
t
i
R
-
e
i
j and Δ
i
R
=
s
i
j
+
1
-
t
i
R.
Ift
i
R
>
e
i
m
i, Δ
i
L
=
t
i
R
-
e
i
m
i and Δ
i
R does not exist.Proposition 3.
IfΨ
=
⌀, v
R is an optimal ship speed throughout the entire route.Proof.
According to Proposition2, it is obvious.Proposition 4.
IfΨ
≠
⌀, there exists at least one port (say port k) in Ψ for which max
⁡
(
Δ
k
L
,
Δ
k
R
)
≥
min
⁡
(
Δ
i
L
,
Δ
i
R
) for all i
∈
Ψ and an optimal value of t
k, denoted by t
k
∗, is obtained as follows: (9)
t
k
∗
=
s
k
1
,
i
f
t
k
R
<
s
k
1
,
e
k
j
o
r
s
k
j
+
1
,
i
f
e
k
j
<
t
k
R
<
s
k
j
+
1
,
w
h
e
r
e
1
≤
j
<
m
k
,
e
k
m
k
,
i
f
t
k
R
>
e
k
m
k
.Proof.
Ift
i
R
<
s
i
1 or t
i
R
>
e
i
m
i (i.e., the outer time window is violated at port i), it is clear that the time window violation should be adjusted by moving t
i to the right or left, respectively. On the other hand, if e
i
j
<
t
i
R
<
s
i
j
+
1 (i.e., the inner time window is violated at port i), there exist two possible directions of violation adjustment, that is, left or right. If e
i
j
<
t
i
R
<
s
i
j
+
1, we assume that t
i
∗
≤
e
i
j or t
i
∗
≥
s
i
j
+
1 arbitrarily. Let Y be the total number of ports at which inner time windows are violated. Then, there exist total 2
Y possible cases to consider. For each case, we define a time gap of infeasibility at port i, denoted by Δ
i, for all i
∈
Ψ as follows.Ift
i
R
<
s
i
1, Δ
i
=
Δ
i
R
=
s
i
1
-
t
i
R.
Ife
i
j
<
t
i
R
<
s
i
j
+
1 and t
i
∗
≤
e
i
j, Δ
i
=
Δ
i
L
=
t
i
R
-
e
i
j, where 1
≤
j
<
m
i.
Ife
i
j
<
t
i
R
<
s
i
j
+
1 and t
i
∗
≥
s
i
j
+
1, Δ
i
=
Δ
i
R
=
s
i
j
+
1
-
t
i
R, where 1
≤
j
<
m
i.
Ift
i
R
>
e
i
m
i, Δ
i
=
Δ
i
L
=
t
i
R
-
e
i
m
i
.If t
i
∗
≤
e
i
j and e
i
j
<
t
i
R
<
s
i
j
+
1, it means that the violation should be adjusted to the left, while the violation should be adjusted to the right if t
i
∗
≥
s
i
j
+
1. Since it is known whether t
i
∗
≤
e
i
j or t
i
∗
≥
s
i
j
+
1 if e
i
j
<
t
i
R
<
s
i
j
+
1 in each of the 2
Y cases, violation adjustment direction is also determined for all violations in each case. This means that the inner time window violation can be treated as the outer time window violation in each of the 2
Y cases. According to Propositions  2 and 3 of Hvattum et al. [18], the (outer) time window constraint with the largest violation should be binding. Let k
=
arg
⁡
max
i
∈
Ψ
⁡
(
Δ
i
). Then, Δ
k
≥
min
⁡
Δ
i
L
,
Δ
i
R for all i
∈
Ψ. By applying Propositions  2 and 3 of Hvattum et al. [18] to each of the 2
Y cases, we have (10)
t
k
∗
=
s
k
1
,
i
f
t
k
R
<
s
k
1
,
e
k
j
,
i
f
e
k
j
<
t
k
R
<
s
k
j
+
1
,
t
k
∗
≤
e
k
j
,
w
h
e
r
e
1
≤
j
<
m
k
,
s
k
j
+
1
,
i
f
e
k
j
<
t
k
R
<
s
k
j
+
1
,
t
k
∗
≥
s
k
j
+
1
,
w
h
e
r
e
1
≤
j
<
m
k
,
e
k
m
k
,
i
f
t
k
R
>
e
k
m
k
.An optimal solution belongs to one of the 2
Y cases and max
⁡
(
Δ
k
L
,
Δ
k
R
)
≥
Δ
k in any case. Therefore, there exists at least one port k for which max
⁡
(
Δ
k
L
,
Δ
k
R
)
≥
min
⁡
(
Δ
i
L
,
Δ
i
R
) for all i
∈
Ψ and(11)
t
k
∗
=
s
k
1
,
i
f
t
k
R
<
s
k
1
,
e
k
j
o
r
s
k
j
+
1
,
i
f
e
k
j
<
t
k
R
<
s
k
j
+
1
,
w
h
e
r
e
1
≤
j
<
m
k
,
e
k
m
k
,
i
f
t
k
R
>
e
k
m
k
.In the four-port example,t
4
∗
=
1000 and v
R
=
15. Since t
2
R
=
266.7, t
3
R
=
600, and t
4
R
=
1000, we have Ψ
=
{
2,3
} and Δ
2
L
=
16.7, Δ
2
R
=
33.3 (as shown in Figure 2), Δ
3
L
=
50, and Δ
3
R
=
100. According to Proposition 4, t
3
∗
=
550 or 700. Note that t
2
∗
=
250 or 300 is not ensured because max
⁡
(
Δ
2
L
,
Δ
2
R
)
<
min
⁡
(
Δ
3
L
,
Δ
3
R
).Figure 2
Occurrence of left and right time gaps of infeasibility at port 2 resulting from the constant ship speedv
R in the four-port example.


## 4. An Exact Algorithm

Based on the proposed propositions, we develop a recursive partitioning algorithm (RPA) to find an optimal solution for [P]. The RPA is an extension of the RSA of Norstad et al. [17] and Hvattum et al. [18]. The basic idea of the algorithm is to maintain a constant ship speed throughout the entire route as best as possible and divide the ship route into two subroutes recursively if start time of service is not within any of the ports’ time windows by fixing start time of service at one of its optimal candidates obtained by Proposition 4. In the algorithm, all possible optimal partitions are evaluated and the best one is selected. Pseudocode of the RPA is given as shown in Algorithm 1.Algorithm 1
R
P
A
(
s
,
e
,
s
s
,
e
e
)
(1)v
R
←
∑
i
=
s
e
-
1
d
i
,
i
+
1
/
(
e
e
-
s
s
-
∑
i
=
1
e
-
1
p
i
)
(2)   fori
←
s to e
-
1
(3)v
i
,
i
+
1
←
v
R
(4)   fori
←
s
+
1 to e
(5)t
i
←
t
i
-
1
+
p
i
-
1
+
d
i
-
1
,
i
/
v
i
-
1
,
i
(6)Ψ
←
⌀
(7)  fori
←
s to e
(8)   if there does not exist anyj such that s
i
j
≤
t
i
≤
e
i
j for all j
(9)Ψ
←
Ψ
∪
{
i
}
(10)  ifΨ
=
⌀
(11)    total fuel consumption←
0
(12)    fori
←
s to e
-
1
(13)Z
←
Z
+
c
⋅
d
i
,
i
+
1
⋅
v
i
,
i
+
1
2
(14)    return(Z)
(15)  ifΨ
≠
⌀
(16)m
i
n
←
∞
(17)    fori
∈
Ψ
(18)    ift
i
<
s
i
1
(19)Δ
i
L
←
0 and Δ
i
R
←
s
i
1
-
t
i
(20)    else ift
i
>
e
i
m
i
(21)Δ
i
L
←
t
i
-
e
i
m
i and Δ
i
R
←
0
(22)    else
(23)Δ
i
L
←
t
i
-
e
i
j and Δ
i
R
←
s
i
j
+
1
-
t
i
(24)   fork
∈
Ψ
(25)    ifm
a
x
(
Δ
k
L
,
Δ
k
R
)
≥
m
i
n
(
Δ
i
L
,
Δ
i
R
) for all i
∈
Ψ
(26)      ift
k
<
s
k
1
(27)t
k
←
s
k
1 and Partition(s
,
k
,
e
,
t
k)
(28)      else ift
k
>
e
k
m
k
(29)t
k
←
e
k
m
k and Partition(s
,
k
,
e
,
t
k)
(30)      else
(31)        forh
←
1 to 2
(32)           ifh
=
1
(33)t
k
←
e
k
j and Partition(s
,
k
,
e
,
t
k)
(34)           else
(35)t
k
←
s
k
j
+
1 and Partition(s
,
k
,
e
,
t
k)
(36)   fori
←
s to e
-
1
(37)v
i
,
i
+
1
←
v
i
,
i
+
1
m
i
n
(38)   fori
←
s
+
1 to e
(39)t
i
←
t
i
-
1
+
p
i
-
1
+
d
i
-
1
,
i
/
v
i
-
1
,
i
(40)   return(min)
Partition(
s
,
k
,
e
,
t
k
)
(41)Z
←
R
P
A
(
s
,
k
,
s
s
,
t
k
)
+
R
P
A
(
k
,
e
,
t
k
,
e
e
)
(42) if(
Z
<
m
i
n
)
(43)m
i
n
←
Z
(44)   fori
←
s to e
-
1
(45)v
i
,
i
+
1
m
i
n
=
v
i
,
i
+
1The RPA can be seen as a tree search algorithm as the RSA of Norstad et al. [17] in that it recursively partitions the problem into two subproblems at each node. In the RSA, the way of optimally partitioning the problem is unique in each node; that is, the problem is divided into two subproblems by binding the largest violation, while possible candidates of optimal partitioning are up to 2
Ψ for the RPA in each node. Since Ψ
≤
n
-
2
-
i in level i, where i
=
0,1
,
…
,
n
-
2, the total number of possible ways of partitioning is up to 2
n
-
2
(
n
-
2
)
!. According to Hvattum et al. [18], the RSA, a one-way partitioning algorithm, has the worst-case running time of O
(
n
2
). The worst-case running time of the RPA is 2
n
-
2
(
n
-
2
)
! times that of the RSA. Therefore, the RPA has the worst-case running time of O
(
n
!
). Although the RPA has a very bad worst-case performance, it is expected to perform well in practice because Ψ is usually much less than n in each level (especially in high levels) and furthermore we only need to consider k
∈
Ψ, where max
⁡
(
Δ
k
L
,
Δ
k
R
)
≥
min
⁡
(
Δ
i
L
,
Δ
i
R
) according to Proposition 4, which is validated through computational experiments in the next section.For the four-port example,R
P
A
(
1,4
,
0,1000
) is executed at first to obtain v
R
=
15 in line (1), t
2
=
266.7, t
3
=
600, and t
4
=
1000 in lines (4)~(5). Since e
2
1 (=250) <
t
2
<
s
2
2 (=300) and e
3
1 (=550) <
t
3
<
s
3
2 (=700), we obtain Ψ
=
{
2,3
} in lines (7)~(9), and Δ
2
L
=
16.7, Δ
2
R
=
33.3, Δ
3
L
=
50, and Δ
3
R
=
100 in lines (17)~(23). Since m
a
x
(
Δ
2
L
,
Δ
2
R
)
<
min
⁡
(
Δ
3
L
,
Δ
3
R
), P
a
r
t
i
t
i
o
n
(
·
) is not executed for k
=
2 in line (25). For k
=
3, P
a
r
t
i
t
i
o
n
(
1,3
,
4,550
) is executed in line (33) and R
P
A
(
1,3
,
0,550
) and R
P
A
(
3,4
,
550,1000
) are recursively called in line (41). In R
P
A
(
1,3
,
0,550
), v
R
=
v
1,2
=
v
2,3
=
16.36, t
2
=
266.7, t
3
=
550, and Ψ
=
⌀. R
P
A
(
1,3
,
0,550
) returns 24,099.2 in line (14). In R
P
A
(
3,4
,
550,1000
), v
R
=
v
3,4
=
13.33, t
3
=
550, t
4
=
1000, and Ψ
=
⌀. R
P
A
(
3,4
,
550,1000
) returns 10,666.6. Then, P
a
r
t
i
t
i
o
n
(
1,3
,
4,550
) has Z of 34,765.8 in line (41) and the variables min and v
i
,
i
+
1
m
i
ns are updated in lines (42)~(45). On the other hand, P
a
r
t
i
t
i
o
n
(
1,3
,
4,700
) is executed in line (35) and has Z of 38,877.6 after executing R
P
A
(
1,3
,
0,700
) and R
P
A
(
3,4
,
700,1000
). In P
a
r
t
i
t
i
o
n
(
1,3
,
4,700
), min and v
i
,
i
+
1
m
i
n are not updated since Z (=38,877.6) is greater than min (=34,765.8). Lastly, R
P
A
(
1,4
,
0,1000
) obtains an optimal solution in which v
1,2
=
16.36, v
2,3
=
16.36, v
3,4
=
13.33, t
2
=
244.50, t
3
=
550, and t
4
=
1000 in lines (36)~(39) and returns the objective function value of the optimal solution (=34,765.8) in line (40).


## 5. Computational Experiments

To test performance of the RPA, 25 test instances were randomly generated. We modified the problem generation method of Kim et al. [2] to generate the test instances. In our method, parameters of the test instances were set as follows:(1)
The number of ports in the route,n, is set to five levels: 10, 20, 30, 40, and 50. (Very large-sized problem instances are included in the test set to gain deeper insights into the performance of the suggested algorithm although the number of port calls is usually less than 20 in the maritime industry.)
(2)
The maximum number of time windows (MNTW) at each port is set to five levels: 2, 4, 6, 8, and 10. (At each port, the number of time windows is between 1 and MNTW.)
(3)
v
m
i
n and v
m
a
x are set to 12 knots and 25 knots, respectively.
(4)
d
i
,
i
+
1 is randomly generated between 500 and 2,000 nautical miles for 1
≤
i
≤
n
-
1, corresponding to about 1~11 sailing days when sailing at 18.5 knots.
(5)
The factor of converting speed to the fuel consumption,c, is set to 0.02.
(6)
The outer time window size of porti, e
i
m
i
-
s
i
1, is set to 120 hours for all i.
(7)
p
i
~
U
(
24,48
), where U
(
a
,
b
) is a randomly generated real value using a uniform distribution from a to b.
(8)
s
i
=
s
i
-
1
+
p
i
-
1
+
d
i
-
1
,
i
/
v
m
a
x and e
i
=
s
i
+
120 for all i
≥
2, where s
1
=
e
1
=
1.
(9)
s
i
1
=
s
i and s
i
j
=
e
i
j
-
1
+
a
i
/
(
m
i
-
1
) for all i and j
≥
2, where a
i
=
120
/
(
m
i
+
1
).
(10)
Ifm
i
=
1, e
i
1
=
e
i. Otherwise, e
i
j
=
s
i
j
+
a
i for all i and j.The RPA was run on a PC with an Intel i5 CPU at 3.3 GHz. Table1 shows CPU time required by the algorithm and the total number of recursive calls in the algorithm to find an optimal solution for each instance. The RPA was very fast; it required only 0.98 seconds on the average even for the largest-sized instances. The CPU time was affected by the number of ports but not by the MNTW. This is because the CPU time is directly related to the total number of recursive calls of R
P
A
(
·
) which is again related to Ψ, the number of ports at which start time of service is not within any of the ports’ time windows when the ship sails at a constant speed v
R.Table 1
CPU time and the total number of recursive calls required for the RPA to find optimal solutions.
MNTW
n
=
10
n
=
20
n
=
30
n
=
40
n
=
50
2
0.000
†
(
5
)
‡
0.000 (155)
0.015 (3861)
0.047 (24374)
0.670 (410026)
4
0.000 (86)
0.000 (575)
0.016 (9728)
0.063 (51727)
3.994 (2584703)
6
0.000 (37)
0.000 (186)
0.000 (2464)
0.063 (49175)
0.156 (101315)
8
0.000 (13)
0.000 (456)
0.000 (707)
0.047 (20931)
0.047 (21799)
10
0.000 (15)
0.000 (302)
0.015 (9255)
0.016 (7344)
0.031 (15801)
†: the CPU time (seconds).
‡: the total number of recursive calls.


## 6. Concluding Remarks

In this study, we suggest a nonlinear mixed integer programming model for the ship speed optimization problem with multiple time windows. We extend existing literature to derive optimality properties and develop an exact algorithm for the problem. Computational experiments show that the suggested algorithm is very fast in finding optimal solutions even for very large-sized problem instances. The suggested algorithm itself can be used to determine the economic ship speed and as a subroutine in the ship routing and scheduling algorithms in the shipping industry.



---

*Source: 3130291-2016-10-30.xml*