2.3. Integer programming formulation
We now present the integer programming formulation for the
PRP. The model works with a discretized speed function defined
by R non-decreasing speed levels
v
r
ðr ¼ 1; ...; RÞ. Binary variables
x
ij
are equal to 1 if and only if arc (i, j) appears in solution. Contin-
uous variables f
ij
represent the total amount of flow on each arc
ði; jÞ2A. Continuous variables y
j
represent the time at which ser-
vice starts at node j 2N
0
. Moreover, s
j
represents the total time
spent on a route that has a node j 2N
0
as last visited before
returning to the depot. Finally, binary variables z
r
ij
indicate whether
or not arc ði; jÞ2Ais traversed at a speed level r. An integer linear
programming formulation of the PRP is shown below:
Minimize
X
ði;jÞ2A
kNVkd
ij
X
R
r¼1
z
r
ij
=
v
r
ð7Þ
þ
X
ði;jÞ2A
w
c
k
a
ij
d
ij
x
ij
ð8Þ
þ
X
ði;jÞ2A
c
k
a
ij
d
ij
f
ij
ð9Þ
þ
X
ði;jÞ2A
b
c
kd
ij
X
R
r¼1
z
r
ij
ð
v
r
Þ
2
ð10Þ
þ
X
j2N
0
f
d
s
j
ð11Þ
subject to
X
j2N
x
0j
¼ m ð12Þ
X
j2N
x
ij
¼ 1 8i 2N
0
ð13Þ
X
i2N
x
ij
¼ 1 8j 2N
0
ð14Þ
X
j2N
f
ji
X
j2N
f
ij
¼ q
i
8i 2N
0
ð15Þ
q
j
x
ij
6 f
ij
6 ðQ q
i
Þx
ij
8ði; jÞ2A ð16Þ
y
i
y
j
þ t
i
þ
X
r2R
d
ij
z
r
ij
=
v
r
6 K
ij
ð1 x
ij
Þ 8i 2N;
j 2N
0
; i – j ð17Þ
a
i
6 y
i
6 b
i
8i 2N
0
ð18Þ
y
j
þ t
j
s
j
þ
X
r2R
d
j0
z
r
j0
=
v
r
6 Lð1 x
j0
Þ 8j 2N
0
ð19Þ
X
R
r¼1
z
r
ij
¼ x
ij
8ði; jÞ2A ð20Þ
x
ij
2f0; 1g 8ði; jÞ2A ð21Þ
f
ij
P 0 8ði; jÞ2A ð22Þ
y
i
P 0 8i 2N
0
ð23Þ
z
r
ij
2f0; 1g 8ði; jÞ2A; r ¼ 1; ...; R: ð24Þ
This mathematical formulation of the PRP presented here is an
extension of the one presented in Bektasß and Laporte (2011) to take
into account for speeds 40 kilometer/hour or lower through the
term (7) of the objective function. The objective function (7)–(10)
is derived from (6). The terms (8) and (9) calculate the cost incurred
by the vehicle curb weight and payload. Finally, the term (11)
measures the total driver wages.
Constraints (12) state that each vehicle must leave the the
depot. Constraints (13) and (14) are the degree constraints which
ensure that each customer is visited exactly once. Constraints
(15) and (16) define the arc flows. Constraints (17)–(19), where
K
ij
= max{0, b
i
+ s
i
+ d
ij
/l
ij
a
j
}, and L is a large number, enforce
the time window restrictions. Constraints (20) ensure that only
one speed level is selected for each arc and z
r
ij
¼ 1ifx
ij
=1.
The PRP is NP-hard since it is an extension of the classical
Vehicle Routing Problem (VRP). Bektasß and Laporte (2011) have
shown that a simplified version of this problem cannot be solved
optimally for mid-size instances. For this reason, we have
developed a heuristic to obtain good-quality solutions within short
computational times.
3. An adaptive large neighborhood heuristic algorithm for the
PRP
Our heuristic operates in two stages. In the first stage, it solves a
VRPTW using an ALNS heuristic with operators partly borrowed
from the literature. This metaheuristic is an extension of the Large
Neighborhood Search (LNS) heuristic first proposed by Shaw
(1998), and based on the idea of gradually improving an initial
solution by using both destroy and repair operators. In other
words, LNS consists of a series of removal and insertion moves. If
the new solution is better than the current best solution, it replaces
it and use as an input to the next iteration. The LNS heuristic can be
embedded within any local search heuristic such as simulated
annealing or tabu search.
In the second stage, a speed optimization algorithm (SOA) is run
on the resulting VRPTW solution. Given a vehicle route, the SOA
consists of finding the optimal speed on each arc of the route in or-
der to minimize an objective function comprising fuel consump-
tion costs and driver wages.
The proposed algorithm is designed as an iterative process
whereby the ALNS uses fixed speeds as inputs to the VRPTW, fol-
lowing which the SOA is run on each route to improve the solution.
3.1. Adaptive large neighborhood search
The ALNS heuristic framework was put forward by Pisinger and
Ropke (2005), Ropke and Pisinger (2006a), Pisinger and Ropke
(2007) to solve variants of the vehicle routing problem. Rather than
using one large neighborhood as in LNS, it applies several removal
and insertion operators to a given solution. The neighborhood of a
solution is obtained by removing some customers from the solu-
tion and reinserting them as in Milthers (2009). The removal and
insertion operators are selected dynamically according to their
past performance. To this end, each operator is assigned a score
which is increased whenever it improves the current solution.
The new solution is accepted if it satisfies some criteria defined
by the local search framework (e.g., simulated annealing) applied
at the outer level. The main features of the ALNS algorithm will
be described in detail below.
3.1.1. Initialization
Several heuristic methods can be used to quickly obtain a feasi-
ble solution for the VRP. Cordeau et al. (2002) have analyzed and re-
viewed some of the classical heuristics based on four different
criteria: accuracy, speed, simplicity, and flexibility. This comparison
shows that the Clarke and Wright (1964) heuristic has the distinct
advantage of being very quick and simple to implement. We have
therefore used it in our algorithm to obtain an initial solution. It
is noteworthy that while additional constraints incorporated into
the CW heuristic ‘‘usually results in a sharp deterioration’’ (Cordeau
et al., 2002), the quality of the initial solution is not so important
since as a rule ALNS can easily recover from a poor initial solution.
This algorithm was implemented while maintaining the feasibility
of capacity and time window constraints.
3.1.2. Adaptive weight adjustment procedure
The selection of the removal and insertion operators is regu-
lated by a roulette-wheel mechanism. Initially, all removal or
348 E. Demir et al. / European Journal of Operational Research 223 (2012) 346–359