A Variable Neighborhood Descent Algorithm for the ... - unimi, Crema

10 downloads 0 Views 133KB Size Report
neighborhood descent algorithm for the solution of the undirected CARP. Introduction .... is traversed but not serviced, then the first arcs on P up to x w induce a ...
A Variable Neighborhood Descent Algorithm for the Undirected Capacitated Arc Routing Problem Alain Hertz • Michel Mittaz

Département de Mathématiques, École Polytechnique Fédérale de Lausanne, CH-1015 Lausanne, Switzerland

T

he undirected capacitated are routing problem (CARP) arises naturally in several applications where streets require maintenance, or customers located along road must be serviced. Basic algorithmic procedures have recently been developed for the design of heuristics in an arc routing context. This article reports on the use of these basic tools in a variable neighborhood descent algorithm for the solution of the undirected CARP.

Introduction

Arc routing problems (ARPS) arise naturally in contexts where streets require maintenance, or customers located along road must be served (Assad and Golden 1995, Dror 2000). ARPS are defined on a graph G = V  E ∪ A, where V is the vertex set, E is the edge set, and A is the arc set. The traversal cost (also called length) of an edge or arc in E ∪A is assumed to be nonnegative. G is called undirected if A is empty. A tour T , or cycle in G is represented by a vector of the form v1  v2   vn  where vi  vi+1  belongs to E ∪ A for i = 1  n − 1 and vn = v1 . A subset R ⊆ E ∪ A of edges and arcs are said to be required, i.e., they must be serviced or covered by a vehicle. A covering tour for R is a tour that traverses all edges and arcs of R at least once. In the Chinese Postman Problem, one seeks a minimum cost covering tour for E ∪ A. When R is a proper subset of E ∪ A, the problem of finding a minimum cost covering tour for R becomes a Rural Postman Problem. Extensions of these classical problems are obtained by imposing capacity constraints. In the Capacitated Arc Routing Problem (CARP), each required edge or arc in R has a nonnegative demand, and all arcs and edges in R must be covered by a fleet of identical vehicles of capacity Q based at a depot. 0041-1655/01/3504/0425$05.00 1526-5447 electronic ISSN

Most ARPS are NP-hard (Lenstra and Rinnooy Kan 1976) and of large scale. They can therefore rarely be tackled by means of exact solution methods. This certainly explains why numerous heuristic algorithms have been proposed for the solution of ARPS (Hertz and Mittaz 2000). In recent years, several metaheuristics have proved highly efficient for the solution of difficult combinatorial optimization problems. In particular, local search techniques (e.g., simulated annealing (Kirkpatrick et al. 1983) and tabu search (Glover 1989)) appear to be quite successful when applied to a broad range of practical problems. More recently, Mladenovi´c and Hansen (1997) have proposed a new optimization technique called Variable Neighborhood Search (VNS). The basic idea of VNS is to define several neighborhoods to explore the solution space, thus reducing the risk of becoming trapped in a local optimum. The purpose of this article is to describe an adaptation of a variant of VNS, called Variable Neighborhood Descent (VND), to the undirected CARP. The remainder of this paper is organized as follows. In the next section, we describe some basic algorithmic procedures for the design of heuristic solution methods in an arc routing context. Section 2 is devoted to the description of the proposed VND for the undirected CARP. Computational experiments are reported in §3. Transportation Science © 2001 INFORMS Vol. 35, No. 4, November 2001 pp. 425–434

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

1.

Basic Algorithmic Procedures for ARPS

Two recent articles (Hertz et al. 1999, Hertz et al. 2000) contain a description of some basic algorithmic procedures for the design of heuristic methods in an arc routing context. The first article shows how these procedures can be combined into constructive and post-optimization heuristics for the undirected Rural Postman Problem. The second article contains an adaptation of tabu search to the undirected CARP that integrates all these basic procedures. All these procedures are briefly described and illustrated in this section. In what follows, SCvw denotes the shortest chain linking vertex v to vertex w while Lvw is the length of this chain. The first procedure, called SHORTEN, is based on the simple observation that if a tour T contains a chain P of traversed (but not serviced) edges, then T can eventually be shortened by replacing P by a shortest chain linking the endpoints of P. Procedure SHORTEN INPUT: A covering tour T for a set R of required edges. OUTPUT: A possibly shorter covering tour T  for R. Step 1. Choose an orientation for T and let v be any vertex on T . Whenever a required edge appears several times on T , transfer the service on this edge as late as possible, considering v as starting vertex on T . Step 2. Determine a vertex w on T such that the path linking v to w on T is as long as possible, while the path linking w to v contains at least one copy of each edge in R. Let P denote the path on T from v to w and P  the path from w to v. Step 3. If P  contains an edge x w entering w that is traversed but not serviced, then the first arcs on P  up to x w induce a circuit C. Reverse the orientation of C and go to Step 2. Step 4. If Lvw is shorter than the length of P, then replace P by SCvw . Step 5. Repeatedly apply Steps 2 to 4, considering the two possible orientations of T , and each possible starting vertex v on T , until no improvement can be obtained. As an illustration, consider the graph depicted in Figure 1(a) containing 4 required edges shown in bold 426

lines. A tour T is represented in Figure 1(b) with v = c as starting vertex. Note that since the required edge (c, d) appears twice on T , it is first traversed and then serviced. Step 2 determines the paths P = c d e and P  = e f  b a e g d c. Since P  contains a nonserviced edge a e entering e, the orientation of the circuit e f  b a e is reversed, yielding the new tour represented in Figure 1(c). This new tour is divided into two paths P = c d e a and P  = a b f  e g d c. Finally, P is shortened into c a, yielding the tour depicted in Figure 1(d). The next procedure modifies the order in which required edges are serviced on a given tour. It is illustrated in Figure 2. Procedure SWITCH INPUT: A covering tour T for a set R of required edges. OUTPUT: Another covering tour T  for R. Step 1. Select a vertex v appearing several times on T . Step 2. Reverse all minimal cycles starting and ending at v on T . Given a covering tour T for a set R of required edges, and given a nonrequired edge v w, procedure ADD builds a new tour covering R ∪ v w. On the opposite, given a required edge v w in R, procedure DROP builds a new tour covering R\v w.

Figure 1

Illustration of Procedure SHORTEN

Transportation Science/Vol. 35, No. 4, November 2001

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

Figure 2

Illustration of Procedure SWITCH

Procedure ADD INPUT: A covering tour T for a set R of required edges, and an edge v w ∈ R. OUTPUT: A covering tour R ∪ v w. Step 1. If neither v nor w appears on T , then determine a vertex z on T minimizing Lzv + Lwz , and add the circuit SCzv ∪ v w ∪ SCwz on T . Otherwise, if one of v and w (say v), or both of them appear on T , but not consecutively, then add the circuit v w v on T . Step 2. Set R = R ∪ v w and attempt to shorten T by means of SHORTEN. Procedure DROP INPUT: A covering tour T for a set R of required edges, and an edge v w in R. OUTPUT: A covering tour R\v w. Step 1. Set R = R\v w. Step 2. Attempt to shorten T by means of SHORTEN. The last procedure decomposes a nonfeasible route into a set of feasible routes (i.e., the total demand on each route does not exceed the capacity Q of each vehicle). Procedure CUT INPUT: A route T starting and ending at the depot, and covering a set R of required edges. OUTPUT: A set of feasible vehicle routes covering R. Step 1. Let D denote the total demand on T . If D ≤ Q then STOP: T is a feasible vehicle route. Step 2. Starting at the depot, determine the set W of vertices v on T such that the total demand from the depot to v does not exceed Q, and the total demand on the path from v back to the depot does not exceed Transportation Science/Vol. 35, No. 4, November 2001

Q D/Q − 1. For each such vertex v in W , let v˜ denote the first endpoint of a required edge after v on T , and let !v v˜ denote the length of the chain linking v to v˜ on T . Select the vertex v in W minimizing Lv = Lv depot + Ldepot v˜ − !v v˜ . Let Pv and Pv˜ denote the paths on T from the depot to v and to v˜ respectively. Step 3. Construct the feasible vehicle route made of Pv ∪ SCv depot . Replace Pv˜ by SCdepot v˜ on T and return to Step 1. Procedure CUT is illustrated in Figure 3. The numbers in square boxes are demands (on required edges only). The remaining numbers on the dashed lines or on the edges are shortest chain lengths. In this example, Q = 11 and D = 24. The procedure first computes Q D/Q − 1 = 22; the first vehicle route must therefore include at least one required edge, and can include up to three required edges without having a weight exceeding Q. Four vertices are therefore included in W  b c d, and e with the associated vertices b˜ = c c˜ = c d˜ = d, and e˜ = f . Since Lb = 5 + 6 − 1 = 10 Lc = 6 + 6 − 0 = 12 Ld = 4 + 4 − 0 = 8, and Le = 6 + 6 − 1 = 11, vertex d is selected. The first route includes the chain depot a b c d followed by

Figure 3

Illustration of Procedure CUT

427

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

a shortest chain from d to the depot. The procedure is then reapplied on the tour, starting with a shortest chain from the depot to d, followed by the chain d e f  g h i depot.

2.

A Variable Neighborhood Descent for the CARP

Local search techniques are iterative procedures that aim to find a solution s minimizing an objective function f over a set S of feasible solutions. The iterative process starts from an initial solution in S, and given any solution s, the next solution is chosen in the neighborhood N s ⊆ S. Typically, a neighbor s  in N s is obtained from s by performing a local change on it. Several stopping rules are defined. The simplest local search technique is the descent method, which can be described as follows. Descent Method Step 1. Choose an initial solution s in S. Step 2. Determine a solution s  in N s such that f s   ≤ f s   for all s  in N s. Step 3. If f s   < f s then set s = s  and go to Step 2; else Stop. Such a method clearly stops at the first encountered local optimum. Simulated annealing and tabu search are local search techniques that attempt to escape from local optima by accepting in Step 3 solutions s  that do not improve on s (i.e., s is set equal to s  even if f s ≤ f s  ). Recently, Mladenovi´c and Hansen (1997) have designed a new local search technique called Variable neighborhood search (VNS). The basic idea of VNS is to consider several neighborhoods for exploring the solution space, thus reducing the risk of becoming trapped in a local optimum. Several variants of VNS are described in Hansen and Mladenovi´c (1998). We describe here the simplest one which performs several descents with different neighborhoods until a local optimum for all considered neighborhoods is reached. This particular variant of VNS is called Variable neighborhood descent (VND). Let N1  N2   NK denote a set of K neighborhood structures (i.e., Ni s contains the solution that can be obtained by performing a local change on s according to the ith type). VND works as follows.

428

Variable Neighborhood Descent Step 1. Choose an initial solution s in S. Step 2. Set i = 1 and sbest = s. Step 3. Perform a descent form s, using neighborhood Ni . Let s  be the resulting solution. If f s   < f s then set s = s  . Set i = i +1. If i ≤ K then repeat Step 3. Step 4. If f s < f sbest  then go to Step 2; else stop. We have designed the following adaptation of VND for the undirected CARP. The search space S contains all solutions made of a set of vehicle routes covering all required edges and satisfying the vehicle capacity constraints. The objective function to be minimized on S is the total travel cost. The first neighborhood N1 s contains solutions obtained from s by moving a required edge v w from its current route T1 to another one T2 . Route T2 either contains only the depot (i.e., a new route is created), or a required edge with an endpoint distant from v or w by at most *, where * is the average length of an edge in the network. The addition of v w into T2 is performed only if there is sufficient residual capacity on T2 to integrate v w. The insertion of v w into T2 and the removal of v w from T1 are performed, using procedures ADD and DROP, described in the previous section. A neighbor in Ni s i > 1 is obtained by modifying i routes in s as follows. First, a set of i routes in s is merged into a single tour, and procedure SWITCH is applied on it to modify the order in which the required edges are visited. Then, procedure CUT divides this tour into feasible routes that are possibly shortened by means of SHORTEN. As an illustration, consider the solution depicted in Figure 4(a) with three routes T1 = depot a b c d depot T2 = depot b e f  b depot, and T3 = depot g h depot. The capacity Q of the vehicles is equal to 2, and each required edge has a unit demand. Routes T1 and T2 are first merged into a tour T = depot a b c d depot b e f  b depot shown in Figure 4(b). Then, SWITCH modifies T into T  = depot d c b f  e b a depot b depot represented in Figure 4(c). Procedure CUT divides T  into two feasible routes T1 = depot d c b f  e b depot and T2 = depot b a depot b depot depicted in Figure 4(d). Finally, these two routes are shortened into T1 = depot d c f  e b depot and T2 = depot b a depot Transportation Science/Vol. 35, No. 4, November 2001

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

Figure 4

Illustration of Neighborhood N 2

using SHORTEN. Routes T1 and T2 together with the third nonmodified route T3 in s constitute a neighbor of s in N2 s shown in Figure 4(e). There are several ways to select i routes from s, and also several ways to choose vertex v in order to reverse cycles in SWITCH. It may therefore be too time consuming to determine the best neighbor in Ni s. For this reason, the descent method determines the best neighbor among a limited number Mi of randomly generated neighbors, where Mi i = 2  K are parameters of the method. Since D/Q is a lower bound on the number of vehicles needed to cover the required edges, we have fixed K = D/Q (i.e., we do not consider neighborhoods that modify more than D/Q routes). After some preliminary testing we have set M2 = · · · = MK = 2500. A small value of i will tend to yield a neighbor solution s  ∈ Ni s close to s, while a large value of i will produce a widely different solution. The order in which the neighborhoods are considered in the VND algorithm can influence the quality of the solution produced. Three strategies have been tested: (1) from Transportation Science/Vol. 35, No. 4, November 2001

K to 1; (2) from 1 to K; (3) in a random order. The first strategy turned out to be the best. To generate an initial solution, we first relax the capacity constraints and determine a solution to the associated Rural Postman Problem by means of Frederickson’s algorithm (Frederickson 1979). This solution is then shortened by means of SHORTEN and is finally divided into feasible routes by means of CUT. The proposed algorithm, called VND-CARP is summarized below. Algorithm VND-CARP Step 1. Generate a tour covering all required edges by means of Frederickson’s algorithm, and apply SHORTEN on it. Apply CUT on the resulting tour to obtain an initial feasible solution s. Step 2. Set i = D/Q and sbest = s. Step 3. 3.1. Set c = 1 (counter for the number of neighbors). Set fbest = f s (best value of a neighbor). 3.2. Select i routes in s and merge them into a single tour. Apply SWITCH and then CUT on this tour. Apply SHORTEN on each new route. Let s  be the resulting solution. 429

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

3.3. If f s   < fbest then set best_s = s  and fbest = f s  . Set c = c + 1. If c ≤ Mi then go to Step 3.2. Step 4. If fbest < f s then set s = best_s and go to Step 3. Set i = i − 1. If i ≥ 1 then go to Step 3. Step 5. If f s < f sbest  then go to Step 2; else stop. We have also implemented a simpler version of the algorithm in which Step 5 is omitted. This means that a descent is applied exactly once with each neighborhood. This simplified version will be called VND2-CARP.

3.

Computational Results

In this section, VND-CARP and VND2-CARP are compared to two tabu search algorithms, as well as to the following well-known heuristics: CONSTRUCTSTRIKE (Christofides 1973), PATH-SCANNING (Golden et al. 1983), AUGMENT-MERGE (Golden and Wong 1981), MODIFIED-CONSTRUCT-STRIKE (Pearn 1989), and MODIFIED-PATH-SCANNING (Pearn 1989). The first tabu search algorithm, called CARPET, was developed by Hertz et al. (2000) for the undirected CARP. Tests on benchmark problems have shown that CARPET is a highly efficient heuristic and outperforms all known heuristics often producing a proven optimum. CARPET works with two objective functions: f s, the total travel cost, and a penalized objective function f  s = f s + *Es, where * is a positive parameter and Es is the total excess weight of all routes in a possibly infeasible solution s. CARPET performs a search over neighbor solutions, by moving at each iterations from the current solution to its best nontabu neighbor, even if this causes a deterioration in the objective function. A neighbor solution is obtained by moving a required edge from its current route to another one, using procedures DROP and ADD. This neighborhood is equivalent to N1 used in VND-CARP, except that CARPET allows the move of an edge from a route T1 into a new route T2 even if such a move induces an excess weight on T2 . For more details about CARPET, the reader is referred to (Hertz et al. 2000). Belenguer et al. (1997) have proposed a different adaptation of tabu search to the undirected CARP. While the results produced by their algorithm are not yet published, we mention those reported in a preliminary manuscript. 430

We have considered three sets of test problems. The first set contains 23 problems described in DeArmon (1981). There were initially 25 such problems, but instances 8 and 9 were removed because they contained inconsistencies. The size of these problems range from 7 to 27 vertices and from 11 to 55 edges, all of which are required. All edges of the graph require a service (i.e., R = E). The second set contains 34 instances supplied by Benavent (1997). These instances range in size from 24 to 50 vertices and from 34 to 97 edges, all of which are required. The third set of instances was generated by Hertz et al. (2000) in order to evaluate the performance of CARPET. It contains 270 larger instances obtained as follows. First, a set of 20, 40, or 60 vertices was generated randomly in the square -0 10.2 . The depot was selected as the median of these vertices. A first set of edges was then generated by constructing a random Hamiltonian cycle on these vertices. Additional edges were then randomly generated until a prescribed density / was attained, where / was randomly selected in [0.1, 0.3], [0.4, 0.6], and [0.7, 0.9]. Required edges were finally randomly selected with probability 0 in [0.1, 0.3], [0.4, 0.6], and [0.8, 1.0]. For the 27 combinations of these parameters, 10 instances were generated, giving a total of 270 instances in which the number of required edges varies from 3 to 1,562. For each instance we have computed a lower bound f on the optimal value. This lower bound was set equal to the maximum of the three lower bounds CPA, LB2’, and NDLB’ described in the literature. The first, CPA, was proposed by Belenguer and Benavent (1997) and is based on a cutting plane procedure. The second and third, LB2’ and NDLB’, are modified versions of LB2 (Benavent et al. 1992) and NDLB (Hirabayashi et al. 1992), respectively. In LB2’ and NDLB’, a lower bound on the number of vehicles required to serve a subset R of edges is computed by means of the lower bounding procedure LR proposed by Martello and Toth (1990) for the bin packing problem, instead of D/Q (where D is the total demand on R). For each instance of the first two sets, we have run CARPET and the two variants of VND with a variety of parameters. The best value produced by these Transportation Science/Vol. 35, No. 4, November 2001

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

Table 1

Average Results on DeArmon (1981) and Benavent (1997) Instances

Average deviation Worst deviation Seconds Number of optima Number of best

VND-CARP

VND2-CARP

037 289 2147 34 40

041 289 1467 34 39

variants or by any other known method was stored as the best known solution value. We have first compared VND-CARP with VND2CARP on the 57 instances of DeArmon (1981) and Benavent (1997). Average results are reported in Table 1 with the following information: Table 2

Average deviation: average ratio (in %) of the heuristic solution value over the best known solution value; Worst deviation: largest ratio (in %) of the heuristic solution value over the best known solution value; Seconds: computational time in seconds on a Silicon Graphics Indigo2 (195MHz, IP 28 Processor); Number of optima: number of optimal solutions produced by the heuristic (i.e., number of times the heuristic has produced a solution value equal to the lower bound); Number of best: number of best known solutions produced by the heuristic. It can be observed that VND-CARP and VND2CARP produce similar results with respect to solution quality, while VND2-CARP reduces the computational time by more than 30%. In fact, the two

Computational Results on DeArmon (1981) Instances CARPET

No

f

Best

1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

316 339 275 287 377 298 325 344 303 275 395 448 536 100 58 127 91 164 55 121 156 200 233

316 339 275 287 377 298 325 348 309 275 395 458 536 100 58 127 91 164 55 121 156 200 233

PS 316 367 316 320 417 316 357 416 355 302 424 560 592 102 58 131 93 168 57 125 168 207 241

Average deviation 726 Worst deviation 2227 Number of optima 2 Number of best 2 Average computational time

AM 326 367 313 290 383 324 325 356 339 302 443 573 560 102 58 131 91 170 63 123 158 204 237 571 2511 3 3

CS 331 418 275 350 475 356 355 407 364 364 501 655 560 112 58 149 91 174 63 125 165 204 237 1403 4301 2 2

MCS 323 345 283 287 386 315 325 366 346 275 406 645 544 102 58 127 91 164 63 123 156 200 233 402 4083 11 11

Transportation Science/Vol. 35, No. 4, November 2001

MPS 316 355 275 292 401 319 325 380 357 281 424 566 551 100 58 131 91 167 55 123 163 202 244 445 2358 5 5

BEL 316 339 289 287 377 298 325 358 319 275 395 458 544 100 58 127 93 164 55 121 156 200 235 037 324 18 19

Value 316 339 275 287 377 298 325 348 317 275 395 458 544 100 58 127 91 164 55 121 156 200 235

VND

Seconds 016 272 016 016 160 064 000 2992 5264 016 032 896 1856 016 000 144 000 000 016 480 224 752 2464

017 259 18 20

Value 316 339 275 287 377 298 325 350 315 275 395 458 544 100 58 127 91 164 55 121 156 200 235

Seconds 004 020 000 020 218 024 004 5240 8616 000 004 1604 1084 004 004 156 004 004 008 120 140 776 2812

017 194 18 19 682

548

431

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

Table 3

Computational Results on Benavent (1997) Instances CARPET

No 1.A 1.B 1.C 2.A 2.B 2.C 3.A 3.B 3.C 4.A 4.B 4.C 4.D 5.A 5.B 5.C 5.D 6.A 6.B 6.C 7.A 7.B 7.C 8.A 8.B 8.C 9.A 9.B 9.C 9.D 10.A 10.B 10.C 10.D

f

Best

173 173 235 227 259 455 81 87 138 400 412 428 520 423 446 469 571 223 231 311 279 283 333 386 395 517 323 326 332 382 428 436 446 524

173 173 245 227 259 457 81 87 138 400 412 428 540 423 446 474 593 223 233 317 279 283 334 386 395 528 323 326 332 397 428 436 446 536

Average deviation Worst deviation Number of optima Number of best Average computational time

Value 173 179 250 227 259 465 81 87 138 400 414 450 550 428 446 476 608 223 241 323 279 283 334 386 395 546 323 328 332 402 428 436 452 541

Seconds 050 679 1668 001 115 4319 061 021 4214 231 2809 4127 5354 2130 432 2475 9088 072 1642 7284 033 038 6656 716 939 8263 1668 3363 4396 19688 431 2306 4422 16094

Value 173 178 248 227 259 457 81 87 140 400 414 428 544 423 449 474 599 223 233 325 279 283 335 386 403 543 323 326 336 399 428 436 446 538

093 514 17 18

heuristics produce exactly the same solution value for all instances except one. Hence, in what follows, we only mention results obtained with VND2CARP. Table 2 contains the detailed results for the 23 DeArmon (1981) instances. The headings are as follows: No: instance number as in DeArmon (1981); 432

VND Seconds 008 436 1632 000 196 3440 000 000 2692 136 2032 3908 6556 120 1408 2420 4248 020 1152 4200 024 020 4484 168 1060 5628 1368 2636 2836 6240 176 764 3312 7668

054 289 17 20 3405

2089

f: lower bound on the optimum value; Best: best known solution value; PS:

solution

value

produced

with

PATH-

SCANNING; AM: solution value produced with AUGMENTMERGE; Transportation Science/Vol. 35, No. 4, November 2001

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

Table 4

Average Computational Results on 270 Larger Randomly Generated Instances CARPET

V 

 [0.1, 0.3]

20

[0.4, 0.6]

[0.7, 0.9]

[0.1, 0.3]

40

[0.4, 0.6]

[0.7, 0.9]

[0.1, 0.3]

60

[0.4, 0.6]

[0.7, 0.9]

VND



Average Deviation

Worst Deviation

No. of Optima

[0.1, 0.3] [0.4, 0.6] [0.8, 1.0] [0.1, 0.3] [0.4, 0.6] [0.8, 1.0] [0.1, 0.3] [0.4, 0.6] [0.8, 1.0]

087 195 068 180 051 030 137 094 041

706 617 251 508 262 212 315 386 207

8 5 5 3 7 8 4 5 4

[0.1, 0.3] [0.4, 0.6] [0.8, 1.0] [0.1, 0.3] [0.4, 0.6] [0.8, 1.0] [0.1, 0.3] [0.4, 0.6] [0.8, 1.0]

143 137 005 141 064 027 094 013 004

568 484 052 889 293 135 443 127 040

[0.1, 0.3] [0.4, 0.6] [0.8, 1.0] [0.1, 0.3] [0.4, 0.6] [0.8, 1.0] [0.1, 0.3] [0.4, 0.6] [0.8, 1.0]

055 175 072 069 010 001 013 018 0004

355 732 277 326 085 010 049 080 003

Average over the 270 instances Total

Average Deviation

Worst Deviation

126 936 824 1152 1411 1052 489 3615 5125

087 194 051 192 034 021 128 067 020

706 556 358 678 339 212 315 508 089

8 5 7 4 9 9 5 6 6

097 808 414 420 716 541 247 2300 2542

5 5 9 5 4 7 5 9 9

1369 8358 1146 4386 20026 46218 5764 9140 31505

141 085 0 126 019 009 029 008 004

514 296 0 916 082 040 097 078 036

5 4 10 6 6 7 5 9 9

571 3946 038 1771 4212 6097 2054 1930 3330

6 1 3 6 7 9 4 7 8

1942 20950 34916 17910 50779 90495 16994 122604 445257

028 145 026 028 001 0002 002 004 0

226 856 138 134 013 002 020 026 0

7 3 5 6 9 9 9 7 10

503 4406 6543 3394 6080 15433 1656 17571 27124

34981

054

071

CS: solution value produced with CONSTRUCTSTRIKE; MCS: solution value produced with MODIFIEDCONSTRUCT-STRIKE; MPS: solution value produced with MODIFIEDPATH-SCANNING; BEL: solution value produced with the tabu search of Belenguer, Benavent and Cognata (1997); CARPET: solution value produced with CARPET with a fixed set of parameters; VND: solution value produced with VND2-CARP. Numbers in italics indicate that the heuristic has reached the best known value, and underlined numTransportation Science/Vol. 35, No. 4, November 2001

158

Seconds

No. of Optima

Seconds

4250 185

bers indicate a proven optimum. Computational times are only available for CARPET and VND2-CARP. It clearly appears in Table 2 that the tested heuristics can be divided into three groups. CONSTRUCTSTRIKE, PATH-SCANNING, and AUGMENTMERGE are constructive algorithms that are not very robust: their average deviation from the best known solution value is larger than 5%, and their worst deviation is larger than 20%. The second group contains MODIFIED-PATH-SCANNING and MODIFIED-CONSTRUCT-STRIKE; while better average deviations can be observed, the worst deviation from the best-known solution value is still larger 433

HERTZ AND MITTAZ A VND Algorithm for the Undirected CARP

than 20%. The third group contains the two adaptations of tabu search and our variable neighborhood descent method. All algorithms in this group are able to generate proven optima for 18 of 23 instances. CARPET and VND2-CARP produce slightly better results than the tabu search proposed by Belenguer et al. (1997). Table 3 contains a comparison of CARPET with VND2-CARP on Benavent (1997) instances. The headings are the same as those in Table 2. Both methods produce similar results with a small difference in favor of VND2-CARP, which is also faster. The advantage of VND2-CARP over CARPET is more apparent for the instances studied in Hertz et al. (2000). Indeed, for these problems we indicate in Table 4 the average and the worst deviation from the lower bound f on the optimum value, the number of optimal solutions produced by the heuristics, and the average computational time. It can be observed that the average deviations from f and the average computing times on the 270 instances are 0.71% and 349 seconds for CARPET and 0.54% and 42 seconds for VND2-CARP. In addition, VND2-CARP has identified a larger number of proven optima than CARPET.

4.

Conclusion

Basic procedures have recently been described for the design of heuristic solution methods in an arc routing context. The most powerful heuristic methods for the solution of the undirected CARP all employ these basic tools. We have shown that CARPET and VND2-CARP outperform all known heuristics and often produce a proven optimum. On large instances, the variable neighborhood descent VND2-CARP is better than the tabu search heuristic CARPET in terms of solution quality, and it also faster. Acknowledgments

This work was supported by the Swiss National Scientific Research Council under Grant 21-45574.95. This support is gratefully acknowledged. The authors thank Enrique Benavent, who kindly supplied the test problems of Table 3 as well as a computer code for the determination of the CPA lower bound.

References

Assad A. A., B. L. Golden. 1995. Arc routing methods and applications. M. O. Ball, T. L. Magnanti, C. L. Monma, G. L. Nemhauser, eds. Network Routing, Handbooks in Operations Research and Management Science. North-Holland, Amsterdam. Belenguer, J. M., E. Benavent. 1997. A cutting plane algorithm for the capacitated arc routing problem. Unpublished manuscript, University of Valencia, Spain. , , F. Cognata. 1997. A metaheuristic for the capacitated arc routing problem. Unpublished manuscript, University of Valencia, Spain. Benavent, E. 1997.  ftp://indurain.estadi.uv.ed/pub/CARP Christofides, N. 1973. The optimum traversal of a graph. Omega 1 719–732. DeArmon, J. S. 1981. A comparison of heuristics for the capacitated Chinese postman problem. Master’s thesis, University of Maryland at College Park, College Park, MD. Dror, M. 2000. ARC Routing: Theory, Solutions and Applications. Kluwer Academic Publishers, Boston, MA. Frederickson, G. N. 1979. Approximation algorithms for some postman problems. J. ACM 26 538–554. Glover, F. 1989. Tabu search—Part I. ORSA J. Comput. 1 190–206. Golden, B. L., R. T. Wong. 1981. Capacitated arc routing problems. Networks 11 305–315. , J. S. DeArmon, E. K. Baker. 1983. Computational experiments with algorithms for a class of routing problems. Comput. Oper. Res. 10 47–59. Hansen, P., N. Mladenovi´c. 1998. An introduction to VNS. S. Voss, S. Martello, I. H. Osman, C. Roucairol, eds. Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization. Kluwer Academic Publishers, Boston, MA. Hertz, A., G. Laporte, M. Mittaz. 2000. A tabu search heuristic for the capacitated arc routing problem. Oper. Res. 48 129–135. , G. Laporte, P. Nanchen-Hugo. 1999. Improvement procedure for the undirected rural postman problem. INFORMS J. Comput. 11 53–62. , M. Mittaz. 2000. Heuristic algorithms. M. Dror, ed. Arc Routing: Theory, Solutions and Applications. Kluwer Academic Publishers, Boston, MA. Hirabayashi, R., Y. Saruwatari, N. Nishida. 1992. Tour construction algorithm for the capacitated arc routing problem. Asia-Pacific J. Oper. Res. 9 155–175. Kirkpatrick, S., C. D. Gelatt, M. Vecchi. 1983. Optimization by simulated annealing. Science 220 671–680. Lenstra, J. K., A. H. G. Rinnooy Kan. 1976. On general routing problems. Networks 6 273–280. Martello, S., P. Toth. 1990. Lower bounds and reduction procedures for the bin packing problem. Discrete Appl. Math. 28 59–70. Mladenovi´c, N., P. Hansen. 1997. Variable neighborhood search. Comput. Oper. Res. 34 1097–1100. Pearn, W.-L. 1989. Approximate solutions for the capacitated arc routing problem. Comput. Oper. Res. 16 589–600.

Received: November 2000; revisions received: December 2000; accepted: December 2000.

434

Transportation Science/Vol. 35, No. 4, November 2001