The Traveling Salesman Problem with Backhauls

The Traveling Salesman Problem with Backhauls

Pergamon 0305-0548(95)00036-4 THE TRAVELING SALESMAN Computers Ops Res. Vol. 23, No. 5, pp. 501-508, 1996 Copyright © 1996 ElsevierScienceLtd Prin...

590KB Sizes 27 Downloads 219 Views

Pergamon

0305-0548(95)00036-4

THE TRAVELING

SALESMAN

Computers Ops Res. Vol. 23, No. 5, pp. 501-508, 1996 Copyright © 1996 ElsevierScienceLtd Printed in Great Britain. All rights reserved 0305-0548/96 $15.00+ 0.00

PROBLEM

WITH

BACKHAULS

Michel Gendreau, l t Alain Hertz2~ and Gilbert Laportel§ ~Centre de recherche sur les transports, Universit~ de Montreal, C.P. 6128, succursale A, Montr+al, Qu6bec, Canada H3C 3J7 and 2D6partement de Math6matiques, I~cole Polytechnique F6d6rale de Lausanne, CH-1015 Ecublens, Switzerland

(Received October 1993; in revisedform December 1994)

Scope and Purpose--The Traveling Salesman Problem with Backhauls (TSPB) is a single-vehicle routing problem in which customers are divided into linehaul and backhanl customers. One must design a minimum cost vehicle route in which all linehaul customers are visited contiguously before all backhaul customers. This is the way several delivery and collect operations are organized. Using tools already developed for the traveling salesman problem, we develop new near-optimal heuristics for the TSPB. Abstract--The purpose of this paper is to propose new heuristics for the Traveling Salesman Problem with Backhauls. In this problem, the aim is to determine a least cost Hamiltonian tour through a set of linehaul and backhaul customers, in such a way that all backhaul customers are visited contiguously after all linehaul customers. Six heuristics, all having a good empirical performance ratio, are described and compared with a lower bound. Computational results indicate that the best of these heuristics yields high quality solutions. Copyright © 1996 Elsevier Science Ltd

1. I N T R O D U C T I O N

The purpose of this paper is to propose new heuristics for the Traveling Salesman Problem with Backhauls (TSPB) defined as follows. Let G = ( V , E ) be a graph where V = {Vl,... ,vn} is the vertex set and E = { (vi, vj): i C j, vi, vj E V} is the edge set. Here we assume that all edges are undirected so that (vi,vj) is only defined for i < j . The vertex set is partitioned into V = {{vl }, L, B}, where vl is a depot, L corresponds to linehaul customers and B to backhaul customers. With E is associated a cost matrix C = (c;j) representing travel costs, distances or travel times. The TSPB consists of determining a least cost Hamiltonian cycle on G such that all vertices of L are visited contiguously immediately after v 1, followed by all vertices of B, and then Vl. The TSPB can be viewed as a special case of the Clustered Traveling Salesman Problem (CTSP) studied by Chisman [1], Lokin [2], Jongens and Volgenant [3], and Kalantari et al. [4]. In the CTSP, V is partitioned into r clusters B 1 , . . . , B r , and it is required that the vertices of B k be visited contiguously. Precedence relations on the clusters are sometimes imposed [2]. Another generalization of the TSPB is the Vehicle Routing with Backhauls (VRPB) studied by Deif and Bodin [5], Golden et al. [6], Casco et al. [7], Goetschalckx and Jacobs-Blecha [8], and Grlinas et al. [9]. In the VRPB, there is a non-negative demand qi associated with each vertex vi, and a fleet of m vehicles of capacity Q. The VRPB consists of determining a set of m vehicle routes of least total travel cost, in such a way that (1) each route starts and ends at the depot, (2) every vertex of V \ { v l } is visited exactly once by exactly one vehicle, (3) the total demand of any route does not exceed Q, and (4) on any route, all backhaul customers are visited contiguously after all linehaul customers.

tMichel Gendreau is Associate Professor in the Department of Computer Science and Operations Research, Universit6 de Montrral. He is also a member of the Centre for Research on Transportation. His main areas of research lie in transportation, location and telecommunications. ~Alain Hertz is Assistant Professor at the Ikcole Polytechnique Frdrrale de Lausanne, Switzerland. He conducts research in graph theory, combinatorial optimisation, algorithmics, scheduling and timetabling, production and distribution. He is Vice-President and President Elect of the Swiss O.R. Society (ASRO). §Gilbert Laporte is Professor of Operations Research at the IEcoledes Hautes l~tudes Commerciales de Montrbal. He is also a member and former director of the Centre for Research of Transportation. His main research interests lie in the fields of vehicle routing, location and scheduling. 501

502

Michel Gendreau et al.

Applications of the TSPB arise naturally in automated warehouse routing [1, 2] and in operation sequencing on numerically controlled machines [2]. The TSPB may also be regarded as a subproblem of the VRPB, as each individual vehicle route is the solution of a TSPB. It is well known that the TSPB can readily be transformed into a standard Traveling Salesman Problem (TSP) by modification of the cost matrix (see, for example, Chisman [1]). This is achieved by adding an arbitrarily large constant M to each c U where (vi, vj) is an edge linking any two of the sets {vi}, L and B. This was the approach taken by Lokin [2] who transformed the CTSP into a TSP, and then solved it by means of the Little et al. [10] algorithm. But, as shown by Jongens and Volgenant [3] and by Kalantari et al. [4], better exact algorithms can be derived by suitably modifying existing TSP algorithms to account for clusters. When n is large, solving the TSPB exactly becomes impractical and heuristics must be used. Our aim is to develop such heuristics and to study their performance. We believe these heuristics may prove useful, for example, as post-optimizers for the vehicle routes produced by a VRPB heuristic. Relatively little previous research has been done on the development of good heuristics for the TSPB and for the VRPB. Deif and Bodin [5], Golden et al. [6] and Casco et al. [7] use a modification of the Clarke and Wright [11] savings algorithm to solve the VRPB. Goetschalckx and Jacobs-Blecha [8] compare various basic heuristic strategies. The paper by G61inas et al. [9] describes an exact algorithm and the problem also incorporates time window constraints. In our opinion, the current state of knowledge on the TSPB is still unsatisfactory and more powerful algorithms should be designed. Moreover, none of the heuristics proposed for the TSPB has been measured against a lower bound so that it is difficult to assess their quality. In this article we provide such a comparison. The remainder of this paper is organized as follows. We start in Section 2 with a description of G E N I U S , a TSP heuristic used as a basis for our TSPB heuristics. We then propose in Section 3 new heuristics with a good empirical performance. In Section 4, a lower bound for the TSPB is described. Computational results presented in Section 5 compare the various algorithms. Comparisons with the lower bound indicate that on the test problems, the best of these heuristics produces high quality solution values.

2. THE GENIUS A L G O R I T H M Several standard TSP heuristics can be adapted to the TSPB. Here, we propose a family of new methods based on the G E N I U S algorithm recently developed for the TSP by Gendreau et al. [12]. These heuristics require only relatively minor adjustments to G E N I U S , but yet yield very good solutions to the TSPB within very modest computing times. G E N I U S consists of a tour construction phase (GENI), followed by a tour improvement phase (US). Starting from three arbitrary vertices, G E N I inserts at each step a vertex v not yet on the current tour, between two vertices vi and vj already on the tour and in a neighborhood of v. G E N I is more than a standard insertion procedure as each insertion is executed simultaneously with a local reoptimization of the tour. At a general step of G E N I , some vertices already belong to a partial traveling salesman tour while others are free. To perform a generalized insertion, consider the partially constructed tour (Vl,VZ,...,vh-1, vh, v h + l , . - - , % , Vl). Define the p-neighborhood of vertex v as follows: if v is not on the tour, Np(v) is the set of the p vertices already on the tour closest to v if p ~ ~ t + 1; if v is on the tour Np(v) is the set of the p vertices already on the tour closest to v if p ~/t. Also denote by Pij the set of vertices on the path from vi to vj for a given orientation of the tour. Arbitrarily select a free vertex v as the next candidate for insertion. Two types of insertion are defined.

Type I: Select vr, vs c Np(v) and vk E N e(vs +1) N Psr\{vr, vs}. Delete arcs (v,., v,.+l), (vs, Vs 1) and ~

(vk,vk+i); insert arcs (v~,v), (v,v,), (v~.+l,Vk) and (%.+l,Vk+l)- Paths ( v r + l , . . . ,Vs) and (Vs+ l, . . . , Vk) are reversed.

Traveling salesman problem with backhauls

503

Type lI: Select v,., v~ • Np(v), Vk E Np(v,.+l) NPs,.\{Vs,Vs+l} and v l e Np(V~+l) 71P,=,.\(v,.,v,.+l}. Delete arcs (v,., v,.+ l), (Vt_l,Vl), (v,,vs.l) and (Vk_l,Vk); insert arcs (v,.,v), (v,v,), (v/,v~+l), (vk l,Vl 1) and (v,.+ l, Vk). Paths (v,.+l,...,vl 1) and (vl,...,vs) are reversed. To determine the best move, it is necessary to compute the cost of the tour corresponding to each insertion, to each orientation of the tour, and to each possible choice of %., v s, Vk, vl. For an n-vertex problem, G E N I can be executed in O(np 4 + n 2) operations. In the post-optimization phase US, each vertex is in turn removed from the tour using the reverse G E N I operation, and the vertex is then reinserted in the tour using GENI. The procedure ends when no further improvement can be obtained by removing and reinserting any vertex. On randomly generated TSP instances and on problems described in the literature, G E N I U S has produced highly competitive results. Computation time and solution quality both increase with p. On the range of values of n considered (100 ~
FOR

THE

TSPB

We describe in this section six heuristics for the TSPB. The first three are entirely based on GENIUS. The other three make use of cheapest insertion or Or-opt.

H1. Apply GENIUS to the transformed cost matrix Step 1. Modify the cost matrix by adding a large constant M to every cij where (vi, vi) links two of the sets {Vl}, L and B.

Step 2. Apply G E N I U S to the TSP defined by the transformed matrix. H2. D O U B L E C Y C L E 1 Step 1. Apply G E N I U S separately to the vertices of L and to those of B. Step 2. Consider v' c {vi, v/} and v" E {Vk, vl}, where (vi, v/) is an edge of the first tour and (v~, vl) is an edge of the second tour. Let ~' = {vi, vi}\{v } and v = {vk, v~}\{v }. Remove (vi, vj) and (Vk, Vt); introduce (v',v'), (Vl,5') and (Vl,~"). Select the least cost tour over all combinations {v i, v'}. I

H3. D 0 UBLEC Y C L E 2 Step 1. Apply G E N I U S separately to the vertices of L

'

--

11

II

and to those of B

U ( v 1}

tO { v 1 }.

Table 1. Solution values and computation times using GENI and GENIUS n=100

CAOR 23-5-G

n=200

n=300

p

Cost

Time

Cost

Time

Cost

Time

After G E N l (construction phase only)

3 4 5

815,2 807.3 803,7

0.5 0.8 1.4

1134.1 1121.6 1115.3

1,7 2.3 3,6

1382.1 1364.8 1355.3

3.5 4.5 6.6

After GENIUS (construction phase followed by post-optimization)

3 4 5

796.8 791.8 791.2

2.5 3.4 5,4

1107.6 1100.1 1096.7

10.0 11.8 15.9

1347.0 1337.1 1332.5

23.5 26.2 33.3

Michel Gendreau et al.

504

Step 2. Consider v' E {vi, vj) and v" E {vk, vl}, where (Vl, vi), (vl, v/) are edges of the first tour, and (vl, vk), (vl, vt) are edges of the second tour. Remove (vl, vl), (vj, v') and introduce (v I, v "). Select the least cost tour among the four combinations {v ~, v "). H4. Cheapest insertion-- US Step 1. Start with a tour consisting of Vl, followed by one randomly selected linehaul vertex, and one randomly selected backhaul vertex.

Step 2. Consider in turn, in any order, each remaining vertex. Each vertex is inserted by using a cheapest insertion criterion, with the restriction that linehaul vertices and backhaul vertices must both remain contiguous on the tour. Step 3. Apply the US post-optimization procedure to the final tour while respecting the linehaul-backhaul precedence relation.

H5. GENI--Or-opt Step 1. Construct a tour using G E N I , by transforming the cost matrix as in H1. Step 2. Apply the Or-opt post-optimization algorithm to this tour while respecting the linehaul-backhaul precedence relation. The Or-opt algorithm can briefly be described as follows: Step i: Consider an initial tour and set t: -- 1 and s: = 3. Step ii: Remove from the tour a string of s consecutive vertices, starting with the vertex in position t, and tentatively insert it between all remaining pairs of consecutive vertices of the tour. If the tentative insertion decreases the cost of the tour, implement it immediately, thus defining a new tour; set t: = 1 and repeat Step ii. If no tentative insertion decreases the cost of the tour, set t: = t + 1. I f t = n + 1, then proceed to Step iii; otherwise repeat Step ii. Step iii." Set t: = 1 and s: = s - 1. If s I> 1, then go to Step ii; otherwise stop. -

-

-

-

H6. Cheapest insertion--Or-opt Step 1. Construct a tour as in Steps 1 and 2 of H4. Step 2. Apply the Or-opt post-optimization algorithm to this tour, as described in Step 2 of HS. 4. LOWER

BOUND

In order to assess the quality of the proposed heuristics, we have computed a lower bound for the TSPB, based on the work of Jongens and Volgenant [3] and of Smith and T h o m p s o n [16]. For the sake of completeness, we describe this bound in this section. No claim of originality is made. Our sole purpose is to derive benchmark values for the heuristics. The bound computes the Shortest Spanning 1-Tree (1-SST) relaxation of the problem, i.e. a spanning tree over V\{Vl }, plus two extra edges incident to v I . It is derived as follows. First define xij, a binary variable equal to 1 if and only if edge (vi, v i) belongs to the solution. Then the TSPB can be formulated as: (1) Minimize z = ~ cUxii i <.j

subject to

Zi
n

(2)

2

(3)

tl

Z Xlj

~-

j =2

Z Xik + Z Xkj = 2 ik Z vi C L, 'v/ e B or vjEL,vi£B

Xij = 1

(vk e v\{vl})

(4)

(5)

Traveling salesman problem with backhauls

~_,

xij>~l

505

V\{v,};S¢O)

(SC

(,6)

Vi C S, ~,j e V \ S \ { o I } or

"

v~e S, vl e V\S\{vl }

xij E {0,

1}

((vi, vi) E E).

(7)

In this formulation, constraints (2), (3), (6) and (7) ensure that the solution is a 1-SST. Constraint (5) imposes an edge between L and B, while constraints (3) and (4) force the 1-SST to be a tour by requiring that the degree of each vertex be equal to 2. A natural relaxation is obtained by introducing constraints (4) and (5) in the objective function to yield the L a g r a n g e a n

x

{i
VkCV\{vl}

\i
j>k \ vjc L, v~cB

D u a l ascents can be p e r f o r m e d to obtain a lower b o u n d on the strongest relaxation maxa.0{L(A, O)}. At each iteration h, the procedure c o m p u t e s T h, a 1-SST of cost _zh on G, using costs c~i modified by the L a g r a n g e a n multipliers. This process is repeated until a termination criterion is met. We now describe the Jongens and Volgenant rules for adjusting the multipliers and the costs, and we state the termination rule. At iteration h = 0, set A~ :. . . . := A~ := 0 h := 0, and determine a 1-SST T h of cost z_h using ci} := cij. At iteration h >~ 1, modifying the multiplers as follows: A~::=A~' l + 0 . 6 f l ' - 1 ( d [ - 1 - 2 ) + 0 . 4 t h - l ( d i

h-2-2)

where t h is a step size to be defined later, d f is the degree of

vi in

(i= 1,...,n),

T h, and

0 h := 0 h-1 + 0.6th-1(6 h - I - 1 ) + 0 . 4 t h - l ( 6 h - 2 -

di-1 = dO;

1),

where ~5h is the n u m b e r of edges between L and B in T h, and 8 1 = 80;

t, {ci/+A)+A~ +0~ (vieL, v j e B ° r v j e L , vieB) cij := ci/+ A/h + A~ otherwise The step size is defined as t h = cth(z--z_h)/

(di h - 2 )

2-1- ((5 h -

1) 2 ,

(8)

where ~ is an u p p e r b o u n d on the optimal TSPB value z*, and o~h is defined as in Smith and T h o m p s o n [16]. Initially, set c~° := 2 and r := n; after every r iterations, reset r := max(r/2, [n/81) and c~h := h 1/2 ' The process ends as soon as one of the following criteria is met: (1) t h < 0.01; (2) the 1-SST is a tour; (3) r = In~8] and no i m p r o v e m e n t in _z_h has occured for n/2 iterations; (4) -~ - z h ~<0.999 (if integer ci/s are used). The final lower b o u n d z on z* is the largest value o f z h found through this process. 5. C O M P U T A T I O N A L

RESULTS

The six heuristics described in Section 3 were first run on test p r o b l e m s generated as follows. F o r n = 100, 200 and 300, thirty complete graphs were defined by first generating n points Pi in [0, 100] 2 according to a continuous u n i f o r m distribution, and by then setting cij equal to the value of the Euclidean distance between Pi and pj r o u n d e d up or d o w n after 3 decimals. F o r c o m p u t a t i o n a l purposes, these rounded costs were then multiplied by 1000 to m a k e them integer. F o r each graph, 5 different p r o b l e m s were obtained by r a n d o m l y selecting ]B] b a c k h a u l vertices, for ]BI/n = 0.1, 0.2, 0.3, 0.4 and 0.5. Each individual p r o b l e m was then solved with H1 to H6, using p = 3, 4 and 5 in G E N I and US, where applicable.

Michel Gendreau et al.

506

For the computation of the spanning trees in the lower bounding procedure, we used the O(IE] log IEI) Kruskal S ST algorithm [17]. As recommended by Balas and Toth [18], this algorithm should be chosen when solving a sequence of problems with a dual ascent process as only minor re-sorting o f the edges will be required at each execution. All programs were coded in Pascal and solved on a Mistral computer, with eight IP7 33 M H z processors. The code used for the Kruskal algorithm is the "Pascal Procedure Kruskal" provided in Syslo et al. [19]. The value of g used in (8) was set equal to the minimum of the solution values provided by H1, H2 and H3. The results are summarized in Table 2. The column headings are as follows: n = number of vertices; ]B ]/n = proportion of backhaul vertices; p = neighborhood size in GENI and US (this parameter does not apply to H6 which uses neither G E N I or US); 2/_z, Seconds = for each of the six heuristics, rounded ratio f / z , (where z is the heuristic solution value and _z_is the lower bound obtained through the procedure described in the previous section), and solution time in seconds, averaged over 30 instances. Our results indicate that in terms of solution quality, H1 is the best algorithm, followed by H4, H2, H3, H5 and H6. In all cases, H1 with p = 5 always produces solution values that are on the average approx. 3 or 4% larger than the lower bound. It is interesting to note that the best algorithm is entirely based on G E N I U S and the worst uses neither G E N I nor US. Even if the cheapest

Table 2. Summary of computational results for n = 100, 200, 300 H1 n 100

2~/;

Seconds

5./~

H4 Seconds

5./~

H5 Seconds

z/z

H6 Seconds

p

5/;

0.1

3 4 5 3 4 5 3 4 5 3 4 5 3 4 5

1.05 1.05 1.04 1.05 1.04 1.04 1.05 1.04 1.04 1.05 1.04 1.04 1.04 1.03 1.03

5.2 5.9 7.0 5.0 5.5 6.7 4.7 5.3 6.6 4.7 5.3 6.4 4.8 5.2 6.3

1.07 1.07 1.06 1.06 1.06 1,05 1.06 1.06 1.05 1.05 t.05 1.05 1.05 1.04 1.04

3.9 4.3 5.2 3.8 4.2 4.9 3.8 4.2 4.8 3.7 4.2 4.9 3.7 4.0 4.9

1.08 1.08 1.07 1,06 1.06 1.06 1,07 1.06 1.06 1.06 1.06 1.05 1.05 1.05 1.05

1,8 2.3 3.2 1.7 2.1 2.8 1.5 1.9 2.7 1.4 1.9 2.6 1.4 1.8 2.8

1.06 1.05 1.05 1.05 1.05 1.04 1,05 1.05 1,05 1.05 1.04 1.04 1.05 1,04 1.04

1.8 2.2 3.1 1.8 2.2 3.1 1.8 2.4 3.4 1.7 2.2 3.5 1.5 2.0 2,9

1.08 1.07 1.07 1.06 1,06 1.06 1.07 1.07 1,07 1.06 1.06 1,06 1.06 1.05 1.05

4.1 4.3 4.6 4.2 4.3 4.5 4.4 4.3 4.8 4.3 4.6 4.8 4.4 4.5 4.9

3 4 5 3 4 5 3 4 5 3 4 5 3 4 5

1.05 1.04 1.04 1.05 1.04 1.04 1.04 1.04 1.04 1.05 1.04 1.04 1.05 1.04 1.04

13,0 14.6 17,2 13.1 14.2 17.3 13.7 14.9 17.8 13,9 14.8 18.0 14.0 15.0 18,2

1.06 1.06 1.05 1.05 1.05 1.05 1,05 1.05 1.05 1.05 1.05 1.05 1.05 1.05 1.04

12,2 13.1 15,0 11,2 12.0 14.3 10.3 11.5 13.7 10.2 10.9 13.3 9.4 10.6 12.7

1.07 1.06 1.06 1.06 1.06 1,05 1.06 1.05 1.05 1.06 1.05 1.05 1.05 1.05 1.05

7.9 9.2 11.1 7,0 7.8 10.8 6.0 7.3 9.2 5.6 6.9 8.7 5.5 6.7 8.7

1.06 1.05 1.05 1.05 1.04 1.04 1.05 1.05 1.04 1.05 1.05 1.05 1.05 1.04 1.04

7.4 8.9 11.9 7.3 8.8 10.8 7.9 9.7 12,0 6.9 8.1 10,7 6.7 8.1 10.6

1.07 1.07 1.06 1.07 1.07 1.06 1.07 1.06 1.06 1.06 1.06 1.06 1.07 1.07 1.06

10.2 10.1 10,8 10.0 10.5 11.1 9.9 10,0 10.7 10.2 10.1 10.9 10.7 11.1 11.7

3 4 5 3 4 5 3 4 5 3 4 5 3 4 5

1,05 1.05 1,04 1.05 1.04 1,04 1.05 1,04 1.04 1.05 1,05 1.04 1.05 1.04 1.04

24.7 26.2 32.6 25.8 28.2 33.0 26.1 28.2 32.3 28.0 28.7 33.6 29.8 32.5 35,5

1.06 1.06 1,05 1.05 1.05 1.05 1.05 1.05 1.04 1.05 1.05 1.05 1.05 1.05 1.04

26.2 25.4 30.0 24.5 26.7 28.6 22,2 24.1 27.4 20.5 21.2 25.6 21.1 22.6 26.4

1,06 1.06 1.06 1.06 1.05 1.05 1.06 1.05 1.05 1.06 1.05 1.05 1,06

18.8 19.4 22.7 16.8 17,7 22.0 13.7 16.0 18.9 12.6 14.2 17.1 12.8 14.3 17.1

1.06 1.05 1.05 1.05 1.05 1.04 1.05 1.05 1.04 1,05 1.05 1.04 1.05 1,05 1.04

18.6 18.9 22.0 16.5 18.7 21.2 16.4 17.5 21.2 16.2 18.4 21.9 15.7 18.1 21.5

1.07 1.07 1.06 1.07 1.07 1.06 1.06 1.06 1.06 1.07 1.06 1.06 1.07 1.06 1.06

25.1 26.4 25.3 26.0 24.0 26,1 24.0 22.8 24.6 24,5 24.5 25.6 25.2 25,2 25.9

0.3

0.4

0.5

0.1

0.2

0.3

0.4

0.5

300

Seconds

H3

IBl/n

0.2

200

H2

0.1

0.2

0.3

0.4

0.5

1,05 1.05

5-/;

Seconds

1,08

1.0

i.08

0.9

1.08

0.9

1,08

0.8

1.08

0.8

1.08

6.2

1.08

5.9

1.08

5,3

1.08

5.0

1.08

4.1

1.08

20.7

1.08

18.4

1.08

18.6

1,08

I6.2

1.08

16.9

Traveling salesman problem with backhauls

507

Table 3. Summary of computational results for n = 500, 1000 H1

n

H2

H3

H4

H5

H6

[B[/n p ONective Seconds ONective Seconds ONective Seconds ONective Seconds ONective Seconds ONective Seconds

500

0.1 0.2 0.3 04 0.5

1000 0.1 0.2 0.3 0.4 0.5

3 4 5 3 4 5 3 4 5 3 4 5 3 4 5

2203.50 2194.52 2185.34 2336.98 2322.33 2319.18 2408.53 2401.51 2393.79 2436.14 2423,50 2419,29 2449.55 2437,78 2429,02

156.0 149.9 157.8 165.0 165.6 172.3 158.2 151.9 161.0 202.1 199.0 207.0 174.3 173.0 177.6

2214.31 2205.44 2199.29 2344.56 2328.64 2321.04 2415.77 2407.93 2401.08 2441.96 2434.33 2426.05 2460.63 2448.17 2440.43

152.7 152.2 163.9 115.0 119.4 128.1 109.8 104.7 110.7 120.1 119.5 127.4 94.6 94.6 100.7

2224.11 2209.14 2205.80 2350.60 2337.24 2330.40 2425.25 2415.82 2410.07 2446.98 2439.29 2429.52 2467.20 2452.71 2445.86

69.4 76.0 81.9 62.2 59.7 68.9 54.3 52.7 59.9 47.5 50.1 54.6 47.8 48.2 54.1

2217.47 2204.20 2197.43 2342.92 2325.83 2319.34 2424.39 2412.16 2403.39 2447.69 2432.91 2423.37 2461.33 2443.27 2435.32

59.5 64.3 73.1 47.0 52.8 59.5 45.7 50.1 55.6 48.4 51.6 56.2 47.8 49.6 55.7

2242.18 2231.05 2224.24 2375.53 2362.73 2362.62 2449.28 2439.27 2436.74 2484.20 2468.22 2457.31 2493.10 2477.62 2470.28

106.6 97.8 95.5 110.5 105.8 104.9 106.3 100.5 100.4 106.6 102.4 99.2 122.8 116.6 116.1

3 4 5 3 4 5 3 4 5 3 4 5 3 4 5

3088,52 3073,81 3065,16 3257,52 3246.43 3229~24 3359~98 3343.56 3331,86 3430,91 3402.51 3387.35 3430.17 3409,42 3402.88

586.8 561.0 592.8 712.0 676.9 702.8 704.3 666.0 696.1 905.0 870.0 947.4 863.1 849.6 853.6

3097.84 3083.41 3071.82 3264.15 3254.41 3241.76 3368.41 3351.87 3339.47 3432.6l 3410.09 3401.34 3443.94 3422.67 3410.28

626.5 576.0 596.5 537.1 539.7 553.2 537.6 515.8 521.8 471.6 482.6 480.6 476.9 484.0 483.9

3107.65 3086.95 3079.62 3277.09 3263.19 3251.88 3372.52 3350.92 3343.42 3428.58 3412.62 3403.86 3450.33 3424.47 3417.59

316.2 310.3 316.6 249.7 240.3 254.2 215.9 203.1 212.7 203.0 196.6 204.9 198.6 186.3 198.4

3180.14 3180.14 3180.14 3366.88 3366.88 3366.88 3463.86 3463.86 3463.86 3525.92 3525.92 3525.92 3543.25 3543.25 3543.25

952.7 946.2 948.8 838.6 848.7 852.9 943.6 936.4 933.6 952.5 947.5 940.4 831.4 832.2 838.0

3141.20 1039.3 3127.87 9 1 9 . 6 3116.84 906.4 3313.87 897.0 3295.25 8 0 9 . 3 3286.37 754.7 3418.76 948.4 3395.82 8 4 9 . 6 3383.32 802.1 3484.30 994.~ 3455.59 9 1 8 . 1 3444.42 887.9 3484.36 955.1 3467.46 9 1 2 . 1 3461.88 867.6

2270.59

91.9

2402.59

88.1

2490.05

74.5

2512.45

72.3

2527.63

69.8

3180.14

946.2

3366.88

848.7

3463.86

936.4

3525.92

947.5

3543.25

832.2

insertion scheme is not as good as G E N I , when combined with US (H4) it produces solutions just as good as H1 and requires less time. On the other hand, comparing H4 and H6 or H1 and H5 shows that US is a better proposition than Or-opt. The relative superiority of H1 diminishes as n becomes larger. F o r example, when n = 300, H2, H3 and H4 are about just as good as H1, but quicker. This is explained in part by the fact that both H2 and H3 use a decomposition technique whose effects start being felt for large n. I f solution quality is the prime consideration and computational effort comes next, H1 appears to be the best choice for n = 100 or 200 and H4 should be preferred for n = 300. In order to test whether these observations carry to larger sizes, we have solved additional series of problems with n = 500 and n = 1000. As the lower bound becomes exceedingly long to compute for these sizes, we only report the average computation times to run the heuristics, and the objective value. These results are presented in Table 3. They indicate that the relative ranking of the algorithms remain the same for these large values of n. Acknowledgements--This work was partially supported by the C a na di a n N a t ura l Sciences and Engineering Research Council under grants OGP0038816 and OGP0039682. This support is gratefully acknowledged. Thanks are due to H61+ne Mercure for her help with programming, and to the referees for their valuable comments.

REFERENCES 1. J. A. Chisman, The clustered traveling salesman problem. Computers Opns Res. 2, 115-119 (1975). 2. F. C. J. Lokin, Procedures for travelling salesman problems with additional constraints. Eur. J. Opl Res. 3, 135-141 (1978). 3. K. Jongens and T. Volgenant, The symmetric clustered traveling salesman problem. Eur. J. Opl Res. 19, 68-75 (1985). 4. B. Kalantari, A. V. Hill and S. R. Arora, An algorithm for the traveling salesman problem with pickup and delivery customers. Eur. J. Opl Res. 22, 377-386 (1985). 5. I, Deif and L. D. Bodin, Extension of the Clarke and Wright algorithm for solving the vehicle routing with backhauling. Proceedings of the Babson Conference on Software Uses in Transportation and Logistics Management (Edited by A. E. Kidder), Babson Park, Mass., pp. 75-96 (1984). 6. B. L. Golden, E, Baker, J. Alfaro and J, Schaffer, The vehicle routing problem with backhauling: two approaches. Proceedings of the Twenty-First Annual Meeting of the S.E. T I M S (Edited by R. D. Hammesfahr), Myrtle Beach, S.C., pp. 90-92 (1985).

508

Michel G e n d r e a u e t a l .

7. D. O. Casco, B. L. Golden and E. A. Wasil, Vehicle routing with Backhauls. In Vehicle RouthTg: Methods and Studies (Edited by B. L. Golden and A. A. Assad), pp. I27-147. North-Holland, Amsterdam (1988). 8. M. Goetschalckx and C. Jacobs-Blecha, The vehicle routing problem with backhauls. Eur. J. Opl Res. 42, 39 51 (1989). 9. S. G61inas, M. Desrochers, J. Desrosiers and M. M. Solomon, Vehicle routing with backhauling. Cahiers du GERAD #G-92-13, l~cole des Hautes l~tudes Commericales de Montr6al (1992). 10. J . D . C . Little, K. G. Murty, D. W. Sweeney and C. Karel, An algorithm for the traveling salesman problem. Opns Res. 11,972-989 (1963). 11. G. Clarke and J. W. Wright, Scheduling of vehicles from a central depot to a number of delivery points. Opns Res. 12, 568 581 (1964). 12. M. Gendreau, A. Hertz and G. Laporte, New insertion and postoptimization procedures for the traveling salesman problem. Opns Res. 40, 1086-1094 (1992). 13. D.J. Rosenkrantz, R. E. Stearns and P. M. Lewis I], An analysis of several heuristics for the traveling salesman problem. S I A M J . Comput. 6, 563-581 (1977). 14. I. Or, Traveling salesman-type combinatorial problems and their relation to the logistics of regional blood banking. Ph.D. dissertation, Northwestern University, Evanston, Ill. 15. B. L. Golden and W. R. Stewart Jr, Empirical analysis of heuristics. In The Traveling Salesman Problem." A Guided Tour o f Combinatorial Optimization (Edited by E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan and D. B. Shmoys), pp. 207-249. Wiley, Chichester (1985). 16. T . H . C . Smith and G. L. Thompson, A lifo implicit enumeration search algorithm for the symmetric traveling salesman problem using Held and Karp's 1-tree relaxation. In Annals of Discrete Mathematics 1, Studies in Integer Programming (Edited by P. L, Hammer, E. L. Johnson, B. H. Korte and G. L. Nemhauser), pp. 479-493. North-Holland, Amsterdam (1977). 17. J. B. Kruskal Jr, On the shortest spanning tree of a graph and the traveling salesman problem. Proc. Am. Math. Soc. 7, 48-50 (1956). 18. E. Balas and P. Toth, Branch and bound methods. In The Traveling Salesman Problem." A Guided Tour of Combinatorial Optimization (Edited by E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan and D. B. Shmoys), pp. 361-401. Wiley, Chichester (1985). 19. M. M. Syslo, N. Deo and J. S. Kowalik, Discrete Optimization Algorithms with Pascal Programs. Prentice-Hall, Englewood Cliffs, N.J. (1983).