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