European Journal of Operational Research 151 (2003) 1–11
www.elsevier.com/locate/dsw
Invited Review
Real-time vehicle routing: Solution concepts, algorithms
and parallel computing strategies
Gianpaolo Ghiani a, Francesca Guerriero b, Gilbert Laporte
Roberto Musmanno b
c,*
,
a
Dipartimento di Ingegneria dellÕInnovazione,Universit
a degli Studi di Lecce, 73100 Lecce, Italy
Dipartimento di Elettronica, Informatica e Sistemistica, Universita degli Studi della Calabria, 87030 Rende (CS), Italy
GERAD and Canada Research Chair in Distribution Management, HEC Montr
eal, 3000 chemin de la C^
ote-Sainte-Catherine, Montr
eal,
Quebec, Canada H3T 2A7
b
c
Received 3 June 2002; accepted 19 November 2002
Abstract
In real-time fleet management, vehicle routes are built in an on-going fashion as vehicle locations, travel times and
customer requests are revealed over the planning horizon. To deal with such problems, a new generation of fast on-line
algorithms capable of taking into account uncertainty is required. Although several articles on this topic have been
published, the literature on real-time vehicle routing is still disorganized. In this paper the research in this field is reviewed and some issues that have not received attention so far are highlighted. A particular emphasis is put on parallel
computing strategies.
Ó 2003 Elsevier B.V. All rights reserved.
Keywords: Parallel computing; Metaheuristics; Routing
1. Introduction
Vehicle routing problems (VRPs) are central
to logistics management both in the private and
public sectors. They consist of determining optimal vehicle routes through a set of users, subject to
side constraints. The most common operational
*
Corresponding author. Tel.: +1-514-343-6143; fax: +1-514343-7121.
E-mail addresses: gianpaolo.ghiani@unile.it (G. Ghiani),
guerriero@deis.unical.it (F. Guerriero), gilbert@crt.umontreal.ca (G. Laporte), musmanno@unical.it (R. Musmanno).
constraints impose that the total demand carried
by a vehicle at any time does not exceed a given
capacity, the total duration of any route is not
greater than a prescribed bound, and service time
windows set by customers are respected. In longhaul routing, vehicles are typically assigned one
task at a time while in short-haul routing, tasks are
of short duration (much shorter than a work shift)
and a tour is to be built through a sequence of
tasks. For a survey on the most relevant modeling
and algorithmic issues on VRPs see the recent
book by Toth and Vigo [1].
There exist several important problems that
must be solved in real-time. In what follows, we
0377-2217/$ - see front matter Ó 2003 Elsevier B.V. All rights reserved.
doi:10.1016/S0377-2217(02)00915-3
2
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
review the main applications that motivate the
research in the field of the real-time VRPs.
services, relocating temporary idle vehicles
is an issue.
(i) Dynamic fleet management: Several largescale trucking operations require real-time
dispatching of vehicles for the purpose of collecting or delivering shipments. Important
savings can be achieved by optimizing these
operations [2–8].
(ii) Vendor-managed distribution systems: In vendor-managed systems, distribution companies estimate customer inventory level in
such a way to replenish them before they
run out of stock. Hence, demands are known
beforehand in principle and all customers are
static. However, because demand is uncertain, some customers (usually a small percentage) may run out of stock and have to
be serviced urgently [9,10].
(iii) Couriers: Long-distance courier need to collect locally outbound parcels before sending
them to a remote terminal to consolidate
loads. Also, loads coming from remote terminals have to be distributed locally. Most
pick-up requests are dynamic and have
to be serviced the same day if possible [11–
13].
(iv) Rescue and repair service companies: There
are several companies providing rescue or repair services (broken car rescue, appliance
repair, etc.) [14–16].
(v) Dial-a-ride systems: Dial-a-ride systems
provide transportation services to people
between given origin–destination pairs. Customers can book a trip one day in advance
(static customers) [17] or make a request at
short notice (dynamic customers) [18,19].
(vi) Emergency services: Emergency services comprise police, fire fighting and ambulance
services. By definition, all customers are dynamic. Moreover, the demand rate is usually
low so that vehicles become idle from time to
time. In this context, relocating idle vehicles
in order to anticipate future demands or to
escape from downtown rush hour traffic jam
is a major issue [20–22].
(vii) Taxi cab services: In taxi cab services, almost
every customer is dynamic. As in emergency
Due to recent advances in information and
communication technologies, vehicle fleets can
now be managed in real-time. When jointly used,
devices like geographic information systems (GIS),
global positioning systems (GPS), traffic flow
sensors and cellular telephones are able to provide
relevant real-time data, such as current vehicle
locations, new customer requests and periodic estimates of road travel times [16]. If suitably processed, this large amount of data can be in
principle be used to reduce cost and improve service level. To this end, revised routes have to be
timely generated as soon as new events occur.
In recent years, three main developments have
contributed to the acceleration and quality of algorithms relevant in a real-time context. The first
is the increase in computing power due to better
hardware. The second is the development of
powerful metaheuristics whose main impact has
been mostly on solution accuracy even if this gain
has sometimes been achieved at the expense of
computing time. The third development has arisen
in the field of parallel computing. The combination
of these three features has yielded a new generation of powerful algorithms that can effectively be
used to provide real-time solutions in dynamic
contexts.
The aim of this article is to review some of the
existing literature on local area real-time routing
and dispatching problems with an emphasis on
potential developments in the field of parallel
computing. Our purpose is not to provide an extensive coverage of all existing algorithms. Rather
we wish to describe the key concepts and trends in
the area of real-time routing in the hope of stimulating further research.
The remainder of this article is organized as
follows. In Section 2 the main features of real-time
VRPs are illustrated, while in Sections 3 and 4
some of the most important algorithms are reviewed. Finally, in Section 5 a number of unexplored real-time VRPs are identified and new
solution approaches are proposed, including several parallelization strategies for speeding up route
re-optimization.
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
2. Definitions and concepts
In this section, we provide a simple classification of real-time VRPs and we examine some of
their main features.
2.1. Problem classification
A VRP is said to be static if its input data
(travel times, demands,. . .) do not depend explicitly on time, otherwise it is dynamic. Moreover, a
VRP is deterministic if all input data are known
when designing vehicle routes, otherwise it is stochastic.
(i) Static VRPs: A static problem can be either
deterministic or stochastic. In deterministic and
static VRPs (like the classical capacitated VRP
surveyed in [1]) all data are known in advance
and time is not taken into account explicitly.
In stochastic and static VRPs [23] vehicle routes
are designed at the beginning of the planning horizon, before uncertain data become known. Uncertainty may affect which service requests are
present, user demands, user service times or travel
times. If input data are uncertain, it is usually
impossible to satisfy the constraints for all realisations of the random variables. If uncertainty
affects the constraints but the objective function is
deterministic, it can be required that constraints be
satisfied with a given probability (chance constrained programming, CCP). In a more general
approach, a first phase solution is constructed
before uncertain data are available and corrective (or recourse) actions are taken at a second
stage once all the realisations of the random
variables become known. The objective to be minimized is the first stage cost plus the expected
recourse cost (stochastic programming with recourse, SPR).
(ii) Dynamic VRPs: A dynamic problem can
also be deterministic or stochastic [24]. In deterministic and dynamic problems, all data are
known in advance and some elements of information depend on time. For instance, the VRP
with time windows reviewed in [25] belongs to this
class of problems. Similarly, the traveling salesman
problem (TSP) with time-dependent travel times
3
[26] is deterministic and dynamic. In this problem,
a traveling salesperson has to find the shortest
closed tour among several cities passing through
all cities exactly once, and travel times may vary
throughout the day. Finally, in stochastic and
dynamic problems (also known as real-time routing and dispatching problems) uncertain data are
represented by stochastic processes. For instance,
user requests can behave as a Poisson process (as
in [27]). Since uncertain data are gradually revealed during the operational interval, routes are
not constructed beforehand. Instead, user requests
are dispatched to vehicles in an on-going fashion
as new data arrive [28].
The events that lead to a plan modification can
be: (i) the arrival of new user requests, (ii) the arrival of a vehicle at a destination, (iii) the update of
travel times. Every event must be processed according to the policies set by the vehicle fleet operator. As a rule, when a new request is received,
one must decide whether it can be serviced on the
same day, or whether it must be delayed or rejected. If the request is accepted, it is temporarily
assigned to a position in a vehicle route. The request is effectively serviced as planned if no other
event occurs in the meantime. Otherwise, it can be
assigned to a different position in the same vehicle
route, or even dispatched to a different vehicle. It is
worth noting that at any time each driver just
needs to know his next stop. Hence, when a vehicle
reaches a destination it has to be assigned a
new destination. Because of the difficulty of estimating the current position of a moving vehicle,
reassignments could not easily made until quite
recently. However, due to advances in communication technologies, route diversions and reassignments are now a feasible option and should
take place if this results in a cost saving or in an
improved service level [29,30]. Finally, if an improved estimation of vehicle travel times is available, it may be useful to modify the current routes
or even the decision of accepting a request or not.
For example, if an unexpected traffic jam occurs,
some user services can be deferred. It is worth
noting that when the demand rate is low, it is
useful to relocate idle vehicles in order to anticipate future demands or to escape a forecasted
traffic congestion.
4
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
2.2. Particular features
As pointed out by Psaraftis [28,31] dynamic
VRPs possess a number of peculiar features, some
of which have just been described. In the following, the remaining characteristics are outlined.
(i) Quick response: Real-time routing and dispatching algorithms must provide a quick response so that route modifications can be
transmitted timely to the fleet. To this end,
two approaches can be used: simple policies
(like the first-come first served (FCFS) policy
[27]), or more involved algorithms running on
parallel hardware (like the tabu search (TS)
heuristics described in [11,12]). As will be explained, the choice between them depends
mainly on the objective, the degree of dynamism and the demand rate.
(ii) Denied or deferred service: In some applications it is valid to deny service to some users,
or to forward them to a competitor, in order
to avoid excessive delays or unacceptable
costs. For instance, in [11] requests that cannot
be serviced with a given time windows are rejected. When no time windows are imposed,
some user requests can be postponed indefinitely because of their unfavorable location.
This phenomenon can be avoided by imposing
dummy time windows, or by adding a nonlinear delay penalty to the objective function.
(iii) Congestion: If the demand rate exceeds a given threshold, the system becomes saturated,
i.e., the expected waiting time of a request
grows to infinity.
2.3. The degree of dynamism of a problem
Designing a real-time routing algorithm depends to a large extent on how much the problem
is dynamic. To quantify this concept, Lund et al.
[32] and Larsen [10] have defined the degree of
dynamism of a problem.
Without loss of generality, we assume that the
planning horizon is a given interval ½0; T , possibly
divided into a finite number of smaller intervals.
Let ns and nd be the number of static and dynamic
requests, respectively. Moreover, let ti 2 ½0; T be
the occurrence time of service request i. Static requests are such that ti ¼ 0 while dynamic ones
have ti 2 ð0; T . Lund et al. [32] define the degree of
dynamism d as
nd
d¼
ns þ nd
which may vary between 0 and 1. Its meaning is
straightforward. For instance, if d is equal to 0.3,
then 3 customers out of 10 are dynamic. In his
recent doctoral thesis, Larsen [10] generalizes the
definition proposed by Lund et al. in order to take
into account both dynamic request occurrence
times and possible time windows. He observes
that, for a given d value, a problem is more dynamic if immediate requests occur at the end of the
operational interval ½0; T . As a result he introduces a new measure of dynamism:
Pns þnd
ti =T
0
d ¼ i¼1
:
ns þ nd
It is worth noting that d0 ranges between 0 and 1. It
is equal to 0 if all user requests are known in advance while it is equal to 1 if all user requests occur
at time T . Finally, Larsen extends the definition of
d0 to take into account possible time windows on
user service time. Let ai and bi be the ready time
and deadline of client i (ti 6 ai 6 bi ), respectively.
Then,
Pns þnd
½T ðbi ti Þ=T
d00 ¼ i¼1
:
ns þ nd
It can be shown that d00 also varies between 0 and
1. Moreover, if no time windows are imposed (i.e.,
ai ¼ ti and bi ¼ T ), then d00 ¼ d0 . As a rule, vendorbased distribution systems (such as those distributing heating oil) are weakly dynamic. Problems
faced by long-distance couriers and appliance repair service companies are moderately dynamic
[33] . Finally, emergency services and taxi cab
services exhibit a strong dynamic behavior.
2.4. Objectives
In real-time routing problems the objective to be
optimized is often a combination of different measures. Larsen [10] observes that in weakly dynamic
systems the focus is on minimizing routing cost. On
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
the other hand, when operating a strongly dynamic
system, minimizing the expected response time (i.e.,
the expected time lag between the instant a user
service begins and its occurrence time) becomes a
key issue. Another meaningful criterion which is
often considered (alone or combined with other
measures) is throughput optimization, i.e., the
maximization of the expected number of requests
serviced within a given period of time [28]. A
completely different approach is followed in [34,35].
In particular, the former paper is based on the assumption that in most real-time routing problems
the objective is fuzzy. Hence, a suitably trained
neural network is used to reproduce automatically
the dispatching decisions of skilled personnel.
2.5. Spatial distribution and time pattern of user
requests
As explained later in this section, better realtime dispatching and routing decisions can be
made if uncertain data estimations (derived from
historical data) are used. In several papers (see,
e.g., [27,36–38]), it is supposed that user requests
are uniformly distributed in a convex bounded
Euclidean region, and occur according to a Poisson process with arrival rate k. In problems with
pick-ups and deliveries (see, e.g., [37]) it is also
assumed that the delivery locations are independent of the pick-up locations.
2.6. Comparing different dispatching and routing
procedures
Evaluating a dispatching and routing algorithm
can be done analytically if specific assumptions are
satisfied (see, e.g., [27] where demands are modeled
as a Poisson process). If these hypotheses do not
hold, algorithmic performances have to be evaluated empirically through discrete-time simulation,
as in [11]. Another way to assess the performance of
a heuristic for a dynamic routing problem is to run
it independently on the corresponding static data
assuming all information is available when planning
takes place. By comparing the static and dynamic
solution one can compute the value of information as
is typically done in decision trees. Such an approach
was recently used by Mitrovic-Minic et al. [39].
5
3. Sequential algorithms
Sequential algorithms can be broadly divided
into three main categories: simple policies, classical
insertion procedures and metaheuristics.
3.1. Simple policies
Routing policies are simple rules applied repeatedly in order to dispatch requests to vehicles
and build routes. In [27,38] several policies have
been proposed for the dynamic traveling repairman problem (DTRP), a stochastic and dynamic
variant of the classical TSP. Similarly, in [36] some
policies for the stochastic and dynamic version of
the capacitated VRP have been illustrated and
analyzed. Finally, in [37] the results in [27] are
generalized to a real-time single vehicle problem
with pick and delivery. We now outline some
classical policies for the DTRP. The DTRP objective is then to minimize the expected time the
demand spends in the system, as opposed to the
expected distance that the vehicle travels.
(i) First come first served policy: Demands are
served in the order in which they are received
by the dispatcher.
(ii) Stochastic queue median (SQM) policy: This
is a modification of the FCFS policy in which
the vehicle is based at the stochastic median of
the service region. When a call arrives, the vehicle travels from the median to the user.
When the service is finished, the vehicle returns to the median.
(iii) Nearest neighbor (NN) policy: When the current user service is over, the vehicle serves the
nearest unserviced request.
(iv) TSP policy: Requests are batched into sets of
a given size. Once a set of requests has been
collected, a TSP is solved. The requests are
then serviced according to the optimal TSP
solution.
These policies can be studied analytically. If the
requests occur according to a Poisson process with
arrival rate k and user locations are uniformly
distributed in an Euclidean region, then the
SQM policy yields an asymptotically optimal
6
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
performance in light traffic (k ! 0). Unfortunately,
the SQM policy becomes very soon unstable as
demand rate increases. For this reason, Papastavrou [38] has devised a new routing policy, called
the generation policy that performs optimally in
light traffic, and reasonably well in heavy traffic.
3.2. Classical insertion procedures
Instead of using simple policies that perform
well under specific hypotheses, more involved
heuristics having good empirical performance in
several operational conditions can be employed.
At present such procedures simply re-optimize the
vehicle routes when new data become available,
without any look-ahead. Insertion procedures in
which real-time customers are inserted in the best
position of the current routes have been described
in [18]. Such heuristics are simple and can be run
very fast even on sequential hardware.
Insertion algorithms can be executed with a
rolling horizon, as proposed by Psaraftis [28] for a
sealift emergency problem in which cargos are
moved by ship. At time t only the requests with
pick-up time included in ½t; t þ s are considered, s
being the duration of the rolling horizon. Moreover, cargoes with pick-up time in ½t; t þ as,
0 6 a 6 1, are dispatched definitively to a ship.
Recently Mitrovic-Minic et al. [39] have extended the concept of rolling horizon to that of
double horizon. Whenever a new request arises,
special effort is placed on optimizing the short
term part of the current solution (corresponding in
general to the period containing the pick-up of a
parcel) while less effort is put on the distant future
(corresponding in general to the period containing
the delivery of the parcel). The idea behind this
approach is that the later portions of the vehicle
routes are likely to be subjected to several changes
as time evolves and there is no point in optimizing
them too finely at an early stage.
finding near-optimal solutions for large-scale combinatorial optimization problems [40]. They include
simulated and deterministic annealing, genetic
algorithms, neural networks [34,41] and expert
systems [42], ant colony methods, TS, adaptive
memory (AM) techniques and variable neighborhood search (VNS). Among them, the last three
algorithms (especially when jointly used) have
proven the most successful methods. TS is a local
search procedure that iteratively moves from a
current solution to its best neighbor even if this
causes a deterioration in the objective function value [43]. To avoid cycling a short term memory (like
a tabu list or tabu attributes) is used. In addition, a
diversification and an intensification phase can be
used to visit new regions of the solution space, and
to explore the more promising regions, respectively.
AM based procedures implement some ideas taken
from genetic algorithms [44]. High quality routes
provided by several runs of constructive heuristics
or by metaheuristics are stored, selected and combined in order to generate new solutions. VNS uses
a systematic change of neighborhood during local
search [45]. TS, AM and VNS can be combined in
several ways in order to generate better solutions,
although this usually comes at expense of a larger
computation time. For instance, TS can be seen as
an improved local search tool in a VNS scheme and,
vice versa, VNS can be used to implement intensification and diversification in TS.
4. Parallel algorithms
When using metaheuristics to solve a real-time
routing and dispatching problem, a parallel implementation is usually needed in order to make
route re-optimization computation time acceptable. The parallelization of metaheuristics can be
accomplished in a number of ways depending on
problem structure and hardware at hand. In what
follows we examine TS based procedures.
3.3. Metaheuristics
4.1. Tabu search based parallelization strategies
Unfortunately simple insertion procedures not
always provide good solutions. In order to generate
better vehicle routes, it is customary to use metaheuristics. These are iterative procedures aimed at
Crainic et al. [46] classify parallel TS procedures
according to three criteria: search control cardinality, search control type and search differentiation.
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
The first criterion indicates whether the control of
the parallel search is performed by a single processor (1-control, 1-C), or distributed among several
processors (p-control, p-C). The second measure
denotes the way (synchronous or asynchronous)
communication is performed among processors.
Synchronous communication can be independent
of computation status (rigid synchronization, RS)
or not (knowledge-based synchronization, KS). In
asynchronous communication, a processor that
finds a new best solution broadcasts a message to the
other processors. In the simplest case, the single
solution is sent (collegial communication, C) while
in knowledge-based collegial communication (KC)
additional information are transmitted to the receivers. Finally, the third criterion accounts for the
way different searches are carried on. Four alternatives are available: single initial point–single
strategy (SPSS) if a single search is performed; single
initial point–multiple strategies (SPMS) when each
processor carries out a different search starting from
the same initial solution; multiple initial points–
single strategy (MPSS) if each processor performs
the same search starting from different initial solutions; multiple initial points–multiple strategies
(MPMS) if each processor is in charge of a different
search starting from a different initial solution. In
SPMS and MPMS, the searches may be performed
by different algorithms or, more commonly, by the
same algorithm with different parameters. Not every combination of such parameters is feasible (e.g.,
1-C/C/MPMS does not make any sense). The most
common configurations are
(i) 1C/RS/SPSS (or master–slave) strategy: A
single search is performed by a single processor (called master) which dispatches time-consuming tasks to the other processors (called
slaves). There is no communication among
the slaves.
(ii) 1C/KS/SPSS strategy: Compared to 1C/RS/
SPSS, the slaves (which still do not communicate among themselves) can be required by the
master to stop computing. This is usually the
case when each slave is assigned a relatively
simple search.
(iii) p-C/RS/MPSS, p-C/RS/SPMS and p-C/RS/
MPMS strategies: Several independent
7
searches (with different initial points or parameters) are executed in parallel. There is
no communication among processors except
at the end of the computations when the best
solution is selected.
(iv) p-C/C/SPMS, p-C/C/MPSS and p-C/C/
MPMS strategies: Each processor performs
a different search. Once a processor finds a
new best solution, it sends it to the other processors that re-initialise their searches.
4.2. Parallelization strategies for DVRPs
When choosing a parallelization strategy for a
dynamic and stochastic VRP, three main factors
should be taken into account: (i) the computational effort required to generate a new feasible
near-optimal solution when a request occurs, (ii)
the overall computation power available, (iii) the
average inter-arrival time of service requests. The
first two parameters determine how fast route reoptimization can be done.
Another important issue influencing the design
and efficiency of parallel algorithms lies in the architecture of the target parallel machine on which
the implementation will be run. In what follows,
we assume the availability of a coarse-grained
parallel environment (i.e., a networks of computers). This choice is motivated by the fact that one
of the leading tendencies among the current trends
in parallel computing is to move away from specialized traditional supercomputing platforms to
cheaper and general purpose systems consisting of
shared memory multiprocessor machines or single
PCs or workstations connected through fast local
networks or very high speed networks [47]. The
recent growth in the use of clusters of computers is
mainly related to the good cost/performance ratios
of such systems when compared to other parallel
machines. Furthermore, these ‘‘distributed supercomputers’’ are very flexible since additional
computing and communication capacity can be
easily configurated into the system.
In order to describe the parallelization strategies, we refer to a master–slave computational
model, by far the most common for distributed computing. In the case where the problem
under investigation is characterized by large
8
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
neighborhoods and the evaluation and execution
of each move requires a relatively small computing
effort, the 1C/RS/SPSS parallelization strategy
represents an efficient way of generating a new
feasible near-optimal solution when a new request
occurs. In this strategy, the neighborhood of the
current solution is partitioned into as many sets as
the number of available processors and the evaluation of each set is executed concurrently by the
slaves. At the end of each iteration, the master
processes the information resulting from the slave
operations, performs either the best move (i.e.,
single-step parallelization) or a sequence of consecutive moves (i.e., multiple-step parallelization)
and restarts the computation by assigning to each
salve a new set of neighbor solutions to be evaluated in parallel. A look-ahead implementation is
also possible; in this case the slaves perform a
predetermined number of iterations before the
synchronization phase is executed. A look-ahead
implementation is preferable since it is characterized by fewer synchronization events and lower
interprocess communication and is thus more
suitable to efficient implementation on a cluster of
computers.
In the case of dynamic and stochastic VRPs, for
which numerous iterations may be performed in a
relatively limited amount of time (e.g., thousands
of iterations in a few seconds), domain decomposition parallelization strategies represent valid approaches to design efficient parallel algorithms for
route re-optimization. More specifically, the feasible domain of the problem is partitioned into several disjoint sets and different processors acting in
parallel execute a predetermined number of iterations of the TS heuristic on each subset. After
synchronization, the solutions provided by the
slaves are merged appropriately to obtain a new
feasible solution. The strategy just outlined can be
used efficiently also in the case in which the problem under investigation is characterized by large
neighborhoods and the search for the best move at
each iteration is a computationally intensive task.
Multithread parallelization strategies represent
alternative approaches for the parallel re-optimization of the routes when a new request is received.
These are characterized by the execution of several
search processes (i.e., threads) that investigate the
same solution space in parallel, starting from possibly different initial solutions and using TS strategies with possibly different parameter settings. These
threads can be either independent or cooperative.
In the first case, the threads do not exchange
any information and there is no attempt to take
advantage of the multiple trajectories determined
during the search of the solution space. Indeed,
after each thread has terminated its search, they
synchronize and the master selects the best overall
solution which can be used as starting point for a
new round of independent searches. Thus, independent-threads parallel methods are equivalent to
multistart sequential heuristics.
In a cooperative-threads approach, the threads
cooperate, exchange and share information and
the information collected along each trajectory is
used to improve the other trajectories. Thus, it is
possible not only to speed-up the convergence to
the best solution, but also to find better solutions
than independent-threads strategies within the
same computation time.
It is worth observing that different strategies
can be used to implement cooperation between
threads. In the case of a network of computers, the
shared information can be implemented as a pool
of solutions in the local memory of the master
process responsible for pool management. All
communications take place between the master
and individual threads, whereas there are no direct
communications among the search processes. In
addition, the threads are in charge of controlling
the access to shared knowledge.
On the basis of the information stored in the
memory and its use, it is possible to define adaptive [44] and central memory strategies [46]. In the
parallelization strategies described above, one of
the most difficult aspect to be set up is the determination of the number of iterations for which the
algorithm is run. This number should be set by
considering the temporal distribution of the immediate requests for service.
5. Conclusions
Although tens of papers have been devoted to
real-time VRPs, the literature is still disorganized
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
and a few major issues have not been addressed
yet. In our opinion, the following future research
directions can be drawn.
9
(v) Real-time arc routing problems whose applications are related to road gritting and snow
collection are other interesting research topics.
5.1. General issues
(i) Heuristics with some look-ahead capability
should be developed. To highlight this aspect,
suppose, for instance, there are very few requests at the begin of the planning horizon.
Should we serve them by using the least number of vehicles? If so, should the idle vehicles
be relocated? And where? Or should we serve
such requests using the maximum number of
vehicles (so that their service is completed as
soon as possible)? The best choice mainly depends on future demand and on future travel
times. Hence, it may be wiser to incorporate
a look-ahead feature into route building.
(ii) New metaheuristics, capable of providing
good solutions as the degree of dynamism d00
changes should be developed. For d00 ¼ 0 such
procedures should work as static VRP algorithms, while for d00 ! 1 they should show
proper behavior both in light and heavy traffic.
5.2. Specific issues
(i) Routing and dispatching problems where travel times vary in real-time will gain in importance with the development of intelligent
transportation systems (ITS). However, to
our knowledge, no research has been devoted
to this topic. The article by Malandraki and
Daskin [26] where efficient heuristics are presented for the static case should be extended
to the real-time case.
(ii) Booking problems (defined over a multiple
day horizon) like [14] should studied in
greater detail.
(iii) Some dynamic ambulance allocation and relocation problems deserve more attention
(see [16]).
(iv) Automated guided vehicle (AGV) dispatching
and routing problems arising in manufacturing plants and port terminals should be addressed. A specific aspect of these problems
is track contention [48].
Acknowledgements
This research was partially supported by the
Italian National Research Council, by the Center
of Excellence for High-Performance Computing,
University of Calabria, Italy, and by the Canadian
Natural Sciences and Engineering Research Council under grant OGP0039682. This support is
gratefully acknowledged.
References
[1] P. Toth, D. Vigo (Eds.), The Vehicle Routing Problem, in:
SIAM Monographs on Discrete Mathematics and Applications, Philadelphia, 2002.
[2] G.G. Brown, G.W. Graves, Real-time dispatch of petroleum tank trucks, Management Science 27 (1981) 19–32.
[3] G.G. Brown, C. Ellis, G.W. Graves, D. Ronen, Real-time,
wide area dispatching of Mobil tank trucks, Interfaces 17
(1) (1987) 107–120.
[4] W.B. Powell, A stochastic model of the dynamic vehicle
allocation problem, Transportation Science 20 (1986) 117–
129.
[5] M. Goetschalckx, A decision support system for dynamic
truck dipatching, International Journal of Physical Distribution and Materials Management 14 (1988) 34–42.
[6] W.B. Powell, Real-time optimization for truckload motor
carriers, OR/MS Today 18 (1990) 28–33.
[7] C. Rego, C. Roucairol, Using tabu search for solving a
dynamic multi-terminal truck dispatching problem, European Journal of Operational Research 83 (1995) 411–429.
[8] M.W.P. Savelsbergh, M. Sol, Drive: Dynamic routing of
independent vehicles, Operations Research 46 (1998) 474–
490.
[9] A. Campbell, L. Clarke, A. Kleywegt, M. Savelsbergh, The
inventory routing problem, in: G. Laporte, T.G. Crainic
(Eds.), Fleet Management and Logistics, Kluwer, Boston,
1998.
[10] A. Larsen, The dynamic vehicle routing problem, Ph.D.
Thesis, Institute of Mathematical Modelling, Technical
University of Denmark, 2001.
. Taillard,
[11] M. Gendreau, F. Guertin, J.-Y. Potvin, E
Parallel tabu search for real-time vehicle routing and
dispatching, Transportation Science 33 (1999) 381–
390.
[12] M. Gendreau, F. Guertin, J.-Y. Potvin, R. Seguin,
Neighbourhood search heuristics for a dynamic vehicle
10
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
dispatching problem with pick-ups and deliveries, Technical report CRT-98-10, Centre de Recherche sur les
Transports, Universite de Montreal, 1998.
J.-F. Cordeau, G. Ghiani, G. Laporte, R. Musmanno, A
parallel tabu search algorithm for the static dial-a-ride
problem, working paper, 2002.
O.B.G. Madsen, K. Tosti, J. Vælds, A heuristic method for
dispatching repair men, Annals of Operations Research 61
(1995) 213–226.
A. Weintraub, J. Aboud, C. Fernandez, G. Laporte, E.
Ramirez, An emergency vehicle dispatching system for an
electric utility in Chile, Journal of the Operational
Research Society 50 (1999) 690–696.
L. Brotcorne, G. Laporte, F. Semet, Ambulance location
and relocation models, European Journal of Operational
Research 147 (3) (2003) 451–463.
J.F. Cordeau, G. Laporte, A tabu search heuristic for the
static multi-vehicle dial-a-ride problem, Technical Report,
May, 2002.
S. Roy, J.-M. Rousseau, G. Lapalme, J.A. Ferland,
Routing and scheduling of transportation services for
disabled: Summary report, Technical Report, Centre de
Recherche sur les Transports, Universite de Montreal,
1984.
O.B.G. Madsen, H.F. Ravn, J.M. Rygaard, A heuristic
algorithm for a dial-ride problem with time windows,
Annals of Operations Research 60 (1995) 193–208.
H.N. Psaraftis, A dynamic programming solution to the
single many-to-many immediate request dial-a-ride problem, Transportation Science 14 (1980) 130–154.
M. Gendreau, G. Laporte, F. Semet, Solving an ambulance
location model by tabu search, Location Science 2 (1997)
75–88.
M. Gendreau, G. Laporte, F. Semet, A dynamic model and
parallel tabu search heuristic for real-time ambulance
relocation, Parallel Computing 27 (2001) 1641–1653.
G. Laporte, F.V. Louveaux, Solving stochastic routing
problems, in: T.G. Crainic, G. Laporte (Eds.), Fleet
Management and Logistics, Kluwer, Boston, 1998, pp.
159–167.
W.B. Powell, P. Jaillet, A.R. Odoni, Stochastic and
dynamic networks and routing, in: M.O. Ball, T.L.
Magnanti, C.L. Monma, G.L. Nemhauser (Eds.), Handbooks in Operations Research and Management Science, 8:
Network Routing, Elsevier Science, Amsterdam, 1995,
pp. 141–295.
J.-F. Cordeau, G. Desaulniers, J. Desrosiers, M.M. Solomon, F. Soumis, The vehicle routing problem with time
windows, in: P. Toth, D. Vigo (Eds.), The Vehicle Routing
Problem, in: SIAM Monographs on Discrete Mathematics
and Applications, Philadelphia, 2001, pp. 157–193.
C. Malandraki, M.S. Daskin, Time dependent vehicle
routing problems: Formulations, properties, and heuristics
algorithms, Transportation Science 26 (1992) 185–200.
D. Bertsimas, G.J. van Ryzin, A stochastic and dynamic
vehicle routing problem in the Euclidean plane, Operations
Research 39 (1991) 601–615.
[28] H.N. Psaraftis, Dynamic vehicle routing problems, in: B.L.
Golden, A.A. Assad (Eds.), Vehicle Routing: Methods and
Studies, Elsevier Science, Amsterdam, 1998, pp. 223–248.
[29] M. Gendreau, J.-Y. Potvin, Dynamic vehicle routing and
dispatching, in: T.G. Crainic, G. Laporte (Eds.), Fleet
Management and Logistics, Kluwer, Boston, 1998, pp.
115–126.
[30] S. Ichoua, M. Gendreau, J.-Y. Potvin, Diversion issues in
real-time vehicle dispatching, Transportation Science 34
(2000) 426–435.
[31] H.N. Psaraftis, Dynamic vehicle routing: Status and
prospects, Annals of Operations Research 61 (1995) 143–
164.
[32] K. Lund, O.B.G. Madsen, J.M. Rygaard, Vehicle routing
problems with varying degrees of dynamism, Technical
report, Institute of Mathematical Modelling, Technical
University of Denmark, 1996.
[33] A. Larsen, O.B.G. Madsen, M.M. Solomon, Partially
dynamic vehicle routing––models and algorithms, Technical report, Institute of Mathematical Modelling, Technical
University of Denmark, 1999.
[34] J.-Y. Potvin, Y. Shen, J.-M. Rousseau, Neural networks
for automated vehicle dispatching, Computers & Operations Research 19 (1992) 267–276.
[35] J.-Y. Potvin, G. Dufour, J.-M. Rousseau, Learning vehicle
dispatching with linear programming models, Computers
& Operations Research 20 (1993) 371–380.
[36] D. Bertsimas, G.J. van Ryzin, Stochastic and dynamic
vehicle routing problem in the Euclidean plane with
multiple capacitated vehicles, Operations Research 41
(1993) 60–76.
[37] M.R. Swihart, J.D. Papastavrou, A stochastic and dynamic model for the single-vehicle pick-up and delivery
problem, European Journal of Operational Research 114
(1999) 447–464.
[38] J. Papastavrou, A stochatic and dynamic routing policy
using branching processes with state dependent immigration, European Journal of Operational Research 95 (1996)
167–177.
[39] S. Mitrovic-Minic, R. Krishnamurti, G. Laporte, The
double-horizon heuristic for the dynamic pickup and
delivery problem with time windows, submitted for publication.
[40] I.H. Osman, J.P. Kelly (Eds.), Meta-heuristics: Theory and
Applications, Kluwer, Boston, 1996.
[41] Y. Shen, J.-Y. Potvin, J.-M. Rousseau, S. Roy, A computer
assistant for vehicle dispatching with learning capacities,
Annals of Operations Research 61 (1995) 189–211.
[42] P.K. Bagchi, B.N. Nag, Dynamic vehicle scheduling: An
expert systems approach, International Journal of Physical
Distribution and Logistics Management 21 (1991) 10–18.
[43] F. Glover, Future paths for integer programming and links
to artificial intelligence, Computers & Operations Research
5 (1986) 533–549.
. Taillard, Probabilistic diversification and
[44] Y. Rochat, E
intensification in local search for vehicle routing, Journal
of Heuristics 1 (1995) 147–167.
G. Ghiani et al. / European Journal of Operational Research 151 (2003) 1–11
[45] N. Mladenovic, P. Hansen, Variable neighbourhood
search, Computers & Operations Research 24 (1997)
1097–1100.
[46] T.G. Crainic, M. Toulouse, M. Gendreau, Towards a
taxonomy of parallel tabu search algorithm, INFORMS
Journal on Computing 9 (1997) 61–72.
11
[47] R. Buyya (Ed.), High Performance Cluster Computing:
Architectures and Systems, vols. 1 and 2, Prentice-Hall,
Englewood Cliffs, NJ, 1999.
[48] P. Caricato, G. Ghiani, A. Grieco, E. Guerriero, Parallel
tabu search for a vehicle rounting problem under track
contention, Parallel Computing, forthcoming.