A restricted dynamic programming heuristic algorithm ... - Science Direct

9 downloads 0 Views 762KB Size Report
mum total elapsed time that starts from the depot at a given starting time, visits every customer in a given set, and returns to the depot. The travel time between ...
EUROPEAN JOURNAL OF OPERATIONAL RESEARCH ELSEVIER

European Journal of Operational Research 90 (1996) 45-55

Theory and Methodology

A restricted dynamic programming heuristic algorithm for the time dependent traveling salesman problem Chryssi Malandraki

*, R o b e r t

B. D i a l 1

United Parcel Service, 2311 York Road, Timonium, MD 21093, USA

Received March 1994; accepted August 1994

Abstract

Dynamic programming (DP) algorithms for the traveling salesman problem (TSP) can easily incorporate time dependent travel times, time windows, and precedence relationships which present difficulties for algorithms based on linear or nonlinear programming formulations and for many TSP heuristics. However, exact DP algorithms for the TSP have exponential storage and computational time requirements and can solve only very small problems. We present a restricted DP heuristic (a generalization of the nearest-neighbor heuristic) that can include all the above considerations but solves much larger problems. The heuristic cannot guarantee optimality because only a userspecified number of partial tours is retained at each stage. In this paper, the heuristic is implemented for the time dependent traveling salesman problem and is tested on a personal computer on randomly generated problems. The quality of the solutions improves, on average, as more computational time is permitted. Keywords: Traveling salesman problem; Dynamic programming; Heuristics; Routing; Transportation; Time depen-

dence

1. Introduction

Dynamic programming (DP) exact algorithms for the traveling salesman problem (TSP) and its variations retain every partial path that may lead to an optimal solution. This guarantees optimality but has exponential time and space requirements and can be applied only to very small problems. At the other extreme, nearest-neighbor, greedy heuristics provide quick but usually not effective

* Corresponding author. l Currently at Volpe National Transportation Systems Center, Kendall Square, Cambridge, MA 02142, USA.

solutions. This p a p e r presents a new restricted DP heuristic algorithm for the TSP that can include all the additional considerations that the exact DP algorithm can (time dependence, time windows, precedence relationships) while solving much larger problems. The heuristic provides the option to the user to choose some middle ground between the optimal DP algorithm and the nearest-neighbor heuristic. It does not generally guarantee optimality because only a user-specified number of partial tours is retained at each stage but permits a tradeoff between solution improvement and higher computational times. The heuristic is applied to the time dependent TSP (TDTSP) (Malandraki and Daskin, 1992)

0377-2217/96/$15.00 © 1996 Elsevier Science B.V. All rights reserved SSDI 0377-2217(94)00299-1

46

C. Malandraki, R.B. Dial~European Journal of Operational Research 90 (1996) 45-55

which is defined as follows: Find a tour of minimum total elapsed time that starts from the depot at a given starting time, visits every customer in a given set, and returns to the depot. The travel time between two customers or between a customer and the depot depends on the distance between the points and the time of day. The service time at each customer may also depend on the time of day. The elapsed time is defined as the difference between the return time and the starting time of the tour and consists of the travel times between customer sites and the serving times at the customers. For a given starting time from the depot, minimization of elapsed time is equivalent to minimization of the return to the depot. In the following discussion, the service times are assumed to be independent of the time service starts at the stop but the general case can be treated similarly. The T D T S P is an extension of the traveling salesman problem (TSP) (Dantzig et al., 1954, 1959; Christofides, 1979; Lawler et al., 1985). The TSP considers the cost or travel time between two points as known and constant, usually a scalar transformation of the distance between the points. For real-life applications some composite or modified constant cost measure may be used (Fisher et al., 1982; Bell et al., 1983). In a congested urban environment however, speeds are not constant and the travel time between two points is usually not a function of only the distance traveled. Traffic density fluctuates causing fluctuations in travel speed and variations in travel times. There is a stochastic component of this variation resulting from accidents, weather conditions and other random events. Another component is the temporal variation that results from the hourly, daily, weekly or seasonal cycles in the average traffic volumes. This component may cause considerable differences in travel times during the peak and off-peak hours. To account for the cyclic variations, the travel time between two points may be represented by a deterministic function of the distance between the two points and also of the time of day the travel occurs. As a generalization of the TSP, the T D T S P belongs to the class of NP-complete problems

(Lenstra and Rinnooy Kan, 1981) for which it seems unlikely that polynomial-time exact algorithms be developed (Garey and Johnson, 1979; Johnson and Papadimitriou, 1985a). The TSP was solved using dynamic programming (DP) by Bellman (1962) and by Held and Karp (1962). Malandraki and Daskin (1992) extended this DP algorithm to include time dependence. Other researchers have also considered time dependence mainly in connection with shortest path problems (Orda and Rom, 1990; Kostreva and Wiecek, 1993). Time dependent problems have applications both in transportation and in communication networks. The remainder of this paper is organized as follows. The DP exact algorithm is described in the next section. Section 3 describes the restricted DP heuristic algorithm and Section 4 presents computational results on a PC of the application of the heuristic on randomly generated problems with up to 55 nodes. The summary and conclusions are presented in Section 5.

2. Dynamic programming exact algorithm A directed graph G(V, E ) is given with V the set of nodes and E the set of directed links. A directed link is represented by an ordered pair of nodes (i, j ) in which i is called the origin and j is called the destination of the link. The graph is assumed complete and an n × n time dependent matrix C ( t ) = [Cij(ti) ] is also given representing the travel times on every link (i, j ) ~ E, where cij(t i) is a function of the departure time t i from the origin node i of the link. A DP exact algorithm that finds a T D T S P tour with the earliest return time to the depot for a given staring time from the depot is described next. There are n - 1 customers to be visited, represented by nodes 1 , . . . , n - 1, and the depot is node 0. Given a set of customers S __.{1. . . . . n - 1} and k ~ S , let T(S, k) be the minimum time needed to start from the depot, visit all the nodes in S and end at node k. We find first T(S, k) for IS I = 1 which is T ( { k } , k ) = T O+ c o + Cok( to) for all k = 1 . . . . . n - 1,

(1)

C. Malandraki, R.B. Dial~European Journal of Operational Research 90 (1996) 45-55 where T o is the starting time from the depot, c o is the serving (or preparation time) at the depot, and Cok(t O) is the travel time from node 0 to k directly as a function of the departure time from node 0, t o -- TO+ c 0. Hence T({k}, k) represents the arrival time at node k. For IS I > 1 and k the last node visited, we consider visiting k immediately after p (for all p) and look up T ( S - {k}, p) from the previous calculations. So we have T ( S , k) =

min

p~S-{k}

[T(S-{k},p)+cp+Cpk(tp)

for all k ~ S,

] (2)

where cp is the service time at node p and Cpk(t p) is the travel time from node p to k directly as a function of the departure time tp = T ( S - {k}, p) + cp from node p. For the complete tour the minimum return time to the depot is T* =

min

[T({1 . . . . , n -

1}, p )

p~{1 ..... n-l}

+Cp + Cpo(tp)]" The above DP algorithm cannot be used for all time dependent travel time functions. It only applies to functions for which the following relationship holds true: If t ~ < t b,

then

47

The algorithm can be extended to include travel time functions for which restrictions (3) are not true. This is achieved if the salesman is allowed to wait at a node before departing, if this results in smaller elapsed time. (The elapsed time would then include travel times, service times, and wait times.) Such an application could be the following: Minimize the total elapsed time of a tour through all the state capitals of the US using commercial airline flights. It is possible that a flight that departs later has an earlier estimated arrival time than a flight that departs earlier (because it is a non-stop flight or uses a speedier jet). (The travel time functions would actually represent discrete choices in this case.) To find a tour of minimum total cost (instead of minimum elapsed time) through all the US state capitals using commercial airline flights and with waiting permitted, it is necessary to retain at each stage not only the partial tours with same S and k values of least cost but all the partial tours with same S and k values that are not dominated in terms of both partial costs and partial elapsed times. The next section presents a restricted DP heuristic algorithm that considers the simplest case of minimizing elapsed times without permitting waiting at the nodes. The heuristic can be extended to include waiting or minimization of a general cost function.

t a + c i j ( t a) H and SIZE > 2. H ( n - i) partial tours are examined in the stage with IS I = i. These fill an array of size SIZE at most H ( n - / ) / S I Z E times rounded upwards. The dominating operation in the algorithm for SIZE > H and SIZE > 2 i s the sorting of SIZE elements which can be accomplished in O(SIZE Iog2SIZE) time. Hence, for this stage the heuristic needs O ( H ( n i)logzSIZE) time. For all the stages, we sum over i = 1 , . . . , n and get O(n2H Iog2SIZE) and for SIZE = H we get O(n2H log2H). For S I Z E - - H = 1 the linear operations dominate and the time complexity becomes O(n2). Instead of using sorting, we could try to identify a duplicate value of S and k each time a new partial tour is computed. This could be accom-

49

plished by checking the already computed partial tours for the current stage. Such an algorithm also seems suitable for a parallel computing environment. Additional methods for selecting the H partial tours to retain at each stage should also be examined including probabilistic approaches. Higher values of H are expected to produce better solutions, on the average, with higher computational cost. The user must specify the values of H to achieve a desired tradeoff for a particular application. The restricted DP T D T S P heuristic can produce a set of up to n - 1 ranked solution tours when all the partial tours of the last stage return to the depot. This is useful if additional considerations not included in the model influence the selection of the preferred solution. Note however, that the principle of optimality applies only to the optimal tour and even the exact DP algorithm will not obtain the n - 1 best ranked tours in this way. No polynomial-time heuristic can provide performance guarantees for the TSP when the triangle inequality does not hold unless there exists an exact polynomial-time algorithm for the problem (Johnson and Papadimitriou, 1985b). It is not assumed that the triangle inequality holds for the T D T S P and performance guarantees are not provided for the restricted DP heuristic.

4. Computational results This section presents computational results of the heuristic algorithm described in Section 3. The algorithm was coded in C and tested on an IBM compatible 386 machine (25 MHz) using DOS (640 RAM) and the Microsoft C compiler. The implementation used for sorting a variation of qsort (Aho, Hopcroft and Ullman, 1983) developed by Dial which runs three to four times faster than the qsort function of the Microsoft C run-time library on the 386/25. In limited preliminary testing this improved the CPU times of the restricted DP heuristic by about 40% for H = 5000 and H = 10000. The algorithm was tested on 240 randomly generated problems with the following characteristics: 1) 10 to 55 nodes in increments of 5; 2) step

50

C. Malandraki, R.B. Dial/European Journal of Operational Research 90 (1996) 45-55

functions as travel time functions with two or three time periods per link on average during which travel times are constant; and 3) four distributions of the number of time periods across the links of the network (i.e., the number of time periods between each pair of nodes). One deterministic and three probabilistic distributions were used with different variances. The number of time periods for each link vary from one to six but on the average over all the links in the networks the time periods are either two or three. The travel time on a link when starting during a particular time period is constant. Since the implementation of the restricted DP heuristic did not allow waiting, the step functions violate restrictions 3) so that even for appropriately high H values an optimal solution is not guaranteed.

The travel time for the earliest time period of link (i, j), c/lj, was generated from a uniform [20, 80] distribution and for subsequent time periods from a uniform [ c ~ j - 20, c~j + 20] distribution. Since the travel time on a link depends on the link's distance, it is reasonable to generate correlated travel times for time periods of the same link. The duration of a time period was also generated randomly so that the upper bound of the last time period was not too large and the length of a time period was not smaller than its travel time. The delivery time for each customer was generated from a uniform [10, 20] distribution. More details about the generation of the test problems can be found in Malandraki (1989). The restricted DP heuristic was applied to the 240 test problems for different H values. SIZE

Table 1 Results of restricted D P T D T S P heuristic for different H values (K = 1000) Periods

Nodes

per link

Ratio of solution over solution for H = 10K H = 1

H = 100

H = 1K

H = 5K

H = 15K

1.176 a 1.167 1.201 1.233 1.168 1.245 1.164 1.183

1.015 1.005 1.031 1.048 1.045 1.036 1.045 1.034

1.000 1.000 1.009 1.002 1.017 1.014 1.015 1.016

1.000 1.000 1.001 1.000 1.003 1.005 1.005 1.006

1.000 1.000 1.000 1.000 0.997 0.996 0.996 0.994

1.192

1.032

1.009

1.002

0.998

1.179 1.208 1.150 1.198 1.154 1.191 1.163 1.174 1.145 1.177 1.128 1.168

1.052 1.044 1.047 1.061 1.041 1.050 1.051 1.040 1.040 1.049 1.039 1.047

1.018 1.011 1.025 1.019 1.018 1.025 1.013 1.018 1.017 1.016 1.013 1.017

1.005 1.006 1.007 1.003 1.005 1.007 1.006 1.000 1.005 1.005 1.002 1.005

NA b

Average:

1.170

1.047

1.018

1.005

Overall avg.:

1.179

1.041

1.014

1.004

2 3 2 3 2 3 2 3

10 10 15 15 20 20 25 25

Average: 2 3 2 3 2 3 2 3 2 3 2 3

30 30 35 35 40 40 45 45 50 50 55 55

a Each value shown is the average over 12 problems. b NA: No results available.

51

c. Malandraki, R.B. Dial~European Journal of Operational Research 90 (1996) 45-55

was set e q u a l to H for all cases. L i m i t e d p r e l i m i nary testing indicated that the CPU times were h i g h e r for S I Z E > H t h a n for S I Z E = H , in a g r e e m e n t with t h e w o r s t case analysis. C a s e s with S I Z E < H w e r e n o t e x a m i n e d . A l l 240 p r o b lems w e r e solved for H e q u a l to 1, 100, 1000, 5000 a n d 10000. H = 10000 was t h e l a r g e s t v a l u e p e r m i t t e d for t h e 5 5 - n o d e p r o b l e m s by t h e m e m ory l i m i t a t i o n s o f a 386 P C using D O S , 640 K R A M . T h e u p - t o - 2 5 - n o d e p r o b l e m s w e r e also solved for H = 15 000. A l t o g e t h e r 1296 p r o b l e m s w e r e solved for d i f f e r e n t n a n d H values. T h e s o l u t i o n results a r e shown in T a b l e 1. E a c h e n t r y in t h e t a b l e is t h e a v e r a g e over t h e twelve p r o b l e m s with t h e s a m e n u m b e r o f n o d e s and the same average number of time periods per link. T h e a v e r a g e n u m b e r o f t i m e p e r i o d s p e r link for t h e test p r o b l e m s is shown in t h e first c o l u m n a n d t h e n u m b e r o f n o d e s is shown in t h e s e c o n d column. T h e rest o f t h e c o l u m n s show t h e results for d i f f e r e n t H values. Since t h e o p t i m a l solutions a r e n o t known, we show t h e a v e r a g e r a t i o o f e a c h s o l u t i o n d i v i d e d by t h e b e s t k n o w n s o l u t i o n (for H = 10 000). ( F o r h o m o g e n e i t y o f t h e results we d o n o t show t h e a v e r a g e r a t i o o f e a c h s o l u t i o n d i v i d e d by t h e s o l u t i o n for H = 15 000 for p r o b lems o f u p to 25 n o d e s a l t h o u g h t h e s o l u t i o n s for H = 15 000 a r e i m p r o v e d . ) Fig. 1 shows t h e g r a p h o f t h e s o l u t i o n r a t i o s with r e s p e c t to H only for n = 1 0 a n d n = 5 5 b e c a u s e all the lines for n = 20 to n = 55 t e n d to

1.2 i

~d 1'151 II 22

1.05 "fi 1

0.95

r 2

i i 4 6 Thousarlds H ( n u m b e r o f retained partial tours) -o- n=10

i 8

--~- n = 5 5

Fig. 1. Results of restricted dynamic programming TDTSP heuristic algorithm for selected values of n.

fall t o g e t h e r . T h e r e is a very r a p i d i m p r o v e m e n t , 13.8% o n t h e a v e r a g e , in t h e quality o f t h e solution r a t i o s w h e n H i n c r e a s e s f r o m 1 to 100 a n d t h e n t h e i m p r o v e m e n t is m u c h slower. F r o m H = 100 to H = 1000 t h e a v e r a g e i m p r o v e m e n t for all 240 p r o b l e m s is 2.7%, f r o m H = 1000 to H = 5000 t h e a v e r a g e i m p r o v e m e n t is 1% a n d f r o m H = 5000 to H = 10000 it is 0.4%. N o t e t h a t for a p a r t i c u l a r p r o b l e m i n s t a n c e a n d H value, t h e s o l u t i o n m a y d e t e r i o r a t e for i n c r e a s e d H. T h i s is n o t a very f r e q u e n t o c c u r r e n c e ; o u t o f 1056 p r o b lems solved for d i f f e r e n t n a n d H values (excluding H = 1), it o c c u r r e d 12 t i m e s o r 1.14%. T h e p r o b l e m s with 10 to 25 n o d e s w e r e solved

Table 2 Results of restricted DP TDTSP heuristic Periods per link average

Nodes

2 3 2 3 2 3 2 3

10 10 15 15 20 20 25 25

Overall:

Solution/best previous

% Gap

H = 100

H = 1K

H = 15K

H = 1K

Average

Average

Average

Average

Maximum

Average

Maximum

1.001 a 0.977 0.989 0.988 0.999 0.966 1.000 0.954

0.986 0.973 0.968 0.945 0.972 0.945 0.971 0.938

0.986 0.973 0.960 0.944 0.952 0.928 0.954 0.917

6.44 10.20 7.75 9.70 7.86 12.16 9.90 13.37

12.54 18.42 10.14 13.04 11.90 15.12 14.52 18.03

6.44 10.20 6.78 9.48 5.71 10.15 7.92 10.84

12.54 18.42 9.36 12.25 7.98 12.63 11.65 15.33

0.984

0.962

0.952

9.67

18.42

8.44

18.42

a Each value shown is computed over 12 problems.

10

H = 15K

52

C. Malandraki, R.B. Dial/European Journal of Operational Research 90 (1996) 45-55

before by a c u t t i n g p l a n e heuristic a l g o r i t h m b a s e d o n a mixed i n t e g e r l i n e a r p r o g r a m m i n g (LP) f o r m u l a t i o n a n d by o t h e r n e a r e s t - n e i g h b o r b a s e d heuristics ( M a l a n d r a k i a n d Daskin, 1992). C o l u m n s t h r e e to five of T a b l e 2 show the average ratios of the solutions o b t a i n e d from the restricted D P heuristic for H = 100, H = 1K a n d H -- 15K (where K stands for 1000) divided by the best k n o w n solutions from the previously a p p l i e d heuristics. T h e solutions from the restricted D P heuristic are b e t t e r o n the average t h a n the previously best solutions for every H value that was c o n s i d e r e d except for H = 1. F o r H = 100 the average of the ratios shows a n i m p r o v e m e n t from the best previously k n o w n s o l u t i o n of 1.6%. F o r H = 1K the i m p r o v e m e n t is 3.8% a n d for H = 15K

it is 4.8%. T h e s e differences may be even larger if waiting is p e r m i t t e d by the restricted D P heuristic b e c a u s e the L P - b a s e d heuristic p e r m i t t e d waiting at a n o d e . Lower b o u n d s o n the o p t i m a l solutions (LB) were also o b t a i n e d from the LP heuristic. C o l u m n s six to n i n e of T a b l e 2 p r e s e n t the average a n d the m a x i m u m values of the gap which is a p e r c e n t m e a s u r e of the difference b e t w e e n the solution (Sol) a n d the highest k n o w n LB a n d is given by the e q u a t i o n Sol - LB Gap = 100.

LB

This gap m e a s u r e is a n u p p e r b o u n d o n the difference b e t w e e n a s o l u t i o n a n d a n o p t i m a l

Table 3 Average CPU times (sec) of TDTSP heuristics Periods per link

Nodes

2 3 2 3 2 3 2 3

10 10 15 15 20 20 25 25

CPU time (PC 386 25 MHz) of dynamic programming heuristic H= 1

H = 100

H = 1K

H=5K

H = 10K

H = 15K

CPU time (VAX) of LP heuristic

0 0 0 0 0 0 0 0

1 1 2 2 3 3 4 4

2 2 13 14 23 25 36 39

2 2 54 57 112 120 179 192

2 2 97 102 223 237 366 386

2 2 128 135 334 354 555 584

24 39 59 98 117 207 224 431

0

2

19

90

177

262

150

0 0 0 0 0 0 0 0 0 0 0 0

7 7 8 9 10 11 13 13 15 16 17 18

59 63 76 80 95 102 117 125 139 150 164 177

301 317 387 407 489 516 602 637 725 772 862 915

621 649 804 837 1023 1064 1260 1320 1528 1604 1822 1904

NAb

NA

Average:

0

12

112

577

1203

Overall avg.:

0

8

75

382

793

Average: 2 3 2 3 2 3 2 3 2 3 2 3

30 30 35 35 40 40 45 45 50 50 55 55

a E a c h value shown is the average over 12 problems. b NA: N o results available.

53

C. Malandraki, R.B. Dial/European Journal of Operational Research 90 (1996) 45-55

solution. It is a weak u p p e r bound, however, if the LB is weak. The LB seems to be weak in this case (particularly for problems with three time periods per link) since even for n = 10 for which probably most of the obtained solutions are optimal (because all partial paths are retained), the average gaps are 6.44% and 10.20% for problems with two or three time periods per link and the maximum gaps are 12.54% and 18.42% correspondingly. The average execution times of the restricted DP heuristic are shown in Table 3 and Figs. 2 and 3. The CPU times for the LP heuristic (VAX-11/785, VMS) are also included. Generally, there was small variation in the execution times of the restricted DP heuristic among problems with the same n u m b e r of nodes and the same average n u m b e r of time periods per link. The CPU times increase more than linearly with the n u m b e r of nodes in Fig. 2. This increase is sharper for higher H. The increase in C P U times is smooth except between n = 25 and n = 30 where, as expected, there is a kink due to the fact that two unsigned integers instead of one are used for the representation of each S and k and sorting and other operations become m o r e expensive. The execution times for the LP heuristic lie between those for H = 5K and H--- 10K for the existing results (but for a faster computer). The

5OO

01 2

4 Thousands

6

8

10

H (t~Uttll~"O~t'~llitledFmrtial tOU~)

-l.-n=30 -¢-n=35 _.~..a=40 -R_n=45 ..O_n=50 _alk_n=55

Fig. 3. Average CPU times of restricted dynamic programming TDTSP heuristic as a function of H (n = 30 to n = 55).

CPU times for n = 30 to 55 are shown as functions of H in Fig. 3. The C P U times seem to increase linearly or slightly more than linearly with H. The test results show that for H = 100 the improvement from the nearest-neighbor solutions is on the average 13.8% but as H increases the marginal improvement diminishes quickly. The results of Table 3 suggest that for H = 100 we can solve on a small PC problems with 200 nodes for reasonable C P U times. The size of the problems and the value of H for which reasonable computational times can be achieved increase for larger computers.

2C00

5. Summary and conclusions 1500

5OO

0

10

+H=100

15

-~-H=IK

F i g . 2. A v e r a g e ming

of n.

20

CPU

25

30 35 40 n (numberof node~)

....-H=5K

45

50

55

-I~H=10K --o-H=ISK -A-VAX

times of restricted dynamic program-

and linear programming TDTSP heuristics as a function

This p a p e r describes a restricted dynamic programming (DP) heuristic algorithm for the time dependent traveling salesman problem (TDTSP) with a given starting time from the depot. The heuristic is based on the exact DP algorithm for the traveling salesman problem (TSP) but can solve much larger problems than the exact algorithm. The heuristic can also be considered as an extension of the nearest-neighbor heuristic that produces much better solutions. T h e new heuristic permits the user to choose a middle ground between an optimal solution and a nearest-

54

C. Malandraki, R.B. Dial ~European Journal of Operational Research 90 (1996) 45-55

neighbor solution. The quality of the solution improves, on average, as more computational resources are available. The restricted DP heuristic does not generally guarantee optimality because only a user-specified number of partial tours is retained at each stage. The partial tours from one stage are used to produce the partial tours of the next stage. Special data structures are used and the algorithm relies heavily on sorting. The heuristic was coded in C and tested on a PC 386, 25 MHz using DOS on randomly generated problems with 10 to 55 nodes and with travel times represented by step functions of two or three time periods per link on average. The heuristic outperformed previously known heuristics in the solution quality, execution times, and size of problems that could be solved. The results suggest that good solutions can be obtained on a small PC for 200-node problems in reasonable computational times. The restricted DP heuristic also solves the TSP for which, however, many heuristics are known (Bodin et al., 1983). For the TSP a different solution may be obtained by the restricted DP heuristic if a different starting node is used. The best solution for all the different starting nodes is then selected. More importantly, the restricted DP heuristic solves the TSP with additional considerations apart from time dependence that the DP exact algorithm can include but for which few heuristic algorithms exist. Such considerations are multiple time windows on the arrival times at the customers and precedence relationships inherent in dial-a-ride systems.

Acknowledgments This research was performed at the facilities of Roadnet Technologies, Inc., a United Parcel Service company. The authors would like to thank Bernie Thuman for his contribution to the coding of the algorithm and Alberto Fraire who did part of the coding and testing during a summer internship.

References Aho, A.V., Hopcroft, J.E., and UUman, J.D. (1983), Data Structures and Algorithms, Addison-Wesley, Reading, MA. Bell, W.J., Dalberto, L.M., Fisher, M.L., Greenfield, A.J., Jaikumar, R., Kedia, P., Mack, R.G., and Prutzman, P.J. (1983), "Improving the distribution of industrial gases with an on-line computerized routing and scheduling optimizer", Interfaces 13/6, 4-23. Bellman, R. (1962), "Dynamic programming treatment of the Traveling Salesman Problem", Journal of the ACM 9, 61-63. Bodin, L, Golden, B., Assad, A., and Ball, M. (1983), "Routing and scheduling of vehicles and crews: The state of the art", Computers & Operations Research 10, 63-211. Christofides, N. (1979), "The Travelling Salesman Problem", in: N. Christofides, A. Mingozzi, P. Toth and C. Sandi (eds.), Combinatorial Optimization, Wiley, New York, 131149. Dantzig, G.B., Fulkerson, D.R., and Johnson, S.M. (1954), "Solution of a large-scale Traveling-Salesman Problem", Operations Research 2, 393-410. Dantzig, G.B., Fulkerson, D.R., and Johnson, S.M. (1959), "On a linear programming combinatorial approach to the Traveling-Salesman Problem", Operations Research 7, 5866. Fisher, M.L., GreenField, A.J., Jaikumar, R., and Lester, J.T. (1982), "A computerized vehicle routing application", Interfaces 12/4, 42-52. Garey, M.R., and Johnson, D.S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, Freeman, New York. Held, M., and Karp, R.M. (1962), "A Dynamic Programming approach to sequencing problems", Journal of SIAM 10, 196-210. Johnson, D.S., and Papadimitriou C.H. (1985a), "Computational complexity", in: E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan and D.B. Shmoys (eds.), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, New York, 37-85. Johnson, D.S., and Papadimitriou C.H. (1985b), "Performance guarantees for heuristics", in: E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan and D.B. Shmoys (eds.), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, New York, 145-180. Kostreva, M.M., and Wiecek, M.M. (1993), "Time dependency in multiple objective dynamic programming", Journal of Mathematical Analysis and Applications 173, 289-307. Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., and Shmoys, D.B. (eds.) (1985), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, N e w York. Lenstra, J.K., and Rinnooy Kan, A.H.G. (1981), "Complexity of vehicle routing and scheduling problems", Networks 11, 221-227.

C. Malandraki, R.B. Dial/European Journal of Operational Research 90 (1996) 45-55 Malandraki, C. (1989), "Time dependent vehicle routing problems: Formulations, solution algorithms and computational experiments", Ph.D. Dissertation, Northwestern University, Evanston, IL. Malandraki, C., and Daskin, M.S. (1992), "Time dependent vehicle routing problems: Formulations, properties and heuristic algorithms", Transportation Science 26, 185-200.

55

Malandraki, C., and Dial, R.B. (1991), "A Dynamic Programming heuristic algorithm for the time dependent traveling salesman problem", Technical Report, Roadnet Technologies, Inc., Timonium, MD. Orda, A., and Rom, R. (1990), "Shortest-path and minimumdelay algorithms in networks with time-dependent edgelength", Journal of the ACM 37, 607-625.