A tabu search algorithm for the Capacitated ... - Wiley Online Library

0 downloads 0 Views 150KB Size Report
A Tabu Search Algorithm for the Capacitated. Shortest Spanning Tree Problem. Yazid M. Sharaiha,1 Michel Gendreau,2 Gilbert Laporte,2 Ibrahim H. Osman3.
A Tabu Search Algorithm for the Capacitated Shortest Spanning Tree Problem Yazid M. Sharaiha, 1 Michel Gendreau, 2 Gilbert Laporte, 2 Ibrahim H. Osman 3 1

The Management School, Imperial College, 53 Prince’s Gate, Exhibition Road, London SW7 2PG, United Kingdom 2

Centre de recherche sur les transports, Universite´ de Montrea´l, C.P. 6128, succursale Centre-ville, Montre´al, Canada H3C 3J7 3

Department of Mathematics and Statistics, The University, Canterbury, Kent CT2 7NF, United Kingdom

Received 15 December 1995; accepted 20 November 1996

Abstract: The Capacitated Shortest Spanning Tree Problem consists of determining a shortest spanning tree in a vertex weighted graph such that the weight of every subtree linked to the root by an edge does not exceed a prescribed capacity. We propose a tabu search heuristic for this problem, as well as dynamic data structures developed to speed up the algorithm. Computational results on new randomly generated instances and on instances taken from the literature indicate that the proposed approach produces high-quality solutions within reasonable computing times. q 1997 John Wiley & Sons, Inc. Networks 29: 161–171, 1997

Keywords: capacitated shortest spanning tree, tabu search

1. INTRODUCTION The Capacitated Shortest Spanning Tree Problem (CSSTP) is defined on an undirected graph G Å (V, E), where V Å { £1 , . . . , £n } is the vertex set, £n is called the terminal vertex or center, and E Å {( £i , £j ) : £i , £j √ V, i õ j} is the edge set. In what follows, ( £i , £j ) must be interpreted as ( £j , £i ) whenever i ú j. With each £i √ V " { £n } is associated a nonnegative weight or demand Correspondence to: G. Laporte Contract grant sponsor: Natural Sciences and Engineering Research Council of Canada. Contract grant numbers: OPG0038816 and OPG0039682

qi , and with each edge ( £i , £j ) is associated a length cij . Given a spanning tree defined on G, any subtree linked to the center by exactly one edge is called a main subtree. The CSSTP is to determine a shortest spanning tree on G such that the total demand of every main subtree does not exceed a preset capacity value Q. The CSSTP arises naturally in the design of telecommunication and energy networks in which the total flow passing through edges incident to the center is limited (see, e.g., Gavish [7]). In addition, the CSSTP can be used to provide a lower bound to the solution of capacitated vehicle routing problems [25, 26]. As shown by Papadimitriou [21], the CSSTP is NPhard, even in the case of unit demands. A well-known

q 1997 John Wiley & Sons, Inc.

CCC 0028-3045/97/030161-11

161

/ 8U0F$$0758

03-17-97 14:03:15

netwa

W: Networks

758

162

SHARAIHA ET AL.

Fig. 1. Cut and paste operation.

heuristic for this problem is that of Esau and Williams [6] which is analogous to the Clarke and Wright [3] heuristic for the vehicle routing problem. Another early heuristic is that of Kershenbaum [16]. Second-order heuristics that compete with the Esau and Williams approach were proposed by Kershenbaum et al. [17] and by Karnaugh [15]. Altinkemer and Gavish [1] described a heuristic with a guaranteed worst-case performance ratio of 4 in the case of general demands and of 3-2/Q in the case of unit demands. Early branch and bound methods for the CSSTP were described by Chandy and Lo [2] and by Elias and Ferguson [5]. Integer linear programming formulations were presented by Gavish [7] and Gouveia [11, 12], while an enumerative exact algorithm capable

/ 8U0F$$0758

03-17-97 14:03:15

of handling instances of up to 50 vertices was described by Malik and Yu [18]. Toth and Vigo [25] proposed an exact procedure for the directed case, capable of solving to optimality instances of size n Å 200. Finally, Craig et al. [4] applied simulated annealing and neural network heuristics to the solution of degree-constrained shortest spanning tree problems. The purpose of this paper is to propose a tabu search heuristic for the CSSTP. The algorithm described in Section 2 is followed, in Section 3, by the description of dynamic data structures and various aspects of the computer implementation. Computational results are presented in Section 4, followed by the conclusion in Section 5.

netwa

W: Networks

758

CAPACITATED SHORTEST SPANNING TREE PROBLEM

163

Fig. 1. (Continued from the previous page )

2. ALGORITHM

2.1. Initial Solution

The algorithm that we propose for the CSSTP is based on Tabu Search (TS). The ‘‘modern version’’ of this metaheuristic can be attributed to Glover [9] and Hansen [13]. In essence, TS is a local search heuristic that moves at each iteration from a solution to its best admissible neighbor, even if this causes the objective function to deteriorate. To avoid cycling, solutions that were recently explored are declared forbidden or tabu for a number of iterations. To produce good results, any implementation of TS must be crafted to suit the structure of the problem at hand. Intensification and diversification strategies are now commonplace. In the first case, the search is accentuated in promising regions of the feasible domain. In the second case, an attempt is made to consider solutions in a broad area of the search space. Some authors use random tabu durations [8, 23] and domain decomposition [24]. Some implementations of TS allow infeasible intermediate solutions, with an appropriate penalty in the objective function [8]. Finally, the importance of data structures for the quick update of neighborhoods cannot be overemphasized (see, e.g., Osman [19]). For recent surveys of TS, see [10, 14]. For a general bibliography on metaheuristics, see Osman and Laporte [20]. Before proceeding to the step-by-step description of our TS algorithm for the CSSTP, we outline its main components.

/ 8U0F$$0758

03-17-97 14:03:15

The algorithm starts with an initial feasible solution built in a greedy fashion as follows: The closest vertex £ incident to £n is selected as the root of the first main subtree. A shortest spanning tree is then gradually constructed starting from £ using Prim’s algorithm [22], until it is no longer possible to extend it without violating the capacity constraint. This process is repeated with the next closest vertex incident to £n that is not yet included, until all vertices have been included in a main subtree. This strategy seems reasonable for instances with uniform vertex weights or for loosely constrained instances. For tightly constrained nonuniform weight instances, however, it may not be wise to fill the subtrees to the limit as this could force connections between vertices that are very far apart. However, the improvement procedure described in the following subsection is probably sufficiently robust to rectify any poor starting solution. This also explains why we did not consider starting with a solution produced by a known heuristic, such as the Esau–Williams method.

2.2. Neighborhood Structure We chose a neighborhood structure congruent with the original problem definition and based on the application of subtree ‘‘cut and paste’’ operations. In what follows,

netwa

W: Networks

758

164

SHARAIHA ET AL.

for i x n, Ti Å (Vi , Ei ) is the maximal subtree rooted at £i . A cut and paste operation is characterized by a triplet of vertices ( £i , £j , £k ). Cutting Ti means removing edge ( £f , £i ), where £f is the father or immediate successor of £i √ Ti on the path ( £i , . . . , £n ). Pasting Tj to £k means introducing edge ( £k , £j ), where £j √ Ti and £k is either £n or one of the l closest neighbors of £j . (In our implementation, we used l Å 5.) If m and m * are the number of main subtrees before and after a cut and paste operation is accepted, respectively, then either m* Å m 0 1, or m* Å m, or m* Å m / 1. Let Tp and Tq (q x p) be two main subtrees. Then, as illustrated in Figure 1, five cases are possible:

any iteration t, let z be the cost of the solution (i.e., the total length of the spanning tree rooted at £n ), and let Qp be the total demand of the main subtree Tp . Let Q p/ Å max(0, Qp 0 Q), i.e., the overcapacity (if any) for a given subtree Tp . Then, z is replaced by the artificial m objective z˜ Å z / a ( pÅ1 Q p/ , where a is a penalty factor initially equal to 50 and dynamically adjusted throughout the search process. Every 10 iterations a is either halved or doubled. If the last 10 iterations were all feasible with respect to capacity, then set a :Å a /2. If they were all infeasible, then set a :Å 2a. Otherwise a is unchanged. This strategy produces a mix of feasible and infeasible solutions and removes the need to calibrate a a priori.

CASE 1. £i √ Vp " { £p }, £k √ Vq . Then, m* Å m. CASE 2. £i Å £p , £k √ Vq . Then, Tp is merged with Tq and m* Å m 0 1. CASE 3. £i √ Vp " { £p }, £k √ Vp "Vi . Then, Tq is unaffected and m* Å m. (The choice £k √ Vi is forbidden as it would induce a cycle and disconnect the spanning tree.) CASE 4. £i √ Vp " { £p }, £k Å £n . Then, a new main subtree is created, Tq is unaffected and m* Å m / 1. CASE 5. £i Å £p , £k Å £n . Then, Tp is rerooted at £j and m* Å m. Thus, the set of all neighbors of a solution is obtained by considering the five cut and paste cases for all admissible indices p, q, i, j, and k.

2.3. Tabu Moves The algorithm maintains an iteration count t equal to the number of cut and paste operations actually implemented. If edge ( £i , £f ) is cut at iteration t, then reintroducing the same edge in a paste operation is tabu until iteration t / u, where u is a parameter randomly selected in some interval [ u, uU ].

2.6. Termination Rule The search terminates when the best-known value of the true objective z has not improved for 100n consecutive iterations.

2.7. Step-by-step Description of the Algorithm We now provide a step-by-step description of our TS heuristic. STEP 1 (Initialization). Set the iteration count t :Å 0 and the number of consecutive iterations without improvement s :Å 0. Determine an initial spanning tree satisfying capacity constraints. Let z be the cost of that solution. Set a :Å 50 and z˜ :Å z. Set the value of the incumbent zV :Å z. Initially, no edge is tabu. STEP 2 (Neighborhood search). For all admissible triplets ( £i , £j , £k ), compute the cost zijk and the penalized cost z˜ijk of the solution obtained by applying the cut and paste operation. Let b Å min {zijk }. If b õ zV , set i ,j,k

t :Å t / 1 and s :Å 0 and implement the move corresponding to ( £i˙ , £j˙ , £k˙ ) yielding b, even if it is tabu. If b ¢ zV , set s :Å s / 1, let g Å min {zI ijk : ( £j , £k ) is i ,j,k

non-tabu}, and implement the move corresponding to the triplet ( £i˙ , £j˙ , £k˙ ) yielding g. Declare edge ( £i˙ , £f ˙ ) tabu until iteration t / u, where £f ˙ is the father of £i˙ , and u is randomly selected in [20, 30].

2.4. Aspiration Criterion As is common in TS, a tabu move can be overriden if implementing it results in a better incumbent. This means that in this case a tabu edge will be inserted anyhow.

2.5. Infeasible Moves During the search process, the solution remains a connected spanning tree at all times. Indeed, cycles are avoided through the restriction £k √ Vp "Vi in Case 3. However, as was done by Gendreau et al. [8] for the vehicle routing problem, infeasible solutions with respect to capacity are allowed but penalized. More precisely, at

/ 8U0F$$0758

03-17-97 14:03:15

STEP 3 (Termination check and reoptimization). If s Å 100n, recompute a shortest spanning tree using Prim’s algorithm for each main subtree and stop. STEP 4 (Parameter update). If t (mod 10) x 0, go to Step 2. Otherwise, if all previous 10 solutions were feasible, set a :Å a /2. If they were all infeasible, set a :Å 2a. Go to Step 2.

netwa

As is frequent in TS, the algorithm contains several

W: Networks

758

CAPACITATED SHORTEST SPANNING TREE PROBLEM

Fig. 2. Data structure for a capacitated spanning tree.

parameters and calibration is largely experimental. The value of a is initially set at 50. Because of the selfadjustment scheme, the algorithm is rather insensitive to this value. In fact, our tests reveal that during the search process about half the solutions are feasible and half are infeasible, which indicates that the halving–doubling rule used in Step 4 works well. In our implementation, a is updated every 10 iterations, but the algorithm is, in fact, very insensitive to this value. The stopping rule of 100n has the advantage of being related to problem size (and difficulty). It was borrowed from Gendreau et al. [8] who have used it in the context of the vehicle routing problem and have shown its superiority over a static stopping criterion. The range [20, 30] for the tabu duration was determined after some experimentation. Gendreau et al. used [5, 10], but in the case of the CSSTP, these values are to small and do not allow a sufficient exploration of the search space. Finally, the value of l (see Section 2.2) was set equal to 5 as tests with l Å 3 and l Å 10 produced worse results either in terms of solution quality and computing time, respectively.

3. DATA STRUCTURES AND COMPUTER IMPLEMENTATION We first introduce the basic data structure used for solving the CSSTP. We consider the capacitated spanning tree as an oriented tree rooted at the center vertex £n . The tree can then be stored using two pointers per vertex: the left son pointer, Lson(.), which stores the leftmost son of the vertex, and right brother pointer, Brth(.), which stores its immediate brother. In the example of Figure 2, Lson(6) Å 2, and Brth(6) Å 3. In the case where the vertex is a leaf vertex in the tree, £j say, its left son points to itself, flagged by a negative sign to distinguish it from an intermediate vertex [i.e., Lson( £j ) Å 0£j ]. In the ex-

/ 8U0F$$0758

03-17-97 14:03:15

165

ample, Lson(1) Å 01. Similarly, if a vertex is the rightmost brother, its brother points to its father, flagged by a negative sign also for distinction. For example, Brth(4) Å 06. Each subtree is rooted at the vertex that is incident on the center. This vertex is called the subroot of the subtree. In the example of Figure 2, there are three subroots: 9, 6, and 3. We define a further pointer per vertex, which is the subroot pointer, Sub(.), indicating the number of the subroot to which that vertex belongs. For example, Sub(12) Å 9 and Sub(1) Å 6. Finally, each vertex £i √ V receives a cumulative demand value Qi Å (£j√Vi qj . Clearly, the cumulative demand of any vertex is given by its own input demand plus the cumulative demands of its immediate children. The three arrays, each of dimension n, allow for tree traversal and on-line updating of the tree structure under dynamic changes. Moreover, the cumulative demand array allows for interrogating the demands of the subtrees following a proposed change immediately and, hence, testing for the tree feasibility prior to undertaking the change to the structure of the tree. In this section, we describe the dynamic features of the algorithm. In particular, once a move is accepted, we would first need to update the cumulative demands of the affected vertices and then the underlying data structure of the new capacitated spanning tree. The reader is referred to Figure 3.

3.1. Updating the Cumulative Demands Once a move ( £i , £j , £k ) is accepted, the relevant vertex demands in the new subtrees need to be updated. Let Tp = and Tq = be the subtrees obtained by cutting Ti from Tp and pasting Tj to Tq .

Updating Tp = All vertices £l on the path from £f to £p in Tp , where £f is the old father of £i and £p is the subroot of Tp , have a new cumulative demand defined as Ql :Å Ql 0 Qi . All others vertices in Tp remain unaffected.

Updating Tq = (a) Updating the vertices in Tq : All vertices £l on the path from £k to £q have a new cumulative demand Ql :Å Ql / Qi . All others vertices in Tq remain unaffected. (b) Updating the vertices in Ti (to become Tj ): Consider the path ( £i Å £t1 , £t2 , . . . , £te Å £j ) from £i to £j . Then, the cumulative demands of all vertices on that path are updated as follows: Qtl :Å Qi 0 Qtl/1 for l Å 1, . . . , e 0 1, and Qte :Å Qi .

netwa

W: Networks

758

166

SHARAIHA ET AL.

3.2. Updating the Pointers Once a move ( £i , £j , £k ) is accepted, the relevant pointers need to be updated to reflect the changes to the structure of the capacitated spanning tree.

Updating Lson(.) and Brth(.) (a) Delete edge ( £i , £f ) where £f is the father of £i . Update the neighborhood of £f accordingly (i.e., the sons

of £f lose £i as their brother and may gain a new brother; this can only occur in Case 3 when £k Å £f ). (b) Reroot Ti at £j , thus constructing Tj . This is performed by reversing the path from £i to £j . (c) Relink Tj to Tq by adding edge ( £j , £k ). This is performed by setting £k to be the new father of £j and amending the neighborhood of £k accordingly (i.e., the sons of £k take on £j as their new brother).

Fig. 3. (a) A cut and paste operation: before the change. Numbers next to vertices are cumulative demands. (b) A cut and paste operation: after the change. Numbers next to vertices are cumulative demands.

/ 8U0F$$0758

03-17-97 14:03:15

netwa

W: Networks

758

CAPACITATED SHORTEST SPANNING TREE PROBLEM

TABLE I. Headings for Tables II–IV

n Q m t t* t* Init TS LB %GAP EW Time

number of vertices, including the center capacity of each subtree number of subtrees in solution total number of iterations number of iterations to reach the best solution percentage of feasible iterations initial feasible solution tabu search solution value lower bound on optimum 100 (TS/LB 0 1) Esau–Williams solution value time in seconds

Updating Sub(.) Traverse the vertices of Ti (which then becomes Tj ). For every vertex in Ti , its Sub(.) pointer takes the value of

167

the new subroot. This depends on which of the five cases does the move belong to (a) For Cases 1 and 2, Sub( £l ) :Å q for all £l √ Vi . (b) For Case 3, there is no change to the Sub(.) pointer. (c) For Cases 4 and 5, Sub( £l ) :Å j for all £l √ Vi .

4. COMPUTATIONAL RESULTS The algorithm just described was coded in Fortran and run on a Silicon Graphics Indigo workstation (R4000, 100MHz). It was tested on two data sets, both available from the OR-library of Beasley (e-mail the message: capmstinfo to [email protected]). The first are unit demand data and were supplied by Gouveia: problems tc40_k.txt (k Å 1, . . . , 5) and tc80_k.txt (k Å 1, . . . , 5), and problems te40_k.txt (k Å 1, . . . , 5) and te80_k.txt (k

TABLE II. Computational results for tc problems

Tabu search Iterations

Solutions

n01

Q

t

t*

t*

Init

TS

m

Time

tc40_1.txt tc40_2.txt tc40_3.txt tc40_4.txt tc40_5.txt tc40_1.txt tc40_2.txt tc40_3.txt tc40_4.txt tc40_5.txt tc40_1.txt tc40_2.txt tc40_3.txt tc40_4.txt tc40_5.txt

40 40 40 40 40 40 40 40 40 40 40 40 40 40 40

3 3 3 3 3 5 5 5 5 5 10 10 10 10 10

4224 4656 4665 4281 5489 4238 4721 11,269 4954 6686 4241 4206 4284 4226 4344

133 555 564 180 1388 157 620 7168 853 2585 140 107 183 125 243

40% 47% 46% 50% 48% 45% 54% 47% 52% 49% 49% 48% 48% 49% 52%

857 856 855 928 790 674 737 630 744 725 555 552 596 590 603

744 728 722 793 741 590 585 577 618 602 500 490 500 513 504

14 14 14 14 14 10 8 9 9 8 5 4 4 5 5

39 42 43 39 31 37 40 98 41 57 36 33 36 36 38

tc80_1.txt tc80_2.txt tc80_3.txt tc80_4.txt tc80_5.txt tc80_1.txt tc80_2.txt tc80_3.txt tc80_4.txt tc80_5.txt tc80_1.txt tc80_2.txt tc80_3.txt tc80_4.txt tc80_5.txt

80 80 80 80 80 80 80 80 80 80 80 80 80 80 80

5 5 5 5 5 10 10 10 10 10 20 20 20 20 20

16,185 12,236 15,697 8569 8331 10,524 8415 11,626 11,560 12,065 9004 8386 8305 8295 8294

8765 4135 7596 468 230 2423 314 3525 3459 3964 903 285 205 194 113

48% 48% 49% 49% 48% 46% 51% 50% 50% 50% 53% 52% 54% 50% 54%

1336 1299 1342 1309 1449 1025 1083 1082 1025 1195 946 950 904 984 989

1133 1124 1095 1108 1324 901 886 880 874 1005 834 820 828 820 916

17 17 16 17 17 9 8 8 8 8 4 4 4 4 4

417 301 395 214 205 244 201 273 1124 280 246 220 199 209 232

Problem

/ 8U0F$$0758

03-17-97 14:03:15

netwa

W: Networks

Esau–Williams LB

%GAP

EW

m

Time

574 564 565 600 584 498 488 500 511 501

2.8 3.7 2.1 3.0 3.1 0.4 0.4 0.0 0.4 0.6

777 749 728 804 760 595 588 602 645 615 516 505 517 524 540

14 14 14 14 14 9 9 9 10 8 6 5 5 5 6

0.11 0.11 0.11 0.11 0.11 0.11 0.11 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05

1068 1066 1039 1036 1238 871 872 865 858 991 834 816 828 820 915

6.1 5.4 5.4 6.9 6.9 3.4 1.6 1.7 1.9 1.4 0.0 0.5 0.0 0.0 0.0

1182 1170 1146 1160 1344 931 917 912 924 1092 856 856 852 860 969

17 17 16 17 16 9 9 8 9 9 5 5 5 6 5

0.44 0.49 0.44 0.44 0.44 0.22 0.22 0.27 0.27 0.33 0.22 0.16 0.22 0.22 0.22

758

168

SHARAIHA ET AL.

TABLE III. Computational results for te problems

Tabu search Iterations n01

Q

t

te40_1.txt te40_2.txt te40_3.txt te40_4.txt te40_5.txt te40_1.txt te40_2.txt te40_3.txt te40_4.txt te40_5.txt te40_1.txt te40_2.txt te40_3.txt te40_4.txt te40_5.txt

40 40 40 40 40 40 40 40 40 40 40 40 40 40 40

3 3 3 3 3 5 5 5 5 5 10 10 10 10 10

10,763 4702 5883 7814 5812 7144 4931 4378 7730 5080 4700 6561 4599 7435 7072

te80_1.txt te80_2.txt te80_3.txt te80_4.txt te80_5.txt te80_1.txt te80_2.txt te80_3.txt te80_4.txt te80_5.txt te80_1.txt te80_2.txt te80_3.txt te80_4.txt te80_5.txt

80 80 80 80 80 80 80 80 80 80 80 80 80 80 80

5 5 5 5 5 10 10 10 10 10 20 20 20 20 20

17,056 18,658 10,745 9650 8796 9025 9065 11,080 8200 10,317 13,470 8710 8269 8543 8327

Problem

Solutions t*

Init

TS

m

Time

6662 601 1782 3713 1711 3043 830 277 3629 979 599 2460 498 3334 2971

46% 47% 50% 47% 47% 49% 48% 47% 48% 49% 51% 48% 47% 50% 48%

1291 1234 1221 1248 1188 930 940 870 868 877 658 629 610 633 642

1192 1117 1115 1144 1115 875 812 822 835 796 614 591 591 608 572

14 14 14 14 14 8 8 8 8 8 4 4 4 5 4

102 44 34 73 55 64 44 39 68 46 46 64 45 69 72

8955 10,557 2644 1549 695 924 964 2979 99 2216 5369 609 108 442 226

50% 45% 53% 50% 49% 48% 48% 49% 51% 50% 46% 47% 44% 49% 48%

2700 2638 2799 2774 2639 1910 1810 1909 1946 1778 1423 1324 1397 1474 1442

2570 2574 2741 2672 2557 1688 1678 1775 1906 1685 1311 1266 1329 1337 1259

16 16 18 17 16 9 8 9 10 8 8 5 5 4 4

419 410 254 227 205 205 229 245 224 258 378 254 276 258 259

t*

Å 1, . . . , 5). The ‘‘c’’ refers to the central vertex being in the center of the vertex scatter, while the ‘‘e’’ refers to the central vertex being at the end of the vertex scatter. tc40_k and te40_k are of size n Å 41, and tc80_k and te80_te80 are of size n Å 81. For each size, five instances (k Å 1, . . . , 5) are considered. For size n Å 41, three limits are considered, Q Å 3, 5, and 10, and for n Å 81, the three limits are Q Å 5, 10, and 20. Since the demands are equal to 1, the subtree limit on demand translates to a limit on its vertex cardinality. The headings used for the tables of computational results are given in Table I. Tables II and III show the results for the tc and te data, respectively. For the tabu search algorithm, details are given on the number of iterations. Both the initial feasible solution and the tabu search best solutions are recorded (objective value and number of subtrees in the resulting solution). The tabu search

/ 8U0F$$0758

03-17-97 14:03:15

Esau–Williams LB

%GAP

EW

m

Time

801 766 765 791 756 581 568 560 578 561

9.2 6.0 7.4 5.7 5.3 5.7 4.0 5.5 5.2 2.0

1215 1144 1146 1156 1147 857 827 820 854 816 649 613 596 638 597

14 14 14 14 14 8 8 8 8 8 5 4 4 4 5

0.22 0.22 0.27 0.22 0.22 0.11 0.11 0.11 0.11 0.17 0.05 0.11 0.11 0.11 0.11

2461 2455 2516 2466 2397 1577 1541 1598 1558 1531 1246 1201 1249 1241 1228

4.5 4.8 8.9 8.4 6.7 7.0 8.9 11.0 22.3 10.0 5.2 5.4 6.4 7.8 2.5

2592 2631 2723 2630 2595 1735 1787 1828 1691 1731 1336 1295 1340 1349 1271

17 16 17 16 17 9 8 9 8 8 5 4 4 4 4

0.99 1.05 0.99 1.05 0.99 0.49 0.61 0.55 0.55 0.55 0.27 0.27 0.27 0.33 0.22

results are compared with the Esau–Williams [6] solution. In several cases, we also provide a comparison with a lower bound that was provided by Gouveia [12]. Sometimes, no such bound was available. With reference to the number of iterations, we first note that there is no obvious pattern to the iteration number at which the best solution is found (t*) relative to the total number of iterations (t). However, the dynamic penalty embedded in the objective function has proven satisfactory since only about half the search is performed in the feasible space (as given by t * ). We first compared the ( TS ) solution value with that in which the resulting subtrees are reoptimized. In other words, the main subtrees in the solution are identified by their vertices, their edges are stripped, and the vertex subsets are input into a shortest spanning tree algorithm. Out of the 60 problems tested, only three im-

netwa

W: Networks

758

CAPACITATED SHORTEST SPANNING TREE PROBLEM

169

TABLE IV. Computational results for the cm problems with nonunit demands

Tabu search Iterations Problem

n

cm50_r1.txt cm50_r2.txt cm50_r3.txt cm50_r4.txt cm50_r5.txt cm50_r1.txt cm50_r2.txt cm50_r3.txt cm50_r4.txt cm50_r5.txt cm50_r1.txt cm50_r2.txt cm50_r3.txt cm50_r4.txt cm50_r5.txt

Solutions t*

Init

TS

m

Time

EW

m

Time

90 1093 1144 5138 521 606 652 197 1061 71 0 516 106 228 24

51% 48% 50% 50% 52% 49% 45% 53% 56% 52% 49% 55% 50% 49% 58%

1240 1208 1492 1095 1068 790 806 796 699 725 583 579 613 699 579

1180 1061 1229 811 993 726 680 780 617 628 544 542 554 472 501

16 16 15 16 15 9 8 8 9 8 5 5 4 4 4

61 76 74 119 66 57 59 61 59 67 58 66 58 52 56

1135 1023 1249 834 970 731 642 741 583 643 550 531 565 514 515

15 16 15 16 15 8 7 8 9 8 5 4 4 5 4

0.07 0.09 0.07 0.09 0.10 0.08 0.08 0.09 0.08 0.08 0.09 0.09 0.07 0.07 0.07

31,613 20,006 19,249 12,437 21,852 13,071 12,280 24,065 14,882 13,201 18,379 11,998 10,634 10,378 10,599

21,612 10,005 9248 2436 11,851 3070 2279 14,064 4881 3200 8378 1997 633 377 598

50% 49% 50% 52% 46% 51% 54% 53% 52% 53% 56% 56% 57% 56% 55%

779 1201 1031 1049 830 465 462 407 461 494 295 362 332 355 319

551 616 608 445 442 259 278 238 223 227 182 179 175 183 187

26 26 27 26 26 13 13 13 13 14 7 7 7 7 7

1154 747 747 482 821 431 399 793 501 436 608 396 351 356 350

728 800 750 625 637 375 376 363 322 323 255 235 238 248 232

30 28 31 31 29 17 15 17 17 16 8 8 8 10 8

0.31 0.32 0.32 0.29 0.30 0.61 0.27 0.27 0.26 0.26 0.26 0.25 0.25 0.25 0.25

24,879 55,538 45,056 37,264 42,867 24,838 46,149 54,276 36,227 41,768 38,135 36,005 44,446 31,220 38,484

4878 35,537 25,055 11,263 21,866 4837 26,148 34,275 16,226 21,767 18,134 16,004 24,445 11,219 18,483

49% 49% 49% 52% 51% 50% 52% 52% 53% 52% 52% 50% 51% 51% 52%

1727 2229 2334 1936 1833 738 812 907 735 761 492 504 547 466 556

1147 1505 1464 1017 1145 421 498 587 404 442 256 296 362 276 295

55 57 56 56 56 27 27 27 27 27 14 14 14 14 14

3357 7494 6153 4805 5725 2586 4843 5784 3834 4595 3741 3549 4212 3001 3961

1427 1839 1840 1456 1369 606 752 801 534 579 329 422 460 357 413

62 64 60 62 60 30 30 31 32 29 15 16 14 15 15

1.23 1.41 1.40 1.24 1.19 0.83 0.90 0.90 0.80 0.80 0.68 0.72 0.74 0.70 0.72

Q

t

50 50 50 50 50 50 50 50 50 50 50 50 50 50 50

200 200 200 200 200 400 400 400 400 400 800 800 800 800 800

5091 6094 6145 10,139 5522 5607 5653 5198 6062 5072 5001 5515 5107 5229 5025

cm100_r1.txt cm100_r2.txt cm100_r3.txt cm100_r4.txt cm100_r5.txt cm100_r1.txt cm100_r2.txt cm100_r3.txt cm100_r4.txt cm100_r5.txt cm100_r1.txt cm100_r2.txt cm100_r3.txt cm100_r4.txt cm100_r5.txt

100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

200 200 200 200 200 400 400 400 400 400 800 800 800 800 800

cm200_r1.txt cm200_r2.txt cm200_r3.txt cm200_r4.txt cm200_r5.txt cm200_r1.txt cm200_r2.txt cm200_r3.txt cm200_r4.txt cm200_r5.txt cm200_r1.txt cm200_r2.txt cm200_r3.txt cm200_r4.txt cm200_r5.txt

200 200 200 200 200 200 200 200 200 200 200 200 200 200 200

200 200 200 200 200 400 400 400 400 400 800 800 800 800 800

t*

provements were recorded. This indicates that on-line reoptimization is unnecessary since the local neighborhood value ( l Å 5 ) is sufficient in all but the three cases. This pattern also holds for the c m data.

/ 8U0F$$0758

Esau–Williams

03-17-97 14:03:15

Our algorithm outperforms the Esau – Williams heuristic on all 30 tc problems and on 25 of the 30 te problems. In terms of the number of main subtrees in the final solution, the results are similar for both algo-

netwa

W: Networks

758

170

SHARAIHA ET AL.

rithms, but there seem to be more cases where our algorithm produces fewer subtrees. As expected, the CPU times are different, with the TS algorithm requiring between 50 and 500 CPU seconds, in contrast to the Esau – Williams heuristic with less than 1 CPU second. Since our problem is of the design type, we feel that the CPU time is therefore not particularly crucial. Comparing the tabu solution with the known lower-bound solution ( LB ) for the tc data, an average gap of 2.2% is achieved ( best: 0.0%; worst 6.9% ) . However, the results are worse in the case of the te data ( average gap: 7.3%; best: 2.0%; worst: 22.3% ) . We also considered nonunit demand data sets: c m50_k.txt ( k Å 1, . . . , 5 ) , where n Å 50; c m100_k.txt ( k Å 1, . . . , 5 ) , where n Å 100; and c m200_k.txt ( k Å 1, . . . , 5 ) , where n Å 200, where the demand data are given by priz50.txt, priz100.txt, and priz200.txt for n Å 50, 100, and 200, respectively. All costs and demands are randomly selected in the interval [ 0, 100 ] . Clearly, the triangle inequality is not satisfied. The tabu algorithm outperforms the Esau – Williams for 38 of the 45 problems over all Q values tested ( Q Å 200, 400, 800 ) . In fact, the seven problems where the Esau – Williams does better are for n Å 50. Indeed, the tabu solution value and the resulting number of subtrees is significantly better for n Å 100 and n Å 200. Unfortunately, no lower bounds are known to these problems. Again, the CPU time is significantly higher to reach the best solution. For both problem classes ( unit demand and nonunit demand ) , the CPU times grow more than linearly with n , as a consequence of the neighborhood structure. Overall, the number of iterations does not seem to be much affected by tightness or problem size.

provided new test problems on which alternative methods can be tested. This work was partially supported by the Natural Sciences and Engineering Research Council of Canada under Grants OPG0038816 and OPG0039682. This support is gratefully acknowledged. We are grateful to Luis Gouveia for providing the tc and te data sets and their lower-bound values. Thanks are also due to two anonymous referees for their valuable suggestions.

REFERENCES [1]

[ 2] [ 3]

[ 4]

[ 5]

[ 6]

[ 7]

[ 8]

5. CONCLUSION We have proposed a Tabu Search heuristic for the Capacitated Shortest Spanning Tree Problem, an important combinatorial optimization problem arising in telecommunications and in vehicle routing. The algorithm uses a neighborhood structure based on cut and paste operations, allowing for easy reoptimization of the spanning tree and for the current number of subtrees to vary dynamically to minimize the solution cost. Tests on three sets of instances indicate that the heuristic produces high-quality solutions within reasonable computing times. The algorithm is slower than the Esau – Williams heuristic, but we believe the improvement in solution quality is well worth the additional computational effort, especially in view of the fact that network design problems are strategic in nature and are not solved frequently. In addition to the algorithm, we have

/ 8U0F$$0758

03-17-97 14:03:15

[ 9]

[10]

[11]

[12 ]

[13]

[14]

netwa

K. Altinkemer and B. Gavish, Heuristics with constant error guarantees for the design of tree networks. Manag. Sci. 34 (1988) 331–341. K. M. Chandy and T. Lo, The capacitated minimum spanning tree. Networks 3 (1973) 173–182. G. Clarke and J. W. Wright, Scheduling of vehicles from a central depot to a number of delivery points. Oper. Res. 12 (1964) 568–581. G. Craig, M. Krishnamoorthy, and M. Palaniswami, Comparison of heuristic algorithms for the degree constrained minimum spanning tree. Metaheuristics: Theory and Applications (I. H. Osman and J. P. Kelly, Eds.). Kluwer, Boston (1996) 83–96. D. Elias and M. J. Ferguson, Topological design of multi-point teleprocessing networks. IEEE Trans. Commun. COM-22 (1974) 1753–1762. L. R. Esau and K. C. Williams, On teleprocessing system design. Part II—A method for approximating the optimal network. IBM Syst. J. 5 (1966) 142–147. B. Gavish, Formulations and algorithms for the capacitated minimal directed tree problem. J. Assoc. Comput. Machin. 30 (1983) 118–132. M. Gendreau, A. Hertz, and G. Laporte, A tabu search heuristic for the vehicle routing problem. Manag. Sci. 40 (1994) 1276–1290. F. Glover, Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 5 (1986) 533–549. F. Glover and M. Laguna, Tabu Search. Modern Heuristic Techniques for Combinatorial Problems (C. R. Reeves, Ed.). Blackwell, Oxford (1993) 70–150. L. Gouveia, A comparison of directed formulations for the capacitated minimal spanning tree problem. Telecommun. Syst. 1 (1993) 51–76. L. Gouveia, A 2n constraint formulation for the capacitated spanning tree problem. Oper. Res. 43 ( 1995 ) 130 – 141. P. Hansen, The steepest ascent mildest descent heuristic for combinatorial programming. Congress on Numerical Methods in Combinatorial Optimization, Capri (1986). A. Hertz, E´. Taillard, and D. de Werra, Tabu search. Local Search in Combinatorial Optimization (E. H. L.

W: Networks

758

CAPACITATED SHORTEST SPANNING TREE PROBLEM

Aarts and J. K. Lenstra, Eds.). Wiley, Chichester (1996). [15] M. Karnaugh, A new class of algorithms for multipoint network optimization. IEEE Trans. Commun. 24 (1976) 500–505. [16] A. Kershenbaum, Computing capacitated minimal spanning trees efficiently. Networks 4 (1974) 299–310. [17] A. Kershenbaum, R. R. Boorstyn, and R. Oppenheim, Centralized teleprocessing network design. Networks 13 (1983) 279–293. [18] K. Malik and G. Yu, A branch-and-bound algorithm for the capacitated minimum spanning tree problem. Networks 23 (1993) 525–532. [19] I. H. Osman, Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem. Ann. Oper. Res. 41 (1993) 421–451. [ 20] I. H. Osman and G. Laporte, Metaheuristics in combinatorial optimization: A bibliography. Ann. Oper. Res. 63 (1996) 513–628.

/ 8U0F$$0758

03-17-97 14:03:15

[ 21]

171

C. H. Papadimitriou, The complexity of the capacitated tree problem. Networks 8 (1978) 217–230.

[ 22 ]

R. C. Prim, Shortest connection networks and some generalizations. Bell Syst. Tech. J. 36 ( 1957 ) 1389 – 1401. [ 23 ] E´ . Taillard, Robust taboo search for the quadratic assignment problem. Parallel Comput. 17 ( 1991 ) 433 – 445. [ 24] E´. Taillard, Parallel iterative search methods for vehicle routing problems. Networks 23 (1993) 661–673. [ 25]

P. Toth and D. Vigo, An exact algorithm for the capacitated shortest spanning arborescence. Ann. Oper. Res. 61 (1995) 121–141.

[ 26]

G. Yu and M. L. Fisher, A Lagrangean optimization algorithm for the asymmetric non-uniform fleet vehicle routing problem. Working Paper 89-03-10, Decision Science Dept., The Wharton School, University of Pennsylvania (1989).

netwa

W: Networks

758