a tabu search heuristic for the steiner tree problem

11
A Tabu Search Heuristic for the Steiner Tree Problem Michel Gendreau, 1 Jean-Francois Larochelle, 2 Brunilde Sanso ` 3 1 Universite de Montreal, Departement d’Informatique et Recherche Operationnelle, Centre for Research on Transportation, Montreal, Quebec, Canada 2 Ecole Polytechnique de Montreal, Department of Mathematics and Industrial Engineering, GERAD, Montreal, Quebec, Canada 3 Ecole Polytechnique de Montreal, Department of Mathematics and Industrial Engineering, Centre of Research on Transportation and GERAD, 3000 Cote-Ste-Catherine, Montreal, Quebec H3C 3A7, Canada Received 23 February 1998; accepted 21 September 1998 Abstract: The Steiner Tree Problem (STP) in graphs is a well-known NP-hard problem. It has regained attention due to the introduction of new telecommunication technologies, such as ATM, since it appears as the inherent mathematical structure behind multicast communications. In this paper, we present a tabu search algorithm for the STP in graphs. The main feature of this algorithm is a sophisticated strategy for quickly obtaining a very good solution and powerful diversification mechanisms. Computational results on the benchmark problems of the OR-Library, for which optimal solutions are known, indicate that the proposed algorithm outperforms other recent heuristics. © 1999 John Wiley & Sons, Inc. Networks 34: 162–172, 1999 Keywords: Steiner; tabu; graphs; diversification 1. INTRODUCTION Let G( V, E) be a graph where V is the set of nodes, and E, the set of edges. V is partitioned into two subsets Z and S, where Z is the set of mandatory nodes and S is the set of Steiner or optional nodes. Every edge e [ E has a cost c ( e ) associated to it. The Steiner Tree Problem (STP) in graphs is then defined as the problem of finding a minimum cost subtree of G that includes the node set Z. The STP is encountered in many location, reliability, and network design applications. The telecommunications and computer science fields are particularly rich in problems that are classified as or can be reduced to the STP. Among them, we can cite the Hierarchical Network Design Problem (Balakrishnan [2]); the Dynamic Predicate Stashing Copy Problem (Sanso ` and Soumis [31], Walker and Sanso ` [38]), which constitutes an application for delivering information in largely distributed computer systems (such as the Web); and the Multi-cast Asymmetric Routing Problem (Ammar et al. [1]; Deering et al. [7]; Clark and Ammar [6], Kadirire and Knight [23]; Yuang et al. [41]), which is also present in Correspondence to: B. Sanso ` Contract grant sponsor: NSERC; contract grant number: STR 0166996 © 1999 John Wiley & Sons, Inc. CCC 0028-3045/99/020162-11 162

Upload: brunilde

Post on 06-Jun-2016

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A tabu search heuristic for the Steiner Tree Problem

A Tabu Search Heuristic for the SteinerTree Problem

Michel Gendreau,1 Jean-Francois Larochelle,2 Brunilde Sanso3

1 Universite de Montreal, Departement d’Informatique et Recherche Operationnelle,Centre for Research on Transportation, Montreal, Quebec, Canada

2 Ecole Polytechnique de Montreal, Department of Mathematics and Industrial Engineering,GERAD, Montreal, Quebec, Canada

3 Ecole Polytechnique de Montreal, Department of Mathematics and Industrial Engineering,Centre of Research on Transportation and GERAD, 3000 Cote-Ste-Catherine,Montreal, Quebec H3C 3A7, Canada

Received 23 February 1998; accepted 21 September 1998

Abstract: The Steiner Tree Problem (STP) in graphs is a well-known NP-hard problem. It has regainedattention due to the introduction of new telecommunication technologies, such as ATM, since it appearsas the inherent mathematical structure behind multicast communications. In this paper, we present a tabusearch algorithm for the STP in graphs. The main feature of this algorithm is a sophisticated strategy forquickly obtaining a very good solution and powerful diversification mechanisms. Computational results onthe benchmark problems of the OR-Library, for which optimal solutions are known, indicate that theproposed algorithm outperforms other recent heuristics. © 1999 John Wiley & Sons, Inc. Networks 34:162–172, 1999

Keywords: Steiner; tabu; graphs; diversification

1. INTRODUCTION

Let G(V, E) be a graph whereV is the set of nodes, andE,the set of edges.V is partitioned into two subsetsZ andS,whereZ is the set of mandatory nodes andS is the set ofSteiner or optional nodes. Every edgee [ E has a costc(e)associated to it. The Steiner Tree Problem (STP) in graphsis then defined as the problem of finding a minimum costsubtree ofG that includes the node setZ.

The STP is encountered in many location, reliability, andnetwork design applications. The telecommunications andcomputer science fields are particularly rich in problemsthat are classified as or can be reduced to the STP. Amongthem, we can cite the Hierarchical Network Design Problem(Balakrishnan [2]); the Dynamic Predicate Stashing CopyProblem (Sanso` and Soumis [31], Walker and Sanso` [38]),which constitutes an application for delivering informationin largely distributed computer systems (such as the Web);and the Multi-cast Asymmetric Routing Problem (Ammar etal. [1]; Deering et al. [7]; Clark and Ammar [6], Kadirireand Knight [23]; Yuang et al. [41]), which is also present in

Correspondence to:B. Sanso`Contract grant sponsor: NSERC; contract grant number: STR 0166996

© 1999 John Wiley & Sons, Inc. CCC 0028-3045/99/020162-11

162

Page 2: A tabu search heuristic for the Steiner Tree Problem

largely distributed computer systems or in general ATMnetworks.

The STP has been shown to be NP-hard for generalgraphs (Garey and Johnson [12]). As a result, the existingexact methods can only solve moderately sized instancesand heuristic approaches are required to tackle larger in-stances likely to be encountered in real-life applications ofthe problem.

One of the best-known heuristics for the STP is theMinimum Path Heuristic (MPH) by Takahashi and Ma-tsuyama [33], which is fast and provides good solutions.Other classical heuristics for the STP include the AverageDistance Heuristic (ADH) by Rayward-Smith [29], whichfinds better solutions than does MPH but is slower, and theDistance Network Heuristic (DNH) by Kou et al. [25].Mehlhorn’s implementation [26] of DNH is one of thefastest algorithms for the STP, but it produces solutionsinferior to those obtained by MPH. Plesnik’s ContractionHeuristic (CHR) [27, 28] is even faster than is DNH, but itis complicated to implement and produces only slightlybetter solutions than does DNH.

Over the last few years, the trend in STP heuristics hasbeen to move toward metaheuristics. Simulated annealing(SA) was studied by Dowsland [9] whose results seem toconfirm that SA is better than are classical methods. Es-bensen’s [11] genetic algorithm (GA) outperforms all of theprevious algorithms found in the literature. The downside ofGA is the CPU time required to solve a problem. Voss andGutenschwager [37] proposed a chunking-based geneticalgorithm (GAC) which is much faster than is GA but at thecost of a small decrease in the average solution quality.

In recent years, very good survey papers have beenpublished describing exact and heuristic algorithms for theSTP. We mention Winter [39], in which both exact andheuristic procedures are classified according to the sub-method employed. For heuristics, more recent surveys canbe found in Hwang et al. [22] and Voss [35, 36].

The purpose of this paper was to present a heuristicalgorithm for the STP that is based on tabu search. Tabusearch is a general heuristic approach that was first proposedby Glover [14] and, independently, by Hansen and Jaumard[18] under the name “steepest ascent-mildest descent.” Ithas been applied successfully to a number of difficult prob-lems such as vehicle routing (Gendreau et al. [13]), qua-dratic assignment (Chakrapani and Skorin-Kapov [5]),graph coloring (Hertz and de Werra [21]), timetabling(Hertz [19]), and many more. For more details on tabusearch, the reader is referred to Glover [15, 16], Glover et al.[17], and Hertz and de Werra [20].

To show that the tabu search approach is particularlywell suited for the STP, we tested our algorithm on thegraphs of the OR-Library that is maintained by J. E. Beasleyand compared our results to those obtained by Esbensen[11] and Voss and Gutenschwager [37]. In some earlier

work [25], it was already established that the basic versionof our tabu search heuristic outperforms classical heuristicssuch as MPH, ADH, DNH, and CHR.

The remainder of the paper is organized as follows: Thenext section is devoted to a brief review of the main con-cepts of tabu search and to a presentation of a basic tabusearch heuristic for the STP, which we have called“Tabusteiner.” Diversification techniques used to enhancethe efficiency of Tabusteiner are discussed in Section 3. Thedescription of the full Tabusteiner can be found in Section4. Computational results are reported in Section 5. Conclu-sions and recommendations for further work follow in Sec-tion 6.

2. BASIC TABUSTEINER

The general principles of tabu search algorithms were firstdescribed by Glover [14] and, independently, by Hansenand Jaumard [18]. Given a search or solution space definingpossible solutions, the basic idea of the approach is toexplore this search space by moving at each step from thecurrent solution to the best one in its “neighborhood.” Aneighborhood is defined as a set of possible solutions thatare found by applying an appropriate transformation of thecurrent solution. A key feature of tabu search is that itallows moves resulting in a degradation of the objectivefunction, thus avoiding the trap of local optimality. One ofthe fundamental objectives of the method is to prevent thesearch from cycling. This is accomplished by forbidding thechoice of moves to recently encountered solutions or movesthat “reverse” the effect of recent moves. Such moves aresaid to be “tabu.” The search can be intensified on somespecific types of solutions or it can be diversified to previ-ously unexplored portions of the solution space. Thus, manytabu search implementations present intensification or di-versification mechanisms embedded into the search, whichsignificantly enhance their performance.

A successful implementation of tabu search is oftenbased on a “tailor-made” type of algorithm. The neighbor-hood structure, the initial solution, the tabu moves, as wellas the special features (i.e., aspiration or diversification)must be specifically defined for every problem. In whatfollows, we proceed to define the main characteristics of ourtabu search implementation.

2.1. The Solution Space

Let K represent the set of all distinct subsets inS. Clearly,uKu 5 2uSu. Let Tk be a minimum spanning tree that containsall mandatory nodes (setZ), thekth subset of Steiner nodes,and some artificial edges if this set is disconnected. Thesolution space is defined as the setX of minimum spanningtrees,X 5 { Tk} k[K. Each element ofX can be identified byits subset of Steiner nodes. Note that when several minimum

TABU SEARCH HEURISTIC FOR STEINER TREE PROBLEM 163

Page 3: A tabu search heuristic for the Steiner Tree Problem

spanning trees exist for a given subset of Steiner nodes wearbitrarily choose one of them to be included inX.

2.2. The Neighborhood Structure

Given a particular solutionx [ X, the neighborhood of sucha solution is denoted byN( x). N( x) consists of the set ofminimum spanning trees that can be obtained by the re-moval or the addition of a single Steiner nodej [ S from/tothe current solutionx. For the algorithm to be efficient, thenew minimum spanning trees must be found by carefullymanipulating a rooted tree data structure. Such manipula-tion is presented in the next subsection.

2.3. Manipulations of a Rooted Tree

A rooted tree data structure is a structure where an arbitrarynode is designated as the root of the tree and has no “father.”All nodes connected to the root have this node as a “father.”The father of every other node is its unique neighbor on thesingle path connecting it to the root. With this data structure,each node is pointing to his single father.

When adding a node to a minimum spanning tree, everyincident edge can be a candidate to be included in the MST.

As in Figures 1–3, we must examine one edge at a time andtry to find all possible cycles. In the general case, we firstadd the node and its minimum-cost incident edge to thecurrent MST. Then, we add the other edges (lowest-costedges first) to the tree and try to break the cycle that has justbeen created to maintain an MST. To find a cycle in a rootedtree, we must “reroot” the tree with the new node as the rootand then simply look for the highest-cost edge in the pathbetween the root and the node at the other extremity of thenew added edge. These operations have a worst-case com-plexity of O(uNu), but an average-case complexity ofO(log(uNu)). Every time that an edge is removed from thetree, we must “refather” all nodes affected by that removal.

When a node is deleted from an MST (see Figs 4–6), allincident edges must also be deleted, thus creatings severeddisjoint subtrees. These subtrees must be reconnected usings 2 1 edges. Before we start looking for these edges, allnodes must be tagged to find which subtree they belong to,which takesO(uNu) operations. We then have to go throughall edges to find the best edge that connects the two subtrees[O(uEu)]. Of the (s 2 1)2 possible connecting edges, wemust choose thes 2 1 edges that will reconnect the tree.This is can be done using methods similar to those used inKruskal’s or Prim’s algorithms. We then add those edges toform a new rooted tree [O(uNu)].

Fig. 1. Adding a new node with two edges.

Fig. 2. Rerooting and creating a cycle.

Fig. 3. Deleting the extra edge.

Fig. 4. Deleting a node and its edges.

164 GENDREAU, LAROCHELLE, AND SANSO

Page 4: A tabu search heuristic for the Steiner Tree Problem

2.4. The Initial Solution

The initial solution of the Tabusteiner must be a minimumspanning tree that includes all the mandatory nodes. A goodinitial solution has a better chance to lead to a good solution.

In this work, we use the Minimum Path Heuristic (MPH)proposed by Takahashi and Matsuyama [33] to find a goodinitial solution. The principle behind the MPH algorithm issimilar to the one used in Prim’s algorithm. Instead oflinking the nearest vertex to a tree (as in Prim’s), MPH linksthe nearest mandatory node to the current tree by the short-est path in the full graph. The algorithm stops when allmandatory nodes belong to the current solution tree. Thestarting node (the first node included in the solution tree)can be chosen randomly, but as shown by Winter andMacGregor Smith [40], it is better to try every node as thestarting node and then choose the best solution. Rayward-Smith and Clare [30] proposed to run a minimum spanningtree algorithm on the subtree of the full graph induced bythe nodes of the solution, because there exists some caseswhere the solution found by MPH is not a minimum span-ning tree.

In this work, we used the MPH-S variant of the MPHwhere we tried every node as the starting node of thealgorithm. We also implemented the added trim proposedby Rayward-Smith and Clare.

2.5. Tabu Moves and Aspiration Criteria

Each move of the tabu search consists of adding to ordeleting from the current solution a single Steiner node.Once a node is chosen, it is declared tabu for a number ofiterations (“tabu tenure”), thus preventing the reversal of themove just performed during that period. Instead of using atabu list of fixed length, nodes receive tabu tags that arerandomly drawn from a finite interval. The aspiration crite-rion, on the other hand, is very simple: When a tabu solutionproduces a minimum spanning tree with a value lower thanany other solution previously obtained, then the tabu islifted.

2.6. The Basic Tabusteiner

First, let us define some useful notation:

T minimum spanning tree representing thecurrent solution

C set of nodes in the current solution treeT

T* best solution obtained up to that point inthe search

C* set of nodes in solution treeT*

Som(T) cost of treeT

iter(T*) iteration at which treeT* was obtained

Tabu( j ) iteration at which the tabu on nodej be-comes inactive

nbtimes( j ) number of times nodej has been chosen todefine the move to the next solution

w node chosen to define the next solution

P( j ) value of the tree obtained if nodej isadded or deleted from the current solu-tion

limit maximum number of iterations allowedbefore stopping the search procedure

Random(l , u) a random number drawn from uniformdistribution onl , l 1 1, . . . , u

penalty as defined in Section 3 (set to 0 if diver-sification is not used)

The basic Tabusteiner can now be defined in three simplesteps, as follows. The continuous diversification is ex-plained in the next section:

Basic Tabusteiner:

STEP 1. Build an initial tree.

STEP 2. Consider all Steiner nodes using the procedureadd_or_delete_node.Determine the most favorabletransformation that respects tabus and accounts for theadded penalty from the continuous diversification. De-Fig. 5. Creating subtrees and their edges.

Fig. 6. Rebuilding the MST.

TABU SEARCH HEURISTIC FOR STEINER TREE PROBLEM 165

Page 5: A tabu search heuristic for the Steiner Tree Problem

termine the tabu tenure of the new transformation andupdate treeT and T*. Increase the counter and repeatuntil the stopping criterion is met. The code for this stepis depicted in Figure 7.

STEP 3. TreeT* is the solution of the problem.

The core of Tabusteiner is the procedureadd_or_delete_node( j ). It is basically in charge of recomputing the solu-tion when a node is added or deleted. Letj be a node “sent”for processing. Ifj is part of the current solution, then weremove the nodej , else we addj to the current solution. Ineither case, the new solution is recomputed. We now pro-ceed to the description of the code provided in Figure 7.

The procedure is embedded in awhile loop (2.1) thatterminates when the number of iterations has been reached.While this limit is not reached, instructions (2.2)–(2.3) tryevery possible transformation with theadd_or_delete_nodeprocedureand memorize the cost of each transforma-tion in P( j ).

According to instruction (2.4), a transformation is se-lected if it is nontabu [Tabu( j ) # iteration] or if it satisfiesthe aspiration criterion [P( j ) , Som(T*)]. The instructions(2.6)–(2.10) are in charge of updating the current solutions(2.6)–(2.7), the variablenbtimes(2.8), the Tabu list (2.9),and the best solution tree if necessary (2.10).

3. DIVERSIFICATION TECHNIQUES

In previous applications, the performance of tabu search hasbeen notably improved by the introduction of diversificationtechniques which are used to lead the search to previouslyunexplored areas of the solution space (see, e.g., Soriano

and Gendreau [32]). Two types of diversification are con-sidered in this work: continuous and path diversification.

3.1. Continuous Diversification

The continuous diversification method is based on the me-dium-term and long-term memories of the search. The gen-eral idea consists of removing the nodes that have been along time in the solution while favoring the introduction ofthose nodes that have not yet been chosen. This is done bypenalizing or favoring the choice of certain nodes, adding orsubtracting a penalty function to the cost of the tree result-ing after the node is processed. This procedure is found inthe basic Tabusteiner. The log penalty was proposed bySoriano and Gendreau [32] in their paper about continuousdiversification for the maximal clique problem.

Let n be the number of times a node has appeared inprevious solutions, andm, the number of iterations since acertain node has been continuously present in the solution,the penalty attributed to a node being processed is calcu-lated as follows (see Fig. 8):

3.2. Path Diversification

Path diversification stops the search for a better solutionafter a number of iterations without improvement. It is then

Fig. 7. Pseudocode for the Basic Tabusteiner.

Fig. 8. Pseudocode for the penalty function.

166 GENDREAU, LAROCHELLE, AND SANSO

Page 6: A tabu search heuristic for the Steiner Tree Problem

restarted from the current best solution with an added newpath between two nodes (i , j ) of the solution. We choose thepath with the the largest difference between the distance ofthe shortest path (i , j ) in the solution and the distance of theshortest path (i , j ) in the original graph for pairs of vertices(i , j ) which belong to different subtrees of the rooted treerepresentation of the current solution (for efficient imple-mentation). Nodes of this path which do not belong to thecurrent solution are added one at a time in order to maintaina minimum spanning tree.

The main difficulty with this approach is to assess thenumber of iterations prior to executing the diversification.In the computational section, we tested different values forthe number of iterations in the path diversification. Thisdiversification mechanism was not included in the basicTabusteiner because of the low frequency of its use and thecost in computational time.

If we denote bylastimp the last iteration in which an

improvement was obtained with respect to the best solutionsince the last path diversification (not the overall best solu-tion) andstopdivas the number of iterations without im-provement before activating the path diversification, thepath diversification can be formally described by the fol-lowing instruction:

if lastimp1 stopdiv# iteration then T:

5 T* ø path~i , j ! and lastimp :5 iteration.

4. FULL TABUSTEINER

The full Tabusteiner is an algorithm that includes an exten-sive search for an initial solution. We then apply the basicTabusteiner with all diversification mechanisms on thisinitial solution to find the STP.

TABLE I. Reduced graphs

TABU SEARCH HEURISTIC FOR STEINER TREE PROBLEM 167

Page 7: A tabu search heuristic for the Steiner Tree Problem

The search for an initial solution is done by selecting the100 best different trees found by the MPH-S algorithm. Thebasic Tabusteiner is run (without the path diversification)considering each of 100 trees as an initial solution and witha maximum number of iterations without improvement setto 20. From the 100 solutions obtained, the best solution ispicked to be our initial solution for the next step. This initialsearch is called “partial Tabusteiner” (P-Tabu).

We could possibly apply the remaining steps of thealgorithm to more than one of the 100 tabu solutions. Thiswould amount to do a multithread search which we call theMulti-Thread Tabusteiner.

In the final step of the Full Tabusteiner (F-Tabu), withone of the chosen initial solutions, we run a basicTabusteiner (with all diversifications) with a number of

maximum number of iterations set to twice the number ofnodes. The best solution found is the final solution to theSTP.

Full Tabusteiner.

TABLE II. Tabu tenures

TABLE III. Solution quality (in percent over optimum) and computational times for reduced c and dgraphs

168 GENDREAU, LAROCHELLE, AND SANSO

Page 8: A tabu search heuristic for the Steiner Tree Problem

STEP 1. Select the 100 best different trees found from theMPH-S algorithm.

STEP 2. Run the basic Tabusteiner with each tree as theinitial solution and with a maximum number of iterationswithout improvement set to 20.

STEP 3. Select thet best different trees (usuallyt 5 1, elseMulti-Thread Tabusteiner).

STEP 4. Run the basic Tabusteiner (with all diversificationprocedures) for each of thet trees as the initial solutionand with a maximum number of iterations without im-provement equal to twice the number of nodes.

STEP 5. The best treeT* is the solution.

5. COMPUTATIONAL RESULTS

To evaluate the quality of the solutions found byTabusteiner, its results are compared with optimal solutionson a set of test problems of the OR-Library (series C, D, andE) which is managed by John Beasley [3, 4] and is acces-sible through the Web (mscmga.ms.ic.ac.uk). The tests forthe Tabusteiner were done on a Ultra Sparc 1 (170). Thetests for the Esbensen and Voss algorithms were performedby Voss and Gutenschwager on a Pentium 90 for the C-Graphs and on a Pentium 200 for the D-Graphs. The UltraSparc 1 (170) has an int-spec about 10% faster than thePentium 200. All CPU times in all tables are in seconds. Ourresults on E-Graphs are compared only to Esbensen’s resultbecause Voss did not test his algorithm on those problems.For this series, the CPU times could not be comparedbecause of a difference in the evaluation of the processingtime.

As proposed by Esbensen [11], the following reductiontechniques are used to “clean up” the instances:

● Remove nodes of degree of 1.● Replace Steiner nodes of degree of 2 with a larger edge.● Remove edges (i , j ) larger than the minimum path be-

tween nodes (i , j ).● Contract edges for some close mandatory nodes.

Because of the use of different data structures, the size ofthe reduced graphs differs slightly from the results obtainedby Esbensen and by Voss and Gutenschwager [37] (seeTable I).

Because Tabusteiner has some random elements in itscore, we performed each tests of the C and D graphs threetimes so that we could iron out some random variations inthe results.

The optimal range of tabu tenures varies with the numberof nodes in the graphs. These durations are obtained bytesting a very large number of graphs and different ranges ofdurations. Most of these graphs were randomly generatedand tested in our earlier work [25]. We report the best valuesfound in Table II.

In Table III, we compare the results on the C and Dgraphs for the MPH-S algorithm, Esbensen’s algorithm,Voss’s algorithm, a partial Tabusteiner (we stop after thefirst two steps of the full Tabusteiner), and the fullTabusteiner. Note that the multi-thread Tabusteiner resultswill be later presented.

The full Tabusteiner (F-Tabu) produces the best solu-tions and has very good solution times compared to thegenetic algorithms. The MPH-S algorithm has the fastestsolution time but it has an average solution quality that is

TABLE IV. Solution quality versus number of threads

TABLE V. Solution quality versus path diversification

TABU SEARCH HEURISTIC FOR STEINER TREE PROBLEM 169

Page 9: A tabu search heuristic for the Steiner Tree Problem

slightly over those of Voss’s algorithm. As for the Voss’salgorithm, it has a good average solution time whencompared to Esbensen’s algorithm. We can see that thegreatest improvement of Tabusteiner comes from the useof the basic Tabusteiner on the 100 best trees of MPH-S(P-Tabu).

As mentioned before, we implemented a multithreadversion of Tabusteiner. In Table IV, the results obtainedwhen the number of threads is increased are portrayed. Ascan be seen, the multithread Tabusteiner can bring an im-provement to the solution quality but at the cost of anincrease in CPU time.

In Table V, we show the implication of the use of pathdiversification on the solution quality. As we performed morepath diversifications, we noticed a small improvement in thequality of the results. But at a certain point, the path diversi-fication may hinder the search for a better solution by stoppingit short in a neighborhood of a potentially good solution.

In Table VI, the results for the full Tabusteiner withdifferent stopping criteria are compared. This stopping cri-terion is based on the number of nodes in the initial graphs.As we increase the stopping criterion, a large increase in theCPU time is noticed and a much smaller increase in the

solution quality. With these results, we decided to choosetwice the number of nodes in the problem as the number ofiterations without improvement for the stopping criterion.

In Tables VII and VIII, we compare the quality of ourresults to the solutions of Esbensen (as previously men-tioned, Voss did not test the E graphs). In Table VII, wereport the results of the reduction procedure (as used byEsbensen). As can be appreciated from Table VIII,Tabusteiner clearly outperforms the Esbensen algorithm.When the 4-Thread Tabusteiner is used, the difference iseven more marked.

6. CONCLUSIONS

In this paper, we have presented a tabu search algorithm(“Tabusteiner”) to solve the Steiner tree problem in graphs.To assess the efficiency of the procedure, Tabusteiner wasapplied to a library of medium-to-large-sized problems forwhich the optimal solution is known and the results werecompared to the best two genetic algorithms found in theliterature. From these comparisons, it is clear thatTabusteiner outperforms the genetic algorithms. The Multi-

TABLE VI. Solution quality versus tabu stopping criterion

TABLE VII. Reduced E graphs

170 GENDREAU, LAROCHELLE, AND SANSO

Page 10: A tabu search heuristic for the Steiner Tree Problem

Thread version of the Tabusteiner can obtain even bettersolutions but requires higher CPU times.

The authors are grateful to Stefan Voss for fruitful discussions.

REFERENCES

[1] M.H. Ammar, S.Y. Cheung, and C.M. Scoglio, “Routingmultipoint connections using virtual paths in an ATM net-work, IEEE INFOCOM ’93, The Conf on Computer Com-munications Proc, Vol. 1, 1993, pp. 95–105.

[2] A. Balakrishnan, T.L. Magnanti, and P. Mirchandani, Mod-eling and heuristic worst-case performance analysis of thetwo-level network design problem, Mgmt Sci 40 (1994),847–867.

[3] J.E. Beasley, Algorithm for the Steiner problem in graphs,Networks 14 (1984), 147–169.

[4] J.E. Beasley, An SST-based algorithm for the Steiner prob-lem in graphs, Networks 19 (1989), 1–16.

[5] J. Chakrapani and J. Skorin-Kapov, Massively parallel tabusearch for the quadratic assignment problem, Ann Oper Res41 (1993), 327–342.

[6] R. Clark and M. Ammar, “Providing scalable web serviceusing multicast delivery,” Proc Second International Work-shop on Services in Distributed and Networked Environ-ments SDNE 95, IEEE Comp Soc Press, 1995, pp. 19–26.

[7] S. Deering, D. Estrin, D. Farinacci, V. Jacobson, C.-G. Liu,and L. Wei, An architecture for wide-area multicast, ComputCommun Rev 24-4 (1994), 126–135.

[8] R. Dionne and M. Florian, Exact and approximate algorithmsfor optimal network design, Networks 9 (1979) 37–59.

[9] K.A. Dowsland, Hill-climbing, simulated annealing and theSteiner problem in graphs, Eng Optim 17 (1991), 91–107.

[10] C.W. Duin and A. Volgenant, Reduction tests for theSteiner problem in graphs, Networks 19 (1989), 549–567.

[11] H. Esbensen, Computing near-optimal solutions to theSteiner problem in a graph using a genetic algorithm, Net-works 26 (1995), 173–185.

[12] M.R. Garey and D.S. Johnson, Computers and intractability:A guide to the theory of NP-completeness, W. H. Freeman,San Francisco, 1971.

[13] M. Gendreau, A. Hertz, and G. Laporte, A tabu searchheuristic for the vehicle routing problem, Mgmt Sci 40(1994), 1276–1290.

[14] F. Glover, Future paths for integer programming and linksto artificial intelligence. Comput Oper Res 13 (1986), 533–549.

[15] F. Glover, Tabu search—Part I, ORSA J Comput 1 (1989),190–206.

[16] F. Glover, Tabu search—Part II. ORSA J Comput 2 (1990),4–32.

[17] F. Glover, E. Taillard, and D. de Werra, A user’s guide totabu search, Ann Oper Res 41 (1993), 3–28.

[18] P. Hansen and B. Jaumard, Algorithms for the maximumsatisfiability problem, RUTCOR Research Report 43-87,Rutgers, New Brunswick, NJ, 1986.

[19] A. Hertz, Finding a feasible course schedule using tabusearch, Discr Appl Math 35 (1992), 255–270.

[20] A. Hertz and D. de Werra, Tabu search techniques—Atutorial and application to neural networks, Oper Res Spekt11 (1989), 131–141.

[21] A. Hertz and D. de Werra, Using tabu search techniques forgraph coloring, Computing 39 (1987), 345–351.

TABLE VIII. Solution quality and computational time for reduced E graphs

TABU SEARCH HEURISTIC FOR STEINER TREE PROBLEM 171

Page 11: A tabu search heuristic for the Steiner Tree Problem

[22] F.K. Hwang, D.S. Richards, and P. Winter, The Steiner treeproblem, Ann Discr Math 53 (1992), 151–176.

[23] J. Kadirire and G. Knight, Comparison of dynamic mul-ticast routing algorithms for wide-area packet-switchedATM networks, IEEE Conf Comput Commun 1 (1995),212–219.

[24] L.T. Kou, G. Markowsky, and L. Berman, A fast algorithmfor Steiner trees, Acta Inf 15 (1981), 141–145.

[25] J.-F. Larochelle, A tabu search heuristic for the Steiner treeproblem in graphs, Master Thesis Ecole Polytechnique deMontreal, 1995, p. 105.

[26] K. Mehlhorn, A faster approximation algorithm for theSteiner problem in graphs, Inf Process Lett 27 (1988),125–128.

[27] J. Plesnik, A bound for the Steiner problem in graphs, MathSlov 31 (1981), 155–163.

[28] J. Plesnik, Heuristics for the Steiner problem in graphs,Discr Appl Math 37/38 (1992), 451–463.

[29] V.J. Rayward-Smith, The computation of nearly minimalSteiner trees in graphs, Int J Math Ed Sci Technol 14(1983), 15–23.

[30] V.J. Rayward-Smith and A. Clare, On finding Steiner ver-tices, Networks 16 (1986), 283–294.

[31] B. Sanso` and F. Soumis, The dynamic predicate stashingcopy problem, Networks 23 (1993), 681–690.

[32] P. Soriano and M. Gendreau, Diversification strategies intabu search algorithms for the maximum clique problem,Annals of Operations Research 63 (1996), 189–207.

[33] H. Takahashi and A. Matsuyama, An approximate solution forthe Steiner problem in graphs, Math Jpn 24 (1980), 573–577.

[34] M.G.A. Verhoeven, M.E.M. Severens, and E.H.L. Aarts,“Local search for Steiner trees in graphs,” Modern heuristicsearch methods, 1996, pp. 117–129.

[35] S. Voss, Steiner’s problem in graphs: Heuristic methods,Discr Appl Math 40 (1992), 45–72.

[36] S. Voss, Worst-case performance of some heuristics forSteiner’s problem in directed graphs, Inf Process Lett 48(1993), 99–105.

[37] S. Voss and K. Gutenschwager, “A chunking based geneticalgorithm for the Steiner tree problem in graphs,” NetworkDesign: Connectivity and Facilities Location, DIMAC se-ries in Discrete Mathematics and Theoretical ComputerScience 40, P.M. Pardalos and D. Du (Editors), AMS,Providence, 1998, pp. 335–355.

[38] B. Walker and B. Sanso`, A state transition graph approachto managing redundancy in a distributed computer network,Operations Research 46(3) (1998), 305–315.

[39] P. Winter, Steiner problem in networks: A survey, Networks17 (1987), 129–167.

[40] P. Winter and J. MacGregor Smith, Path-distance heuristicsfor the Steiner problem in undirected networks, Algorith-mica 7 (1992), 309–327.

[41] M. Yuang, Y.G. Chen, and M.T. Yen, “Optimal multicastrouting for ATM networks,” 20th Conf on Local ComputerNetworks Proc, October 1995, Minneapolis, MN.

172 GENDREAU, LAROCHELLE, AND SANSO