tabu search for the steiner problem in graphs

9
Tabu Search for the Steiner Problem in Graphs Celso C. Ribeiro Department of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro, RJ 22453-900, Brazil Maurício C. De Souza Department of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro, RJ 22453-900, Brazil Given an undirected graph with weights associated with its edges, the Steiner tree problem consists of find- ing a minimum-weighted subgraph spanning a given subset of nodes (terminals) of the original graph. In this paper, we describe a tabu search algorithm for the Steiner problem in graphs, based on a neighborhood defined by insertions and eliminations of Steiner nodes. Move estimations, elimination tests, and neighborhood- reduction techniques are used to speed up the local search, leading to a very fast algorithm with very good results in terms of solution quality. Computational ex- periments on benchmark problems are reported, com- paring the behavior of the proposed tabu search al- gorithm with that of other heuristics from the litera- ture. Tabu search clearly outperforms other heuristics in terms of computation times, obtaining better or com- parable solutions. © 2000 John Wiley & Sons, Inc. Keywords: combinatorial optimization; Steiner problem; graphs; local search; metaheuristics; tabu search 1. INTRODUCTION Let G =(V, E) be a connected undirected graph, where V is the set of nodes and E denotes the set of edges. Given a nonnegative weight function w : E R + associated with its edges and a subset X V of ter- minal nodes, the Steiner problem SPG(V, E, w, X) con- sists of finding a minimum-weighted connected subtree of G spanning all terminal nodes in X. The solution of SPG(V, E, w, X) is a Steiner minimum tree. The nonter- minal nodes that end up in the Steiner minimum tree are called Steiner nodes. The Steiner problem in graphs is a classic combi- natorial optimization problem (see, e.g., Hwang et al. [10], Maculan [14], and Winter [27] for surveys on for- mulations, special cases, exact algorithms, and heuris- Received October 1998; accepted April 2000 Correspondence to: C. C. Ribeiro; e-mail: [email protected] c 2000 John Wiley & Sons, Inc. tics). Karp [12] showed that its decision version is NP- complete in the general case. Applications can be found in many areas, such as telecommunication network de- sign, VLSI design, and computational biology, among others. Due to its NP-hardness, several heuristics have been developed for its approximate solution (see, e.g., Duin and Voss [7], Hwang et al. [10], and Voss [25] for recent surveys). Constructive methods have been proposed, for exam- ple, by Choukmane [3], Kou et al. [13], Minoux [17], Plesník [18], Rayward-Smith and Clare [20], and Taka- hashi and Matsuyama [22]. Among the most efficient ap- proximate algorithms, we find implementations of meta- heuristics such as genetic algorithms (Esbensen [8] and Kapsalis et al. [11]), tabu search (Duin and Voss [6], Gendreau et al. [9], and Xu et al. [29, 30]), GRASP (Martins et al. [15] and Martins et al. [16]), and simu- lated annealing (Dowsland [4]). Improvement heuristics based on the insertion of Steiner nodes have been pro- posed by Minoux [17] and Voss [24]. Xu et al. [29, 30] described a tabu search heuristic for the Steiner tree- star problem. Their algorithm is based on a neighbor- hood defined by Steiner node insertions, eliminations, and exchanges. Move estimations are used to speed up the search. More recently, Gendreau et al. [9] pro- posed a tabu search heuristic for the Steiner problem in graphs. Their approach is also based on neighborhoods defined by insertions and eliminations of Steiner nodes. In this paper, we present another tabu search heuristic based on the same type of neighborhood. Our approach comprises several extensions and improvements with re- spect to theirs. Move estimations, eliminations tests, and neighborhood-reduction techniques are used to speed up the local search and lead to a much faster algorithm, with similar performance in terms of solution quality. In the next section, we present the neighborhood struc- ture used by our tabu search algorithm. Each solution is characterized by its set of Steiner nodes. Two types of moves are defined. In Sections 3 and 4, respectively, we describe in detail the mechanisms used for the evalua- NETWORKS, Vol. 36(2), 138–146 2000

Upload: celso-c-ribeiro

Post on 06-Jun-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tabu search for the Steiner problem in graphs

Tabu Search for the Steiner Problem in Graphs

Celso C. RibeiroDepartment of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro, RJ 22453-900, Brazil

Maurício C. De SouzaDepartment of Computer Science, Catholic University of Rio de Janeiro, Rio de Janeiro, RJ 22453-900, Brazil

Given an undirected graph with weights associated withits edges, the Steiner tree problem consists of find-ing a minimum-weighted subgraph spanning a givensubset of nodes (terminals) of the original graph. Inthis paper, we describe a tabu search algorithm for theSteiner problem in graphs, based on a neighborhooddefined by insertions and eliminations of Steiner nodes.Move estimations, elimination tests, and neighborhood-reduction techniques are used to speed up the localsearch, leading to a very fast algorithm with very goodresults in terms of solution quality. Computational ex-periments on benchmark problems are reported, com-paring the behavior of the proposed tabu search al-gorithm with that of other heuristics from the litera-ture. Tabu search clearly outperforms other heuristicsin terms of computation times, obtaining better or com-parable solutions. © 2000 John Wiley & Sons, Inc.

Keywords: combinatorial optimization; Steiner problem;graphs; local search; metaheuristics; tabu search

1. INTRODUCTION

Let G = (V, E) be a connected undirected graph,where V is the set of nodes and E denotes the set ofedges. Given a nonnegative weight function w : E → R+

associated with its edges and a subset X ⊆ V of ter-minal nodes, the Steiner problem SPG(V, E, w, X) con-sists of finding a minimum-weighted connected subtreeof G spanning all terminal nodes in X. The solution ofSPG(V, E, w, X) is a Steiner minimum tree. The nonter-minal nodes that end up in the Steiner minimum tree arecalled Steiner nodes.

The Steiner problem in graphs is a classic combi-natorial optimization problem (see, e.g., Hwang et al.[10], Maculan [14], and Winter [27] for surveys on for-mulations, special cases, exact algorithms, and heuris-

Received October 1998; accepted April 2000Correspondence to: C. C. Ribeiro; e-mail: [email protected]

c© 2000 John Wiley & Sons, Inc.

tics). Karp [12] showed that its decision version is NP-complete in the general case. Applications can be foundin many areas, such as telecommunication network de-sign, VLSI design, and computational biology, amongothers. Due to its NP-hardness, several heuristics havebeen developed for its approximate solution (see, e.g.,Duin and Voss [7], Hwang et al. [10], and Voss [25] forrecent surveys).

Constructive methods have been proposed, for exam-ple, by Choukmane [3], Kou et al. [13], Minoux [17],Plesník [18], Rayward-Smith and Clare [20], and Taka-hashi and Matsuyama [22]. Among the most efficient ap-proximate algorithms, we find implementations of meta-heuristics such as genetic algorithms (Esbensen [8] andKapsalis et al. [11]), tabu search (Duin and Voss [6],Gendreau et al. [9], and Xu et al. [29, 30]), GRASP(Martins et al. [15] and Martins et al. [16]), and simu-lated annealing (Dowsland [4]). Improvement heuristicsbased on the insertion of Steiner nodes have been pro-posed by Minoux [17] and Voss [24]. Xu et al. [29, 30]described a tabu search heuristic for the Steiner tree-star problem. Their algorithm is based on a neighbor-hood defined by Steiner node insertions, eliminations,and exchanges. Move estimations are used to speedup the search. More recently, Gendreau et al. [9] pro-posed a tabu search heuristic for the Steiner problem ingraphs. Their approach is also based on neighborhoodsdefined by insertions and eliminations of Steiner nodes.In this paper, we present another tabu search heuristicbased on the same type of neighborhood. Our approachcomprises several extensions and improvements with re-spect to theirs. Move estimations, eliminations tests, andneighborhood-reduction techniques are used to speed upthe local search and lead to a much faster algorithm,with similar performance in terms of solution quality.In the next section, we present the neighborhood struc-ture used by our tabu search algorithm. Each solutionis characterized by its set of Steiner nodes. Two typesof moves are defined. In Sections 3 and 4, respectively,we describe in detail the mechanisms used for the evalua-

NETWORKS, Vol. 36(2), 138–146 2000

Page 2: Tabu search for the Steiner problem in graphs

tion of insertion and elimination moves. The local searchprocedure is sketched in Section 5. Section 6 describesthe tabu search procedure in detail, including initial so-lution and diversification procedures. Computational ex-periments on benchmark problems are reported in Sec-tion 7, together with some comparisons with other algo-rithms in the literature. Concluding remarks are made inSection 8.

2. NEIGHBORHOOD STRUCTURE

Given any set S ⊆ V\X of Steiner nodes, it can beassociated with a Steiner tree T(S) corresponding to aminimum spanning tree of the graph induced in G byS ∪ X. Let S∗ be the set of Steiner nodes in the opti-mal solution of SPG(V, E, w, X). Then, the Steiner mini-mum tree T(S∗) is also a minimum spanning tree of thegraph induced in G by the node set S∗ ∪ X. Moreover,let w(S) be the weight of T(S), given by the sum of itsedge weights. Accordingly, the search for a Steiner min-imum tree amounts to the search for an optimal set S∗

of Steiner nodes, such that w(S∗) = mins⊆V\X{w(S)}.Now, let S be a set of Steiner nodes and T(S) be the

associated Steiner tree. The neighbors of solution T(S)are defined by all sets of Steiner nodes which can beobtained either by adding to S a new nonterminal node(insertion moves) or by eliminating from S one of itsSteiner nodes (elimination moves). There is exactly onepossible move associated with each nonterminal node.For any nonterminal node s /∈ S, we denote by T+s(S) =T(S∪{s}) a minimum spanning tree of the graph inducedin G by (S∪{s})∪X, as the result of the insertion of nodes into S. Analogously, for any nonterminal node s ∈ S,we denote by T−s(S) = T(S\{s}) a minimum spanningtree of the graph induced in G by (S\{s}) ∪ X, as theresult of the elimination of node s from S.

The move value associated with the insertion (respec-tively, elimination) of a nonterminal node s /∈ S (respec-tively, s ∈ S) is given by δ(s) = w(T+s(S)) − w(T(S))(respectively, δ(s) = w(T−s(S)) − w(T(S))). For any non-terminal node s ∈ S, the evaluation of the associatedelimination move has to be performed through the entirecomputation from scratch of a minimum spanning treeof the graph induced in G by the node set (S\{v})∪X. Bycontrast, for any nonterminal node s /∈ S, the evaluationof the associated insertion move can be performed withmuch smaller complexity in linear time by the updateprocedure proposed by Spira and Pan [21]. Alternatively,we used a much faster estimation procedure described inthe next section. This procedure makes use of a depth-first search tree of the current Steiner tree T(S) rooted atan arbitrarily chosen node r.

3. INSERTION MOVES

Let S be the set of Steiner nodes in the current Steinertree T(S).

A nonterminal node s /∈ S whose insertion into S re-duces the cost of the current tree will necessarily havedegree at least two in T+s(S). To speed up the neighbor-hood search, we propose to estimate the value of suchpossibly improving insertion moves by a very fast pro-cedure running in linear time, instead of evaluating theexact value of each insertion move. Let a and b be theextremities of the two minimum-weight edges connect-ing s to the nodes in S ∪ X, with wsa ≤ wsb without lossof generality. Since both a and b belong to S ∪ X, theinsertion of edges (s, a) and (s, b) will create a cycle inT(S). Let tab be the maximum edge weight in the uniquepath connecting a and b within T(S). Then, the differ-ence δ̂(s) = wsa + wsb − tab is an upper bound to themove value δ(s). This estimation is exact whenever theoptimal connection of s to the current tree T(S) is madethrough the two minimum-weight edges (s, a) and (s, b).

Let s /∈ S be a nontabu, nonterminal node candidate toinsertion. The following reduction and acceleration rulesapply in the evaluation of move value δ(s):

1. If s is not connected to any node in S ∪ X, then theassociated move can be discarded or, equivalently, onemay set the estimation δ̂(s) = ∞, since the graphinduced in G by S ∪ X ∪ {s} will not be connected.

2. If s is connected to the nodes in S ∪ X by exactlyone edge, say (s, t), t ∈ S ∪ X, then we may set theestimation δ̂(s) = wst since T(S∪{s}) will be obtainedby adding (s, t) to T(S).

3. If s is connected to the nodes in S ∪ X by two ormore edges and wsa is greater than or equal to theweight of a maximum-weight edge in T(S), then theassociated move deteriorates the current solution andwill be discarded or, equivalently, one may estimateδ̂(s) = ∞, since the resulting tree will necessarilyhave a greater weight.

4. Otherwise, the insertion of s possibly is an improvingmove, whose value δ(s) may be estimated by δ̂(s) =wsa + wsb − tab as above described.

A key-path [4, 23] is a path within the current solu-tion T(S) whose extremities are terminal nodes or Steinernodes with degree greater than or equal to three andwhose intermediary nodes are Steiner nodes with de-gree two. To enforce insertion moves which may leadto the elimination of Steiner nodes in forthcoming iter-ations, whenever rule 4 above is applied to compute anestimation δ̂(s) = wsa + wsb − tab of the insertion moveassociated with node s, each key-path is considered as ifit was a single edge whose weight is equal to that of thewhole key-path.

All insertions of nontabu, nonterminal nodes are ei-ther discarded or estimated as described above. Let s′ =argmin s∈V\(X∪S) {δ̂(s) : s is not a tabu node} be thecandidate node for insertion with the best estimation

NETWORKS–2000 139

Page 3: Tabu search for the Steiner problem in graphs

among all nontabu nodes. Only now (and only once forall insertions of nontabu nodes) the exact move valueδ(s′) = w(T+s′

(S))−w(T(S)) associated with the insertionof s′ into S is computed. If δ(s′) < 0, then the insertionof the selected nontabu node s′ into S is an improvingmove.

The above procedure is very fast, since the estimationof each move value can be performed in linear time onthe number of nodes in the cycle formed by the insertionof edges (s, a) and (s, b) into the current tree T(S), forexample, by the algorithm described by Barr et al. [1].Basically, a depth-first search tree of T(S) rooted at anarbitrarily chosen node r is traversed upward from a andb, until a common ancestor of a and b is found. The valuetab is the weight of the largest edge among all those in thepaths from a and b to this common ancestor. We noticethat this procedure is much faster than is the exact moveevaluation by the updating algorithm of Spira and Pan[21], whose complexity is linear in the number of nodes|X ∪ S| in the current solution.

The classical aspiration criterion is used: The inser-tion of a tabu node may be selected whenever it improvesthe weight of the current best solution. Accordingly, in-sertion moves involving tabu nodes have to be exactlyevaluated, as far as the weight of the associated neigh-bor solution has to be compared with that of the currentbest. For each nonterminal tabu node s /∈ S, the evalua-tion of δ(s) = w(T+s(S))−w(T(S)) needs the computationof a minimum spanning tree T+s(S) of the graph inducedin G by (S ∪ {s}) ∪ X.

In case the best insertion move improves the currentsolution, it is selected and made effective by the localsearch procedure. Elimination moves are evaluated andcompared with the best nonimproving insertion only incase no improving insertion moves are found. This strat-egy strongly reduces the computation times involved inthe neighborhood search.

4. ELIMINATION MOVES

It was already noticed that the complexity of the eval-uation of insertion moves is much smaller than that ofelimination moves. Preliminary numerical results havealso shown that the evaluation of elimination moves isthe most time-consuming phase of the tabu search proce-dure. To speed up the search for improving eliminationmoves, we developed a procedure for the computationof lower bounds that leads to a neighborhood reductionstrategy.

Let s ∈ S be a Steiner node candidate for elimination,whose degree in the current Steiner tree T(S) is d(s). Itselimination breaks T(S) into a forest formed by exactlyd(s) subtrees of the current solution. The value δ(s) =w(T−s(S))−w(T(S)) of such an elimination move is givenby the sum of the weights of the d(s) − 1 edges whichoptimally reconstruct the Steiner tree T−s(S), minus the

sum of the weights of the d(s) edges incident to s inT(S). Let c and d be any two adjacent nodes to s in thecurrent Steiner tree. Moreover, let wc be the weight ofthe minimum-weight edge among all those connectingthe subtree containing c to the other d(s) − 2 subtrees.Then, the following result holds:

Theorem. The difference δ(s) = wc − wsc − wsd is alower bound to the exact move value δ(s), that is δ(s) ≤δ(s).

Proof. Let e1, e2, . . . , ed(s) be the d(s) edges incidentto s in T(S). The elimination of node s breaks T(s) intod(s) subtrees T1, T2, . . . , Td(s). Let these subtrees be in-dexed so that we1 ≤ we2 ≤ · · · ≤ wed(s) . The Steinertree T−s(S) resulting from the elimination of node s isobtained by reconnecting these d(s) subtrees by exactlyd(s) − 1 edges. Suppose this is done, for example, byPrim’s algorithm [19], using T1 as its starting solution.Let e′

i be the first edge used to reconnect subtree Ti

to any of the other subtrees, i = 2, . . . , d(s). Accord-ingly, the d(s) − 1 new edges used in the reconstruc-tion of T−s(S) are indexed by e′

2, e′3, . . . , e′

d(s). For everysubtree Ti, i = 2, . . . , d(s), we have we′

i≥ wei ; other-

wise, T(S) would not be a minimum spanning tree. Themove value associated with the elimination of node sis given by δ(s) =

∑i=d(s)i=2 we′

i− ∑i=d(s)

i=1 wei . Now, takeany two edges ej = (s, c) and ek = (s, d) among thosein {e1, e2, . . . , ed(s)}, with j ≠ 1 without loss of gener-ality. Then, δ(s) = we′

j− (wej + wek ) + A(s, j, k), with

A(s, j, k) =∑i=d(s)

i=2 {we′i−wei : i ≠ j} if k = 1; A(s, j, k) =

∑i=d(s)i=2 {we′

i− wei : i ≠ j, i ≠ k} + we′

k− we1 oth-

erwise. Since we′k

≥ we1 and we′i

− wei ≥ 0 for ev-ery i = 2, . . . , d(s), then A(s, j, k) ≥ 0. Consequently,we′

j− (wej + wek ) ≤ δ(s). Finally, δ(s) = wc − wsc − wsd =

wc − (wej + wek ) ≤ we′j

− (wej + wek ) ≤ δ(s), sincewc is the weight of a minimum-weight edge among allthose connecting subtree Tj to the other subtrees, that is,wc ≤ we′

j.

Since δ(s) is a lower bound to the exact move valueδ(s), all elimination moves with δ(s) ≥ 0 are necessarilynonimproving ones and, consequently, may be discarded.To attain linear time complexity in the computation ofthis lower bound, the same data structures already ap-plied in the estimation of the insertion moves are used.Again, we use a depth-first search traversal of T(S) start-ing at an arbitrarily chosen root r. In our implementation,we selected node d from the above theorem as the pre-decessor of s in the path from root r to s in T(S). Theother node c involved in the computation of the lowerbound δ(s) is taken as that connected to s through themaximum-weight edge among the other d(s) − 1 edgesadjacent to it in T(S). The computation of wc can be donein linear time, by checking all edges having exactly oneextremity in the subtree of T(S) to which c belongs andusing the depth-first search indices already computed.

140 NETWORKS–2000

Page 4: Tabu search for the Steiner problem in graphs

The use of this lower bound showed itself to be very ef-fective in practice, allowing many nodes to be discardedand leading to significant neighborhood reductions.

5. LOCAL SEARCH

We showed in Sections 3 and 4 that the evaluation ofinsertion moves has a much smaller complexity than thatof elimination moves. To speed up the local search proce-dure within each tabu search iteration, it is decomposedinto two parts: In the first part, only insertion moves areevaluated. Elimination moves are considered only in caseno improving insertion moves are found. We sketch inFigure 1 the pseudo-code of the local search procedure.

In line 1, an arbitrarily rooted depth-first search tree ofT(S) is computed. Lines 2–3 summarize the insertions ofnontabu, nonterminal nodes. In line 2, we retain the nodes′ whose insertion move has the best estimation. Then, inline 3, we compute the exact move value associated withthe insertion of s′. The insertions of tabu, nonterminalnodes are exactly evaluated in lines 4–7. In line 4, weretain the best tabu node s′′ to be inserted, that is, thatleading to the best neighbor of the current solution. Inline 5, we check whether or not it satisfies the aspirationcriterion and accordingly update in lines 6–7 the bestmove value associated with the insertion of tabu nodes.

FIG. 1. Pseudo-code of the local search procedure within each tabusearch iteration.

Next, we obtain in line 8 the node sins leading to thebest insertion move among all tabu and nontabu nodes. Incase the latter is an improving move (line 9), it is returnedby the local search procedure in line 10 as the one to beinserted into the current set of Steiner nodes. Otherwise,elimination moves are considered in lines 11–16.

The value of the best elimination move is initialized inline 11. In line 12, the elimination test associated withthe lower bound δ(s) is applied to each Steiner node,as described in Section 4. Whenever a node s passesthis test, the associated neighbor solution and its costare computed in line 13. In case s is a nontabu node andimproves the current best neighbor, or in case it is a tabunode whose elimination satisfies the aspiration criterion(line 14), then the best node candidate for eliminationand its associated move value are updated in line 15.

In line 17, we determine the node associated with thebest among all elimination moves and nonimproving in-sertion moves, which is returned in lines 18–19.

6. TABU SEARCH ALGORITHM

The pseudo-code of the proposed tabu search algo-rithm for the Steiner problem in graphs is given in Figure2. An initial solution is computed in line 1 by the shortestpath heuristic (SPH) of Takahashi and Matsuyama [22],using any node s0 ∈ V as the root. At each iteration kof the SPH, let Sk be the set of terminal nodes alreadyspanned by the current tree SPHk, with SPH0 = {s0}.

FIG. 2. Pseudo-code of the tabu search procedure for the Steinerproblem in graphs.

NETWORKS–2000 141

Page 5: Tabu search for the Steiner problem in graphs

TABLE 1. Test problems: series C.

Original input data After reduction testsOptimal

Problem |V| |X| |E| value |V| |X| |E|C1 500 5 625 85 135 5 239C2 500 10 625 144 121 8 220C3 500 83 625 754 75 28 128C4 500 125 625 1079 58 25 97C5 500 250 625 1579 18 11 34C6 500 5 1000 55 369 5 841C7 500 10 1000 102 380 9 857C8 500 83 1000 509 262 41 559C9 500 125 1000 707 230 57 467C10 500 250 1000 1093 26 14 43C11 500 5 2500 32 497 5 2023C12 500 10 2500 46 492 9 1765C13 500 83 2500 258 376 41 996C14 500 125 2500 323 272 43 632C15 500 250 2500 556 93 23 214C16 500 5 12,500 11 500 5 4067C17 500 10 12,500 18 499 9 3560C18 500 83 12,500 113 473 60 2469C19 500 125 12,500 146 430 56 2111C20 500 250 12,500 267 223 15 793

Denote by sk ∈ X\Sk the nonspanned terminal node clos-est to SPHk. Then, set SPHk+1 by appending to SPHk

all nodes (terminals and Steiner nodes) in the shortestpath from sk to SPHk. The updated set Sk+1 of alreadyspanned terminal nodes is obtained by inserting into Sk

the terminal nodes in the shortest path from sk to SPHk.The initial solution heuristic stops as soon as all terminalnodes have been spanned. Next, the best solution found,the list of tabu nodes, the number of iterations withoutimprovement, and the iteration counter used to activatea diversification phase are initialized in lines 2–3.

The tabu search algorithm stops after max_iterations_without_improvement iterations are performed withoutimprovement in the best solution found. The loop fromlines 4 to 25 is performed until this stopping condi-

TABLE 2. Test problems: series D.

Original input data After reduction testsOptimal

Problem |V| |X| |E| value |V| |X| |E|D1 1000 5 1250 106 273 5 506D2 1000 10 1250 220 282 10 517D3 1000 167 1250 1565 110 39 198D4 1000 250 1250 1935 51 23 84D5 1000 500 1250 3250 37 20 64D6 1000 5 2000 67 761 5 1737D7 1000 10 2000 103 746 10 1703D8 1000 167 2000 1072 518 93 1059D9 1000 250 2000 1448 315 84 628D10 1000 500 2000 2110 91 43 184D11 1000 5 5000 29 990 5 4341D12 1000 10 5000 42 993 9 3756D13 1000 167 5000 500 767 97 1920D14 1000 500 5000 667 573 84 1397D15 1000 500 5000 1116 150 44 334D16 1000 5 25,000 13 1000 5 9432D17 1000 10 25,000 23 999 9 8875D18 1000 167 25,000 223 941 109 4975D19 1000 250 25,000 310 845 103 4556D20 1000 500 25,000 537 475 37 1666

tion is not attained. At each tabu search iteration, theLocal_Search procedure described in Section 5 is ap-plied in line 5 to find the node s̄ associated with the bestmove. The best-neighbor solution S̄ is set in lines 6–8,depending on whether the best move was a node inser-tion or a node elimination. In line 9, node s̄ is insertedand kept in the list of tabu nodes for tabu_tenure itera-tions. Since the number of Steiner nodes in any solutionis much smaller than is the total number of nonterminalnodes, there are usually many more candidate insertionmoves than elimination ones. For this reason, suitablevalues for the tabu tenure associated with nodes selectedfor insertion should be smaller than are those associatedwith nodes selected for elimination.

The best solution found and the nonimprovement it-eration counters are updated in lines 10–18. In casemax_iterations_for_diversification iterations have notyet been performed since the last improvement in thebest solution found (line 19), the tabu search algorithmsimply moves to the best-neighbor solution S̄ in line 20and a new iteration starts. Otherwise, a new initial so-lution is recomputed in line 22 through the applicationof the SPH, using a new node as the root. This diversifi-cation strategy is based on the sensitivity of the SPH ofTakahashi and Matsuyama [22] with respect to the start-ing node s0, as pointed out by Winter and MacGregorSmith [28].

7. COMPUTATIONAL RESULTS

In this section, we present numerical results obtainedwith the application of the tabu search algorithm de-scribed in Section 6. The algorithm was implementedin C, using version 5.5.1 of the SunOS cc compiler withthe optimization flag set to -0. All computational exper-

TABLE 3. Test problems: series E.

Original input data After reduction testsOptimal

Problem |V| |X| |E| value |V| |X| |E|E1 2500 5 3125 111 673 5 1272E2 2500 10 3125 214 702 9 1308E3 2500 417 3125 4013 209 82 376E4 2500 625 3125 5101 108 51 194E5 2500 1250 3125 8128 20 13 32E6 2500 5 5000 73 1843 5 4313E7 2500 10 5000 145 1889 10 4362E8 2500 417 5000 2640 1299 215 2700E9 2500 625 5000 3604 951 220 1938E10 2500 1250 5000 5600 205 82 407E11 2500 5 12,500 34 2498 5 11,783E12 2500 10 12,500 67 2496 10 11,115E13 2500 417 12,500 1280 1924 238 4826E14 2500 625 12,500 1732 1491 222 3655E15 2500 1250 12,500 2784 308 72 699E16 2500 5 62,500 15 2500 5 26,246E17 2500 10 62,500 25 2500 10 23,128E18 2500 417 62,500 564 2335 263 12,553E19 2500 625 62,500 758 2062 209 10,279E20 2500 1,250 62,500 1342 1192 93 4000

142 NETWORKS–2000

Page 6: Tabu search for the Steiner problem in graphs

TABLE 4. Run statistics on OR-Library problems of series C.

Tabu search Without diversification SPH [22]Problem Value Seconds Error Value Seconds Error Value Seconds Error

C1 85 1 — 85 1 — 105 0 23.53C2 144 1 — 148 1 2.78 165 0 14.58C3 755 13 0.13 757 8 0.40 776 0 2.92C4 1081 10 0.18 1080 13 0.09 1092 0 1.20C5 1579 14 — 1579 13 — 1593 0 0.89C6 55 1 — 62 2 12.73 70 0 27.27C7 102 2 — 102 2 — 113 0 10.78C8 509 11 — 509 14 — 527 0 3.54C9 708 21 0.14 708 22 0.14 723 0 2.26C10 1093 21 — 1093 24 — 1109 0 1.46C11 32 3 — 32 3 — 42 0 31.25C12 46 3 — 47 3 2.17 55 0 19.56C13 258 13 — 258 13 — 272 0 5.43C14 324 20 0.31 325 38 0.62 335 0 3.71C15 556 36 — 556 40 — 563 0 1.26C16 11 5 — 13 6 18.18 15 0 36.36C17 18 5 — 19 3 5.56 20 0 11.11C18 117 19 3.54 115 19 1.77 125 0 10.62C19 149 17 2.05 149 26 2.05 159 0 8.90C20 267 21 — 267 25 — 269 2 0.75

iments were performed on a Sun UltraSPARC 1 work-station. The algorithm was tested on a set formed bythe 60 largest instances of the Steiner problem in graphsavailable from the OR-Library maintained by Beasley[2]. These instances are formed by 20 problems fromeach of the series C, D, and E. The input data for theseproblems are summarized in Tables 1–3. In each of thesetables, the first column gives the identification of the testproblem, while the next three columns give the number|V| of nodes, the number |X| of terminal nodes, and thenumber |E| of edges in the input graph. The fifth columngives the value of the optimal solution.

All numerical results were obtained with the follow-ing parameter settings: tabu tenure for insertion movesrandomly generated in [5, 10], tabu tenure for elimina-tion moves randomly generated in [15, 20], stopping cri-

terion defined by a maximum of 1500 iterations withoutimprovement in the best solution found, and restart ofthe algorithm with a new initial solution generated bythe SPH whenever 40 iterations were performed withoutimprovement in the best solution found.

The computational results obtained with the tabusearch algorithm using the above parameter settings arereported in Tables 4–6, in which we give the value of thebest solution found, the computation time (in seconds),and the relative error in percent (%) between the valueof the best solution found and the optimal solution foreach test problem. The symbol “—” indicates that theoptimal solution was found. We notice that optimal so-lutions were obtained for 14 of 20 problems of series C,for 7 of 20 problems of series D, and for 6 of 20 prob-lems of series E. The average deviation from the optimal

TABLE 5. Run statistics on OR-Library problems of series D.

Tabu search Without diversification SPH [22]Problem Value Seconds Error Value Seconds Error Value Seconds Error

D1 106 2 — 107 2 0.94 109 0 2.83D2 220 3 — 228 3 3.64 243 0 10.45D3 1570 21 0.32 1575 22 0.64 1606 0 2.62D4 1940 26 0.26 1941 22 0.31 1975 1 2.07D5 3253 50 0.09 3253 49 0.09 3286 2 1.11D6 70 3 4.48 70 3 4.48 85 0 26.86D7 103 3 — 103 3 — 105 0 1.94D8 1075 31 0.28 1075 36 0.28 1106 0 3.17D9 1452 65 0.28 1454 79 0.41 1504 1 3.87D10 2112 66 0.09 2112 78 0.09 2148 2 1.80D11 29 4 — 33 4 13.79 38 0 31.03D12 42 4 — 42 6 — 49 0 16.67D13 502 37 0.40 503 47 0.60 523 1 4.60D14 669 67 0.30 668 111 0.15 699 1 4.80D15 1117 90 0.09 1118 100 0.18 1137 3 1.88D16 13 10 — 13 8 — 14 0 7.69D17 23 13 — 23 13 — 26 0 13.04D18 230 61 3.14 231 98 3.59 250 3 12.11D19 321 57 3.55 321 57 3.55 336 4 8.39D20 538 63 0.19 539 65 0.38 541 10 0.74

NETWORKS–2000 143

Page 7: Tabu search for the Steiner problem in graphs

TABLE 6. Run statistics on OR-Library problems of series E.

Tabu search Without diversification SPH [22]Problem Value Seconds Error Value Seconds Error Value Seconds Error

E1 111 7 — 115 6 3.60 152 0 36.94E2 216 8 0.93 235 7 9.81 255 0 19.16E3 4044 133 0.77 4050 93 0.92 4121 5 2.69E4 5123 172 0.43 5124 139 0.45 5215 8 2.23E5 8130 261 0.03 8133 229 0.06 8249 15 1.49E6 73 8 — 88 9 20.55 96 0 31.51E7 146 11 0.69 159 9 9.65 168 0 15.86E8 2659 183 0.72 2667 218 1.02 2745 6 3.98E9 3632 221 0.78 3632 200 0.78 3734 8 3.61E10 5613 651 0.23 5616 408 0.29 5682 18 1.46E11 34 15 — 37 12 8.82 43 0 26.47E12 67 15 — 67 13 — 73 0 8.95E13 1304 181 1.88 1303 253 1.80 1342 8 4.84E14 1744 348 0.69 1744 271 0.69 1785 13 3.06E15 2793 680 0.32 2792 628 0.29 2826 28 1.51E16 15 44 — 17 27 13.33 19 0 26.67E17 25 34 — 27 34 8.00 31 0 24.00E18 595 418 5.50 593 170 5.14 627 24 11.17E19 779 311 2.77 779 268 2.77 801 36 5.67E20 1347 486 0.37 1350 267 0.60 1359 75 1.27

value is quite small: 0.32% for series C, 0.67% for seriesD, and 0.81% for series E. To illustrate the effectivenessof the diversification strategy described in Section 6, wealso give in these tables the results obtained by the sametabu search algorithm using the same stopping criterion,but without diversification. We notice that the diversifi-cation procedure consistently leads to better results, notonly in terms of the number of optimal solutions foundand the average relative error, but even in terms of thecomputation times. Finally, we compare the results ob-tained by tabu search with the initial solutions given bythe SPH of Takahashi and Matsuyama [22], whose re-sults are reproduced in the last three columns of Tables4–6. Although the SPH is very fast, the tabu search al-gorithm produced much better solutions and was able to

TABLE 7. Run statistics on OR-Library problems of series C: Re-duced graphs.

Tabu search F-tabu [9]Problem Value Seconds Error (%) Seconds Error (%)

C1 85 0 — 1 —C2 144 0 — 1 —C3 754 0 — 2 —C4 1079 0 — 3 —C5 1579 0 — 0 —C6 55 0 — 6 —C7 102 0 — 8 —C8 509 2 — 23 —C9 707 2 — 50 0.14C10 1093 0 — 9 —C11 32 1 — 13 —C12 46 1 — 15 —C13 258 4 — 49 —C14 324 1 0.31 37 0.31C15 556 0 — 18 —C16 11 1 — 15 —C17 18 1 — 15 —C18 117 5 3.54 53 —C19 148 3 1.37 39 —C20 267 0 — 5 —

improve the initial solution obtained by the shortest pathheuristic for all 60 test problems.

In a recent paper, Gendreau et al. [9] established thesuperiority of the F-tabu version of their Tabusteiner tabusearch algorithm with respect to other heuristics for theSteiner problem in graphs reported elsewhere, such asEsbensen [8] and Voss and Gutenschwager [26]. How-ever, their results were obtained after reductions of theoriginal graphs. Accordingly, we also implemented re-duction procedures to produce reduced graphs and moredirectly comparable computational results. First, the spe-cial distance test and the nearest special vertex test ofDuin [5] are applied until no further reduction is pos-sible. The special distance test eliminates edges whichmay not belong to an optimal solution, while the near-

TABLE 8. Run statistics on OR-Library problems of series D: Re-duced graphs.

Tabu search F-tabu [9]Problem Value Seconds Error (%) Seconds Error (%)

D1 106 0 — 4 —D2 220 0 — 7 —D3 1567 0 0.13 16 0.19D4 1935 0 — 9 —D5 3250 0 — 3 —D6 70 1 4.48 27 —D7 103 1 — 25 —D8 1078 5 0.56 244 0.37D9 1450 3 0.14 331 0.21D10 2112 0 0.09 81 —D11 30 1 3.45 44 —D12 42 2 — 48 —D13 502 11 0.40 296 —D14 667 4 — 275 0.15D15 1117 1 0.09 90 —D16 13 3 — 65 —D17 23 3 — 65 —D18 230 25 3.14 257 0.90D19 315 14 1.61 386 0.43D20 538 4 0.19 24 —

144 NETWORKS–2000

Page 8: Tabu search for the Steiner problem in graphs

TABLE 9. Run statistics on OR-Library problems of series E: Reducedgraphs.

Tabu search F-tabu [9]Problem Value Seconds Error (%) Seconds Error (%)

E1 111 1 — 19 —E2 216 1 0.93 22 —E3 4018 2 0.12 488 0.32E4 5105 0 0.08 141 —E5 8128 0 — 35 —E6 73 3 — 210 —E7 149 4 2.76 258 —E8 2649 25 0.34 2888 0.42E9 3605 15 0.03 5593 0.14E10 5602 2 0.04 785 0.04E11 34 4 — 526 —E12 68 5 1.49 545 1.49E13 1299 37 1.48 6135 0.63E14 1740 27 0.46 3431 0.23E15 2784 1 — 725 0.11E16 15 7 — 685 —E17 25 12 — 678 —E18 595 158 5.50 4891 1.60E19 778 38 2.64 1165 1.19E20 1352 11 0.74 267 —

est special vertex test contracts edges which necessarilybelong to every optimal solution. Next, all nonterminalnodes with degree one in the partially reduced graph arealso eliminated. Finally, nonterminal nodes with degreetwo and their two adjacent edges are contracted into asingle edge. All above steps are repeated until no furtherreduction can be identified. Such tests are quite effectiveand, as already reported, for example, in [8, 9, 26], lead tosignificant reductions in the input graphs. We also givein the last three columns of Tables 1–3 the number ofnodes, terminal nodes, and edges of the graphs obtainedafter reduction.

We give in Tables 7–9 the results obtained with thetabu search algorithm after reduction of the originalgraphs. For each test problem, we give the value of thebest solution found, the computation time (in seconds),and the relative error in percent (%) between the value ofthe best solution found and the optimal solution. Again,the symbol “—” indicates that the optimal solution wasfound. We also report the results obtained with the F-tabu

TABLE 10. Average results for tabu search and other algorithms.

Optimal ErrorSeries Algorithma Reductions? solutions Seconds (%)

C F-tabu [9] Yes 18 18.0 0.02Iter. impr. [23] No Results not availableTS No 14 11.9 0.32TS Yes 17 1.0 0.26

D F-tabu [9] Yes 14 115.0 0.11Iter. impr. [23] No Not available 12.4 2.70TS No 7 33.8 0.67TS Yes 9 3.9 0.71

E F-tabu [9] Yes 10 1474.0 0.31Iter. impr. [23] No Not available 93.7 2.78TS No 6 209.4 0.81TS Yes 6 17.6 0.83

a Iter. impr. = iterative improvement; TS = tabu search.

algorithm of Gendreau et al. which are directly compiledfrom [9] (computation times in seconds and relative errorin percent between the value of the best solution foundand that of the optimal solution).

As the results reported in Tables 7–9 for both tabusearch algorithm and the F-tabu algorithm of Gendreauet al. [9] were obtained using a Sun UltraSPARC 1 work-station, they can be directly compared. We summarize inTable 10 the average results obtained with each of thesealgorithms. We also compile in this table average resultson 10 runs of the iterative improvement algorithm of Ver-hoeven et al. [23], based on the key-path neighborhood,for each test problem of series D and E (times on a SunClassic workstation, without reduction techniques).

Both tabu search approaches produced much bettersolutions than did the SPH of Takahashi and Matsuyama[22] and the iterative improvement algorithm of Verho-even et al. [23]. For example, in the case of the test prob-lems from series E, the average deviation from the opti-mal value observed for the latter was almost 3%, whileit was smaller than 1% for all situations involving tabusearch.

We compare the results obtained with the tabu searchalgorithm proposed in this work with those found by theF-tabu algorithm [9]. We notice that our tabu search al-gorithm, even without graph reductions, is already muchfaster than is F-tabu with graph reductions. In the caseof the largest test problems from series E, the proposedtabu search algorithm is approximately seven times fasterthan is F-tabu, at the cost of a deterioration of only 0.5%in the average deviation from the optimal value. The su-periority of the tabu search algorithm is even more strik-ing when one considers the results obtained with both al-gorithms using graph reduction techniques. Once again,for the test problems from series E, the new tabu searchalgorithm is 84 times faster than is F-tabu, on average,with a similar deterioration in the average deviation fromthe optimal value. Average results over the 60 largesttest problems of the OR-Library show that the new tabusearch algorithm is approximately faster 44 times on av-erage, at the cost of a deterioration of only 0.45% in theaverage deviation from the optimal value.

8. CONCLUSIONS

In this paper, we have presented a new tabu searchheuristic for the Steiner problem in graphs. Althoughour algorithm is based on a node insertion/eliminationneighborhood already used by other heuristics for thisproblem, the approach is innovative. Efficient and fastprocedures to compute bounds on move values are used.Upper bounds for the value of insertion moves are usedto speed up the search, while lower bounds are used todiscard elimination moves.

To assess the efficiency of the proposed tabu search al-gorithm, it was applied to a set of 60 test problems from

NETWORKS–2000 145

Page 9: Tabu search for the Steiner problem in graphs

the OR-Library. In terms of computation times, the newtabu search algorithm clearly outperforms other heuris-tics for the Steiner problem in graphs, while obtainingbetter or comparable solutions. The comparison with theF-tabu algorithm of Gendreau et al. [9] shows that ourtabu search algorithm is approximately 44 times faster,on average, for these 60 largest test problems (84 timesfaster, on average, for series E problems) of the OR-Library, at the cost of a deterioration of only 0.45% inthe average deviation from the optimal value.

REFERENCES

[1] R. Barr, F. Glover, and D. Klingman, Enhancements ofspanning tree labelling procedures for network optimiza-tion, INFOR 17 (1979), 16–34.

[2] J.E. Beasley, OR-Library: Distributing test problems byelectronic mail, J Oper Res Soc 41 (1990), 1069–1072.

[3] E.-A. Choukmane, Une heuristique pour le problème del’arbre de Steiner, RAIRO Rech Oper 12 (1978), 207–212.

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

[5] C.W. Duin, Steiner’s problem in graphs: Approximation,reduction, variation, Doctorate Dissertation, Institute ofActuarial Science and Economics, University of Amster-dam, 1994.

[6] C.W. Duin and S. Voss, “Steiner tree heuristics—A sur-vey,” Operations research proceedings 1993, H. Dyckhoff,U. Derigs, M. Salomon, and H.C. Tijms (Editors), Springer-Verlag, Berlin, 1994, pp. 485–496.

[7] C.W. Duin and S. Voss, Efficient path and vertex exchangein Steiner tree algorithms, Networks 29 (1997), 89–105.

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

[9] M. Gendreau, J.-F. Larochelle, and B. Sansó, A tabu searchheuristic for the Steiner tree problem, Les Cahiers duGERAD G-98-01, Montréal, 1998.

[10] F.K. Hwang, D.S. Richards, and P. Winter, The Steiner treeproblem, North-Holland, Amsterdam, 1992.

[11] A. Kapsalis, V.J. Rayward-Smith, and G.D. Smith, Solv-ing the graphical Steiner tree problem using genetic algo-rithms, J Oper Res Soc 44 (1993), 397–406.

[12] R.M. Karp, Reducibility among combinatorial problems,Complexity of computer computations, E. Miller and J.W.Thatcher (Editors), Plenum Press, New York, 1972, pp. 85–103.

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

[14] N. Maculan, The Steiner problem in graphs, Surveys incombinatorial optimization, S. Martello, G. Laporte, M.Minoux, and C.C. Ribeiro (Editors), Ann Discr Math 31(1987), 185–212.

[15] S.L. Martins, C.C. Ribeiro, and M.C. Souza, A parallelGRASP for the Steiner problem in graphs, Lecture Notesin Computer Science 1457 (1998), 285–297.

[16] S.L. Martins, P. Pardalos, M.G. Resende, and C.C. Ribeiro,Greedy randomized adaptive search procedures for theSteiner problem in graphs, DIMACS Ser Discr Math TheorComput Sci 43 (1999), 133–146.

[17] M. Minoux, Efficient greedy heuristics for Steiner treeproblems using reoptimization and supermodularity, IN-FOR 28 (1990), 221–233.

[18] J. Plesník, A bound for the Steiner problem in graphs, MathSlov 31 (1981), 155–163.

[19] R.C. Prim, Shortest connection networks and some gener-alisations, Bell Syst Tech J 36 (1957), 1389–1401.

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

[21] P.M. Spira and A. Pan, On finding and updating spanningtrees and shortest paths, SIAM J Compu 4 (1975), 375–380.

[22] H. Takahashi and A. Matsuyama, An approximate solutionfor the Steiner problem in graphs, Math Jap 24 (1980),573–577.

[23] M.G.A. Verhoeven, M.E.M. Severens, and E.H. Aarts, “Lo-cal search for Steiner trees in graphs,” Modern HeuristicSearch Methods, V.J. Rayward-Smith, I.H. Osmam, C.R.Reeves, and G.D. Smith (Editors), Wiley, New York, 1996,pp. 117–129.

[24] S. Voss, Steiner-Probleme in Graphen, Anton Hain, Frank-furt, 1990.

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

[26] S. Voss and K. Gutenschwager, A chunking based geneticalgorithm for the Steiner tree problem in graphs (to ap-pear).

[27] P. Winter, Steiner problem in networks: A survey, Net-works 17 (1987), 129–167.

[28] P. Winter and J. MacGregor Smith, Path-distance heuris-tics for the Steiner problem in undirected networks, Alg 7(1992), 309–327.

[29] J. Xu, S. Y. Chiu, and F. Glover, Probabilistic tabu searchfor telecommunications network design, Combin OptimTheory Pract 1 (1997), 69–94.

[30] J. Xu, S. Y. Chiu, and F. Glover, Using tabu search to solvethe Steiner tree-star problem in telecommunications net-work design, Telecommun Syst 6 (1996), 117–125.

146 NETWORKS–2000