Vehicle routing with time windows: An overview of exact, heuristic and metaheuristic methods
Journal of King Saud University (Science) (2010) 22, 123–131
King Saud University
Journal of King Saud University
(Science)
www.ksu.edu.sa
www.sciencedirect.com
ORIGINAL ARTICLE
Vehicle routing with time windows: An overview
of exact, heuristic and metaheuristic methods
Nasser A. El-Sherbeny
Mathematics Department, Faculty of Science, Al-Azhar University, Nasr City 11884, Cairo, Egypt
Received 1 July 2009; accepted 27 March 2010
Available online 7 April 2010
E-
10
re
do
KEYWORDS
VRPTW;
Exact methods;
Heuristic;
Metaheuristic
mail address: nasserelsherben
18-3647 ª 2010 King Saud
view under responsibility of
i:10.1016/j.jksus.2010.03.002
Production and h
y@yaho
Univers
King Sau
osting by E
Abstract In this paper, we present a review with some limited of exacts, heuristics and metaheu-
ristics methods for the vehicle routing problem time windows (VRPTW). Over the past 20 years
vehicle routing problem with time windows has been an area of research that has attracted many
researchers. In this period a number of papers have been published on the exact, heuristics and
metaheursitics methods of the routing problem with time windows. This problem has model char-
acter in many branches of mathematics, computer science, and operations research. Metaheuristics
support managers in decision-making with robust that provide high-quality solutions to important
applications in business, engineering, economic and science in reasonable time horizons.
ª 2010 King Saud University. All rights reserved.
1. Introduction
The vehicle routing problem with time windows is an extension
of the well-known vehicle routing problem (Crainic and
Laporte, 2000; Toth and Vigo, 2002). The problems are often
more simple than real-life problems. But even though a
number of real-life constraints are left out the research models
typically model the basic properties and thereby provide the
core results used in the analysis and implementation of systems
in real-life problems. One of the best-known routing problem
o.com
ity. All rights reserved. Peer-
d University.
lsevier
is at the same times the simplest one namely the travelling
salesman problem (TSP). A number of cities have to be visited
by a salesman who must return to the same city where he
started. The route has to be constructed in order to minimize
the distance to be travelled. The vehicle routing problem
(VRP) is the m-TSP where a demand is associated with each
city, and vehicle has a certain capacity.
If we add a time window to each customer we get the vehi-
cle routing problem with time windows. In addition to the
capacity constraint, a vehicle now has to visit a customer with-
in a certain time frame. The vehicle may arrive before the time
window opens but the customer cannot be serviced until the
time windows open. It is not allowed to arrive after the time
window has closed. According to Lenstra and Rinnooy
(1981) the VRP and VRPTW belong to the class of the NP-
hard combinatorial optimization problems.
Many decision problems in business and economics, nota-
bly including those in manufacturing, location, routing and
scheduling may be formulated as optimization problems.
Typically these problems are too difficult to be solved exactly
mailto:nasserelsherbeny@yahoo.com
http://dx.doi.org/10.1016/j.jksus.2010.03.002
http://www.sciencedirect.com/science/journal/10183647
124 N.A. El-Sherbeny
within a reasonable amount of time and heuristics become the
methods of choice. In cases where simply obtaining a feasible
solution is not satisfactory, but where the quality of solution
is critical, it becomes important to investigate efficient proce-
dures to obtain the best possible solutions within time limits
deemed practical.
Often the number of customers combined with the com-
plexity of real-life data does not permit solving the problem ex-
actly. In these situations one can apply approximation
algorithms or heuristics. Both approximation algorithm and
heuristics produce are feasible but not necessarily optimal
solution. Whereas a worst-case deviation is known for approx-
imation algorithms nothing a priori is known for heuristics,
but typically they can tuned to perform very well. The be suc-
cess of metaheuristics, simulated annealing, tabu search, genet-
ic algorithms on hard single and multi-objective vehicle
routing problem with time windows is well recognized today
(Tuyttens et al., 2004).
In El-Sherbeny (2001), the vehicle routing problem with
time windows has been solved with a multi-objective simulated
annealing (MOSA) method. Three categories of objectives are
discussed: concerning the vehicle used (number of vehicles,
number of covered/uncovered vehicles), concerning time (total
duration of the routes, the homogeneity of the duration of the
routes, working time not used, total waiting times due to time-
windows constraints), and concerning the flexible duration of
the routes (longer duration of the routes is preference).
In this paper we present a review with some limited of
exacts, heuristics and metaheuristics methods for the vehicle
routing problem with time windows. The paper is organized
as follows. In Section 2, we provide the basic definition and
some generalizations of the vehicle routing problem with time
windows. In Section 3, we briefly discuss some issues related
to the exact methods for the VRPTW. In Section 4, the non-ex-
act methods for the VRPTW will be reviewed. In Section 5, we
review the modified of the routing problem with the artificial
intelligence. In Section 6, cover of some methods of metaheuris-
tics, simulated annealing, tabu search and genetic algorithms.
2. The vehicle routing problem with time windows
The VRPTW is an important generalization of the VRP and a
basic distribution management problem that can be model
many real-world problems and which are consists of designing
a set of minimum cost routes, originating and terminating at a
central depot, for a fleet of vehicles which services a set of cus-
tomers with known demands. The customers must be assigned
exactly once to vehicles such that the vehicle capacities are not
exceeded. The service at a customer must begin within the time
window defined by earliest time and the latest time when the
customer permits the start of service. Some of the more useful
applications of the VRPTW include bank deliveries, postal
deliveries, industrial refuse collection, national franchise res-
taurant deliveries, and school bus routing and security patrol
services.
2.1. Mathematical model of the VRPTW
The VRPTW is given by a fleet of homogeneous vehicles de-
noted by V, a set of customers C and a directed graph
G= (V, C). The graph consists of |C| + 2 vertices, where
the customers are denoted 1, 2, . . ., n and the depot is repre-
sented by the vertex 0 (the driving-out depot) and n+ 1 (the
returning depot).
The VRPTW has multiple objectives in that the goal is to
minimize not only the number of vehicles required, but also
the total travel time, waiting time, and total travel distance in-
curred by the fleet of vehicles. The set of arcs denoted by A
represents connections between the depot and the customers
and among the customers. No arc terminates in vertex 0,
and no arc originates from vertex n + 1. With each arc (i, j),
where i „ j, we associate a cost cij and a time tij, which may in-
clude service time at customer i.
Each vehicle has a capacity q and each customer i a demand
di. Each customer i has a time window [ai, bi]. A vehicle must
arrive at the customer before bi. It can arrive before ai but the
customer will not be serviced before. The depot also has a time
window [a0, b0]. Vehicles may not leave the depot before a0 and
must be back before or at time bn+1.
It is assumed that q, ai, bi, di, cij are non-negative integers,
while the tij are assumed to be positive integers. It is assumed
that the triangular inequality is satisfied for both the cij and
the tij. The model contains two sets of decision variables xijk
and sik. For each arc (i, j), where i – j, i – nþ 1, j – 0, and
each vehicle k we define xijk = 1, if and only if the optimal
solution, arc (i, j) is traversed by vehicle k and equal 0,
otherwise.
The decision variable sik is defined for each vertex i and
each vehicle k and denotes the time vehicle k starts to service
customer i. In case the given vehicle k does not service cus-
tomer i, sik does not mean anything. We assume a0 = 0 and
therefore s0k = 0, for all k. We want to design a set of minimal
cost routes, one for each vehicle, such that each customer is
visited exactly once, are every route originates at vertex 0
and ends at vertex n + 1, and the time windows and capacity
constraints observed. We can state the VRPTW mathemati-
cally as follows:
min
X
k2V
X
i2N
X
j2N
cijxijk ð2:1Þ
subject to;
X
k2V
X
j2N
xijk ¼ 1 8i 2 C ð2:2Þ
X
i2C
di
X
j2N
xijk 6 q 8k 2 V ð2:3Þ
X
j2N
x0jk ¼ 1; 8k 2 V ð2:4Þ
X
i2N
xihk �
X
j2N
xhjk ¼ 0; 8h 2 C; 8k 2 V ð2:5Þ
X
i2N
xi;nþ1;k ¼ 1; 8k 2 V ð2:6Þ
sik þ tij � Kð1� xijkÞ 6 sjk; 8i; j 2 N; 8k 2 V ð2:7Þ
ai 6 sik 6 bi; 8i 2 N; 8k 2 V ð2:8Þ
xijk 2 f0; 1g; 8i; j 2 N; 8k 2 V ð2:9Þ
The constraints (2.2) states that each customer is visited ex-
actly ones, and (2.3) means that no vehicle is loaded with more
than its capacity allows it to. The next three equations (2.4),
(2.5), and (2.6) ensures that each vehicle leaves the depot 0,
after arriving at a customer the vehicle leaves again, and finally
arrives at the depot n + 1. The inequalities (2.7) states that a
vehicle k cannot arrive at j before sik + tij if it is travelling from
Vehicle routing with time windows: An overview of exact, heuristic and metaheuristic methods 125
i to j. Here K is a large scalar. Finally constraints (2.8) ensure
that time windows are observed, and (2.9) are the integrality
constraints. Note that an unused vehicle is modeled by driving
the empty route (0, n + 1).
2.2. Generalizations of the VRPTW
A number of additional constraints or properties of more
complex routing problems can be modelled using the
framework just developed. In this section we will briefly
discuss how to allow non-identical vehicles; work with more
than one depot, multi-compartment vehicles, the use of multiple
time windows or soft time windows, and pick-up and delivery.
2.2.1. Non-identical vehicles
Vehicles can be non-identical in several ways. The typical way
a heterogeneous fleet of vehicles are characterized by the
capacity, but it could also be different due to different arc costs
for each vehicle, different types (covering and non-covering)
vehicles, different travel times, time windows or other charac-
teristics (Tuyttens et al., 2004; El-Sherbeny, 2001; El-Sherbeny
and Tuyttens, 2001).
2.2.2. Multiple depots
In real-life problems there might be more than one depot.
The VRPTW can be used to model situations where multiple
depots exist. The customers are serviced by several depots,
each depot having their own fleet of vehicles (Lie and Sim-
chi-Levi, 1990; Desaulniers et al., 1997). Usually one assumes
that vehicles must return to the same depot as they started
form. In a relaxed form we only demand that the number
of vehicles arriving at the depot equals the number of vehi-
cles leaving it. In a further relaxation seldom used there
are no constraints on which depots the vehicles should return
to.
2.2.3. Multiple time windows
In the VRPTW each customers has one time window where the
service must take place. Allowing customers to have multiple
and disjoint time windows. A vehicle that arrives between
two time windows must wait until the beginning of the next
time window.
2.2.4. Multiple compartments
If the vehicles have two or more compartments the routing
problem is known as a Multiple Compartment VRPTW
(MCVRPTW). The use of multiple compartments is relevant,
when the vehicles transports several commodities which must
remain separated during transportation. An example is the dis-
tribution of oil products to service stations where the tank
trucks are divided into a number of compartments in order
to transport the different kinds of petrol.
In the same way we can extend the VRPTW model in han-
dle multi-dimension capacity constraints. In VRPTW the
capacity is one dimensional. This dimension can be the weight,
volume, value or pieces. However, the capacity constraints can
be multi-dimensional, for instance weight and volume in order
to be able to handle cases where many large boxes do not vio-
late the weight constraint but their volume is to large for one
vehicle, or the other way around.
2.2.5. Soft time windows
Sometimes a cost p(si) depending on the service time si of a cus-
tomer i is introduced in order to penalize arrivals that are fea-
sible but undesirable. The time window is then said to be soft,
if the cost is non-decreasing with time, i.e., s1i � s2i ) pðs1i Þ �
pðs2i Þ. The dominance criterion remains valid and the soft time
windows can be incorporated in our VRPTW (Koskosidis
et al., 1992). The case where the penalty function p() is a gen-
eral function is not efficiently solvable.
2.2.6. Pick-up and delivery
In VRPTW we either pick-up goods at the customers or goods
are delivered to the customers. In pick-up and delivery the vehi-
cles, can perform both tasks. In the simple Backhauling version
(VRPBTW) of pick-up and delivery the vehicles must be com-
pletely empty before the pick-up phase starts (Dumes et al.,
1991).
In this simple case the customers can be divided into two
classes of customers: a set of delivery customers and a set of
pick-up customers. Now by removing all arcs from pick-up
customers to delivery customers we ensure that it is not possi-
ble to service a delivery customer after a pick-up customer.
3. Exact methods for the VRPTW
The exact methods for the VRPTW can be classified into three
categories: lagrange relaxation-based methods, column genera-
tion and dynamic programming. Exact methods often perform
very poorly (in some cases taking days or more to find moder-
ately decent, let alone optimal, solutions even to fairly small
instances).
3.1. Lagrange relaxation-based methods
There are a number of papers using slightly different ap-
proaches. There is variable splitting followed by lagrange
relaxation, K-tree approach followed by lagrange relaxation
(Fisher et al., 1997; Holland, 1975, and in Kohl and Madsen
(1997) presented shortest path with side constraints approach
followed by lagrange relaxation. The relaxes of the constraints
ensuring that every customer is served exactly once, that is:
X
k2V
X
j2N
xijk ¼ 1; 8i 2 C
is relaxed and the objective function with the added penalty
term then becomes
min
X
k2V
X
i2N
X
j2N
ðcij� kjÞxijkþ
X
j2V
kj
Here kj is the lagrange multiplier associated with the con-
straint that ensures that customer j is serviced.
In Fisher et al. (1997) are presents an algorithm for solving
the VRPTW optimally where the problem is formulated as a
K-tree problem with degree 2K on the depot. A K-tree for a
graph containing n+ 1 vertices is a set of n + K edges span-
ning the graph. Informally, the VRPTW could be described
as finding a K-tree with degree 2K on the depot, degree 2 on
the customers and subject to time and capacity constraints.
A K-tree with degree 2K on the depot therefore becomes equal
to K routes.
126 N.A. El-Sherbeny
The problem is defined and all constraints except the con-
straints ensuring that at most one arc is joining customers i
and j are then lagrangian relaxed. The problem is then solved
with a minimum degree-constrained K-tree problem as sub-
problem and the lagrange multipliers are set using the sub-gra-
dient approach.
3.2. Column generation
InAgarwal et al. (1989) is used for the first column generation to
solve the VRP problem, while (Desrosiers et al., 1984) used the
column generation approach to solve the m-TSP with time win-
dows. In Desrosiers et al. (1984), the column generation ap-
proach is used for the first time for solving the VRPTW, and
more effective version of the same model with addition of valid
inequalities solves more instances to optimality in Desrosiers et
al. (1992).
If a linear program contains too many variables to be solved
explicitly, then we can initialize the linear program with a small
subset of the variables and compute a solution of this reduced
linear program. Afterwards, we check if the addition of one or
more variables, currently not in the linear program, might im-
prove the linear program solution. This check can be done by
the computation of the reduced costs of the variables. In this
case, a variable of negative reduced cost can improve the
solution.
3.3. Dynamic programming
The dynamic programming approach for VRPTW is presented
for the first time in Kolen et al. (1987) and Christofides and
Beasley (1984) are uses the dynamic programming paradigm
to solve the VRP.
The algorithm of Kohl and Madsen (1997) use branch-and-
bound to achieve optimality. Each node a in the branch-and-
bound tree corresponds to three sets: F(a) which the set is of
fixed feasible routes starting and finishing at the depot, P(a)
which is a partially build route starting at the depot and
C(a) denotes the set of customers forbidden to be next on P(a).
Branching is done by selecting a customer i that is not for-
bidden, that is iC(a), and that does not appear on any route,
that is iF(a) [ P(a). Branching decisions are taken on route-
customer allocations. Then two branches are generated: one
in which the partially build route P(a) is extended by i and
one where i is forbidden as the next customer on the route that
is added to C(a). Customer i is chosen as the customer the par-
tial route P(a) was extended with in the calculation that lead to
the lower bound of node a. At each branch-and-bound node
dynamic programming is used to calculate a lower bound on
all feasible solution defined by F(a), P(a) and C(a).
First we discuss the case of the root node (F(a)= /,
C(a) = / and P(a) = depot). Here we construct a directed
graph with vertices v(i, q, k) for i = 0, 1, . . ., n; q = 0, 1, . . ., Q
and k = 0, 1, . . ., m, where n is the number of customers, m is
the number of vehicles andQ is the sumof all customer demands
qi.Hence, associated with each branch-and-bound node is a set
of routes.
A directed path from v(0, 0, 0) to v(i, q, k) in the graph cor-
responds to a set of k routes with a total load of q and with
different last visited customers (each one in{1, 2, . . ., i}). The
arc lengths in the directed graph will be defined as the total
length of the corresponding routes. The lower bound is then
given by the minimum over k = 1, 2, . . ., m of the shortest
paths lengths from v(0, 0, 0) to v(n, Q, k). Note that there
are no constraints enforcing customers to be visited by any
of the routes generated. Therefor the resulting minimum is a
lower bound. Dynamically we try to extend a set of k routes
with load q and last customers {1, 2, . . ., i} to last customers
{1, 2, . . ., i+ 1}. Here there are two possibilities:
� Customer i+ 1 is not included as endpoint of any routes.
This results in an arc from v(i, q, k) to v(i + 1, q, k) with
length 0. Note that a customer i+ 1 that is not an endpoint
might still be member of one of the other routes generated
by the function F(i, q) described below.
� Insert customer i + 1 as the last customer on a route of
load q0. This generates an arc from v(i, q, k) to v(i+ 1,
q+ q0, k + 1) of length F(i+ 1, q0) for each possible value
of q0. Generally, F(i, q) is defined as the minimum length of
a feasible route with total load q and last customer i. The
routes associated with a given vertex v(i, q, k) are the routes
given from the computation of F(i, q) and the extension
made using the arcs.
If we are at an arbitrary node in the branch-and-bound tree
we distinguish between two cases: P(a)= / and P(a) „ /. If
P(a)= / we just adjust the problem for the number of already
generated routes k̂, their load q̂ and the set of customers al-
ready used in these routes Î.
In the case of P(a) „ / exactly one of the routes in the lower
bound is an extension of P(a).Now, let F0(i, q) be the minimum
length of such an extension (F0(i, q) is calculated in the same
way as F(i, q)). As before, the problem can be reduced accord-
ing to k̂, q̂ and Î. The directed graph is now extended to con-
tain vertices v(i, q, k) and v0(i, q, k) and the following arcs:
� Arcs of length 0 from v(i, q, k) to v(i + 1, q, k) and from v0(i,
q, k) to v0(i + 1, q, k). These correspond to not using the
customer i+ 1 in the routes.
� Arcs of length F(i + 1, q0) from v(i, q, k) to v(i+ 1, q + q0,
k+ 1) and from v0(i, q, k) to v0(i+ 1, q+ q0, k + 1) for
each possible value of q0.
In Kolen et al. (1987) problems up to 15 customers are
solved by this method.
4. Heuristic algorithms for the VRPTW
The non-exact algorithms for the VRPTW have been very ac-
tive-far more active than that of exact algorithms. The field of
approximation algorithms and heuristics one sometimes classi-
fies an algorithm as sequential and parallel. In a sequential
algorithm one route at a time is constructed, while a parallel
algorithm may build more routes at the same time. This con-
flicts with the notion of a sequential algorithm and a parallel
algorithm. We will therefore avoid the use of this classification
of heuristics.
Heuristic algorithms that a set of routes from scratch are
typically called route-building heuristics, while an algorithm
that tries to produce an improved solution on the basis of an
already available solution is denoted route-improving.
A heuristic is defined by Reeves (1995) as a technique which
seek good (near-optimal) solutions at a reasonable computa-
Vehicle routing with time windows: An overview of exact, heuristic and metaheuristic methods 127
tional cost without being able to guarantee optimality, to state
how close to optimality a particular feasible solution is or, in
some cases, even to guarantee feasibility. Often heuristics are
problem-specific, so that a method which works for one prob-
lem cannot be used to solve a different one.
4.1. Route-building heuristics
The first paper on route-building heuristics for the VRPTW is
(Baker and Schaffer, 1989). Their algorithm is an extension of
the saving heuristic of the VRP (Clarke and Wright, 1964). The
algorithm begins with all possible single-customer route (de-
pot-i-depot). In every iteration we calculate which two routes
can be combined with the maximum saving, where the saving
between customers i and j are given by:
sij ¼ ti0 þ t0j � Gtij; i – j; i; j ¼ 1; 2; . . . ; n ð4:1Þ
where G is sometimes referred to as the route form factor. A
time oriented nearest-neighbourhood algorithm is developed
by defining the savings as a combination of distance, time
and time until feasibility. A similar heuristic based on the sav-
ings algorithm is developed in Solomon (1987), but here the
time aspect is not part of the savings function. Instead the arcs
that can be used are limited by how large the waiting times get
if they are used. Due to the existence of time windows we have
to take account of route orientation. Additionally we have to
check for violation of the time windows when two routes are
combined. These heuristics have time complexity of O(n
2
log
n
2
).
Also Landeghem (1988) has presented a heuristic based on
the saving heuristic. His bi-criteria heuristic uses the time win-
dows in (4.1) in order to get a measurement of how good a link
between customers is in terms of timing.
Another heuristic described in Solomon (1987) is a time-ori-
ented, nearest-neighbourhood heuristic. Every route in this
heuristic is started by finding the unrouted customer that is
closest to the depot. The closeness relation tries to take both
geographical and temporal closeness of the customers into ac-
count. At every subsequent iteration the customer closest to
the last customer added to the route is considered for insertion
to the end of the route presently generated. When the search
fails a new route is started.
Assigning customers to clusters is done by using a tech-
nique introduced in Gillett and Miller (1974) for the VRP.
Here a centre of gravity is computed and the clusters are par-
titioned according to their polar angle. Scheduling the custom-
ers, one of the previously developed route-building heuristics is
used to build a 1-route solution. Due to the time windows and/
or capacity constraints some customers may now be unsched-
uled. In order to schedule these scheduled customers are re-
moved and the process is repeated. The sweep heuristic
typically performs better than other heuristics in cases where
many customers can be assigned to each route.
In general the heuristics of Solomon (1987) and Landeghem
(1988) return a solution fast. Their solution does however gen-
erally lack in quality. Most of the time the solutions are more
than 10% from optimum.
A problem of building one route at a time is usually that the
routes generated in the latter part of the process are of poor
quality as the last unrouted customers tends to be scattered
over the geographic area. In Potvin and Rousseau (1993) tries
to overcome this problem of the insertion heuristics by build-
ing several routes simultaneously. The initialization of the
routes is done by using the insertion heuristic of Solomon
(1987). On each route the customer farthest away from the
depot is selected as a seed customer. Then we proceed by
computing the best feasible insertion place for each unserviced
customer and insert the one with the largest difference between
the best and the second best insertion place. This method is
better than the Solomon heuristics but still the solutions are
quite far away from optimum. In Russell (1995) elaborates
further on the insertion approach.
In Antes and Derigs (1995) another approach builds upon
the classical insertion idea. Here every unrouted customer
requests and receives from every route in the schedule a prize
for insertion, defined in a similar way as in the Solomon
heuristics. Then the unrouted customers send a proposal to
the route with the best offer, and each route accepts the best
proposal among those customers with the fewest number of
alternatives. Note that more customers can be inserted in each
iteration. If a certain threshold of routes is violated a certain
number of customers are removed and the process is initiated
again. The results of Antes and Derigs (1995) are comparable
to those presented in Potvin and Rousseau (1993). Generally
building several routes in parallel results in better solutions
than building the routes one by one.
4.2. Route-improving heuristics
The basis of almost every route-improving heuristic is the
notion of a neighbourhood. The neighbourhood of a solution
S is a set N(S) of solutions that can be generated with a single
modification of S.
Checking some or all of the solutions in a neighbourhood
might reveal solutions that are better with respect to objective
function. This idea can be repeated from the better solution.
At some point no better solution can be found an optimum
has been reached. It is definitely a local optimum but it might
even be global. This algorithm is called local search. The neigh-
bourhood structures used in various VRPTW heuristics will be
introduced, and then the algorithms in which they are used are
described.
4.3. The neighbourhoods for the VRPTW
One of the most used improvement heuristics in routing and
scheduling is the r-Opt heuristic. Here r arcs removed and re-
placed by r other arcs. A solution obtained using an r-Opt
neighbourhood that cannot be improved further is called
r-Optimal. Usually r is at most 3. Using the 3-Opt on the routes
of a solution to the VRPTW problem is not without problems.
For all possible 2-Opt interchanges and some of the exchanges
in the 3-Opt neighbourhood, parts of the route is reversed. This
may very likely lead to a violation of the time windows. In Pot-
vin and Rousseau (1995), are presents two variants 2-Opt* and
Or-Opt that maintain the direction of the route.
It is quite easy to see that Or-Opt’s are a subset of 3-Opt’s
as we exchange three special arcs with three others. The size of
the neighbourhood is although reduced from O(n
3
) to O(n
2
).
Generally the size of a r-Opt neighbourhood is O(n
r
). The
2-Opt* is exchanging one segment of one route with a segment
of another route. These neighbourhood-operators are some-
times denoted crossover or simply cross.
128 N.A. El-Sherbeny
The exchange operator swaps customers in different routes,
thereby interchanging two customers simultaneously into the
other routes. The k-node interchange by Christofides and
Beasley (1984) is modified by several authors to take time win-
dows into account. Sequentially each customer i is considered
and the sets M1 andM2 are identified. M1 is defined as the cus-
tomer i and its successor j. Then the elements of M2 are found
as the two customers closest to i and j but not on the same
route as i and j (found by minimizing insertion cost calculated
by the Euclidean distance). A neighbourhood is then defined
by removing the elements of M1 and M2 and inserting them
in any other possible way. As this neighbourhood is quite
large, only the k most promising candidates are checked.
Another neighbourhood is the k-interchange. In Osman
(1993) originally developed for the VRP. It is a generalization
of the relocate operator. Here a subset of customers of size 6k
in one route is exchanged with a subset of size 6k from an-
other route. Typically there is also given an ordering in which
the different set sizes are tested. For example using a 2-inter-
change scheme we would first try to move one element from
one route to another, and one the other way. Then we would
try the reverse situation; and then try to exchange one element
from one route with one from the other. This would be written
as (1, 0), (0, 1), (1, 1), (0, 2), (2, 0), (2, 1), (1, 2) and (2, 2).
Finally, a neighbourhood denoted shift-sequence is used in
Schulze andFahle (1999). A customer is moved from one route
to another then checking all possible insertion positions. If an
insertion is made feasible by removing another customer j, it is
removed and inserted in another route. This procedure is re-
peated until feasibility is restored.
4.3.1. Review of neighbourhood-operator
� Relocate operator: a move one customer from one route to
another.
� Exchange operator: the interchange two customers between
two routes.
� 2-Opt* operator: a changing one segment of a route with
another segment from another route.
� Or-Opt operator: a continuous segment of customers is
moved from one position on a route to another.
� K-node interchange operator: a sequentially each customer i
is considered. Customer i and its successor j and the two
customers closest to i and j but not on the same route are
removed. The neighbourhood is defined by trying to insert
these four vertices in any other possible way. As this neigh-
bourhood is quite large, only the k most promising candi-
dates are checked.
� k-interchange operator: a subset of customers of size 6k is
exchanged with a subset of customers of size 6k from
another route.
� Shift-sequence operator: a customer is moved from one
route to another checking all possible insertion positions.
If an insertion is feasible by removing another customer j,
it is removed and inserted in another route. This procedure
is repeated until feasibility is restored.
5. Routing problem with artificial intelligence
The fields of artificial intelligence and operations research are
closely related. Artificial intelligence techniques have been ap-
plied to routing problems in two ways. First, expert systems
are being developed to assist a user faced with a particular
application in choosing an appropriate algorithm and tuning
the parameters of that algorithm to the problem at hand. Sec-
ond, successful new algorithms have recently been developed
using artificial intelligence search techniques like for example
simulated annealing, tabu search.
A generic search procedure for the routing problems begins
with a starting solution S and a rule for constructing a neigh-
borhood N(S) of alternative solutions that are near to S in
some sense. The search procedure then chooses a new solution
from N(S) and iterates until some stopping criterion is reached.
Traditional local improvement methods choose a solution
from N(S) with a strictly improved objective function value
and stop when N(S) contains no such improving solution. Sim-
ulated annealing and tabu search allow the selection of non-
improving solutions under certain conditions to be defined
below.
An initial solution for a search algorithm can be obtained
by applying any of the heuristics defined in (4.1). Usually the
neighborhood N(S) is defined to be all solutions by exchanging
n1 customers on a given route with n2 customers on another
route. Typically, n1 6 1 and n2 6 1, so the exchanges permitted
consist of moving a single customer from one route to another
route or exchanging two customers on different routes.
Different approaches can be used to compute the change in
cost resulting from the addition or deletion of a customer on a
route. Ideally, one would evaluate this change by optimally
solving a travelling salesman problem (TSP) over the depot
plus the customers on the route before and after the addition
or deletion of the new customer. However, this approach can
be computationally expensive so a less accurate but faster
method is generally used. When a customer is deleted, the cost
of the new route is computed without changing the sequence of
the customers that remain on the route. Similarly, the cus-
tomer added to a route is inserted between two existing cus-
tomers without changing the sequence of the original
customers on the route. The choice of where to insert the
new customer is made to minimize the increase in cost.
With a traditional local improvement method that only ac-
cepts solutions that strictly improve the objective function, one
can choose whether to accept the first solution in N(S) that im-
proves the objective function or to examine all solutions in
N(S) and choose the one producing the greatest reduction in
the objective function.
� Simulated annealing searches the neighbourhood of N(S) in
a defined order. Let D denote the increase in object value for
some S0 e N(S). Then S0 is accepted as the new incumbent
solution either if D 6 0 or D > 0 and e�D/T P h where h
is a uniform random parameter 0 < h < and T is a control
parameter of the search called the temperature. Typically, T
is gradually lowered during the search procedure, steadily
reducing the probability a non-improving solution will be
accepted. If a complete search of N(S) fails to produce a
new incumbent, the value of T is raised by some amount
and the search repeated. The simulated annealing algorithm
stops when a fixed consecutive number of searches of N(S)
fail to produce a new incumbent solution.
� Tabu search chooses the best solution contained in N(S)
that does not violate certain restrictions designed to prevent
the algorithm from cycling. Typically, these restrictions pre-
Vehicle routing with time windows: An overview of exact, heuristic and metaheuristic methods 129
vent for the next t iterations a movement of customers that
would ‘‘undo’’ a previous movement. For example, if cus-
tomer c is moved from route A to some other route on iter-
ation k, then on iterations k + 1 through k+ 1 we prohibit
any exchange that would move customer c back to route A.
Similarly, if on iteration k customer c1 on route A and c2 on
route B are exchanged, then on iterations k+ 1 through
k + t we prohibit any movement that would return cus-
tomer c1 to route A and customer c2 to route B. Tabu
search stops after some fixed iteration limit has been
reached.
6. Metaheuristics
A metaheuristics are powerful techniques applicable generally
to a large number of problems. A metaheuristic refers to an
iterative master strategy that guides and modifies the opera-
tions of subordinate heuristics by combining intelligently dif-
ferent concepts for exploring and exploiting the search space.
A metaheuristic is a solution concept. The adaptation to a spe-
cific problem uses heuristics as solution methods. A metaheu-
ristics may manipulate a complete or incomplete single
solution or a collection of solutions at each iteration. The fam-
ily of metaheuristics includes, but is not limited to, simulated
annealing, tabu search and genetic algorithms. The success
of these methods is due to their capacity ‘‘to solve in practice’’
some hard combinatorial problems.
6.1. Simulated annealing
The name ‘‘simulated annealing’’ is due to the fact that con-
ceptually it is similar to a physical process, known as anneal-
ing, where a material is heated into a liquid stat then cooled
back into a recrystallized solid state. The simulated annealing
was one of the first metaheuristics developed. When using sim-
ulated annealing one does not search for the best solution in
the neighbourhood of the current solution. Instead one simply
draws at random a solution from the neighbourhood. If the
solution is better it is always accepted as a new current solu-
tion, but if the solution is worse than the present current solu-
tion it is only accepted with a certain probability. The
acceptance probability is determined by a temperature which
is gradually decreased. By reducing the temperature the selec-
tion becomes more and more selective in accepting new solu-
tion. The idea of simulated annealing comes from
thermodynamics and metallurgy: when a metal in fusion is
cooled slowly enough it tends to solidify in a structure of min-
imal energy.
In Chiang and Russell (1996) develop the three different
simulated annealing methods: one using a modified version
of the k-node interchange mechanism and the second one using
the k-interchange mechanism as proposed by Osman (1993),
with k = 1. The third algorithm borrows the concept of a tabu
list from the tabu search metaheuristic. Using simulated
annealing with the k-interchange mechanism the tabu list con-
tains moves that will not be allowed for the time being. The
last two methods have faster convergence than the first,
although the first yields slightly better results. The travel dis-
tances obtained by the three simulated annealing were between
7% and 11.5% from optimum.
In Thamgiah et al. (1995) a non-monotone probability
function is used and are using the k-interchange with k = 2
scheme to define the neighbourhood. The temperature is de-
creased after every iteration. In case the entire neighbourhood
has been explored without finding any accepting moves the
temperature is increased. This is called a reset. The tempera-
ture is increased to the maximum of the temperature at which
the best solution was found and half of the temperature at the
last reset. After R resets without improving the best solution
the algorithm terminates. The quality of the solutions obtain
in Thamgiah et al. (1995) is about the same as those obtained
by Chiang and Russell (1996).
6.1.1. Remark
The comparison between simulated annealing and the best
existing algorithms strongly depends on the problem treated
and the implementation. For some problems, the superiority
of simulated annealing is observed only for examples of large
dimensions and at the price of a high calculating time. Certain
current studies propose to improve the effectiveness of the
algorithm and its computation time: by parallelization or by
hybridization with other algorithms such as tabu search or ge-
netic algorithms.
6.2. Tabu search
The tabu search is one of the old metaheuristics. It was intro-
duced by Glover (1989) and Fisher et al. (1997). At each iter-
ation the neighbourhood of the current solution is explored
and the best solution in the neighbourhood is selected as the
new current solution. In order to allow the algorithm to escape
from a local optimum the current solution is set to the best
solution in the neighbourhood even if this solution is worse
than the current solution. To prevent cycling visiting recently
selected solutions is forbidden. This is implemented using a
tabu list. Often, the tabu list does not contain illegal solutions,
but forbidden moves. It makes sense to allow the tabu list to be
overruled if this leads to an improvement of the current over-
all best solution. Criteria such as this for overruling the tabu
list are called aspiration criteria. The most used criteria for
stopping a tabu search are a constant number of iterations
without any improvement of the over-all best solution or a
constant number of iteration in all.
In Solomon (1987) is used to generate the initial solution.
The algorithm shifts between the two strategies. When one
has not made improvement for a certain number of iterations
the other strategy is used instead and vice versa. In order to
minimize the number of routes the algorithm tries to move cus-
tomers from routes with few customers to other routes. This is
done using Or-Opt.
In Badeau et al. (1995), was first generate a series of solu-
tions and then new solutions are composed by randomly
selecting from the already generated routes. The selection is
done based to the good routes. When one route is selected
the remaining routes servicing customers from this route is ex-
cluded. This process is continued until all customers are ser-
viced by a route, or the algorithm runs out of routes.
The solution is now decomposed into groups of routes. For
each group a tabu search is performed using the exchange
operator on segments. Furthermore segments of customers
are moved around within each route. In order to force the
130 N.A. El-Sherbeny
algorithm to make a thorough exploration of the search space,
frequently performed crossovers are penalized.
Another tabu search algorithm with similarities to Garcia et
al. (1994) is developed in Schulze and Fahle (1999). It is based
upon the local search methods discussed in Potvin and Rous-
seau (1995).
In Garcia et al. (1994) and Schulze and Fahle (1999) have
been written about parallelization of the tabu search heuristic.
Their efforts can be divided into three groups, partitioning of
the neighbourhood, run parallel threads of tabu searches and
decompose the problem into subproblems each solved by par-
allel tabu searches.
In Badeau et al. (1995) the tabu search heuristic for the
VRPTW is essentially a parallelization of the tabu search. Here
a combination of strategy 2 and 3 is used. After the generation
of a solution at the master processor, the solution is decom-
posed into groups of routes. At each slave processor an inde-
pendent tabu search tries to improve the over-all solution by
improving the solution for the routes it received from the mas-
ter processor.
Among the parallel implementations the algorithm devel-
oped in Schulze and Fahle (1999) performs slightly worse that
the other parallel algorithms when working in problems with
tight windows. As time windows get larger all algorithms per-
form equal with respect to the quality of the solution. As differ-
ent parallel computers or network of computers are used it is
difficult to compare the algorithms with respect to running time.
The reactive tabu search metaheuristic is applied to the par-
allel construction approach of Russell (1995). The tabu search
route improvement procedure is invoked each time another
10% of the customers have been added to the emerging routes
using the k-interchange of Osman (1993) as the neighbour-
hood. If the same solution defined with the number of vehicle,
the total accumulated distance, and the total accumulated tra-
vel time. Occurs to often the tabu list is increased by a constant
factor. If waiting time is eliminated, the customer is fixed at its
position for a number of iterations, and as in Badeau et al.
(1995) too frequent switches of customers is penalized. On
the other hand if no feasible solution is found by the tabu
search, the size of the tabu list is decreased by constant factor.
Generally it is among the best heuristics for the VRPTW. One
of the conclusions in Badeau et al. (1995) is that diversifica-
tion/intensification is just as important in obtaining good solu-
tions as variable length tabu list.
6.2.1. Remark
Tabu search is an approximate method, proposed for combi-
natorial optimization hard problems. The applications show
that this method is very flexible and efficient, and gives results,
which compete or exceed those of the best heuristic known.
However, in spite of the success it has, there is no support the-
oretic available to date. No study made it possible to prove the
convergence of the method. In order to improve the procedure,
techniques of parallelization and combination with other ap-
proaches are proposed. We quote on this subject the hybridiza-
tion of tabu search and of simulated annealing in Osman
(1993) and Tuyttens et al. (1994), and that tabu search and ge-
netic algorithms in Glover et al. (1995).
� Some similarities between simulated annealing and tabu
search:
Both start with an initial complete feasible solution and
iteratively generate additional solutions, both can exactly or
approximately evaluate candidate solutions, both maintain a
record of the best solution obtained so far, and both must have
a mechanism for termination. However, there are two impor-
tant differences between the methods. Tabu search permits
away from a local optimum (i.e., diversifying by an essentially
deterministic mechanism, where as we well see, a probabilistic
device is used in simulated annealing). Second, tabu search
tends to temporarily permit moving to poorer solutions only
when in the vicinity of a local optimum, where as this can hap-
pen at any time in simulated annealing.
6.3. The genetic algorithms
The genetic algorithms are probabilistic procedures of search,
which took as a starting point the genetic evolution of a spe-
cies. The principal idea is to reproduce the natural evolution
of organisms, generation after generation, by respecting the
phenomena’s heredity and law of survival stated by Darwin.
The first use of the genetic algorithms goes bake to the year
1950 when biologists simulated the evolution of the organisms.
Later Holland (1975), Goldbeerg (1989) and Fisher (1994)
adapted the genetic algorithms to the resolution of combinato-
rial optimization problems.
Contrary to simulated annealing and tabu search, the genet-
ic algorithms operate in a population of solution and not only
one solution (Pirlot, 1996). A population of structures, each
one corresponding to a possible solution, represents the space
of the solution of the problem. The new structures are gener-
ated by application of genetic operators (selection, crossing
and mutation) on the potential parents chosen inside the pop-
ulation. The genetic algorithms are based on the principle that
best parents produce best children; so the strongest members of
the population have strong probability to be selected as the par-
ents. The best parents are crossed to give the place to new chil-
dren who replace the parents or the week elements of the
population. The procedure is repeated until a population is ob-
tained where all the individuals are very strong, corresponding
to optimal or almost optimal solution of the problem.
7. Conclusion
The VRPTW occupies the heart of distribution management.
There exist some limited versions of the variety of exact, heu-
ristic and metaheuristic to approximate algorithms have been
proposed for its solution. A number of powerful metaheuris-
tics have also been proposed simulated annealing, Tabu search
and genetic algorithm. Over the past 20 years VRPTW has
been an area of research that has attracted many researchers.
Acknowledgment
The author would like to thank an anonymous referee for
some useful comments.
References
Agarwal, Y., Mathur, K., Salki, H., 1989. A set-partitioning-based
exact algorithm for the vehicle routing problem. Networks 19, 731–
749.
Vehicle routing with time windows: An overview of exact, heuristic and metaheuristic methods 131
Antes, J., Derigs, U., 1995. A New Parallel Tour Construction
Algorithm for the Vehicle Routing Problem with Time Windows.
Technical Report, Lehrstuhl fur Wirtschaftsinformatik und Oper-
ations Research, Universitat zu Koln.
Badeau, P., Gendreau, M., Guertin, F., Potvin, J., Taillard, E., 1995. A
Parallel Tabu Search Heuristic for the Vehicle Routing Problem
with Time Windows. Technical Report, CRT-95-84, Centre de
recherche sur les transports, Montréal.
Baker, E., Schaffer, J., 1989. Solution improvement heuristics for the
vehicle routing and scheduling problem with time windows
constraints. American Journal of Mathematics and Management
Sciences 6 (3,4), 261–300.
Chiang, W., Russell, R., 1996. Simulated annealing metaheuristics for
the vehicle routing problem with time windows. Annals of
Operations Research 63, 3–27.
Christofides, N., Beasley, N., 1984. The period routing problem.
Networks 14, 237–241.
Clarke, G., Wright, W., 1964. Scheduling of vehicles from a central
depot to a number of delivery points. Operations Research 12, 568–
581.
Crainic, G., Laporte, G., 2000. Fleet Management and Logistics.
Kluwer Academic Publishers.
Desaulniers, G., Lavigne, J., Soumis, F., 1997. Multi-depot vehicle
scheduling problem with time windows and waiting costs. Euro-
pean Journal of Operation Research 111, 479–494.
Desrochers, M., Desrosiers, J., Solomon, M., 1992. A new optimiza-
tion algorithm for the vehicle routing problem with time windows.
Operations Research 40 (2), 342–354.
Desrosiers, J., Soumis, F., Desrosiers, M., 1984. Routing with time
windows by column generation. Networks 14 (4), 545–565.
Dumes, Y., Desrosiers, J., Soumis, F., 1991. The pickup and delivery
problem with time windows. European Journal of Operation
Research 54, 7–21.
El-Sherbeny, N., 2001. Resolution of a Vehicle Routing Problem with
Multiobjective Simulated Annealing Method. Ph.D. Dissertation,
Faculte Polytechnique de Mons, Belgique.
El-Sherbeny, N., Tuyttens, D., 2001. Optimization multicriteria of
routing problem. Troisieme Journee de Travail sur la Programming
Mathematique Multi-objective, Faculte Polytehnique de Mons,
Belgique.
Fisher, M., 1994. Optimal solution of vehicle routing problem using
minimum k-trees. Operations Research 42 (4), 626–642.
Fisher, M., Jornsteen, K., Madsen, O., 1997. Vehicle routing with time
windows: two optimization algorithms. Operations Research 45 (3),
488–492.
Garcia, B., Potvin, J., Rousseau, J., 1994. A parallel implementation of
the tabu search heuristic for vehicle routing problems with time
windows constraints. Computers and Operations Research 21 (9),
1025–1033.
Gillett, B., Miller, L., 1974. A heuristic algorithm for the vehicle
dispatch problem. Operation Research 22, 340–349.
Glover, F., 1989. Tabu search. Part 1, ORSA. Journal on Computing 1
(3), 190–206.
Glover, F., Kelly, P., Laguna, M., 1995. Genetic algorithms and Tabu
search: hybrids for optimizations. Computer Operation Research
22 (1), 111–134.
Goldbeerg, E., 1989. Genetic Algorithms in Search. Optimization and
Machine Learning. Addison-Wesley, Reading, MA.
Holland, H., 1975. Adaptation in Natural and Artificial Systems. The
University of Michigan Press, Ann Arbor, MI.
Kohl, N., Madsen, O., 1997. An optimization algorithm for the vehicle
routing problem with time windows based on lagrangean relaxa-
tion. Operations Research 45 (3), 395–406.
Kolen, A., Rinnooy Kan, A., Trienkens, H., 1987. Vehicle routing
problem with time windows. Operation Research 35, 266–273.
Koskosidis, Y., Powell, W., Solomon, M., 1992. An optimization-
based heuristic for vehicle routing and scheduling with soft time
windows constraints. Transportation Science 26, 57–69.
Landeghem, A., 1988. A bi-criteria heuristic for the vehicle routing
problem with time windows. European Journal of Operational
Research 36, 217–226.
Lenstra, J., Rinnooy, K., 1981. Complexity of vehicle routing and
scheduling problems. Networks 11, 221–227.
Lie, C., Simchi-Levi, D., 1990. Worst-case analysis of heuristics for
multi-depot capacitated vehicle routing problems. Journal on
Computing 2, 64–73.
Osman, I., 1993. Metastrategy simulated annealing and tabu search
heuristic algorithms for the vehicle routing problem. Annals of
Operations Research 41, 421–434.
Pirlot, M., 1996. General local search methods. European Journal of
Operational 92, 493–511.
Potvin, J., Rousseau, J., 1993. A parallel route building algorithm for
the vehicle routing and scheduling problem with time windows.
European Journal of Operational Research 66, 331–340.
Potvin, J., Rousseau, J., 1995. An exchange heuristic for routing
problems with time windows. Journal of Operational Research
Society 46 (12), 1433–1446.
Reeves, C., 1995. Modern Heuristic Techniques for Combinatorial
Problems. Mc-Greenhill.
Russell, R., 1995. Hybrid heuristics for the vehicle routing problem
with time windows. Transportation Science 29 (2), 156–166.
Schulze, J., Fahle, T., 1999. A parallel algorithm for the vehicle routing
problem with time windows constraints. Annals of Operations
Research 86, 585–607.
Solomon, M., 1987. Algorithms for the vehicle routing and scheduling
problems with time windows constraints. Operations Research 35
(2), 254–265.
Thamgiah, S., Osman, I., Sun, T., 1995. Metaheuristics for the Vehicle
Routing Problem with Time Windows. Technical Report, SUR-
CpSc-TR-95-32, Artificial Intelligence and Robotics Laboratory,
Computer Science Department, Slippery Rock University, PA.
Toth, P., Vigo, D., 2002. The Vehicle Routing Problem. SIAM
Monographs on Discrete Mathematics and Applications.
Tuyttens, D., Liegeois, B., Pirlot, M., Teghem, J., Trauwaert, E., 1994.
Homogeneous grouping of unclear fuel cans through annealing and
tabu search. Annals of Operation Research 50, 575–607.
Tuyttens, D., Teghem, J., El-Sherbeny, N., 2004. A particular
multiobjective vehicle routing problem solved by simulated anneal-
ing. Lecture Notes in Economics and Mathematical Systems, vol.
535. Springer-Verlag, Germany, pp. 133–152.
Vehicle routing with time windows: An overview of exact, heuristic and metaheuristic methods
Introduction
The vehicle routing problem with time windows
Mathematical model of the VRPTW
Generalizations of the VRPTW
Non-identical vehicles
Multiple depots
Multiple time windows
Multiple compartments
Soft time windows
Pick-up and delivery
Exact methods for the VRPTW
Lagrange relaxation-based methods
Column generation
Dynamic programming
Heuristic algorithms for the VRPTW
Route-building heuristics
Route-improving heuristics
The neighbourhoods for the VRPTW
Review of neighbourhood-operator
Routing problem with artificial intelligence
Metaheuristics
Simulated annealing
Remark
Tabu search
Remark
The genetic algorithms
Conclusion
Acknowledgment
References