0% found this document useful (0 votes)
58 views9 pages

1987 Vehicle Routing With Time Windows

Uploaded by

aegr82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views9 pages

1987 Vehicle Routing With Time Windows

Uploaded by

aegr82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Vehicle Routing with Time Windows

A. W. J. Kolen; A. H. G. Rinnooy Kan; H. W. J. M. Trienekens

Operations Research, Vol. 35, No. 2. (Mar. - Apr., 1987), pp. 266-273.

Stable URL:
http://links.jstor.org/sici?sici=0030-364X%28198703%2F04%2935%3A2%3C266%3AVRWTW%3E2.0.CO%3B2-G

Operations Research is currently published by INFORMS.

Your use of the JSTOR archive indicates your acceptance of JSTOR's Terms and Conditions of Use, available at
http://www.jstor.org/about/terms.html. 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/journals/informs.html.

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.

The JSTOR Archive is a trusted digital repository providing for long-term preservation and access to leading academic
journals and scholarly literature from around the world. The Archive is supported by libraries, scholarly societies, publishers,
and foundations. It is an initiative of JSTOR, a not-for-profit organization with a mission to help the scholarly community take
advantage of advances in technology. For more information regarding JSTOR, please contact [email protected].

http://www.jstor.org
Fri Jan 25 09:51:52 2008
VEHICLE ROUTING WITH TIME WINDOWS
A. W. J. KOLEN, A. H. G. RINNOOY KAN and H. W. J. M. TRlENEKENS
Erusnzus University, Rotterdum, The Netherlunds
(Received December 1984; revisions received October 1985, June 1986; accepted August 1986)

In vehicle routing problems with time windows, a fixed fleet of vehicles of limited capacity is available at a depot to serve
a set of clients with given demands. Each client must be visited within a given time window. We describe a branch-and-
bound method that minimizes the total route length, and present some computational results.

A set of clients with known demands must be


served by a fixed fleet of vehicles of limited
capacity. All vehicles are located at a common depot.
TCVRP is itself an NP-complete problem (Savels-
bergh).
The contribution of this paper is to describe a
The vehicle routing problem (VRP) is to serve each branch-and-bound method for the TCVRP. It is the
client exactly once, so as to minimize the total route first optimization method for this problem and was
length. partially inspired by the optimization method for the
The time-constrained vehicle routing problem VRP developed by Christofides, Mingozzi and Toth
(TCVRP) is an important generalization of the VRP. (1981~).Among other things, we use a different im-
In the TCVRP, each client has a time window in plementation of the idea of a state space relaxation.
which he must be served. Such windows arise, for Computational experience with the method will be
instance, from traffic restrictions in city centers or described as well.
from the special nature of the goods delivered by the
vehicle.
1. The Branch-and-Bound Method
The VRP represents an area of extensive research.
The detailed survey compiled by Bodin et al. (1983) Let us suppose that client i for i = 1, . . . , n has
contains about 700 references, documenting optimi- demand q, that must be satisfied within a time window
zation as well as approximation methods proposed to [a,, b,];u, units of unloading time will be required.
solve this problem or one of its many variations (Actually, u, can be taken to be equal to 0 without loss
(including the important dial-a-ride problem). These of generality.) The distance and travel time between
references also bear witness to the many practical clients i and j are given by dl, and t,, respectively. The
occurrences of the problem and to its economic sig- depot is indexed by 0;it can be used in the period
nificance. The TCVRP has received much less atten- [ao,bo]and houses m identical vehicles, each with an
tion, in spite of the fact that time window constraints upper bound c on the total load carried. A vehicle
are very common in practice. Christofides, Mingozzi route is feasible if it satisfies this capacity constraint
and Toth (198 la) and Baker (1983) proposed opti- as well as all time window constraints; if necessary,
mization methods for the single vehicle case (the time the vehicle can wait at a client to ensure feasibility of
constrained traveling salesman problem). Desrochers the next time window on the route. We are interested
and Soumis (1985) addressed the shortest path prob- in a set of feasible routes through which each client is
lem with time windows. Desrosiers, Dumas and sewed exactly once, such that the total length of these
Soumis (1984) describe a column generation approach routes is minimal.
to the time-constrained routing problem. Finally, Des- Our description of the branch-and-bound method
rosiers, Sauve and Soumis (1985) proposed a Lagran- starts with the branching rule. Each node a in the
gian approach. Heuristics for the VRP have been search tree corresponds to a set F(a) of fixed routes
extended to the TCVRP (Solomon (1983, 1987) and starting and finishing at the depot, a partial route P(a)
Savelsbergh 1984). The analysis of their worst-case starting at the depot and a set C(a) of clients that are
performance suggests that the TCVRP is fundamen- forbidden to be next on P(a). Initially, of course, F(a)
tally more difficult than the VRP. For example, it is and C(a) are empty and P(a) consists only of the
not hard to see that finding a feasible solution to the depot.
Subjcjcr cicissifircif~on.627 branch-and-bound, 837 routing with time win
Operations Research 0030-364X/87/3502-0266 $0 1.25
Vol. 35, No. 2, March-April 1987 G 1987 Operations Research Society of' America
Vehicle Routing with Time Windows / 267
In a branching step, we first select a client j who bound is then given by taking the minimum over k =
does not appear in any fixed or partial route and is 1, . . . , m of the shortest-path lengths from u(0, 0, 0)
not forbidden. We do so according to a selection to u(n, Q, k ) .
heuristic explained in the following paragraphs. We There are two ways to extend a set of k routes with
branch by creating two new nodes a ' and a". In a ' , total load q and last clients from ( 1, . . . , i J to a set
the partial route P(a) is extended by j and C ( a f ) = whose last clients come from (1, . . . , i + 1).The first
C(a). In a", P(a") = P(a) and C ( a M = ) C(a) U ( j 1. If way is not to include client i + 1 at all. This approach
j = 0, the extended partial route will be added to the is represented by a type I arc from u(i, q, k) to
set of fixed routes, and a new partial route is started u(i + 1, q, k) of length 0. The second way is to take
(P(a) = (0), C(a) = 0 ) . client i + 1 as the last client on a route of total
In each node a of the search tree, the method will load q'. This approach is represented by a tjpe 11arc
calculate a lower bound on all possible feasible exten- from u(i, q, k) to u(i + 1, q + q', k + I) of length
sions of the partial solution characterized by F(a), F(i + 1, 4'). Here, F(i, q) is defined in general to be
P(a) and C(a) by relaxing the condition that each the minimum length of a feasible route with total load
client not yet on a route must be served exactly once. q and last client i; we will show how to compute these
In fact, in the following sections we shall see how to quantities in the next section.
compute the cheapest extension of the current partial To discuss the adjustment required in an arbitrary
solution to a set of routes so that the total load on node a of the search tree, let us first assume that
these routes is equal to Q = CY=, q, and so that each P(a) = 0. Let k* be the number of fixed routes (i.e.,
route has a different last client (i.e., the one visited k* = I F(a) I), let q* be their total load and I* be
directly before the return to the depot). In Section 4, their set of clients (these can be eliminated from
we consider the extension that also requires that these the lower bounding problem). The diagraph now
routes do not contain 2-loops, i.e., subroutes in which has vertices u(i, q, k) for i = 0, . . . , n - I I * I (after
the same client appears twice separated only by a renumbering), q = q*, . . . , Q and k = k*, . . . , m.
single intermediate one. Larger loops with associated The lower bound is given by taking the minimum
multiple visits to the same client will not be excluded. over k = k* + 1, . . . , m of all shortest path lengths
Given the nature of the lower bound, the selection from u(0, q*, k*) to u(n - I I * 1, Q, k).
heuristic just referred to will be to select next the client If P(a) # 0,then exactly one of the routes appearing
with whom the partial route P(a) was extended in the in the lower bound must be an extension of P(a). Let
lower bound calculation. If there is no partial route, F(i, q) be the minimum length of such an extension
(P(a) = 0 ) , a new one is started by selecting the client with total load q and last customer i; again, we will
who appears most frequently as the first client in the show in Section 3 how to compute F(i, q). The digraph
routes computed for the lower bound. Initially and is now expanded to contain vertices u(i, q, k) and
whenever ties occur, preference is given to the client C(i, q, k) for i = 0, . . . , n - I I*1 (after renumbering);
with the largest demand, since this choice reduces the 4 = q*, . . . , Q (q* is still defined by F(a)); k =
size of the directed graphs appearing in the lower k*, . . . , m and the following arcs:
bound computations.
type I arcs of length 0 from
u(i, q, k) to u(i + 1, q, k) and from
2. Computation of the bower Bound C(i, q, k) to C(i + 1, q, k);
We now describe the computation of the lower bound +
type I1 arcs of length F(i 1, q') from
in the root node; we discuss extension to arbitrary u(i, q, k) to u(i + 1, q + q', k + 1) and from
nodes at the end of this section.
To compute the lower bound, we construct a di-
+
C(i, q, k) to C(i + 1, q + q', k 1);
rected graph with vertices u(i, q, k), for i = 0, . . . , n, type 111 arcs of length F(i + 1, q') from
q = 0, . . . , Q, and k = 0, . . . , m, so that each directed u(i, q, k) toC(i+ 1, q + q', k + 1).
path from u(0, 0, 0) to u(i, q, k) will correspond to
a set of k routes with total load q, and with different The latter type of arc corresponds to the addition of
last clients each one belonging to (1, . . . , i). The the single route extending P(a). The lower bound is
arc lengths in the directed graph will be defined so +
given by taking the minimum over k = k* 1, . . . ,
that the length of this directed path is equal to the m of the shortest-path lengths from u(0, q*, k*) to
total length of the corresponding routes. The lower C(n - I I * I, Q, k).
3. Computation of the Shortest Routes
Let p(i, q, T ) denote a path with total load q < c that
is feasible with respect to the time windows and arrives
at client i at time T; the clients on this path are not
necessarily all different, and each time that a particular and proceed to the next iteration. It is easy to see that
client occurs his demand is added to the current this procedure maintains the previous mentioned
load. The shortest of all such paths is denoted by property of the label.
p,(i, 4, T ) ; its length is denoted by l(i, q, T ) . Then Note that throughout this scheme the vertices
F(i, q), introduced in the previous section, is given by w(i, q, T ) can be created as we go along; the arc
(w(i, q, T ) , w(i(+), 4(+), T(+)))of length dl,(+,is
implicitly created in (6).
= min (l(i,4, T ) + die I T + 14, + ti0 G bol. (I) Since we are interested only in small l(i,q, T )values
~.(1,4,T) (cf. (I)), extensions of p(i, q, T ) can be eliminated if,
In computing F(i, q), we can actually restrict ourselves for some T* Q T, we have that l(i, q, T*) G l(i, q, T ) .
to a subset of feasible paths, namely, those without The validity of this dominance rule can be easily
needless waiting time. This subset is characterized by verified by observing that, for every extension of
the property that, if client j is visited directly after p(i, q, T ) , we can construct one of p(i, q, T * ) of at
client i, then the arrival times T, and Ti satisfy least the same quality.
To calculate F(i, q), let us assume that the given
partial P(a)route has total load q* and arrives at client
i* at time T*. We now simply start our calculations
It is easy to see that any path whose client arrival at w(i*, q*, T*) instead of at w(0, 0, 0 ) by giving this
times Ti respect the time windows can be transformed vertex a permanent label equal to the length of P(a)
in a path without needless waiting time, with client and excluding clients in C(a).
arrival times TI s Ti. Hence, from now on we assume
that all paths p(i, q, T ) have this property.
Let us call p(i(+), q(+), T(+)) an extension of 4. Improvements in the Lower Bound
p(i, q, T ) if i(+)# i and As in Christofides, Mingozzi and Toth (198lc), our
lower bound can be improved substantially by consid-
ering only routes without 2-loops. Let G(i, q) denote
the minimum length of such a route with total load q
and last client i. In this section, we shall show how
G(i, q) can be computed by an extension of the
In order to calculate F(i, q), we shall construct a labeling algorithm. The adaptation to G(i,q) is similar
directed graph with vertices w(i, q, T ) , so that to the one sketched in the last paragraph of the pre-
the length of the shortest path from w(0, 0, 0 ) to vious section.
w(i, q, T ) is equal to l(i, q, T ) . Unlike the situation in Section 3, we can no longer
This shortest path will be calculated by a labeling claim that if p,(i(+), q(+), T ( + ) )is an extension of a
method, similar to Dijkstra's method, which will have path p,(i 4, T ) ,then the latter path must be optimal
to be described in some detail. In each iteration of this as well; the reason is that the second to last client on
algorithm, we have a set of vertices w(i, q, T ) with a p*(i, 4, T ) (i.e., the client directly preceding i ) can be
permanent or tentative label L(i, q, T ) . A permanent equal to i(+). Consequently, for each vertex, in addi-
label L(i, q, T ) will be equal to l(i, q, T ) . A tentative tion to the true shortest-path length, which we will
label L(i, q, T ) will always have the property that it is continue to denote by l(i, q, T ) , we shall also have to
+
equal to min{l(i(-),q(-), T ( - ) ) dl,-,,I, where the know the length of the shortest path subject to the
minimum is taken over all p(i(-), q(-), T ( - ) ) for additional constraint that its second to last client is
which I(i(-), q(-), T ( - ) ) has been established and different from the second to last client on p,(i, q, T ) .
for which p(i, q, T ) is an extension. (It is equal to This latter client will be denoted by s(i, q, T ) .
+a, if no such path p(i(-), q(-), T ( - ) ) exists.) Before describing a labeling procedure to find
In each iteration, the overall smallest tentative G(i, q), let us first redefine an extension of p(i, q, T)
label, say L(i, q, T ) , will be made permanent. We to be a path p(i(+), 4(+), T ( + ) ) for which (3), (4)
then consider all extensions p(i(+), q(+), T ( + ) ) of and (5) hold and, in addition, the second to last
Vehicle Routing with Time Windows / 269
client on p(i, q, T ) is not equal to i(+). In the T(+)) will be the new value of M(i(+), q(+),
labeling procedure, three labels will be associated T(+)) and S(i(+), q(+), T(+)) := i.
to each vertex MI(;, q, T): L(i, q, T), M(i, q, T) and
S(i, q, T). Each can be permanent or tentative. Per- We now consider the case that M(i, q, T ) is made
manent labels L(i, q, T ) and S(i, q, T ) will be equal permanent. (Note that, since we prefer L-labels to
to I(i, q, T ) and s(i, q, T ) respectively. A permanent M-labels and M(i, q, T ) 2 L(i, q, T), this situation
label M(i, q, T ) will be denoted by m(i, q, T ) and will implies that L(i, q, T ) and S(i, q, T ) have been made
correspond to the shortest-path length subject to its permanent earlier.) Let p(i(+), q(+), T(+)) be an
second to last customer being different from s(i, q, T). extension of the path corresponding to m(i, q, T ) (i.e.,
A tentative label L(i, q, T ) will have the property that the second to last customer , I ( - ) of the path corre-
it is equal to the minimum of sponding to m(i, q, T ) is not equal to i(+); it will turn
out that we do not have to know j(-)).
We claim that an update is required only if i(+) =
and s(i, q, T). For if i(+) # s(i, q, T), then the path
p(i(+), q(+), T(+)) is also an extension of p,(i, q, T),
so that a possible update of L(i(+), q(+), T(+)) has
The latter minima are taken over all those paths been considered already. And an update of the tenta-
p(i(-), q(-), T(-)) for which I(i(-), q(-), T(-)) and tive label M(i(+), q(+), T ( + ) )would be conceivable
m(i(-), q(-), T(-)), respectively, have been estab- only if S(i(+), q(+), T(+)) # i; but in this case, (8) in
lished and for which p(i, q, T ) is an extension. If the conjunction with m(i, q, T ) z I(i, q, T) implies that
minimum is attained by (i(-), q(-), T(-)), then again such an update will not be required.
S(i, q, T ) will be equal to i(-). A tentative label If i(+) = s(i, q, T), then, since,/(-) # i(+), the label
M(i, q, T ) satisfies the same property as L(i, q, T ) L(i(+), q(+), T(+)) must be updated:
under the additional constraint that its second to last
customer is not equal to S(i, q, T).
These properties again justify our turning the small-
est tentative L, M-label into a permanent one in every and the same two possibilities arise again.
iteration. In case of ties, we prefer L-labels to
M-labels. To ensure that they continue to hold from (a) If the minimum in the expression (9) is attained
one iteration to the next, however, requires a much by L(i(+), q(+), T(+)), then, provided that the
more complicated updating schema. label S(i(+), q(+), T(+)) # i, M(i(+), q(+), T(+))
We first consider the case that L(i, q, T ) (and must be updated:
simultaneously S(i, q, T)) are made permanent. If
p(i(+), q(+), T(+)) is an extension of p,(i, q, T )
(i.e., i(+) # s(i, q, T)), then we have to update the
label L(i(+), q(+), T(+)) (see Equation 6) by (b) If the minimum in the expression (9) is attained
L(i(+), q(+), T(+)) by m(i, q, T ) + d;,(+)
and S(i(+), q(+), T(+)) # i,
then the old value of L(i(+), q(+), T(+)) will
:= min(L(i(+),q(+), T(+)), I(i, q, T ) + di,(+)l.
(7) be the new value of M(i(+), q(+), T(+)) and
There are two possibilities to be considered. S(i(+), q(+), T(+)) := i.
(a) If the minimum in the expression (7) is attained As in Section 3, various dominance rules can be used
by L(i(+), q(+), T(+)), then it is still possible that to speed up the calculations.
M(i(+), q(+), T(+)) can be improved, provided
that S(i(+), q(+), T(+)) # i: If m(i, q, T ) 2 I(i, q, T*) ( T 2 T*) and s(i, q, T ) #
s(i, q, T*), then extensions ofthe path corresponding
to m(i, q, T ) need not be considered (these exten-
sions are relevant only if the next client is s(i, q, T),
in which case they are dominated by extensions of
P*U, 4, T*));
(b) If the minimum in the expression (7) is If I(i, q, T ) 2 I(i, q, T*) ( T 3 T*) and s(i, q, T ) =
attained by I(i, q, T ) + dl,(+)and S(i(+), q(+), s(i, q, T*), then any extension of p,(i, q, T ) is
T(+)) # i, then the old value of L(i(+), q(+), dominated by one of p,(i, q, T*); if s(i, q, T ) #
270 / KOLEN,RINNOOY
KAN AND TRIENEKENS
s(i, q, T*), then the only next client on p,(i, q, T ) Formula (12) is inspired by the subgradient step
that need be considered is s(i, q, T*); familiar from Lagrangian relaxation (see Fisher 1981).
If m(i, q, T ) 3 m(i, q, T*) ( T 2 T*), then any In accordance with empirical experience from that
extension of the path corresponding to m(i, q, T ) is +
area, P("+')is chosen to satisfy P(p+')- 2P(P) p(P-l) =
dominated by one corresponding to m(i, q, T*) or c for some is a constant c, 8") is empirically chosen to
to 41, 9, T*)); be 0.2 in the original node of the branch-and-bound
If l(i, q, T ) 2 m(i, q, T*) ( T 2 T*), then for similar tree and 0.02 in all other nodes, and P'') := 0 where s
reasons no extensions ofp,(i, q, T ) need be consid- is the given number of iterations of the penalty
ered. procedure.
In our algorithm we use the fact that distances are
These dominance rules can be incorporated in the nonnegative. If some of the d Q given by (1 1) are
shortest-path calculations in an obvious fashion. negative, then we adjust the corresponding penalties
by
5. A Penalty Procedure r,:= r,- '/2 ma~(min,,~jd;),min,]d;, d,*,{{). (13)
The optimal solution ofthe TCVRP is invariant under
the transformation Use of the penalty procedure greatly improved the
lower bound.
d:=dl,+r,+rj ( i , j = O , . . . , n;ro=O), ( 1 1)
in that this transformation simply adds the constant
term 2 C:=o r, to the objective function. We can make 6. An Upper Bound
use of this property by interpretating the r, as penalties,
depending on the degree 6, of client i, i.e., twice the As proved by Savelsbergh, finding a feasible solution
number of times that he is visited. If 6, is larger to the TCVRP is itself an NP-complete problem.
(smaller)than 2, then a visit to client i should be made Hence, unlike the VRP, we should not expect a simple
less (more)attractive. In iteration p + 1, rjP+"is chosen heuristic to produce feasible solutions that yield upper
according to bounds on the optimal solution value. However, the
"(P+'), (PI following simple insertion rule was successful on all
I "I
our test problems. Clients are inserted according to
+ p(pi.1). - z(")
z,, increasing value of
(p-2). (12)
(C;=l (6jP)- 2)2)1'2
In this expression z,,is an upper bound on the optimal
solution value and 2'") is the lower bound obtained in (ql, 92 constant) so that clients with small time
iteration p. In our algorithm we fix the number of windows and large demands get the highest priority.
steps of the penalty procedure in the root of the Starting with m empty routes, we determine for each
branch-and-bound tree as well as in all other nodes. successive client the amounts added to traveled dis-
Several pairs of parameters have been tested. Section tance and waiting time if this client is inserted in
7 describes our computational experience. position k on route j. We would like both quantities,

Table I
Test Problems for the Computational Experiments
No. of No, of No. of Capacity of Total Optimal
Problem
Clients Time Windows Vehicles One Vehicle Demand Solution
Vehicle Routing with Time Windows / 27 1
Table I1
Influence of the Penalty Procedure

"Optimal solution value.


CPU time in minutes (VAX 11/785).
' Number of nodes in the branch-and-bound tree.
Initial lower bound.
'Stack overflow.

DJkand WJk respectively, to be small. Hence, we choose 7. Computational Results


the ( j , k) combination that minimizes
We investigated the computational performance of
q3 DJk + q 4 W J k , (15) the branch-and-bound algorithm just described, using
nine test problems that ranged from n = 6 to n = 15.
(q3, q4 constant). In each problem, the travel time between two clients
The constants q, , q,, 4, and 4, are set and reset is proportional to the distance between them.
interactively by the programmer. If the heuristic fails, Problem A was derived from Christofides, Mingozzi
then a trivial upper bound is, for instance, given by and Toth ( 1 9 8 1 ~by
) adding time windows for two of
the clients. These time windows were chosen so as to
make the optimal solution of the problem without
time constraints infeasible in the time constrained corresponds to the number of iterations during the
problem. Problems B, C, D, E, F are extracted from computation of the lower bound in the root of the
examples in Eilon, Watson-Gandy and Chris- branch-and-bound tree, and p2 corresponds to the
tofides (1971); again we added time windows for number of iterations in all other nodes. The first
some or all of the clients in the previously described number in the table indicates the CPU time in minutes
manner. on the VAX 111785 using the VAX-Pascal compiler
The last three problems were random test problems. with optimization but also with run-time checks dur-
Using a two-dimensional uniform distribution, we ing execution. The second number is the number of
generated points in the plane. The distance between nodes in the branch-and-bound tree generated by the
two clients was defined to be the euclidean distance algorithm, and the last number indicates the value of
in the plane. We then constructed a few arbitrary the initial lower bound found.
routes feasible with respect to the capacity constraints, Table I11 specifies the performance of the algorithm
in which each client was visited exactly once. Finally, with and without 2-loops for p 1 = 25 and p2 = 6; the
we constructed the time windows in such a way that value with 2-loops allowed is given between parenthe-
these routes would be feasible in the time-constrained ses. As can be seen from the table, computations for
problem. While solving these random test problems, the last five problems could not be completed when
we discovered that these routes were not the optimal 2-loops were allowed.
ones. These and other experiments revealed that the rel-
Table I contains the specific data for each test ative width and number of time windows were the
problem. A "+I" in the column with the number of problem parameters that had the most significant
time windows means that the depot also had a time influence on the running time of the algorithm. As
window. Except for the first three problems, none of the time windows (including the one for the depot)
the problems could be solved without time windows, become larger, or as the number of time windows
due to stack overflow during the computation of the becomes smaller, the number of feasible q-routes in-
lower bound. All test problems are available on creases with a corresponding increase in running time
request. of the algorithm and a decrease in the quality of the
In Table I1 we show the performance of the algo- lower bounds. Neither the number of vehicles m nor
rithm excluding 2-loops for different pairs of pa- their capacity c had anywhere near the same influence
rameters p l and p 2 for the penalty procedure; p l on the computational results.

Table I11
Influence of 2-Loop Elimination
Optimal Initial No. of
Heuristic CPU Time
Solution Value Lowerbound Nodes

"The performance of the algorithm with 2-loops allowed.


Stack overflow.
Vehicle Routing with Time Windows / 273
Acknowledgment Path Problem with Time Windows. Technical Re-
port 394A, Centre de Recherche sur les Transports,
The authors gratefully acknowledge constructive sug- Montrhl.
gestions from Jacques Desrosiers. Professor Rinnooy DESROSIERS, J., Y. DUMASA N D F. SOUMIS.1984. The
Kan was partially supported by a NATO Senior Multiple Vehicles Many to Many Routing Problem
Scientist Fellowship. with Time Windows. Technical Report 684- 13,
Ecole des Hautes Etudes Commerciales, Montreal.
DESROSIERS, J., M. SAUVE A N D F. SOUMIS.1985. Lagran-
gean Methods for Solving the Minimum Fleet Size
References
m-TSP with Time Windows. Technical Report 396,
BAKER,E. K. 1983. An Exact Algorithm for the Time- Centre de Recherche sur les Transports, Montreal.
Constrained Traveling Salesman Problem. Opns. EILON,S., C. WATSON-GANDY A N D N. CHRISTOFIDES.
Res. 31,938-945 197 1. Distribution Management: Mathematical
BODIN,L., B. GOLDEN, A. ASSADA N D M. BALL.1983. Modelling and Practical Analysis. Griffin, London.
Routing and Scheduling of Vehicles and Crews: The FISHER,M. L. 1981. Langrangian Relaxation Methods
State of the Art. Comput. Opns. Res. 10, 69-2 1 1. for Solving Integer Programming Problems. Mgmt.
CHRISTOFIDES, N., A. MINGOZZI A N D P. TOTH. 1981a. Sci.27, 1-18.
An Algorithm for the Time Constrained Travelling SAVELSBERGH, M. 1984. Local Search in Routing Prob-
Salesman Problem. Technical Report, Imperial lems with Time Windows. Report 05-R 8409, Center
College, London. for Mathematics and Computer Science, Amster-
CHRISTOFIDES, N., A. MINGOZZI A N D P. TOTH. 198 Ib. dam.
State-Space Relaxation Procedures for the Compu- SOLOMON, M. 1983. On the Worst-Case Performance of
tation of Bounds to Routing Problems. Networks 11, Some Heuristics for the Vehicle Routing and Sched-
145-164. uling Problem with Time Window Constraints. Re-
CHRISTOFIDES, N., A. MINGOZZI A N D P. TOTH. 1 9 8 1 ~ . port 83-05-03, Department of Decision Sciences,
Exact Algorithms for the Vehicle Routing Problem. The Wharton School, University of Pennsylvania.
Math. Program. 20, 255-282. SOLOMON, M. 1987. Algorithms for the Vehicle Routing
DESROCHERS, M., A N D F. SOUMIS.1985. A Generalized and Scheduling Problems with Time Window Con-
Permanent Labelling Algorithm for the Shortest straints. Opns. Res. 35, 254-265.

You might also like