A Tabu Search Heuristic for the Vehicle Routing Problem

A Tabu Search Heuristic for the Vehicle Routing Problem
Author(s): Michel Gendreau, Alain Hertz, Gilbert Laporte
Source: Management Science, Vol. 40, No. 10 (Oct., 1994), pp. 1276-1290
Published by: INFORMS
Stable URL: http://www.jstor.org/stable/2661622
Accessed: 11/03/2010 16:39
Your use of the JSTOR archive indicates your acceptance of JSTOR's Terms and Conditions of Use, available at
http://www.jstor.org/page/info/about/policies/terms.jsp. JSTOR's Terms and Conditions of Use provides, in part, that unless
you have obtained prior permission, you may not download an entire issue of a journal or multiple copies of articles, and you
may use content in the JSTOR archive only for your personal, non-commercial use.
Please contact the publisher regarding any further use of this work. Publisher contact information may be obtained at
http://www.jstor.org/action/showPublisher?publisherCode=informs.
Each copy of any part of a JSTOR transmission must contain the same copyright notice that appears on the screen or printed
page of such transmission.
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of
content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms
of scholarship. For more information about JSTOR, please contact support@jstor.org.
INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Management Science.
http://www.jstor.org
A
Tabu
Search
Heuristic
Routing
for
the
Vehicle
Problem
Michel Gendreau * Alain Hertz * Gilbert Laporte
Centre de recherchesur les transports Universite'de Montre'al,C.P. 6128, succursale A,
Montre'al,Que'bec,Canada H3C 3J7
De'partementde mathermatiques,Ecole Polytechnique Fe'de'ralede Lausanne,
Ecublens, CH-1015 Lausanne, Switzerland
T he purpose of this paper is to describe TABUROUTE, a new tabu search heuristic for the
vehicle routing problem with capacity and route length restrictions. The algorithm considers
a sequence of adjacent solutions obtained by repeatedly removing a vertex from its current
route and reinserting it into another route. This is done by means of a generalized insertion
procedure previously developed by the authors. During the course of the algorithm, infeasible
solutions are allowed. Numerical tests on a set of benchmark problems indicate that tabu search
outperforms the best existing heuristics, and TABUROUTE often produces the best known
solutions.
(Vehicle Routing Problem; Tabu Search; GeneralizedInsertion)
1. Introduction
The purpose of this paper is to present TABUROUTE,
a new heuristic for the following version of the Vehicle
Routing Problem (VRP). Let G = (V, A) be a directed
graph where V = { vo, v1, . . . , vl } is a vertex set, and
A = {(vi, vj): i = j]}is an arc set. Vertex v0 denotes a
depot at which m identical vehicles are based, and the
remaining vertices of V represent c ities. The value of
m is either fixed at some constant, or bounded above
by In. With every arc (vi, vj) is associated a nonnegative
distance cij. (For the sake of simplicity, the terms "distances," "travel times," and "travel costs" will be used
interchangeably.) The VRP consists of designing a set
of least cost vehicle routes in such a way that
(a) every route starts and ends at the depot;
(b) every city of V \ {v0 } is visited exactly once by
exactly one vehicle, and
(c) some side constraints are satisfied.
We consider the following side constraints:
(d) With every city is associated a nonnegative demand qi (q0 = 0). The total demand of any vehicle route
may not exceed the vehicle capacity Q.
(e) Every city vi requires a service time bi (60 = 0).
The total length of any route (travel plus service times)
may not exceed a preset bound L.
In our version of the problem, vehicles bear no fixed
cost, and their number is a decision variable.
The VRP lies at the heart of distribution management
and has been extensively studied over the last three
decades or so. (See the surveys by Christofides, Mingozzi, and Toth 1979, Bodin, Golden, Assad, and Ball
1983, Christofides 1985, Laporte and Nobert 1987,
Golden and Assad 1988, and Laporte 1992). The VRP
is a hard combinatorial problem, and to this day only
relatively small VRP instances can be solved to optimality. Interesting exceptions are the problems solved
to optimality by Fisher (1989), using minimum k-trees.
We are mostly interested here in heuristic algorithms.
Extending the scheme proposed by Christofides (1985),
these algorithms can be broadly classified into four
types: (1) Constructivealgorithms (see, e.g., Clarke and
Wright 1964, Mole and Jameson 1976, Desrochers and
Verhoog 1989, Altinkemer and Gavish 1991); (2) Twophase algorithms (see, e.g., Gillett and Miller 1974,
0025-1909/94/4010/1276$01
1276
MANAGEMENT SCIENCE/Vo1.
40, No. 10, October 1994
.25
CopyrightC 1994,The Instituteof ManagementSciences
GENDREAU, HERTZ, AND LAPORTE
Tabu SearchHeuristic
Christofides, Mingozzi, and Toth 1979, Fisher and Jaikumar 1981, Toth 1984); (3) Incomplete optimization algorithms (see, e.g., Christofides, Mingozzi, and Toth
1979); (4) Improvementmethods (see, e.g., Stewart and
Golden 1984; Harche and Raghavan 1991).
Metaheuristics such as simulated annealing and tabu
search can be viewed as improvement methods. These
are search schemes in which successive neighbors of a
solution are examined, and the objective is allowed to
deteriorate in order to avoid local minima. As a rule,
these algorithms are designed to be open-ended and
their running time, which can sometimes be quite large,
is not a polynomial function of the size of the input
data. Using an analogy with a material annealing process used in mechanics (Metropolis et al. 1953, Kirkpatrick, Gelatt, and Vecchi 1983), simulated annealing
ensures that the probability of attaining a worse solution
tends to zero as the number of iterations grows. Such
a method was applied to the VRP by Osman (1991,
1993). Tabusearchwas proposed by Glover (1977) (see
Glover 1989, 1990 and Glover, Taillard, and de Werra
1993 for recent overviews). Here, successive "neighbors" of a solution are examined and the best is selected.
To prevent cycling, solutions that were recently examined are forbidden and inserted in a constantly updated tabu list. We are aware of a number of VRP algorithms based on this approach. One of the first attempts to apply tabu search to the VRP is due to Willard
(1989). Here, the problem is first transformed into a
TSP by replication of the depot, and the search is restricted to neighbor solutions that can be reached by
means of 2-opt or 3-opt interchanges while satisfying
the VRP constraints. In Pureza and Franca (1991), the
search proceeds from one solution to the next by swapping vertices between two routes. Osman (1991, 1993)
uses a combination of 2-opt moves, vertex reassignments to different routes, and vertex interchanges between routes. Another algorithm was developed by Semet and Taillard (1993) for the solution of a real-life
VRP containing several features, and different from the
version considered in this paper. Here the basic tabu
move consists of moving a city from its current route
into an alternative route. Finally, Taillard (1992) partitions the vertex set into clusters separately through
vertex moves from one route to another. Clusters are
updated throughout the algorithm. Note that in all these
MANAGEMENTSCIENCE/VOl. 40, No. 10, October 1994
algorithms, a feasible solution is never allowed to become infeasible with respect to side constraints.
Our purpose is to describe a new tabu search procedure for the VRP. It differs from the implementations
just described in several fundamental aspects. Our results show that the proposed algorithm is highly competitive on a set of benchmark problems. The remainder
of this paper is organized as follows. The algorithm is
presented in ?2 and the computational results in ?3.
This is followed by the conclusion, in ?4. We also provide, in an appendix, the best solutions obtained by our
algorithm on the test problems.
2. Algorithm
This section contains a description of TABUROUTEfollowed by some comments. We use the following notation. A solution is a set S of m routes R1, ..., Rn,
where m E [1, nii], R, = (v0, Vri, Vr2, . . . , v0), and each
vertex vi (i ? 1) belongs to exactly one route. These
routes may be feasible or infeasible with respect to the
capacity and length constraints. For convenience, we
write vi E Rr if vi is a component of Rr, and (vi, vj) E Rr
if vi and vj are two consecutive vertices of Rr. With any
feasible solution S, we associate the objective function
F1(S) = E
c1j.
r (v'i,vj)ERr
Also, with any solution S (feasible or not), we associate
the objective
F2(S) = F1(S) + a
z
+
E
r
qi
[(
r
[(
\(v'i,'j)ERr
-
Q]
v'iERr
Cij+
z
-L].
viE Rr
where [x]+ - max (0, x) and a, 3 are two positive parameters. If the solution is feasible, F1(S) and F2(S) coincide; otherwise, F2(S) incorporates two penalty terms
for excess vehicle capacity and excess route duration.
At any step of the algorithm, F* and F* denote respectively the lowest value of F1(S) and F2(S) so far encountered. Also, S* is the best known feasible solution
and S*, the best known solution (feasible or not).
We first describe procedure SEARCH (P), central to
TABUROUTE. This procedure attempts to improve
upon a given solution S, using tabu search. It calls GENI
1277
GENDREAU, HERTZ, AND LAPORTE
Tabu SearchHeuristic
and US, two heuristics developed by the authors for
the TSP (Gendreau, Hertz, and Laporte 1992). The first,
GENI, is a generalized insertion routine. It is less myopic
but more powerful than standard insertion procedures
in that a vertex may be inserted only into a route containing one of its closest neighbors, and every insertion
is executed simultaneously with a local reoptimization
of the current tour. US is a post-optimization procedure
that successively removes and reinserts every vertex,
using GENI. Again, US has produced highly satisfactory
results on the TSP, better than Or-opt, for example. The
combination of GENI and US yields a powerful twophase heuristic for the TSP. SEARCH is governed by a
vector of parameters
P = (W, q, pl,
P2,
Omin,
6max
g,
h,
nmax)
defined as follows:
W: a nonempty subset of V \ {vo } containing vertices
that are allowed to be moved from their current route;
q: number of vertices of W that are candidate for reinsertion into another route;
pl: the route in which vertex v is reinserted must contain at least one of its pi nearest neighbors;
P2: neighborhood size used in GENI;
Omin
Omax: bounds on the number of iterations for
which a move is declared tabu;
g: a scaling factor used to define an artificial objective
function value;
h: the frequency at which updates of a and ,3 are
considered;
nmax: maximum number of iterations during which
the last step of the procedure is allowed to run without
any improvement in the objective function.
PROCEDURE SEARCH (P)
Step 0 (Initialization). Set the iteration count t := 1;
no move is tabu.
Step 1 (Vertexselection). Consider solution S and randomly select q cities from W.
Step 2 (Evaluation of all candidate moves). Repeat the
following procedure for all selected vertices v.
Consider all potential moves of v from its current
route Rr into another route R, containing no city (if m
< mii), or at least one of the pi nearest neighbors of v.
Repeat the following operations for all candidate moves:
(a) Remove v from Rrand compute its insertion cost
1278
into R,, using the GENI algorithm with parameter P2,
and determine the corresponding S'.
(b) If the move is tabu, it is disregarded unless S' is
feasible and F1(S') < F*, or S' is infeasible and F2(S')
< F2.
(c) Otherwise, S' is assigned a value F(S') equal to
F2(S') if F2(S') < F2(S), or to F2(S') + Amzaxl/gfvothis the largest observed absolute diferwise, where ,Amax
ference between the values of F2(S) obtained at two
successive iterations, and fvis the number of times vertex
v has been moved, divided by t.
Step 3 (Identification of best move). The candidate
move yielding the least value of F and solution S is
identified.
Step 4 (Next solution). The move identified in Step 3
is not necessarily implemented. It may indeed be advantageous to attempt to improve S by applying to each
individual route of S the US post-optimization procedure
described in Gendreau, Hertz, and Laporte (1992). Solution S is set equal to S, unless the following three
conditions are satisfied: (a) F2(S) > F2(S); (b) S is feasible; (c) US has not been used at iteration t - 1; in
such a case S is obtained by applying the US postoptimization process.
Step 5 (Update). If the US procedure has not been
used in Step 4 and vertex v has been moved from route
Rr to route R, (s =#r), reinserting v into Rr is declared
tabu until iteration t + 6, where 0 is an integer randomly
selected in [Omin, Omax]. Set t := t + 1, update F*, FU
5* Amax / m and fv.
S*
Step 6 (Penalty adjustment). If t is a multiple of h,
adjust a and : as follows. Check whether all previous
h solutions were feasible with respect to vehicle capacity.
If so, set a := a / 2; if they were all infeasible, set
a := 2a. Similarly, if all previous h solutions were feasible with respect to route length, set A := A/2; if they
were all infeasible, set i8 := 23.
Step 7 (Termination check). If F* and F* have not
decreased for the last nmax iterations, stop. Otherwise,
go to step 1. D
The main algorithm can now be described. At first,
several tentative initial solutions are generated,
SEARCH is applied to each of them for a limited number
of iterations, and the most promising solution is selected
as a starting point for TABUROUTE. Procedure
SEARCH is then called twice with different values P1
MANAGEMENTSCIENCE/Vol. 40, No. 10, October 1994
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
and P2 of the parameters. The first call usually brings
the most significant improvement to the initial solution,
while the second call intensifies the search locally by
concentrating on specific subsets of cities of the best
known feasible solution if any, or of the best known
infeasible solution otherwise.
ALGORITHM TABUROUTE
Step 0 (Initialization). Set a
1 and F*1:= oo.
If vertices are described by two-dimensional coordinates, relabel them according to the angle they make
with the depot and a horizontal line.
Step 1 (First solution). Repeat the following operations
X times, where X is an input parameter.
(a) Randomly select a city vi.
(b) Using the vertex sequence
(Vo, Vi, Vi+1, * . * , Vn,x Vi, **
Vi-01
construct a tour on all vertices by means of the GENIUS
heuristic for the TSP (Gendreau, Hertz, and Laporte
1992).
(c) Starting with v0, create at most mi vehicle routes
by following the tour: the first vehicle contains all cities
starting from the first city on the tour and up to, but
excluding, the first city vi whose inclusion in the route
would cause a violation of the capacity or maximal
length constraint; this process is then repeated, starting
from vi, and until all cities have been included into
routes (the solution is then feasible), or until mi - 1
vehicles have been used, in which case all remaining
cities are assigned to vehicle mh(the solution may then
be infeasible). Let S be the solution (feasible or
not) obtained through this process. Update F*, F*, S*
and
(d) Call SEARCH (PI).
(e) If F* < oo, set S := S*; otherwise, set S
Step 2 (Solution improvement). Call SEARCH (P2). If
F* < oo, set S := S*; otherwise, set S := S*.
Step 3 (Intensification). Call SEARCH (P3) . If F < oo,
S* is the best known feasible solution; otherwise, no
feasible solution has been found.
Stop. D
We now comment on the choice of parameters used
in SEARCH and TABUROUTE, and on a number of
algorithmic aspects. As far as parameters are concerned,
we have selected them independently of the test problems, relying as much as possible on theoretical consid-
MANAGEMENTSCIENCE/VOL 40, No. 10, October 1994
erations and on the experience developed by other researchers in the field of tabu search. In a limited number
of cases where no firm basis existed for choosing the
parameters, we have selected reasonable a priori values,
and sensitivity analyses were then conducted on all test
problems.
Step 2c of SEARCH contains a diversificationstrategy.
Following Glover (1989), vertices that have been moved
frequently are penalized by adding to the objective
function of the candidate solution a term proportional
to the absolute frequency of movement of the vertex v
currently being moved. Taillard (1992) suggests using
a constant equal to the product of three factors: (a)
ZXmax, a factor equal to the absolute difference value between two successive values of the objective function,
(b) the square root of the neighborhood size (shown
later to be proportional to the number mnof routes), (c)
a scaling factor g equal to 0.01 in our implementation.
As a rule, using too large a value of g lessens the likelihood of obtaining a good solution. Too low a value
does not produce the desired diversification effect because the algorithm does not move away from the current solution. Post-optimality tests show that the algorithm is quite insensitive to g as long as it remains in
the interval [0.005, 0.02].
The variable tabu list length (0) used in Step 5 of
SEARCH was also inspired from Taillard's work (1991).
After extensive experiments on the application of tabu
search to the quadratic assignment problem, this author
concludes that the probability of obtaining a global optimum is increased in the case of a variable list length.
Our implementation of random duration tabus differs
from that proposed by Taillard since no tabu list is actually used. Instead, each move individually receives a
random duration tabu tag denoted 0: this limits the
amount of bookkeeping required and, as a result, the
speed of the algorithm is increased. In the current implementation, we use Omin = 5 and Omax = 10, as suggested by Glover and Laguna (1993) for "simple dynamic tabu term rules."
The idea used in Step 6 of SEARCH of updating ae
and : during the course of the algorithm could also be
applied to other contexts where penalty terms are added
to the objective function. All too often, choosing an
appropriate coefficient value is difficult, and a wrong
choice can have an adverse impact on the performance
1279
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
of the algorithm. Here penalty coefficients are doubled
if the h = 10 previous solutions were infeasible and
halved if the h = 10 previous solutions were feasible.
With this rule, we quickly arrive at values of aeand :
that produce a mix of feasible and infeasible solutions.
We found the algorithm is not very sensitive to the value
of h. Thus, solutions produced with h = 5 or 20 are at
most 1% worse than those obtained with h = 10. In this
type of algorithm, obtaining infeasible solutions is important since this helps moving out of local optima.
Hertz (1992) uses this idea in the context of a course
scheduling algorithm.
We now comment on algorithm TABUROUTE. The
value currently used for X,the number of tentative initial
solutions, is equal to [ Vn/ 2]. Post-optimality tests indicate that it pays to use a value of 'Xgreater than 1 and
as large as [Vr/2], because the algorithm is then less
likely to start on the wrong track. Values of X larger
than [V4/ 2] were also tested, but as a rule the extra
computational effort required is not justified by the
quality of the results.
The idea of using a tour construction heuristic, as in
Step lc of TABUROUTE, has already been used by a
number of researchers (see, e.g., Beasley 1983 and Haimovich and Rinnooy Kan 1985). Our implementation
is different in that we resort to the more powerful
GENIUS algorithm to obtain an initial tour. When the
number of available vehicles is unbounded (i.e., m-=n),
the initial solution is always feasible. However, for
smaller values of mh,feasibility at this stage is not guaranteed, because the problem of finding a feasible solution to the capacity constrained VRP is a bin packing
problem and is therefore NP-complete (Garey and
Johnson 1979). Comparisons were made with a simplified version of the algorithm using random starting
solutions. More precisely, for each solution 50 routes
were initialized with a randomly selected seed, and the
remaining vertices were then arbitrarily inserted into
the existing routes. Results show that the final solution
values obtained using the procedure described in Step
1 of TABUROUTE are approximately 1% better than
those obtained from randomly generated routes.
We now discuss the choice of parameters W, q, Pi,
P2, and nmax in the various calls to SEARCH (P). Parameter W defines the subset of cities that can be moved
1280
into different routes in procedure SEARCH. This parameter is always equal to V \ {vo }, except in the intensification step of TABUROUTE (Step 3), where W
[ V I/ 2] vertices v with the largest f";
is defined as the L
these vertices have often been moved and are therefore
likely to yield a solution improvement if moved. In Step
3, the value of q is equal to IW l In other words, all
vertices that are allowed to move are candidates for
reinsertion. In P1 and P2, however, it would be prohibitive to consider so many reinsertions. Here, q is chosen
to ensure a sufficiently high probability of selecting at
least one vertex from each route. This probability is
P(q, m) = S(q, m)m!/mq (assuming the number of cities
in each route is sufficiently large), where S(q, m) is a
Stirling number of the second kind (Riordan 1958). The
most appropriate value of q depends on m; as long as
m ? 30, taking q = 5m ensures that P(q, m) ? 0.9.
Parameter P2 corresponds to the neighborhood size in
GENI. Extensive tests performed by Gendreau, Hertz,
and Laporte (1992) indicate that taking P2 = 5 ensures
that a near-optimal TSP solution will be found relatively
quickly; this is the value used in Pl, P2, and P3. The
algorithm is quite sensitive to the value of this parameter. Using P2 C 4 tends to produce low quality solutions;
in contrast, when P2 2 6, running times become excessive.
Parameter pi is equal to max (k, P2), where k is the
number of cities in the route containing the vertex v
currently being moved. This value of pi ensures that at
least one potential move will relocate v into a different
route. Finally, the value of nmaxis equal to n in Pl, P3,
and to 50n in P2, as the most important part of the
search is executed in Step 2. The running time of the
algorithm is linearly related to the value of this parameter in P2. If nmaxis too low, some good solutions will
be missed. If it is too high, there is a risk that the algorithm will run a long time without improvement.
Sensitivity analyses performed on all test problems
suggest 50n is a good compromise.
3. Computational Results
TABUROUTEwas tested on the fourteen test problems
described in Christofides, Mingozzi, and Toth (1979).
These problems contain between 50 and 199 cities in
MANAGEMENTSCIENCE/Vol. 40, No. 10, October 1994
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
addition to the depot. Problems 1-5 and 11-12 have
capacity restrictions only. Problems 6-10 are the same
as 1-5, except that they have a route length constraint
as well; problems 13-14 are also the same as 11-12,
with a route length constraint. In problems 1-10, cities
are randomly generated in the plane, while in problems
11-14, they appear in clusters. All computations were
executed with distances rounded up or down after four
decimals. The final solutions were evaluated with real
distances, and the objective value was then rounded up
or down after two decimals.
Comparisons were made between TABUROUTEand
other heuristic algorithms for which computational results have already been published for the same problems:
the Clarke and Wright (1964) savings alCW:
gorithm;
MJ:
the Mole and Jameson (1976) generalized
savings algorithm;
AG:
the Altinkemer and Gavish (1991) PSA-T
algorithm;
DV:
the Desrochers and Verhoog (1989) MBSA
algorithm;
the Gillett and Miller (1974) SWEEP algoGM:
rithm;
CMT1: the Christofides, Mingozzi, and Toth (1979)
two-phase algorithm;
FJ:
the Fisher and Jaikumar (1981) two-phase
algorithm;
CMT2: the Christofides, Mingozzi, and Toth (1979)
incomplete tree search algorithm;
OSA:
Osman's (1993) simulated annealing algorithm;
the Pureza and Franca (1991) tabu search
PF:
algorithm;
OTS:
Osman's (1993) tabu search algorithm;
T:
Taillard's (1992) tabu search algorithm.
Solution values for these algorithms are reported in
Table 1. These values are extracted from the respective
references except for CW, MJ,and GM, which are taken
from Christofides, Mingozzi, and Toth (1979).
We report two sets of figures for TABUROUTE. The
"standard" column contains results for a siingle pass of
TABUROUTE, using the parameters described in ?2.
However, in the course of performing the various sen-
MANAGEMENT SCIENCE/VOL
40, No. 10, October 1994
sitivity analyses, we did on occasions produce better
solutions; the corresponding local optima are reported
in column "best." Asterisks correspond to the best verifiable solutions obtained with real cijs. The full solutions
for the "best" column are reported in the appendix.
These results show that all "classical" algorithms (CW
to CMT2 in Table 1) are clearly dominated by simulated
annealing and tabu search, as far as solution values are
concerned. TABUROUTE is highly competitive and
generally produces the best known solutions. However,
when analyzing results, care must be taken to make
equitable comparisons. Thus, "TABUROUTEstandard"
executes a single pass with a priori parameters, while
for other columns (e.g., AG, OSA, OTS, T, and "TABUROUTE best") the algorithm was run for several variants, and the best solution was selected. Similarly, parameters in some algorithms are undefined in the original article, and the rule for selecting seed points in FJ
is not well specified. Another problem arises from the
type of distances that were used. It must first be said
that we did not generally possess the full solutions produced by the other algorithms, but only their value.
This poses a number of difficulties. It is obvious that
rounding or truncating must have occurred in the final
solution value, on the individual route costs, or on the
distances themselves since the reported optima are often
integer while the original distances are real. As a result,
the integer values reported in Table 1 may underestimate the true value to some extent. To our knowledge,
only the columns OSA, OTS, T, and TABUROUTEcorrespond to verifiable solutions obtained with real cijs.
The effect of rounding and truncating is best illustrated
on problem 1. When this problem is solved with real
cijs, a feasible solution of cost 524.61 is obtained. Recently, Hadjiconstantinou and Christofides (1993) have
proved this result is optimal. Using rounded costs,
TABUROUTE produces a solution of value 521, again
a proven optimum (Cornuejols and Harche 1993). The
same value is given by Fisher (1989) without specification of the rounding convention employed, and by
other authors who worked with rounded distances
(Harche and Raghavan 1991, Noon, Mittenthal, and
Pillai 1991). Using truncated costs, we obtain an objective value of 508 with TABUROUTE. Another difficulty arises in problems with very tight route length
1281
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
m
LU
aL)
M
-:*
C\
LO
Lo
C.
I
m
Lo
CY'
00
C\
00
CY'
C)
-r
Cy
LO
LO
C)
0)
C.
00
mC\J
AC0
Cy
C\l
Cy
LO
LO
CD
Lo
-r-
CO
m
C) oo
CO
C)
Cy)
Lo
LO
LO
CY'
Lo
CY
LI
":*
r--
cc
,m
LOS--
CIO C\J
Loc
-:*
LOCO
C/
l
C/
C
C\
C)
I
oo C
LO co
coco
C\J
O\
co
CY'
C\
CYoo
co
Lo
rl
rl_ CY,
c.
'7
uz
L
CD
CL
LO co
Co
co
LO coco
snno
LO co
co
>
oo
m
Co
oo
LO CY) co
CY'
LO
co
CY
LO
LO
C)
Co
C
Co
Lo
o
C)
LO CY CY
cM
m s
tnntcMmo
m
s
s
_
3~~~~~~~~~~~C
LOo
CD
LO
<
LO
LO
M
C.
M
)
oo
-r
r-0)MC
LO
o)
C)
rl
00
-I
LO
M
r-
r-
o)
CO
Lo
CY m
l
coco
r
CO
o
LO
C\
o_so
Co
:oo
coo
O
Mso
C\
)
~~~~~~~~~~~~O
Ir:
-r-
s
C.
MC
o .
ooo=tsm
>
. 3
"-I
C)
Lo
Ico
CY' LO CY co
n
C)
Co
LoCYco
oo
C.
LO
CL
X
<
C\j m
C
C
o
-:
r-
Lo
)
constraints, where some routes can be infeasible for
TABUROUTE,but feasible when rounding or truncating
occurs. We are aware of such cases where TABUROUTE
would have achieved a much better value had we considered legal some routes with a length exceeding L by
_ co CY. m CY. co
less than one unit. This type of problem has already
been reported by Mole (1983) in relation with a vehicle
scheduling algorithm by Cheshire, Malleson, and Nac-: CY. CY.
C co
cache (1982). We also compared TABUROUTE with
algorithms known to have been tested with truncated
distances (Toth 1984) or with rounded distances
cc -7 U?
(Harche and Raghavan 1991, Noon, Mittenthal, and
Pillai 1991) by using the same type of distance. In each
case, TABUROUTE produced better or identical results
on all 14 problems.
C\ CI
coC0
cos
The methodological problems just raised make direct
computation time comparisons difficult, particularly
when an unspecified number of passes of the same al\ LO
co
gorithm were executed with different parameters, or
when inordinate computing times were allowed. In addition, at least one algorithm (T) uses parallel computing. By and large, metastrategies such as simulated annealing and tabu search require higher computation
C co
times than classical heuristics, but given the vast im\ LO
co
provements in solution quality, we feel the extra computational effort is well justified. We report in Table 2
the computation times in minutes on a Silicon Graphics
C\ LOC
o co co
m
oso
workstation, 36 MHz, 5.7Mflops, for the standard version of TABUROUTE. More specifically, we show the
LO
rl
CY
CY)
C\
C\j
times required to compute the Xinitial solutions, to reach
the best encountered solution, and to terminate the alThese results show that the relationship begorithm.
0
~~~~~~~~~~~~~~~~~~~~~~~~C/
tween problem size and computation time is not moo~~~~~~~~~~~ and the moment at which the best solution
notonous,
l
is identified is quite unpredictable. Thus, in problems 4
o
and 5, it is encountered toward the end of the search
while in problem 12, it is discovered at an early
process,
00
C) rl
= ooso
stage, during the initial trials.
c\j
M
rl
)
LO
I
00
Looc
u~~~~~~~~~~~0
C 0
)
M
LO
M
-r
M
)
0)
M CoM
--r-
t
oso
-r
C.
C\J
"
oo
C)
\
"-I
O)
o)
)r-
M
LO
M
LO
M
C
M
r_
0
oo.
4. Conclusion
Mo
.cn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~0
E
LO
Co
o
o~~~~~~~~~~~c-
C)
o
oU
m
m
~~~~~~~~~~~~C\J
0~~~~~~~~~~~
U)C.
1282
o)
U-
Url
l
o)
CD
o
U-
m
m
CD
o)
c\
o)
CD
C\
o
c\
o
CD
o
We have described in this paper a new tabu search algorithm for the VRP. Results obtained on a series of
benchmark problems indicate clearly that tabu search
outperforms the best existing heuristics, and TABUROUTE often produces the best known solutions. By
nature, tabu search is a metaheuristic that must be tai-
MANAGEMENTSCIENCE/Vol. 40, No. 10, October 1994
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
Table 2
ComputationTimes for the StandardVersion
of TABUROUTE
ComputationTimes in Minutes
Problem
Size
Forthe A
InitialTrials
To Obtainthe
Best Solution
Total
1
2
3
4
5
6
7
8
9
10
11
12
13
14
50
75
100
150
199
50
75
100
150
199
120
100
120
100
0.6
2.6
3.1
7.4
15.9
1.1
3.2
3.9
11.9
21.4
3.0
3.5
10.3
8.2
1.4
39,2
6.8
54.5
83.8
7.8
31.8
5.9
21.3
44.1
11.9
1.7
34.8
29.7
6.0
53.8
18.4
58.8
90.9
13.5
54.6
25.6
71.0
99.8
22.2
16.0
59.2
65.7
lored to the shape of the particular problem at hand.
We attribute a large part of the success of TABUROUTE
to at least two main implementation devices. One is the
fact that we allow infeasible solutions through penalty
terms in the objective function, thus reducing the likelihood of local minima. A second important ingredient
of our method is the use of GENI to execute the insertions. Not only does this help produce better tours, but
as a result, the solution is periodically perturbed and
thus the risk of being trapped in a local optimum is
again reduced. Finally, one major advantage of the proposed algorithm lies in its flexibility. It can be executed
from any starting solution (feasible or not); it can also
be adapted to contexts where the number of vehicles is
fixed or bounded, where vehicles have different characteristics, etc. Also, additional features can easily be
handled, such as assigning particular cities to specific
vehicles, using several depots, allowing for primary and
secondary routes, and so on.'
l This work was partially supported by the Canadian Natural Sciences
and Engineering Research Council under grants OGP0038816,
OGP0039682, and OGP0105384. The second author also benefitted
from an NSERC International Fellowship. Thanks are also due to the
referees for their valuable comments.
Appendix. Best Solutions Obtained with Taburoute (real distances)
The "Time" column shows travel times only. To obtain total route durations, service times must be added, where applicable.
Problem 1
Number
of Cities
10
11
9
9
11
Route
0
0
0
0
0
38
32
27
18
12
9
1
48
13
37
30
22
23
41
44
34
20
7
40
15
50
35
43
19
45
n = 50
MANAGEMENT
SCIENCE/Vol. 40, No. 10, October 1994
16
36
24
42
33
21
3
25
17
39
29
28
14
4
10
2
31
6
47
49
11
26
0
0
5
0
8
0
46
0
Q= 160
Load
Time
159
149
152
157
160
99.33
118.52
98.45
109.06
99.25
524.61
1283
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
Problem2
Number
of Cities
Route
10
5
6
6
9
9
7
9
8
6
n
=
0
0
0
0
0
0
0
0
0
0
51
17
7
38
34
5
30
73
6
67
3
40
53
65
46
37
74
1
33
52
44
32
11
66
8
20
21
43
63
27
50
9
10
59
19
70
69
41
23
45
18
39
58
14
54
60
61
42
56
4
55
0
26
35
13
71
28
64
24
75
25
0
0
57
36
2
22
49
0
31
72
12
15
47
0
62
16
29
48
0
0
68
0
0
Q = 140
Load
Time
138
126
139
135
140
135
138
136
140
137
119.32
57.01
71.90
93.03
82.69
94.14
88.71
94.63
92.69
41.22
0
75
835.32
Problem3
Number
of Cities
Route
5
12
16
14
14
12
14
13
0
0
0
0
0
0
0
0
94
21
92
50
52
28
31
89
95
72
98
33
7
12
88
60
97
75
37
81
82
80
62
5
87
56
100
51
48
68
10
84
13
39
91
9
19
29
63
45
0
67
16
71
11
24
90
17
23
86
65
64
54
32
61
41
38
35
49
55
66
85
22
44
34
36
25
20
93
74
14
78
47
4
30
59
73
42
79
46
26
70
99
40
43
3
8
53
1
96
0
15
77
83
0
69
6
57
76
18
2
0
0
27
0
0
58
0
Q = 200
Load
Time
108
194
198
199
199
165
199
196
40.91
106.06
126.66
118.79
138.79
98.25
113.93
82.73
n = 100
826.14
Problem4
Number
of Cities
13
15
11
16
13
13
18
14
10
11
13
3
n = 150
1284
Route
0
0
0
0
0
0
0
0
0
0
0
0
138
32
11
119
78
90
137
63
144
110
139
103
48
1
100
22
16
10
44
37
145
18
68
108
112
120
2
70
118
54
107
52
109
55
133
12
7
80
83
116
130
106
65
15
87
134
14
0
61
28
131
121
50
73
93
45
135
67
58
114
31
20
115
21
117
92
91
143
13
25
99
82
59
36
79
89
42
72
4
136
95
43
140
3
85
74
39
64
33
149
41
96
86
113
101
35
34
75
88
125
146
66
24
97
26
51
84
104
105
40
124
47
111
98
69
8
77
128
9
30
94
122
0
56
132
23
60
0
29
62
49
19
123
57
81
0
27
129
38
76
141
71
53
0
0
150
5
0
6
102
0
46
0
127
126
0
148
0
142
147
17
0
Q= 200
Load
Time
196
199
195
200
192
200
197
197
200
199
199
61
120.33
88.22
74.55
120.62
75.74
110.25
119.46
72.73
51.96
83.96
90.86
22.38
1031.07
MANAGEMENT
SCIENCE/VOl. 40, NO. 10, October 1994
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
Problem5
Number
of Cities
13
14
15
13
11
11
13
7
12
13
11
11
3
13
14
14
11
Route
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
175
66
57
95
26
157
112
16
81
54
125
127
29
106
188
126
184
176
196
189
97
100
2
194
67
71
30
98
87
79
73
104
17
190
8
191
131
161
150
101
193
159
52
48
45
4
15
18
183
76
41
102
1
80
9
108
28
33
182
11
47
58
0
154
146
23
40
90
178
136
10
110
69
64
96
49
170
155
27
143
78
197
77
25
180
94
61
74
164
36
179
89
19
199
165
56
132
140
6
144
85
122
99
137
70
43
38
118
7
121
0
145
134
174
167
142
128
42
119
72
51
82
114
123
68
129
147
149
173
156
13
113
169
181
60
21
93
83
91
50
0
0
172
24
84
171
65
107
14
120
46
63
133
152
34
124
135
116
130
20
92
62
187
166
148
185
32
138
163
115
44
37
31
160
55
88
162
192
3
103
75
198
151
86
153
141
168
0
111
22
0
139
0
117
177
0
0
0
35
0
5
39
53
0
59
109
195
0
12
105
0
186
Q= 200
Load
Time
200
195
184
197
200
196
200
170
193
197
197
197
61
199
200
200
200
103.02
81.39
76.61
97.41
81.82
68.90
65.43
35.67
79.65
112.60
73.46
53.48
20.80
96.16
127.50
83.89
53.57
0
0
0
n = 199
1311.35
Problem6
Number
of Cities
10
10
8
9
9
4
Route
0
0
0
0
0
0
32
12
14
6
2
18
11
37
25
23
20
4
16
44
13
24
35
47
29
15
41
43
36
46
21
45
40
7
3
0
n = 50
MANAGEMENTSCIENCE/VOl. 40, NO. 10, October 1994
50
33
19
26
28
34
39
42
8
31
30
10
17
48
22
9
49
0
27
1
38
5
0
0
0
0
Q= 160
Load
L = 200
6= 10
Time
141
155
131
133
137
80
95.33
99.12
109.94
100.64
108.08
42.33
555.43
1285
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
Problem7
L= 160
Number
of Cities
Q= 140
Load
Route
17
51
62
7
53
32
67
45
4
30
26
0
0
0
0
0
0
0
0
0
0
0
7
7
7
7
5
6
8
8
6
7
7
44
23
64
14
66
18
52
5
70
21
10
40
63
22
35
11
50
34
29
20
74
58
3
56
42
59
65
55
54
37
60
61
31
16
33
6
46
49
43
73
8
0
9
57
47
69
2
72
24
41
1
19
38
25
13
36
71
28
39
132
115
112
138
129
113
135
140
87
140
123
0
0
0
0
0
15
48
0
68
12
27
75
0
0
0
0
n = 75
6= 10
Time
76.84
85.24
89.92
81.36
77.16
92.97
77.54
73.82
98.76
74.38
81.69
909.68
Problem8
Number
of Cities
13
9
11
12
11
11
10
11
12
n=
100
1286
Route
0
0
0
0
0
0
0
0
0
53
54
99
94
18
27
89
50
12
40
55
61
95
82
69
60
33
80
21
25
16
97
48
70
83
81
68
73
39
86
92
47
30
8
9
24
72
67
38
98
36
32
46
35
29
74
23
44
37
49
90
45
71
34
75
56
14
100
64
63
17
65
78
22
4
43
91
11
10
84
66
79
41
26
42
85
19
62
5
20
3
15
0
87
93
7
88
6
51
77
57
2
13
59
52
31
0
1
76
0
96
0
0
0
28
58
0
0
0
Q= 200
Load
L = 230
6 10
Time
157
153
191
199
178
155
93
163
169
83.10
107.08
111.40
59.35
117.55
90.12
89.16
117.93
90.26
865.94
MANAGEMENTSCIENCE/VOl. 40, NO. 10, October 1994
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
Problem9
L = 200
Number
of Cities
11
10
9
13
12
11
10
12
10
12
11
9
8
12
Q = 200
Load
Route
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
5
51
28
52
18
50
53
105
31
13
146
48
92
12
84
103
80
106
82
102
40
110
10
117
89
47
37
109
17
71
150
7
124
33
21
4
108
97
147
36
98
134
113
136
68
123
46
81
73
139
90
42
6
143
91
24
86
65
121
19
45
120
74
39
32
142
96
49
119
25
140
66
29
107
125
9
133
67
131
43
104
64
44
55
38
20
129
11
8
135
22
23
128
15
99
63
141
130
14
122
79
62
114
35
41
56
30
57
94
126
16
54
100
1
3
148
83
34
145
75
70
144
112
0
61
149
95
0
77
88
60
78
115
72
101
87
0
85
26
0
0
116
127
118
0
2
0
69
137
76
27
0
111
0
58
0
132
0
0
93
59
0
0
154
173
119
188
169
168
166
142
193
168
129
133
135
198
n = 150
6 = 10
Time
82.39
99.74
108.57
69.64
74.60
88.80
91.04
64.60
96.13
79.99
78.33
42.01
112.65
74.40
1162.89
Problem10
L = 200
Number
of Cities
11
9
11
12
12
11
12
12
10
11
14
11
12
10
13
10
10
8
Q = 200
Load
Route
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
150
149
98
83
127
33
120
171
158
61
96
117
72
95
17
169
152
26
52
51
29
13
34
193
172
47
43
105
104
63
118
151
40
80
54
100
11
7
103
123
65
194
21
155
190
195
23
107
148
3
9
131
125
71
170
132
5
128
167
186
173
36
41
53
160
24
92
55
110
31
30
119
164
180
88
70
99
22
174
122
143
198
115
145
135
44
163
162
139
38
85
69
37
19
179
141
82
166
89
192
90
144
146
106
25
75
2
165
134
14
124
78
27
91
121
20
137
184
185
74
18
32
56
189
157
n = 199
MANAGEMENTSCIENCE/VOl.
77
84
133
154
178
58
142
140
138
113
197
62
49
73
187
161
57
6
10
108
177
15
102
111
114
94
59
68
136
116
182
147
130
97
109
0
129
0
35
79
8
87
156
64
48
42
1
183
159
181
12
76
39
50
0
175
153
176
4
93
28
0
199
191
188
67
0
168
0
0
0
45
46
0
86
101
0
196
0
16
81
0
0
0
0
66
112
0
126
0
0
181
145
194
173
172
194
177
17
194
160
200
198
193
181
176
187
139
146
6 = 10
Time
86.75
104.63
77.80
75.56
77.52
48.67
79.98
70.15
99.43
89.71
51.64
85.47
79.65
99.44
57.41
96.71
90.07
35.17
1404.75
40, NO. 10, October 1994
1287
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
Problem 11
Number
of Cities
16
21
16
16
17
16
18
Route
0
0
19
0
0
0
0
0
0
100
109
16
40
106
120
88
82
53
21
17
43
73
105
2
111
55
20
0
45
76
102
1
86
58
23
56
26
60
28
63
32
66
35
64
29
62
36
61
34
65
31
59
30
57
33
54
27
52
24
0
22
48
68
101
3
85
51
77
99
4
89
50
79
104
5
91
49
80
103
6
90
47
78
116
7
114
46
72
98
9
18
44
75
110
10
118
41
74
115
11
108
42
71
97
15
83
39
70
94
14
113
38
69
96
13
117
37
67
93
12
84
95
107
92
8
112
0
0
87
0
81
Q = 200
Load
Time
199
213.63
197
200
199
193
199
207.94
199.63
144.43
74.56
134.96
188
66.96
25
0
119
n= 120
1042.11
Problem 12
Number
of Cities
10
14
6
8
11
9
11
9
9
13
Route
0
0
0
0
0
0
0
0
0
0
91
81
67
57
75
10
21
34
99
43
89
78
65
55
1
12
22
36
100
42
88
76
63
54
2
14
23
39
97
41
85
71
74
53
4
16
26
38
93
40
84
70
62
56
6
15
28
37
92
44
82
73
66
58
9
19
30
35
94
45
83
77
0
60
11
18
29
31
95
46
86
79
87
80
90
72
0
61
64
59
8
17
27
33
96
48
0
7
13
25
32
98
51
3
0
24
0
0
50
5
0
20
0
52
49
68
69
47
0
0
Q = 200
Load
Time
170
200
150
200
170
200
170
200
190
160
76.07
137.02
43.59
101.88
56.17
96.04
50.80
97.23
95.94
64.81
n = 100
819.56
Problem 13
Number
of Cities
12
12
10
10
10
10
10
11
12
13
10
Route
0
0
0
0
0
0
0
0
0
0
0
113
18
21
29
38
40
53
73
120
88
102
83
118
20
32
39
43
55
71
70
82
101
2
108
26
35
42
45
58
74
69
111
99
1
8
23
36
47
48
56
72
67
86
100
3
12
25
34
50
51
60
75
98
87
116
4
13
24
33
49
65
63
78
110
92
103
5
14
22
30
46
61
66
80
115
89
104
6
15
19
27
44
57
64
79
97
85
107
109
11
16
31
41
54
62
77
94
112
106
114
10
17
28
37
52
59
76
93
84
105
90
9
0
0
0
0
0
68
96
117
0
91
7
0
0
0
95
81
0
119
n= 120
1288
0
Q = 200
Load
L 720
6 50
Time
138
153
123
61
115
143
125
141
144
146
86
113.85
117.70
170.53
195.35
183.65
218.37
207.08
136.49
118.66
45.80
38.45
1545.93
MANAGEMENTSCIENCE/VOl.
40, NO. 10, October 1994
GENDREAU, HERTZ, AND LAPORTE
Tabu Search Heuristic
Problem 14
Number
of Cities
8
9
10
9
10
10
10
10
9
5
10
n
=
Route
0
0
0
0
0
0
0
0
0
0
0
57
32
21
10
5
98
90
63
20
41
67
59
33
22
12
3
96
87
80
49
40
65
60
31
24
14
7
95
86
79
52
44
62
58
35
25
16
8
94
83
77
50
42
74
56
37
27
15
11
92
82
73
51
43
72
53
38
29
19
9
93
84
70
48
0
61
100
References
Altinkemer, K. and B. Gavish, "Parallel Savings Based Heuristic for
the Delivery Problem," Oper. Res., 39 (1991), 456-469.
Beasley, J. E., "Route First-Cluster Second Methods for Vehicle Routing," Omiiega,11 (1983), 403-408.
Bodin, L. D., B. L. Golden, A. A. Assad, and M. 0. Ball, "Routing
and Scheduling of Vehicles and Crews. The State of the Art,"
& Oper. Res., 10 (1983), 69-211.
Comiiputers
Cheshire, I. M., A. M. Malleson, and P. F. Naccache, "A Dual Heuristic
for Vehicle Scheduling," J. OperationialRes. Soc., 33 (1982), 5161.
Problemii.
Christofides, N., "Vehicle Routing," The TravelinigSalesmiiani
E. L. Lawler, J. K.
Optimiiizationi,
A Guided Tour of Comiibiniatorial
Lenstra, A. H. G. Rinnooy Kan, and D. B. Shmoys (Eds.), Wiley,
Chichester, 1985, 431-448.
, A. Mingozzi, and P. Toth, "The Vehicle Routing Problem,"
N. Christofides, A. Mingozzi, P. Toth,
Optimiiizationi,
Conibiniatorial
and C. Sandi (Eds.), Wiley, Chichester, 1979, 315-338.
Clarke, G. and J. W. Wright, "Scheduling of Vehicles from a Central
Depot to a Number of Delivery Points," Oper. Res., 12 (1964),
568-581.
Cornuejols, G. and F. Harche, "Polyhedral Study of the Capacitated
Vehicle Routing Problem," Mathl.Prog., 60 (1993), 21-52.
Desrochers, M. and T. W. Verhoog, "A Matching Based Savings Algorithm for the Vehicle Routing Problem," Cahier du GERAD
G-89-04. Ecole des Hautes Etudes Commerciales de Montreal,
1989.
Fisher, M. L., "Optimal Solution of Vehicle Routing Problems and
Minimum k-Trees," Report 89-12-13. Decision Sciences Department, The Wharton School, Philadelphia, PA, 1989.
and R. Jaikumar, "A Generalized Assignment Heuristic for Vehicle Routing," Networks, 11 (1981), 109-124.
MANAGEMENTSCIENCE/VO1.40, No. 10, October 1994
54
39
30
18
6
97
85
71
45
55
36
28
17
4
100
88
76
46
0
34
26
13
2
99
89
78
47
0
23
0
75
1
91
81
0
64
68
66
69
0
0
0
0
0
0
Q = 200
Load
L = 1040
6=90
Time
200
200
160
200
160
200
170
200
110
60
150
101.88
97.23
49.41
96.04
56.17
96.70
76.07
128.04
61.56
45.47
57.79
866.37
and Initractability:A Guide
Garey, M. R. and D. S. Johnson, Comiiputers
to the Theoryof NP-Conipleteniess,Freeman, San Francisco, 1979.
Gendreau, M., A. Hertz, and G. Laporte, "New Insertion and PostOptimization Procedures for the Traveling Salesman Problem,"
Oper. Res., 40 (1992), 1086-1094.
Gillett, B. and L. Miller, "A Heuristic Algorithm for the Vehicle Dispatch Problem," Oper. Res., 22 (1974), 340-349.
Glover, F., "Heuristic for Integer Programming Using Surrogate Constraints," DecisioniScienices,8 (1977), 156-166.
1 (1989), 190-206.
,"Tabu Search, Part I," ORSAJ. Conmputinig,
,"Tabu Search, Part II," ORSAJ. Computinig,2 (1990), 4-32.
and M. Laguna, "Tabu Search," ModerniHeuiristicTechniiquesfor
Comiibiniatorial
Problemiis,C. Reeves (Ed.), Blackwell Scientific
Publications, Oxford, 1993, 70-150.
E. Taillard, and D. de Werra, "A User's Guide to Tabu Search,"
Anniialsof OperationisResearchl,41 (1993), 3-28.
Golden, B. L. and A. A. Assad, "VeliicleRoutinig:MethlodsanidStudies,"
North-Holland, Amsterdam, 1988.
Hadjiconstantinou, E. and N. Christofides, "An Optimal Procedure
for Solving Basic Vehicle Routing Problems," presented at the
35th Annual Conference of the Canadian Operational Research
Society, Halifax, Canada, 1993.
Haimovich, M. and A. H. G. Rinnooy Kan, "Bounds and Heuristics
for Capacitated Routing Problems," Math . Oper. Res., 10 (1985),
527-542.
Harche, F. and P. Raghavan, "A Generalized Exchange Heuristic for
the Capacitated Vehicle Problem," Working Paper, Stern School
of Business, New York University, 1991.
Hertz, A., "Finding a Feasible Course Schedule Using Tabu Search,"
Discrete Applied Math., 35 (1992), 255-270.
Kirkpatrick,S., Gelatt, C. D. Jr., and M. P. Vecchi, "Optimization by
Simulated Annealing," Scienice,220 (1983), 671-680.
1289
GENDREAU, HERTZ, AND LAPORTE
Tabu Searcli Heiuristic
Laporte, G., "The Vehicle Routing Problem: An Overview of Exact
and Approximate Algorithms," EuropeaniJ. OperationialRes., 59
(1992), 345-358.
and Y. Nobert, "Exact Algorithms for the Vehicle Routing Problem," Surveys ini Comiibinatorial
S. Martello, G. LaOptimiiizationi,
porte, M. Minoux and C. Ribeiro (Eds.), North-Holland, Amsterdam, 1987, 147-184.
Metropolis, N., A. W. Rosenbluth, M. N. Rosenbluth, A. H. Teller,
and E. Teller, "Equation of State Calculations by Fast Computing
Machines," J. Chemical Physics, 21 (1953), 1087-1091.
Mole, R. H., "The Curse of Unintended Rounding Error:A Case from
the Vehicle Scheduling Literature," J. OperationialRes. Society,
34 (1983), 607-613.
and S. R. Jameson, "A Sequential Route-Building Algorithm Employing a Generalised Savings Criterion," OperationialRes. Quarterly, 27 (1976), 503-511.
Noon, C. E., J. Mittenthal, and R. Pillai, "A TSSP+1 Decomposition
Approach for the Capacity-Constrained Vehicle Routing Problem," Working Paper, Management Science Program, The University of Tennessee, Knoxville, TN, 1991.
Or, I., "Traveling Salesman-Type Combinatorial Optimization Problems and Their Relation to the Logistics of Regional Blood Banking," Ph.D. Dissertation, Northwestern University, Evanston, IL,
1976.
Osman, I. H., "Metastrategy Simulated Annealing and Tabu Search
Algorithms for Combinatorial Optimization Problems," Ph.D.
Dissertation, The Management School, Imperial College, London,
1991.
, "MetastrategySimulated Annealing and Tabu Search Algorithms
for the Vehicle Routing Problem," Anniialsof Oper. Res., 41 (1993),
421-45 1.
Pureza, V. M. and P. M. Franca, "Vehicle Routing Problems via Tabu
Search Metaheuristic," Publication CRT-747, Centre de recherche
sur les transports, Montreal, 1991.
Riordan, J., Ani hItroduictioni to Comiibiniatorial
Anialysis, Wiley, New
York, 1958.
Semet, F. and E. Taillard, "Solving Real-Life Vehicle Routing Problems
of Oper. Res., 41 (1993),
Efficiently Using Taboo Search," Annzials
469-488.
Stewart, W. R. Jr.and B. L. Golden, "A LagrangianRelaxation Heuristic
for Vehicle Routing," Eiropean J. OperationialRes., 15 (1984),
84-88.
Taillard, E., "Robust Taboo Search for the Quadratic Assignmen-t
17 (1991), 433-445.
Problem," Parallel Comiipuitinig,
, "Parallel Iterative Search Methods for Vehicle Routing Problems." Working Paper ORWP 92/03, Departement de Mathematiques, Ecole Polytechnique Fedrale de Lausanne, Switzerland, 1992.
Toth, P., "Heuristic Algorithms for the Vehicle Routing Problem,"
presented at the Workshop onlRouting Problems, Hamburg, 1984.
Willard, J. A. G., "Vehicle Routing Using r-Optimal Tabu Search,"
M.Sc. Dissertation. The Management School, Imperial College,
London, 1989.
Accepted by AuwiFedergrueni;receivedJuIily15, 1991. This paper hlas bee1lwith the authlors7
1290
for 2 revisions.
miiouithls
MANAGEMENT SCIENCE/VO1.
40, No. 10, October 1994