Professional Documents
Culture Documents
Transportation Science
Publication details, including instructions for authors and subscription information:
http://pubsonline.informs.org
This article may be used only for the purposes of research, teaching, and/or private study. Commercial use
or systematic downloading (by robots or other automatic processes) is prohibited without explicit Publisher
approval, unless otherwise noted. For more information, contact permissions@informs.org.
The Publisher does not warrant or guarantee the article’s accuracy, completeness, merchantability, fitness
for a particular purpose, or non-infringement. Descriptions of, or references to, products or publications, or
inclusion of an advertisement in this article, neither constitutes nor implies a guarantee, endorsement, or
support of claims made of that product, publication, or service.
© 1999 INFORMS
INFORMS is the largest professional society in the world for professionals in the fields of operations research, management
science, and analytics.
For more information on INFORMS, its publications, membership, or meetings visit http://www.informs.org
Parallel Tabu Search for Real-Time Vehicle
Routing and Dispatching
MICHEL GENDREAU
Downloaded from informs.org by [61.129.42.15] on 13 May 2015, at 06:45 . For personal use only, all rights reserved.
Centre de recherche sur les transports and Département d’informatique et de recherche opérationnelle,
Université de Montréal, C.P. 6128, succ. Centre-ville, Montréal, Québec H3C 3J7, Canada
FRANÇOIS GUERTIN
Centre de recherche sur les transports, Université de Montréal, C.P. 6128, succ. Centre-ville,
Montréal, Québec H3C 3J7, Canada
JEAN-YVES POTVIN
Centre de recherche sur les transports and Département d’informatique et de recherche opérationnelle,
Université de Montréal, C.P. 6128, succ. Centre-ville, Montréal, Québec H3C 3J7, Canada
ÉRIC TAILLARD
Istituto Dalle Molle di Studi sull’Intelligenza Artificiale (IDSIA), Corso Elvezia 36, CH-6900 Lugano, Switzerland
An abundant literature about vehicle routing and scheduling problems is available in the
scientific community. However, a large fraction of this work deals with static problems where
all data are known before the routes are constructed. Recent technological advances now create
environments where decisions are taken quickly, using new or updated information about the
current routing situation. This paper describes such a dynamic problem, motivated from
courier service applications, where customer requests with soft time windows must be dis-
patched in real time to a fleet of vehicles in movement. A tabu search heuristic, initially
designed for the static version of the problem, has been adapted to the dynamic case and
implemented on a parallel platform to increase the computational effort. Numerical results are
reported using different request arrival rates, and comparisons are established with other
heuristic methods.
(DROR and POWELL, 1993; POWELL, JAILLET and originating from and terminating at the depot v 0 ,
ODONI, 1995; PSARAFTIS, 1995; LUND, MADSEN, and such that:
RYGAARD, 1996). Such problems are found in many
● each vehicle services one route;
different application domains, like delivery of petro-
leum products or industrial gases (BELL et al., 1983; ● each vertex v i , i ⫽ 1, . . . , n is visited exactly
BROWN et al., 1987; BAUSCH, BROWN, and RONEN, once;
● the start time of each vehicle route is greater
1995), transportation on demand for the elderly or
the handicapped (WILSON and COLVIN, 1977), and than or equal to e 0 ;
Downloaded from informs.org by [61.129.42.15] on 13 May 2015, at 06:45 . For personal use only, all rights reserved.
冘 d ⫹ 冘 ␣ 共t ⫺ l 兲 ,
time to an appropriate vehicle. As opposed to the m n
⫹
static scenario, where all requests are known before f共s兲 ⫽ k i i i s 僆 S, (1)
the routes are constructed, each decision must be k⫽1 i⫽1
3.2 For C cycles do: length are taken from two different routes and
a. decompose the current solution into D dis- moved from one route to another. A neighborhood of
joint subsets of routes manageable size is obtained by restricting the
b. apply tabu search to each subset of routes CROSS exchanges to segments with L service points
c. merge the resulting routes to form the new at most, where L is a parameter of the algorithm.
current solution
3.3 Add the resulting routes to the adaptive 2.4 Parallel Implementation
memory (if indicated).
4. Apply a postoptimization procedure to each indi- Fast response times are required to cope with
vidual route of the best solution found. real-time environments. To increase the computa-
tional effort in a given time interval, the tabu search
Details about this algorithm may be found in heuristic was implemented on a network of worksta-
TAILLARD et al. (1997). In the following, the main tions (BADEAU et al., 1997). A master–slave scheme
components are briefly introduced. is a natural way to parallelize the algorithm on this
coarse-grained, loosely connected architecture. The
2.1 Adaptive Memory master process manages the adaptive memory and
As the tabu search heuristic proceeds, the routes creates new starting solutions for the slave pro-
of the best solutions visited during the search are cesses which, themselves, apply tabu search to im-
stored in an adaptive memory. New initial solutions prove the solutions. This scheme induces a multi-
for the tabu search are then created by combining thread search strategy where different search paths
routes taken from different solutions in this mem- are followed in parallel (CRAINIC, TOULOUSE, and
ory. This way of combining components of different GENDREAU, 1997). Namely, many different tabu
high quality solutions to create a new solution is searches run in parallel, each starting from a differ-
quite similar to the crossover operator found in ge- ent initial solution. Although the threads run inde-
netic algorithms (HOLLAND, 1975). Note that a new pendently, they communicate implicitly through the
solution produced by the tabu search is included in adaptive memory as they feed this memory with
the memory if the memory is not filled yet, or the their resulting solutions and get new starting solu-
new solution is better than the worst solution stored tions from it.
in memory, in which case the latter is removed. The decomposition procedure allows for another
level of parallelization, because the subproblems
2.2 Decomposition/Reconstruction created by the decomposition can be allocated to
Each starting solution is partitioned into D dis- different processors. The implementation thus in-
joint subsets of routes, with each subset or subprob- volves the following processes:
lem being processed by a different tabu search (TAIL- ● The Manager process that manages the adap-
LARD, 1993). When every subproblem is solved, the tive memory and creates new starting solutions.
new routes are simply merged back to form the new ● R Decomposition processes that decompose a
current solution. The decomposition uses the polar problem into subproblems for the tabu processes
angle associated with the center of gravity of each (see below); each decomposition process corre-
route. Through a sweep procedure, the domain is sponds to a distinct search thread.
partitioned into sectors that approximately contain ● The Dispatcher process that dispatches the
the same number of routes. C cycles of decomposi- work among processors.
tion/reconstruction take place before the final solu- ● P Tabu processes that apply tabu search to sub-
tion is sent to the adaptive memory for possible problems.
inclusion. At each cycle, the decomposition (i.e., the
subset of routes in each subproblem) changes by The Manager, Decomposition, and Dispatcher
choosing a different starting angle to construct the processes are typically located on the same processor
sectors. because they require modest computation times,
384 / M. GENDREAU ET AL.
Downloaded from informs.org by [61.129.42.15] on 13 May 2015, at 06:45 . For personal use only, all rights reserved.
Fig. 1. Dispatching situation involving two vehicles (at the time of occurrence of a new request).
whereas a different processor is assigned to each ● Communication between the central dispatch
Tabu process (for a total of P ⫹ 1 processors). Pre- office and the drivers take place at each service
vious experiments (BADEAU et al., 1997) have shown location and is aimed at identifying their next
that the parallel implementation is competitive with destination. Consequently, the drivers do not
the sequential one, with respect to solution quality, know the global picture represented by their
for the same amount of computational work. How- current planned route (which may be modified
ever, this work is done much faster, in terms of wall frequently by the problem-solving procedure).
clock times, on the parallel platform. ● If some waiting time is expected at the drivers’
next destination, they are asked to wait at their
3. DYNAMIC PROBLEM current location. This is a form of least commit-
IN THE DYNAMIC version of the problem, a number of ment strategy, because a movement is per-
service requests are not known completely ahead of formed at the latest possible time to allow for
time, but are rather dynamically revealed as time last minute changes to the planned route due to
goes by. This situation impacts the problem-solving the arrival of new service requests. Once a
method developed for the static problem in a number driver is en route to his next destination, how-
of ways, as explained in the following. ever, he must necessarily service this location
(i.e., no diversion is allowed).
3.1 Operating Scenarios
The dynamic operating scenarios are based on the Figure 1 illustrates a typical situation involving
following assumptions: two vehicles at an instant associated with the occur-
rence of a new service request. In this figure, the
● Requests must be received before a fixed time
little square is the depot and the circles are cus-
deadline to be serviced the same day. Those that
tomer requests. Dotted arcs correspond to completed
are received after the deadline, however, may be
kept for the next day. The operations day thus movements: customers found at the end of those arcs
typically starts with a number of pending or are already serviced and are not considered any-
static requests (for which a solution may have more. The black circles correspond to the current
been constructed beforehand). destination of each vehicle. These customers, as well
● Uncertainty comes from a single source, namely as their successors on each route, are still unser-
the occurrence of new service requests. In par- viced. The current solution thus consists of a set of
ticular, there is no uncertainty associated with planned routes, where each route starts with the
the service locations, like cancellation. Further- driver’s current destination and ends with the last
more, the travel times are assumed to be known customer on the planned route (including the return
with certainty because no unexpected perturba- trip to the depot). Note that each problem is now
tion comes from the external world (like sudden open, in the sense that the starting and ending
congestion on the network caused by an acci- points of the planned routes are not the same. As for
dent, vehicle breakdown, etc.). the static problem, the objective is to minimize a
REAL-TIME VEHICLE ROUTING AND DISPATCHING / 385
weighted sum of total distance traveled and lateness has completed its service at a customer location.
at customer locations. These events are precisely handled as follows:
Note that a natural way to quickly handle a new
request, as illustrated in Fig. 1, is through its inser- (a) In case of an end of service at a customer location
tion between two consecutive customers on a (which is not a random event, because the travel
planned route. The insertion place for the new re- times between the service locations are known
quest is chosen to minimize the additional cost over with certainty), the driver must know his next
all feasible insertion places in the current solution. destination, that is, the next customer to be ser-
Downloaded from informs.org by [61.129.42.15] on 13 May 2015, at 06:45 . For personal use only, all rights reserved.
H
C ⫽ C0 ⫹ , initialization
R number of initial solutions: I ⫽ max{4, P}, where P is the
number of tabu search processes
where H is the number of calls to the adaptive adaptive memory
memory between the last two events, and R is the size: M ⫽ 30 solutions
number of decomposition processes or search decomposition/reconstruction
minimum number of cycles: C ⫽ 6
Downloaded from informs.org by [61.129.42.15] on 13 May 2015, at 06:45 . For personal use only, all rights reserved.
TABLE III
Comparison of Different Heuristics on Scenarios of Type 2
Problem Set Insertion Rebuild Adaptive Adaptive
(No. of Problems) Insertion ⫹ Rebuild ⫹ Descent Tabu
rent set of planned routes. The Insertion⫹ method 0.0 0.0 0.0
applies a local search heuristic based on CROSS 0.00 0.00 0.00
exchanges to improve the planned routes after each RC1 1333.7 1337.8 1389.2
insertion. The Rebuild method reconstructs the 68.5 52.7 0.0
planned routes each time a new service request oc- 0.38 0.13 0.00
curs, using an adaptation of Solomon’s I1 insertion R2 1024.7 1011.7 980.3
heuristic (SOLOMON, 1987). Rebuild⫹ applies a local 50.7 10.7 0.0
0.00 0.00 0.00
search heuristic based on CROSS exchanges to the
solution obtained with Rebuild. C2 597.3 595.9 589.9
0.0 0.0 0.0
The Adaptive descent method is a slight modifica-
0.00 0.00 0.00
tion to our parallel tabu search heuristic. In this
case, the Tabu processes are stopped as soon as a RC2 1174.9 1154.9 1117.4
12.1 20.9 0.0
local optimum is found. This method thus corre- 0.00 0.00 0.00
sponds to a multi-start local search heuristic, based
Overall 1039.2 1031.6 1027.2
on starting solutions constructed from the adaptive 30.7 21.4 0.0
memory. The last method, Adaptive tabu, is our 0.09 0.05 0.00
parallel tabu search heuristic. The results shown in
*Average distance, lateness, and number of unserviced cus-
Tables II and III for Adaptive descent and Adaptive tomers.
tabu were obtained with R ⫽ 8, D ⫽ 2, and P ⫽ 16
on the problems of type 1. That is, eight search
threads were running in parallel, with each solution computation time is available. There is little or no
or set of routes being divided into two subsets of difference between scenarios of type 1 and 2 for the
routes through the decomposition procedure, for a other heuristic approaches. These heuristics are
total of 16 tabu search processes. For the problems quite fast, but cannot exploit any additional time
of type 2, R ⫽ 16, D ⫽ 1, and P ⫽ 16. Thus, no once they have produced a solution (i.e., they stop
decomposition took place on these problems because and wait for the next event).
each solution only contains a few routes (typically, Table IV compares the solutions reported in TAIL-
two to four routes). LARD et al. (1997) in the static case, using the tabu
The three numbers in each entry of Tables II and search heuristic presented in Section 2, with those
III are the distance traveled, total lateness at cus- produced in the dynamic settings. As in Tables II
tomer locations (scaled back to the original value) and III, the three numbers in each entry are the
and number of unserviced customers, respectively, average distance traveled, total lateness at cus-
for each problem set. The numbers are averages tomer locations, and number of unserviced custom-
taken over all problems in a given set, except for the ers, respectively. Note that the static solutions ser-
row, Overall, which contains averages taken over vice every customer before their time window’s
the entire set of 56 test problems. upper bound, as opposed to the dynamic ones, where
Tables II and III show that running adaptive- some customers are unserviced or serviced late. As
memory-based heuristics to optimize the planned expected, the sum of distance and lateness is higher
routes between two events is beneficial. In particu- in the dynamic case. The average gap between the
lar, a larger number of requests can now be serviced, dynamic and static solutions is equal to 4.1% for
thus increasing the overall throughput of the sys- scenarios of type 1 (higher request arrival rate) and
tem. The methods Adaptive descent and Adaptive 2.5% for scenarios of type 2.
tabu generally perform better on scenarios of type 2,
where the request arrival rate is lower (as compared 4.2 Benefits of Parallelization
with scenarios of type 1). Given that these methods Through parallelization, the computational effort
run during the entire time interval between two can be increased between two events. Table V shows
events, they can produce better solutions when more results obtained with Adaptive tabu using P ⫽ 1, 2,
REAL-TIME VEHICLE ROUTING AND DISPATCHING / 389
TABLE V
Adaptive Tabu with an Increasing Number of Processors Using Scenarios of Type 1
No. of Processors
Problem
Set 1 2 4 8 16
4, 8, and 16 processors to run the tabu search (using position. Allowing diversion is an interesting av-
scenarios of type 1 with a higher request arrival enue to explore, although some issues must be
rate). The three numbers in each entry are the same carefully addressed: in what situations should
as in Table IV. As expected, these numbers show diversion be allowed? should we consider the pos-
that an increase in the number of processors gener- sibility of diverting away many vehicles at once?
ally lead to better solutions, by allowing more cus- how much computation time should be allowed to
tomers to be serviced and by reducing the sum of the exploration of diversion opportunities, given
distance and lateness. These numbers also show that diversion takes place in a context where the
that a request arrival rate of three requests per time pressure is important (vehicles are moving
minute can be handled with only P ⫽ 8 processors, fast and diversion opportunities may be quickly
because there is not much difference between P ⫽ 8 lost)?
and P ⫽ 16. 2. Retaining new service requests (if time permits)
could also be considered. By collecting a batch of
5. CONCLUSION requests and by dispatching them all at once, the
adverse effects of dispatching requests in a se-
A TABU SEARCH heuristic, initially designed for
quential fashion could be alleviated.
static vehicle routing problems with time windows,
3. The current problem-solving approach optimizes
has been adapted to the dynamic case. Computa-
the planned routes based on information (re-
tional results show that the tabu search heuristic
quests) known with certainty. It would be inter-
allows more customers to be serviced and reduces
esting to integrate probabilistic knowledge about
the total distance traveled and total lateness at cus-
the future, like the time–space distribution of
tomer locations, when compared with other heuris-
future requests, to improve decision making at
tic approaches. The current system can be improved
the current time.
or extended in a number of ways:
4. A single source of uncertainty, namely the time–
1. Diverting a vehicle away from its current desti- space occurrence of new service requests, is con-
nation could be considered when a new service sidered in this work. Other sources of uncer-
request is received in the vicinity of its current tainty, like service delays due to congestion or
390 / M. GENDREAU ET AL.
vehicle breakdown, could be considered as well. J. DESROSIERS, Y. DUMAS, M. M. SOLOMON, and F. SOUMIS,
These additional events raise some interesting “Time Constrained Routing and Scheduling,” in Net-
issues, for example, how and when recourse ac- work Routing, Handbooks in Operations Research and
tions should be taken to respond to them. Management Science, Vol. 8, M. O. Ball, T. L. Mag-
5. Extensions to problems where a service request nanti, C. L. Monma, and G. L. Nemhauser (eds),
North-Holland, Amsterdam, 35–139, 1995.
includes both a pick-up and a delivery location
M. DROR and W. B. POWELL (eds), Special issue on Sto-
represent an interesting research avenue. Appli-
chastic and Dynamic Models in Transportation, Opns.
cations include, for example, local express mail
Downloaded from informs.org by [61.129.42.15] on 13 May 2015, at 06:45 . For personal use only, all rights reserved.