26
Solving Steiner Tree Problems in Graphs to Optimality T. Koch, A. Martin Konrad-Zuse-Zentrum fu ¨ r Informationstechnik Berlin, Takustrasse 7, D-14195 Berlin – Dahlem, Germany Received 11 February 1997; accepted 9 April 1998 Abstract: In this paper, we present the implementation of a branch-and-cut algorithm for solving Steiner tree problems in graphs. Our algorithm is based on an integer programming formulation for directed graphs and comprises preprocessing, separation algorithms, and primal heuristics. We are able to solve nearly all problem instances discussed in the literature to optimality, including one problem that — to our knowledge — has not yet been solved. We also report on our computational experiences with some very large Steiner tree problems arising from the design of electronic circuits. All test problems are gathered in a newly introduced library called SteinLib that is accessible via the World Wide Web. q 1998 John Wiley & Sons, Inc. Networks 32: 207–232, 1998 Keywords: branch-and-cut; cutting planes; reduction methods; Steiner tree; Steiner tree library 1. INTRODUCTION are exact algorithms, heuristic procedures, approximation algorithms, polynomial algorithms for special instances, polyhedral approaches, preprocessing techniques, and Given an undirected graph G Å (V, E ) and a node set T more. Excellent surveys were given in Winter [ 40 ] , Mac- V,a Steiner tree for T in G is a subset S E of the ulan [32], Hwang and Richards [25], and Hwang et al. edges such that (V ( S ), S ) contains a path from s to t for [26]. To solve the Steiner tree problem to optimality, all s , t T , where V ( S ) denotes the set of nodes incident Aneja [1] proposed a row-generation algorithm based on to an edge in S . In other words, a Steiner tree is an edge an undirected formulation, Dreyfus and Wagner [ 11 ] and set S that spans T . The Steiner tree problem is to find a Lawler [ 29 ] used dynamic programming techniques, minimal Steiner tree with respect to some given edge costs Beasley [4, 5] presented a Lagrangean relaxation ap- c e , e E . This problem is known to be NP-hard (Karp proach, Wong [43] described a dual-ascent method, Lu- [28]), even for grid graphs (Garey and Johnson [18]). cena [ 31 ] combined Lagrangean and polyhedral methods, Nourished from the increasing demand in the design and Chopra et al. [8] developed a branch-and-cut algo- of electronic circuits, the solution of Steiner tree problems rithm. In particular, polyhedral methods have turned out has received considerable and strongly growing attention to be quite powerful in finding optimal solutions for vari- in the last 20 years. Among the proposed solution methods ous Steiner tree problems. Reasons for that are the better understanding of the associated polyhedra, the availability of fast and robust LP solvers, and the experience gained Correspondence to: A. Martin to turn the theory into an algorithmic tool. Mathematical Subject Classification ( 1995 ) : 05C40, 90C06, 90C10, 90C35 This paper moves within this framework and presents q 1998 John Wiley & Sons, Inc. CCC 0028-3045/98/030207-26 207 836 / 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

Solving Steiner Tree Problems in Graphs to · PDF fileSolving Steiner Tree Problems in Graphs to Optimality ... on an integer programming formulation ... ), SOLVING STEINER TREE PROBLEMS

Embed Size (px)

Citation preview

Solving Steiner Tree Problems in Graphsto Optimality

T. Koch, A. Martin

Konrad-Zuse-Zentrum fur Informationstechnik Berlin, Takustrasse 7, D-14195 Berlin–Dahlem,Germany

Received 11 February 1997; accepted 9 April 1998

Abstract: In this paper, we present the implementation of a branch-and-cut algorithm for solving Steinertree problems in graphs. Our algorithm is based on an integer programming formulation for directedgraphs and comprises preprocessing, separation algorithms, and primal heuristics. We are able to solvenearly all problem instances discussed in the literature to optimality, including one problem that—to ourknowledge—has not yet been solved. We also report on our computational experiences with some verylarge Steiner tree problems arising from the design of electronic circuits. All test problems are gatheredin a newly introduced library called SteinLib that is accessible via the World Wide Web. q 1998 JohnWiley & Sons, Inc. Networks 32: 207–232, 1998

Keywords: branch-and-cut; cutting planes; reduction methods; Steiner tree; Steiner tree library

1. INTRODUCTION are exact algorithms, heuristic procedures, approximationalgorithms, polynomial algorithms for special instances,polyhedral approaches, preprocessing techniques, andGiven an undirected graph G Å (V, E) and a node set Tmore. Excellent surveys were given in Winter [40], Mac-⊆ V, a Steiner tree for T in G is a subset S ⊆ E of theulan [32], Hwang and Richards [25], and Hwang et al.edges such that (V ( S) , S) contains a path from s to t for[26]. To solve the Steiner tree problem to optimality,all s , t √ T , where V ( S) denotes the set of nodes incidentAneja [1] proposed a row-generation algorithm based onto an edge in S . In other words, a Steiner tree is an edgean undirected formulation, Dreyfus and Wagner [11] andset S that spans T . The Steiner tree problem is to find aLawler [29] used dynamic programming techniques,minimal Steiner tree with respect to some given edge costsBeasley [4, 5] presented a Lagrangean relaxation ap-ce , e √ E . This problem is known to be NP-hard (Karpproach, Wong [43] described a dual-ascent method, Lu-[28]), even for grid graphs (Garey and Johnson [18]).cena [31] combined Lagrangean and polyhedral methods,Nourished from the increasing demand in the designand Chopra et al. [8] developed a branch-and-cut algo-of electronic circuits, the solution of Steiner tree problemsrithm. In particular, polyhedral methods have turned out

has received considerable and strongly growing attentionto be quite powerful in finding optimal solutions for vari-

in the last 20 years. Among the proposed solution methodsous Steiner tree problems. Reasons for that are the betterunderstanding of the associated polyhedra, the availabilityof fast and robust LP solvers, and the experience gainedCorrespondence to: A. Martinto turn the theory into an algorithmic tool.Mathematical Subject Classification (1995): 05C40, 90C06, 90C10,

90C35 This paper moves within this framework and presents

q 1998 John Wiley & Sons, Inc. CCC 0028-3045/98/030207-26

207

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

208 KOCH AND MARTIN

(uSP)

a branch-and-cut algorithm. It is strongly related to thealgorithm described in Chopra et al. [8]; we solve thesame integer programming formulation, again by meansof the separation of cutting planes. However, the newalgorithm differs considerably, not only in several aspects

min cTx

( i) x(d(W )) ¢ 1, for all W , V,

W > T x M,

(V "W ) > T x M,

( ii) 0 ° xe ° 1, for all e √ E ,

( iii) x integer,

of implementation but also due to some extensions. Themain extensions are a more effective preprocessing phaseby incorporating three preprocessing tests, an extensionof the initial integer program with so-called flow-balanceconstraints, and a more careful and more efficient separa-tion of active cut constraints resulting in leaner LPs. In where d(X ) denotes the cut induced by X ⊆ V, that is,Section 2, we review two different integer programming the set of edges with one end node in X and one in itsformulations. The second, on which the branch-and-cut complement, and x(F) :Å (e√F xe , for F ⊆ E . It is easyalgorithm is based, is a bidirected version of the first. In to see that there is a one-to-one correspondence betweenSection 3, we discuss preprocessing and exploit ideas Steiner trees in G and 0/1 vectors satisfying (uSP) (i) .known from the literature. In particular, our presolve algo- Hence, the Steiner tree problem can be solved via (uSP).rithm includes three strong reduction techniques of Duin Another way to model the Steiner tree problem is toand Volgenant [13, 14]. Our computational results dem- consider the problem in a directed graph. We replace eachonstrate how important preprocessing is: Without this edge [u , £] √ E by two antiparallel arcs (u , £) and (£,tool, it would not have been possible to solve any of the u) . Let A denote this set of arcs and D Å (V, A) , thelarge instances. Details of the cutting plane phase of our resulting digraph. We choose some terminal r √ T , whichbranch-and-cut algorithms are discussed in Section 4. It will be called the root. A Steiner arborescence (rootedincludes refined separation strategies (resulting in leaner at r) is a set of arcs S ⊆ A such that (V ( S) , S) containsLPs) and improved primal heuristics such that at an ear- a directed path from r to t for all t √ T" {r}. Obviously,lier stage the lower- and upper-bound values meet. Exten- there is a one-to-one correspondence between (undi-sive tests are given in Section 5. We solve almost all test rected) Steiner trees in G and Steiner arborescences in Dinstances from the literature including one problem that— which contain at most one of two antiparallel arcs. Thus,to our knowledge—has not yet been solved and find the if we choose arc costs c

u (u,£ ) :Å cu (£,u ) :Å c[u,£ ] , for [u , £]

optimal solution for many very large instances arising √ E , the Steiner tree problem can be solved by findingfrom real-world problems in the design of electronic cir- a minimal Steiner arborescence with respect to c

u. Note

cuits. We introduce a library for Steiner tree problems that there is always an optimal Steiner arborescence whichcalled SteinLib ( including most of the models from the does not contain an arc and its antiparallel counterpart,literature and all new VLSI-instances discussed in this since c

u¢ 0. Introducing variables ya for a √ A with the

paper) . This library is available via anonymous ftp or interpretation that ya :Å 1, if arc a is in the Steiner arbores-from WWW at URL: ftp:// ftp.zib.de/pub/Packages/mp- cence, and ya :Å 0, otherwise, we obtain the integer pro-testdata/steinlib/ . gram

(dSP)

2. INTEGER PROGRAMMINGFORMULATION

min cu

Ty

( i) y(d/(W )) ¢ 1, for all W , V,

r √ W ,

(V "W ) > T x M,

( ii) 0 ° ya ° 1, for all a √ A ,

( iii) y integer,

In this section, we present the integer programming for-mulation that we are going to solve with our branch-and-cut algorithm. Let an undirected graph G Å (V, E) withedge costs ce¢ 0, e√ E , be given. We assume throughoutthe paper that the edge costs are nonnegative and integer. where d/(X ) :Å {(u , £) √ AÉu √ X , £ √ V "X } for X

, V, that is, the set of arcs with tail in X and head in itsIn addition, there is a node set T ⊆ V, called the set ofterminals. We will denote an instance of the Steiner tree complement. Again, it is easy to see that each 0/1 vector

satisfying (dSP) (i) corresponds to a Steiner arbores-problem by the triple ST(G , T , c) .A canonical way to formulate the Steiner tree problem cence, and, conversely, the incidence vector of each

Steiner arborescence satisfies (dSP) (i) – (iii ) . How areas an integer program is to introduce, for each edge e√ E , a variable xe , indicating whether e is in the Steiner the models (uSP) and (dSP) related?

Polyhedral aspects of both models are intensively dis-tree (xeÅ 1) or not (xeÅ 0). Consider the integer program

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 209

large scale. The idea, in general, is to detect unnecessaryinformation in the problem description and to reduce thesize of the problem by logical implications. For theSteiner tree problem, many reduction methods are dis-cussed in the literature and have been shown to be veryeffective for solving large instances; see, for example,Balakrishnan and Patel [2] , Beasley [4] , Chopra et al.[8] , Duin [12], Duin and Volgenant [14], Lucena [31],Winter [41], and Winter and Smith [42]. These methodsfocus on detecting special configurations that allow oneto neglect certain edges and/or nodes for the optimizationor they show that some edges and/or nodes are containedin some optimal solution. In this section, we sketch themain concepts from the literature and show how they areincorporated in our code.Fig. 1. Original problem.

How successful preprocessing methods might be inreducing the size of some problem is demonstrated in

cussed in the literature. The undirected model was studied Figures 1 and 2. Figure 1 shows the original graph ofin Grotschel and Monma [23], Goemans [19], Goemans problem br (complete graph on 58 nodes; for a descrip-and Myung [20], and Chopra and Rao [9, 10], whereas tion of the problem, see Section 5), and Figure 2, thethe directed version, in Ball et al. [3] , Fischetti [17], graph that we obtain after applying our preprocessingGoemans and Myung [20], and Chopra and Rao [9, 10]. algorithm.Chopra and Rao [9] and Goemans and Myung [20] re-lated both formulations. Chopra and Rao [9] showed that

3.1. Degree-Test Ithe optimal value of the LP relaxation of the directedThe following tests summarized under the name degree-model zd :Å min{c

u

TyÉy satisfies (dSP) (i) and (ii)} istest I (see [4]) are easy to check:greater or equal to the corresponding value of the undi-

rected formulation zu :Å min{cTxÉx satisfies (uSP) (i)( i ) A nonterminal node of degree one can be removed.and (ii)}. Even, if the undirected formulation is tightened

(ii) If a nonterminal node £ is of degree two, node £ andby the so-called Steiner partition inequalities (seethe two incident edges [u , £] and [£, w] , u x w ,Grotschel and Monma [23]; Chopra and Rao [9]) andcan be replaced by an edge connecting u and w ofodd hole inequalities (see Chopra and Rao [9]) , thiscost c[u,w ] Å c[u,£ ] / c[£,w ] .relation holds. In addition, Goemans and Myung [20]

(iii ) An edge incident to a terminal node of degree oneshowed that zd is independent of the choice of the root r .is always in an optimal solution.These results suggest the directed model and we followed

this suggestion. Nevertheless, one disadvantage of the (iv) If an edge e is of minimal cost among the edgesdirected model is that the number of variables is doubled. incident to a terminal node, and the other end nodeBut it will turn out that this is not really a bottleneck, is also a terminal, then e is choosable in any optimalsince we are minimizing a nonnegative objective function, solution.and thus the variable of one of two antiparallel arcs willusually be at its lower bound. 3.2. Special-Distance-Test

It should be mentioned that further models to solveThis test ( introduced in Duin and Volgenant [13]) com-the Steiner tree problem can be found in the literature;putes for each pair of nodes a number (called the specialfor example, models based on flow formulations (Wongdistance) which can be exploited to remove some edges.[43]; Maculan [32]) or models extending the undirected

formulation by introducing node variables (Lucena [31];Goemans and Myung [20]) . Relations between relax-ations of these and the above-discussed models can befound in Wong [43], Maculan [32], Duin [12], andGoemans and Myung [20].

3. PREPROCESSING

Preprocessing is a very important algorithmic tool in solv-Fig. 2. Reduced problem.ing combinatorial and integer programming problems of

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

210 KOCH AND MARTIN

Definition 3.1 (Special Distance). Let two nodes u , £ has to be introduced. (In case of parallel edges, only oneedge will be retained.) Of course, this might create many√ V with u x £ be given, and consider some path P ⊆ E

connecting u and £. Set TP Å V ( P) > T < {u , £} and new edges, but, in general, most of these can be elimi-nated by the special-distance-test.let

The running time for this test is O(2mrg) , where g

denotes the time for computing a minimal spanning tree.b(P) Å max{c(F)ÉF ⊆ P is a path connectingDue to the exponential behavior, we perform this test

two nodes from TP such that only for m ° 3. In fact, the bottleneck degree m testgeneralizes the ones in Section 3.1 (i) , where m Å 1, andÉTP > V ( F)É Å 2}.Section 3.1 (ii ) , where m Å 2.

The number

3.4. Terminal-Distance-Tests(u , £) Å min{b(P)ÉP is a path connecting u and £}

In this test, we consider a connected subgraph H Å (W ,is called the special distance (between u and £) . F) of G with T > W x M and T"W x M. Let e

To give an idea what s(u , £) means, consider each Å argmine =√d (W )ce = and f Å argminf=√d (W )" {e }cf= be aterminal as a petrol station and suppose you want to drive shortest and a second shortest edge of the cut induced by W.from location u to £. Then, s(u , £) denotes the distance Edge e Å [u , £] with u √ W and £ √ V "W is part ofyou must be able to drive without refilling if you choose some optimal solution of ST(G , T , c) and can thus beamong all possible routes. Note that the following rela- contracted, iftions

cf ¢ du / ce / d£,

s(u , £) ° d(u , £) ° c[u,£ ]

with du Å min{d( t , u)Ét √ T > W } and d£Å min{d( t ,

hold, where d (u , £ ) denotes the length of a shortest£)Ét √ T"W }.

path between u and £. The special distance can be com-Duin and Volgenant [14] introduced this test and gave

puted by a modified shortest path algorithm (cf. Hwangan implementation in O(ÉVÉ

3) steps. In Duin [12], it iset al. [ 26 ] ) .

shown that the detection of all edges satisfying the condi-Given the values s(u , £) for all u , £ √ V, there is an

tion of the terminal-distance-test needs only O(ÉVÉ2)

easy and very effective test for deleting edges. An optimalsteps. Note that the last two tests in Section 3.1 (iii ) and

solution S* of a Steiner tree problem ST(G , T , c) cannot( iv) are special cases of the terminal-distance-test. Two

contain any edge [u , £] √ E with s(u , £) õ c[u,£ ] . other special cases are the R-R aggregation method ofThe special-distance-test is a generalization of many

Balakrishnan and Patel [2] and the nearest vertex test ofother tests known in the literature; this was comprehen-

Beasley [4] .sively treated in Duin and Volgenant [13]. Concerningimplementation, it should be noted that certain specialcases of this test can be implemented more efficiently. 3.5. ResultsHowever, one can also resort to a well-performing ap-

When it comes to implement these reduction methods,proximation of the special-distance-test that runs inseveral questions arise: Which of these tests should beO(ÉVÉ log ÉVÉ / ÉEÉ / ÉTÉ2) (cf. Duin [12]) .implemented? For each single test, should all cases bechecked (complete test) which might result in high run-

3.3. Bottleneck Degree m Test ning times or should one restrict the search to certainpromising special cases which might result in an incom-The bottleneck degree m test introduced in Duin and Vol-plete test? In which order should the methods be called?genant [14] is the following: Consider some node £ √ NHow often should they be called? Some reduction of onewith Éd(£)É Å m . Let (W , F) be the complete graph ontest might give rise to further reductions by some othernode set W :Å V (d(£))" {£} with edge costs s

V [u,£ ] Å s(u ,(already performed) test. These questions were already

£) for [u, £] √ F. If, for all subsets U ⊆ W with ÉUÉ ¢ 3,addressed in Duin and Volgenant [14]. With respect toour algorithm, we should also answer the questions: HowsV (B*) ° ∑

u√U

c[£,u ] ,much effort and computation time should one spent inthe preprocessing phase? At what point is it usually betterto switch over to the branch-and-cut phase? We tried towhere B* is the edge set of a minimal spanning tree in

(W , F) , holds, node £ can be deleted, and for all u , w find answers in the following way: First, we implementedall the tests and each test in the complete version. We√ W , u x w , edge [u , w] with cost c[u,w ] Å c[u,£ ] / c[£,w ]

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 211

called all these tests consecutively and iterated this pro- (9) branch if necessary, otherwise remove the leaffrom the treecess until no more reductions could be found. Of course,

this might be very time consuming but for large difficult (10) until branch-and-bound tree is empty(11) print the optimal solutionproblems it might be worth to reduce as much as possible

(see Section 5). For small and medium-sized problems, (12) STOP.the situation is different. Often it did not pay to performa complete test, but rather to switch to the branch-and- In the Initialization phase, we set up the first LP and

initialize the branch-and-bound tree with the root nodecut phase which usually solved the (reduced) problemvery fast. We performed many test runs to find a balance representing the whole problem. In our case, the starting

LP is essentially empty, consisting only of the trivialbetween the total running times and the success of thereduction methods. Algorithm 3.2 shows our default se- inequalities (dSP) (ii ) . We experimented with initial cuts

for the first LP by doing a breadth-first search from thelection:root to every other terminal and adding the cuts betweennodes of different depth. Although these cuts have disjointAlgorithm 3.2 (Default Presolve)support for each root-terminal pair, only the smaller in-stances profited from this idea. While the number of cut-(1) Degree-Test Iting plane iterations [i.e., the number of runs through(2) Special-Distance-TestSteps (4) – (8)] needed to solve the problems was always(3) Degree-Test Ismaller, the effect from initially having a lot of dense(4) Terminal-Distance-Testinequalities ( i.e., inequalities with many nonzero entries)(5) Special-Distance-Testin the LP considerably slows down the whole process.(6) Degree-Test I

For solving the linear programs, we used CPLEX*,(7) Special-Distance-TestVersions 4.0.9 and 5.0, a very fast and robust linear pro-(8) Degree-Test Igramming solver, which features both a primal and dual(9) Returnsimplex solver and a primal-dual barrier solver. We usedthe dual simplex algorithm, since the LPs from one itera-Note that the bottleneck degree m test is not includedtion to the next stay dual feasible, when cutting planesin our default strategy. For some difficult instances, how-are added or variables are fixed to one of their bounds.ever, it pays to use the bottleneck degree m test and iterateIt turned out that the best pricing strategy was steepest-all four tests as along as there is some reduction possible.edge pricing, that is, to select a variable entering the basisThe success of our presolve strategy is illustrated in Sec-that has largest (obtuse) angle with the gradient of thetion 5.objective function. However, for some instances (in par-ticular, for large grid problems), the arising LPs arehighly primal and dual-degenerated.

4. IMPLEMENTATION DETAILS We tried to avoid degeneracy by perturbing theobjective function. We used c Å c

u0 b1a , where

In this section, we describe the implementation of ourb Å minS 1001 ,

12 (ÉAÉ / 1 ) D , and 1a √ [0, 1) isbranch-and-cut algorithm for solving the Steiner tree

problem. We assume that the reader is familiar with thesome uniformly distributed random number for each ageneral outline of a branch-and-cut algorithm (see Ca- √ A . Since we assumed that c is an integer, our choiceprara and Fischetti [7] for a survey). Algorithm 4.1 pres-of c ensures that an optimal solution with c is also optimalents the main steps of such an algorithm:for cu . The running times for solving the LPs were alwaysbetter with the perturbed objective function than with the

Algorithm 4.1 (Branch-and-Cut Algorithm)original. Nevertheless, some of the larger problems con-tinued to show signs of degeneracy. We tried two further

(1) Initialization ways to remedy degeneracy: First, we perturbed the objec-(2) repeat tive function with b Å 0.1. This, however, requires reopti-(3) select a leaf from the tree and consider the associ- mization with the original objective function after the

ated LP problem has been solved for the perturbed objective func-(4) repeat ( iterate) tion. Sometimes, this reoptimization step needed several(5) solve the LP thousand simplex iterations and we obtained a significant(6) call primal heuristics speed up only in very few cases. Second, we tried the(7) separate violated inequalities and add them to

the LP(8) until there are no violated inequalities * CPLEX is a registered trademark of ILOG.

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

212 KOCH AND MARTIN

primal-dual barrier solver of the CPLEX package. The heuristic is called in our code is specified by some param-eter (default is every five cutting plane iterations) .barrier code does not suffer from degeneracy, but has to

solve each LP from scratch so that, on average, it could In 138 out of 414 test examples, the first call to theheuristic found the optimal solution, and in 90% of thenot outperform the dual simplex method with our initial

perturbation. Thus, our default choice to solve the LPs is cases, the gap [(heuristic solution 0 lower bound)/ lowerbound] was below 5%.to use the perturbed objective function c and apply the

dual simplex algorithm with steepest-edge pricing. We also experimented with the Rayward-Smith [35]heuristic. The results are quite promising; however, amain bottleneck is the running time, especially for big4.1. Branching and Selecting Leafsproblems. The reason is that the heuristic requires all-to-all node distances, and due to memory limitations, weIn Step (9), if it is necessary to branch, we use strong

branching (Bixby [6]) , that is, we determine a set of must compute these on the fly, so most of the time isspent for calculating shortest paths.variables whose LP value is close to 0.5, perform for each

variable of this set a certain number of simplex iterationsfor the linear program where the variable is set to one orzero, and, finally, select the variable in the set as

4.3. Separating Inequalitiesbranching variable that obtained the best increase in theLP value. In this section, we start with the description of our separa-

We run through the branching tree in a depth-first- tion routines for the cut inequalities (dSP) (i) . We firstsearch fashion. The reasons are that the memory require- discuss how the generic cut separation works and give anments for the whole tree stay small and that we try to efficient implementation. In the following three subsec-find a good primal solution as soon as possible. It almost tions, we discuss three improvements on the generic cuts:never happened that our branching tree grew to much. back cuts, nested cuts, and creep-flow cuts. All these cutsBranching was a rather rare event in our computations aim at selecting violated cuts that give the most progressanyway (within the time limit and with the default param- in terms of an increase in the lower bound with respecteter setting branching was necessary only in 37 of 414 to the running time. We finally present a further class ofcases; see Section 5). inequalities, the so-called flow-balance inequalities, that

may strengthen the LP relaxation further. All four sugges-tions can be combined with each other, resulting in 164.2. Primal Heuristicpossible ways to separate inequalities. Based on some

The primal heuristic that we use is basically the one intro- computational tests in the last subsection, we present ourduced by Takahashi and Matsuyama [38]. The idea of final separation strategy.this heuristic is to start from one terminal and connect aterminal by a shortest path that is closest to the startingterminal. The next terminal is chosen among the re- 4.3.1. Generic Cutsmaining terminals in such a way that it is closest to thealready existing path or subtree in general. This process It is well known that the separation problem for the cut

inequalities (dSP) (i) can be solved by any max-flowis continued until all terminals are connected. As edgecosts for this heuristic we use (1 0 xe)rce for e √ E , if algorithm and can thus be solved in polynomial time. We

regard the LP solution as capacities in the graph andx is the optimal solution of the current LP, that is, we tryto prefer those edges that are already chosen in the LP check, for each t √ T" {r}, whether the minimal (r , t)-

cut is less than one. If so, a violated cut inequality issolution. (A slightly different objective function was sug-gested in Lucena [31] who used as edge costs 0, if xe found; otherwise, there is none. We add inequalities only

if they are violated by at least some epsilon (default isÅ 1, and ce , otherwise; Chopra et al. [8] used the originaledge costs, but considered only edges e with positive LP 1004) . To determine a minimal (r , t)-cut, for all t

√ T" {r}, we must call, in principle, (ÉTÉ 0 1) times avalue xe ú 0.) As suggested in Rayward-Smith and Clare[36], we also try to improve the heuristic solution by max-flow algorithm. However, Hao and Orlin [24]

showed that by a careful implementation of a preflow-computing a minimal spanning tree among the chosennodes and prune nonterminal leaves as long as possible. push algorithm the time to determine minimal cuts from

the root node r to all other nodes is comparable with theA parameter to be specified for this heuristic is thestarting terminal. Since running the algorithm for all ter- time to find a single (r , t)-cut. If we use the highest label

preflow-push algorithm of Goldberg and Tarjan [21] theminals is usually too time-consuming, we made the fol-lowing selection: We always try the terminal which gave overall running time of the Hao–Orlin algorithm to deter-

mine a minimal (r , t)-cut, for all t √ T" {r}, isthe best solution so far and try in addition up to 10 ran-domly selected terminals. The frequency in which the O(ÉVÉ

2ÉEÉ1/2 ) .

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 213

ered, the time needed for reoptimization the linear pro-grams decreased by a factor of 10. Moreover, the reduc-tion in the number of cutting plane iterations by usingthese ideas over just adding pure (r , t)-cuts is betweentwo and three orders of magnitude.

4.3.5. Flow-Balance Inequalities

In our cutting plane phase we take another class of ine-qualities into consideration. An (optimal) Steiner arbores-cence can be viewed as a set of flows sending one unit

Fig. 3. alue7229. from the root r to each terminal in T" {r}. This meansthat for all nonterminal nodes that are not branching nodesin the Steiner arborescence the flow-balance equality

4.3.2. Back Cuts y(d0(£))Å y(d/(£)) must hold, and for the other nonter-minal nodes, y(d0(£)) ° y(d/(£)) . This is expressed inChopra et al. [8] described a method to increase the num-the following set of inequalities:ber of separated inequalities by swapping the flow on

each arc and checking in addition all ( t , r)-cuts, for t√ T" {r}. A drawback here is that we cannot use thespeed-up feature mentioned above, since for each ( t , r)-cut computation, the source node changes and thus thealgorithm has to start from scratch again. However, as

Å 0, if £ Å r ;

y(d0(£)) Å 1, if £ √ T" {r} ;

° 1, if £ √ N ;

y(d0(£)) ° y(d/(£)) , for £ √ N ;

y(d0(£)) ¢ ye , for all e √ d/(£) ,

£ √ N .

we will see in Section 4.3.6, this idea significantly im-proves the overall running time compared with the genericcut generation.

(1)

4.3.3. Nested Cuts

Another way to increase the number of violated inequali- Note that this system of inequalities is not valid for allties is to nest the cuts. After finding a minimal cut between Steiner arborescences (e.g., cycles are cut off) , but therer and some terminal t , we temporary fix all corresponding is always an optimal solution that satisfies these condi-variables in the actual LP solution to one and try again tions, since the objective function is nonnegative. Noteto find a cut between r and t . We repeat this procedure that the addition of inequalities (1) to (dSP) has alreadyuntil the flow between r and t is at least one. This idea been considered in Duin [12]. He gives an example wherecan be combined with back cuts so that we are trying to these inequalities strengthen the LP relaxation.find nested inequalities in both directions. The results ofthis procedure are usually an increase in the time spent 4.3.6. A Comparisonfor separation and reoptimization the linear programs per

We performed several tests to evaluate the performanceiteration, while the total number of cutting plane iterationsof these four separation routines and all its combinations.drastically decreases, resulting in a total running time ofFigures 3 and 4 show the results of all 16 possible separa-about one magnitude faster than without nested and backtion strategies for examples alue7229 and taq0631 (forcuts.

4.3.4. Creep-Flow

We obtained another major speedup in the performanceof our algorithm when we implemented the followingidea: Instead of trying to increase the number of separatedinequalities, we tried to raise the ‘‘quality’’ of the inequal-ities. Since most of the variables in our LP solution arezero, the optimal solution of the min-cut algorithm is notnecessarily arc minimal. So, we add a tiny capacity ofsome e ( in the code we use e Å 1006) to all arcs to getamong all weight minimal cuts one that is also arc mini-mal. While this increased the running time for computing

Fig. 4. taq0631.a minimal cut, since much more arcs have to be consid-

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

214 KOCH AND MARTIN

have chosen the ‘‘C--F’’ option as the final separationstrategy in our branch-and-cut algorithm.

4.4. Removing Inequalities

Sometimes in the iteration process inequalities becomenonbinding, that is, the slack of the inequalities are posi-tive. In these cases the inequality can be removed fromthe LP without changing its optimal value. Although theinequality can be violated again, it is, in general, a goodFig. 5. gr.idea to remove these inequalities in order to keep the LPsmall. To minimize the occurrences of these reviolatedinequalities, we added a ‘‘life’’ counter to each inequalitya description of these problems, see Section 5). F means

that flow-balance inequalities are applied; C , B , and N , currently in the LP. If the slack of an inequality is non-zero, the counter is decreased; if the slack is zero, it isindicates that creep-flow cuts, back cuts, and nested cuts

are added, respectively; and ‘‘----’’ indicates that just the reset to an initial value (in our implementation 5). If thecounter reaches zero, the inequality is removed. This waygeneric cut separation is applied. The x-axis shows the

16 possibilities sorted according to their total running we are delaying the removal of inequalities to a pointwhere it is more likely that it will never be used again.time in decreasing order from left to right. The curves

depict the total running time (in seconds) , the separationtime per iteration (in hundredth of seconds) , the total 4.5. Reduced Costs and Reduced Setnumber of added cuts ( in thousands) , and the average of Variablesnumber of nonzeros per row. We observe that the differ-ences in the running times are up to two orders of magni- Every time the primal heuristic finds a better solution, we

try to fix variables by the reduced-cost criterium. For atude (note that the y axis is logarithmically scaled). Wealso see that the strategy ‘‘-B--’’ that was used in Chopra discussion on reduced-cost fixing, see for instance Pad-

berg and Rinaldi [34]. With the exception of the classet al. [8] gives a significant speed up compared withjust adding generic cuts, although the separation time per of so-called incidence problems (see Section 5), this idea

has little effect on the performance of our algorithm. Dueiteration increases. This was already observed by Chopraet al. However, their strategy is not the overall best. For to the high degeneracy of the LPs, the reduced costs tend

to be very small and, thus, the reduced-cost criteriumalmost all combinations, it is better to apply flow-balanceinequalities. The same holds for creep-flows; the strategy (and possibly also other reduction methods that are based

on reduced costs, see Duin [12]) are likely to fail.with creep-flows is always better than the one without.The reason is mainly a significant reduction in the number Another commonly known idea is to work only on a

reduced set of variables by fixing variables temporally toof generated cuts. In both figures, the eight combinationsusing creep-flows together with ‘‘-BNF’’ are always the one of its bounds. After the problem has been solved on

the reduced set, we check the reduced costs of the tempo-best. We evaluated these nine strategies on some largerinstances. Figures 5 and 6 show the results for problem rally fixed variables, add them if necessary to the current

set of variables, and reoptimize. Instead of really remov-gr and msm1234 (note that the curves are not uniformlyand the y-axis is not logarithmically scaled any more to ing the variables that are fixed from the problem as it is

usually done in such a type of column-generation algo-better illustrate the differences of the strategies) .The ‘‘-BNF-’’ strategy shows a big increase in the rithm, we only fix these variables to their bounds and

keep them in the LP. CPLEX (the LP solver that we use)number of cuts and nonzeros resulting in high LP times(LP times are not shown in the diagram). The increasein the LP time per iteration is not completely compensatedby the decrease in the total number of iterations, resultingin running times that are not among the best. For largerinstances, this effect becomes even clearer. Again, werecognize the positive impact of the flow inequalities. Forexample, in problem gr , the ‘‘C--F’’ strategy has the bestnonzero per row index. In fact, this strategy is very robust:It is always among the four best, while the performanceof the other strategies does not seem to be predictable. Itis remarkable that the connection of C with B and N (with

Fig. 6. msm1234.or without F) does not outperform ‘‘C--F.’’ Therefore, we

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 215

manages fixed variables very efficiently so that we could difference between the lower and upper bound is less than1, the upper bound in the last column is shown in boldnot detect a major loss of performance (under the assump-

tion that limits of memory are not reached). The advan- face to indicate that the optimal solution was found. Ifthere is still a gap greater than 1 between LB and UB ,tage is that we do not have to take care of the management

of inequalities for which some of the variables are in the we have not found the optimal solution within the timelimit.current set of variables and some are not. For the limited

test runs that we performed for this column-generation Tables I and II show our results for the test seriesintroduced by Beasley [5] . Test set C is easy: We solveidea, we could not obtain a speedup on average.all instances with one exception within a minute. Interest-ing to note is that already the first call to the heuristic(without any dual information) gives in 11 out of 205. COMPUTATIONAL RESULTSexamples the optimal solution. Series D with 1000 nodesis a bit more difficult: The running times increase up toIn this section, we report on computational experiences6 minutes. However, the optimal solution is obtained inwith our branch-and-cut algorithm. Our code is imple-the root node in all but one case (d19) , that is, branchingmented in C and all runs (with the exception of the inci-was not necessary. To solve test series E (with the excep-dence problems, see the relevant page in the sequel) aretion of e18) , we need up to 2 hours per instance, althoughperformed on a Sun SPARC 20 Model 71. The test exam-still no branching is necessary. The number of cuts neededples include public available benchmarks discussed in theto solve these examples increases to about 66,000. Weliterature, some instances that authors of other Steinercould not detect a correlation between the number oftree codes made us available, and some realistic problemsviolated inequalities and the number of variables or termi-arising in the design of electronic circuits. All instancesnals. The number of inequalities in the final LP is ratherare gathered in the library SteinLib that is available viahigh compared with the number of cuts separated. Thisanonymous ftp or the World Wide Web.†means that the inequalities mostly stay in the LP when-The format of our tables is as follows: The first columnever they are added and elimination does not happen toogives the problem name and columns 2–4 and 5–7 giveoften. The exception of test series E is e18 . To the bestthe number of nodes, edges, and terminals of the originalof our knowledge, nobody solved this problem up to nowproblem and the reduced problem, respectively. Compar-to optimality. We are able to solve it within half a daying these two sets of columns reflects the success of ourof CPU time, where Algorithm 3.2 was replaced by apreprocessing algorithm. The next three columns givecomplete reduction test. e18 and d19 are the only exam-statistics about the branch-and-cut algorithm. Nod con-ples of Beasley’s test set where branching was necessarytains the number of branch-and-bound nodes (1 meanswith the default parameter setting.‡that no branching was necessary) , Iter gives the number

Figure 7 depicts a diagram of the run for e16 . Theof cutting plane iterations, and Cuts gives the number ofx-axis shows the number of cutting plane iterations (i.e.,violated cuts added to the LP. The following three col-the number of LPs that have been solved). There wereumns provide information of the root LP, which is the267 iterations for example e16 (see Table II) . The curvesfinal linear program if no branching was necessary and,in the diagram illustrate trends of certain numbers in theotherwise, the last linear program before branching. Fraccourse of the algorithm. The top curve Integer gives thedenotes the number of fractional variables in the root LP,number of variables that are integer in the actual LP solu-and Rows and NZ , the number of rows and nonzeros.tion. In the first LP, all variables are integer, since weThen, time statistics follow: Pre stands for presolve time;start just with the trivial inequalities (see above). Thus,Heu , for the heuristic time; and LP , for the time spentthe straight line indicates that almost all variables areto solve the LPs; the separation time is shown in columninteger during the whole run of the algorithm (we willSep , and, finally, Tot gives the whole running time tosee different patterns for other problems in a moment) .solve the problem. The times are in CPU seconds. TheThe next two curves show the upper and lower bounds.time limit for all runs (with the exceptions of e18,The horizontal line for the upper bound means that thediw0234 , and some incidence problems) was 10,000 sec-first call to the heuristic already found an optimal solution.onds. The last three columns show the solution values.The lowest curve gives the number of rows in the LP. ItsHeu(1) is the value of the solution found by the first callsteady increase demonstrates the effect just mentionedto the primal heuristic, that is, when no linear program-that elimination of inequalities from the LP does not fre-ming solution is at hand (x Å 0). Comparing this valuequently happen. This property is common to many testto the lower bound depicted in column LB provides infor-

mation about the quality of the primal heuristic. If the‡ In fact, branching was only necessary to obtain an optimal solution;

the objective function value of the root LP rounded up already yieldsthe optimal solution value.† URL: ftp: / / ftp.zib.de/pub/Packages/mp-testdata/steinlib.

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

216 KOCH AND MARTIN

TA

BLE

I.B

easl

ey’s

test

sets

Can

dD

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

c01

500

625

513

824

75

123

110

2510

687

20.

10.

00.

10.

20.

585

84.7

85

c02

500

625

1012

021

88

130

212

019

614

040.

10.

10.

30.

30.

914

414

4.0

144

c03

500

625

8310

015

747

18

373

035

023

810.

10.

20.

20.

31.

075

575

4.0

754

c04

500

625

125

9614

552

18

322

029

816

860.

10.

30.

20.

20.

910

8010

79.0

1079

c05

500

625

250

4561

351

1320

414

175

989

0.1

0.1

0.1

0.1

0.5

1579

1578

.515

79

c06

500

1000

536

883

95

148

269

3426

528

290.

20.

20.

91.

32.

955

54.2

55

c07

500

1000

1038

085

69

135

399

7038

442

980.

20.

31.

01.

63.

310

210

1.5

102

c08

500

1000

8333

766

970

123

1486

013

6819

,680

0.7

2.7

3.1

5.8

13.0

510

509.

050

9

c09

500

1000

125

288

517

951

1713

9726

1290

18,2

110.

75.

32.

23.

812

.771

570

6.2

707

c10

500

1000

250

112

165

741

741

013

368

2185

0.7

0.8

0.2

0.3

2.3

1093

1092

.510

93

c11

500

2500

549

820

455

111

841

889

406

8480

2.7

1.6

5.3

6.8

16.7

3231

.232

c12

500

2500

1049

317

8610

175

550

1454

310

,008

2.6

1.2

3.7

4.9

12.8

4645

.546

c13

500

2500

8342

096

979

125

1916

816

5125

,911

2.4

3.9

5.4

8.3

20.9

262

257.

225

8

c14

500

2500

125

333

643

991

1514

090

1341

21,7

622.

05.

31.

65.

014

.532

432

3.0

323

c15

500

2500

250

180

284

102

19

750

070

269

521.

82.

60.

51.

26.

655

755

6.0

556

c16

500

12,5

005

500

3504

51

2214

414

144

3499

14.8

0.8

1.0

2.6

19.6

1110

.511

c17

500

12,5

0010

500

3002

101

7558

314

573

15,1

1212

.61.

85.

28.

728

.919

17.5

18

c18

500

12,5

0083

471

1384

801

4031

4614

919

3051

,146

9.9

5.9

56.1

31.6

104.

812

011

2.2

113

c19

500

12,5

0012

544

610

9411

71

2423

900

2195

39,2

749.

09.

19.

413

.341

.815

014

6.0

146

c20

500

12,5

0025

020

135

111

41

760

70

606

4485

7.6

3.8

0.4

0.9

13.2

268

267.

026

7

d01

1000

1250

527

350

75

139

231

4520

318

720.

20.

20.

60.

71.

810

610

5.2

106

d02

1000

1250

1028

452

110

128

304

7428

823

090.

10.

10.

40.

81.

722

021

9.6

220

d03

1000

1250

167

186

288

841

762

50

585

4208

0.3

1.6

0.4

0.6

3.4

1570

1565

.015

65

d04

1000

1250

250

126

183

731

1353

30

464

3427

0.4

1.1

0.3

0.6

2.8

1936

1935

.019

35

d05

1000

1250

500

6693

511

824

324

227

1244

0.3

0.3

0.1

0.1

1.0

3252

3250

.032

50

d06

1000

2000

576

117

385

112

963

919

651

580

560.

61.

67.

07.

317

.070

66.1

67

d07

1000

2000

1074

717

0810

110

056

452

539

7486

0.8

1.8

4.2

7.0

14.1

103

102.

310

3

d08

1000

2000

167

661

1307

151

122

3302

930

4253

,930

2.8

37.1

11.6

26.6

79.8

1092

1071

.510

72

d09

1000

2000

250

531

946

199

112

2340

121

2214

27,9

523.

158

.13.

111

.377

.514

6214

47.3

1448

d10

1000

2000

500

230

348

156

111

1212

096

893

072.

813

.91.

02.

621

.321

1321

10.0

2110

d11

1000

5000

599

143

905

115

759

973

556

14,3

9911

.14.

512

.923

.552

.729

28.1

29

d12

1000

5000

1099

638

2410

110

778

495

758

16,3

5412

.73.

810

.719

.347

.142

41.1

42

d13

1000

5000

167

833

1890

156

120

2799

026

8347

,796

11.3

42.4

7.6

23.9

87.1

510

500.

050

0

d14

1000

5000

250

707

1430

213

121

3861

133

3513

77,3

0310

.689

.410

.549

.616

2.4

675

666.

866

7

d15

1000

5000

500

321

514

192

110

1549

2613

9817

,553

8.8

32.6

1.8

4.8

49.2

1120

1115

.511

16

d16

1000

25,0

005

1000

8621

51

7039

425

392

13,5

6510

1.5

4.9

8.6

25.1

140.

813

12.3

13

d17

1000

25,0

0010

1000

8035

101

115

1104

5010

9146

,932

98.4

9.1

31.3

57.4

197.

123

22.1

23

d18

1000

25,0

0016

794

829

2216

01

3553

5986

4117

93,7

8659

.748

.676

.812

0.4

308.

023

822

3.0

223

d19

1000

25,0

0025

092

225

1423

53

4785

7718

250

7824

3,18

055

.841

9.5

105.

228

1.7

868.

832

531

0.0

310

d20

1000

25,0

0050

052

397

529

51

1223

320

2148

26,1

6846

.712

1.5

3.3

34.7

208.

653

953

7.0

537

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 217

TA

BLE

II.B

easl

ey’s

test

set

E

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

e01

2500

3125

567

812

825

143

251

6324

422

530.

90.

40.

81.

94.

311

111

0.2

111

e02

2500

3125

1070

713

1510

171

590

7056

260

770.

91.

13.

14.

29.

721

421

3.1

214

e03

2500

3125

417

494

776

244

113

2539

4421

9528

,965

2.7

93.6

4.6

11.1

114.

040

5240

12.3

4013

e04

2500

3125

625

342

517

210

19

1260

010

6175

213.

043

.61.

02.

451

.251

1451

01.0

5101

e05

2500

3125

1250

109

153

901

1363

50

457

3599

2.6

1.8

0.4

0.7

5.9

8130

8128

.081

28

e06

2500

5000

518

4543

155

179

541

5348

260

313.

93.

25.

712

.425

.573

72.3

73

e07

2500

5000

1018

8943

6410

113

613

4125

799

117

,361

4.1

7.7

33.7

37.0

83.4

149

144.

114

5

e08

2500

5000

417

1651

3269

379

125

9512

083

3617

1,68

828

.169

5.6

51.2

288.

810

70.2

2686

2640

.026

40

e09

2500

5000

625

1360

2454

472

123

7802

069

9612

5,74

631

.899

2.3

33.6

181.

612

45.5

3656

3604

.036

04

e10

2500

5000

1250

627

957

402

113

3879

029

4164

,688

27.5

372.

97.

937

.144

8.8

5614

5600

.056

00

e11

2500

12,5

005

2498

11,8

685

113

069

152

612

16,1

0181

.414

.824

.078

.319

9.5

3433

.134

e12

2500

12,5

0010

2498

11,3

9310

113

217

2125

413

1950

,051

110.

022

.479

.318

0.3

393.

268

66.1

67

e13

2500

12,5

0041

721

1348

3139

61

4116

,314

012

,577

454,

207

124.

210

16.9

398.

912

67.0

2816

.313

1212

80.0

1280

e14

2500

12,5

0062

518

0336

9651

11

2092

930

8634

208,

710

118.

011

20.4

64.4

300.

616

10.9

1752

1732

.017

32

e15

2500

12,5

0012

5081

112

9050

31

2473

8910

040

6912

2,73

695

.288

5.8

80.1

226.

712

94.0

2792

2783

.727

84

e16

2500

62,5

005

2500

25,1

845

126

795

114

944

41,7

2410

34.5

66.6

99.9

388.

615

91.7

1514

.215

e17

2500

62,5

0010

2500

21,5

0810

117

618

8970

1864

83,6

2887

9.5

57.9

110.

445

9.1

1508

.726

24.3

25

e18a

2500

62,5

0041

722

2459

9639

419

306

66,6

5876

010

,650

375,

453

3508

.512

,443

.719

,116

.333

,840

.868

,949

.160

856

3.9

564

e19

2500

62,5

0062

522

0755

8458

01

3013

,026

110

11,1

7528

4,80

449

9.4

1660

.531

8.3

2092

.145

81.5

788

758.

075

8

e20

2500

62,5

0012

5012

5723

3067

11

1686

670

7907

262,

341

424.

415

95.3

27.7

260.

523

16.2

1349

1342

.013

42

aT

his

run

was

perf

orm

edw

ith

the

defa

ult

para

met

erse

ttin

gex

cept

that

aco

mpl

ete

redu

ctio

nte

stw

asus

edin

stea

dof

Alg

orit

hm3.

2an

dno

tim

eli

mit

was

give

n.

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

218 KOCH AND MARTIN

Fig. 9. gap3100.Fig. 7. e16.

examples (see also Figs. 8–10). The bottom bars depict Table IV contains a collection of examples describedin Chopra et al. [8] . E. Gorres made these instancesthe number of simplex iterations to solve the LPs; the

higher the bars, the more difficult were the LPs to solve. available to us. We solved all these instances within sec-onds.§ Interesting to note is that almost always the rootWe see that the number of simplex iterations is high if

there is an increase in the lower bound, and the numbers LP is integer (see Column Frac) .The next series, denoted by R , is taken from Soukupare low when there is no progress in the lower bound. We

have observed this behavior on many Beasley instances. and Chow [37] (see Table V). We solve all of them inabout 1 minute. Worthwhile to note are that in 24 of 38Table III contains some instances made us available

by Margot [33] and some problems on complete graphs. examples the first call to the heuristic already found theoptimal solution and that the LP time dominates all otherbr was introduced in Ferreira [16], whereas berlin and

gr are taken from the TSP library, where some nodes are times. The latter fact seems to be typical for grid exam-ples, which the test set R consists of entirely. This phe-defined as terminals. It turns out that the winning proce-

dure for complete instances is presolve. Algorithm 3.2 nomenon will become clearer in some of the next tests.Tables VI and VII show results for the so-called inci-reduces up to 98% of the edges (variables) and provides

the bases for solving even the big gr example with over dence problems obtained from C. Duin. These problems,described in Duin [12] and Duin and Voß [15], are ran-200,000 variables within 6 minutes.

The diagram of example gr in Figure 8 shows some domly generated and have the following sizes: There arefour sizes of the node set £ :Å ÉVÉ Å 80, 160, 320, anddifferent sign patterns from the one of e16 . We observe

that the number of fractionals (see the curve reflecting 640; for each of them, 20 variants are generated combin-the number of Integers) is low at the beginning, increases ing four sizes of the terminal set ÉTÉ Å log £,

√£ , 2

√£ ,

continuously until the middle of the run, and decreases and £ /4 with five different densities ÉEÉ Å (3£) /2, £ lnagain toward the end. This u-shape behavior is typical £, [£(£ 0 1)]/2, 2£, and [£(£ 0 1)]/10, all values arefor complete instances. We also see that the difficulty of rounded down to the next integer. Every variant wasthe LPs is correlated to the number of fractional variables, drawn five times. The problem names have the patternwhich is also true for the examples depicted in Figures 9 £.tei , where £ Å 80, 160, 320, and 640 gives the numberand 10. of nodes of the problem, t Å 0, 1, 2, 3 indicates which

of the four alternatives (in the above sequence) of thesizes for the terminal sets have been chosen, e Å 0, 1, 2,3, 4 stands for the five densities, and i Å 1, 2, 3, 4, 5distinguishes the five instances drawn for each variant.To give an example, problem 160.141 is the first out offive instances with 160 nodes, [£(£ 0 1)]/10 Å (160r159)/10 Å 2544 edges, and

√£ Å

√160 Å 12 termi-

nals. For each variant, our algorithm behaves very simi-larly for the five instances; thus, we show only the firstin Tables VI and VII. The computations for these prob-

§ The optimal values sometimes differ from the one described inChopra et al. [8] , because they did not add the values of variables fixedby presolve.Fig. 8. gr.

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 219

Fig. 10. es40o.

lems were performed on a Sun Enterprise 3000 at a laterdate, using CPLEX Version 5.0 (instead of Version 4.0.9as for the other computations) .

The incidence problems show completely different so-lution characteristics. One main difference is that our pre-solve algorithm (neither the default nor complete test)could not find any significant reductions (note that theproblems were generated with the intention to have diffi-cult problems for presolve, see Duin [12] and Duin andVoß [15]) . On the other hand, the examples do not showthe same sign of degeneracy and we could fix many vari-ables in the course of the algorithm by the reduced costcriterium (see Section 4.5) . To tackle the incident prob-lems, it turned out to be a good idea to restart our branch-and-cut algorithm from scratch after a certain percentageof the variables could be fixed. Column R in Tables VIand VII shows the number of restarts performed and Col-umns 5–7 give, instead of the sizes of the presolvedproblems (which are almost always identical to the origi-nal sizes) , the sizes of the problems after the last restart.We see that with this idea of iterative restarts sometimesa significant amount of variables can be fixed, especiallyif the number of terminals is small (for instance, thenumber of edges of 640.021 can be reduced by 97%).We are able to solve all problems on 80 and 160 nodes.However, we have difficulties to solve some of the largerinstances. There are problems like 320.311 or 640.141that we even cannot solve within 1 day. Table VII presentsthe results, where we used a unique time limit of 10,000seconds for the difficult instances. Within this time limit,we can give a solution guarantee of at least 4.2% for allincidence problems.

What one would like to have at this point is a compari-son with other codes. However, this is very difficult. Peo-ple have different machines with different storage spaces,use different packages for the solution of subproblemslike linear programs, and so on. We refrain from givinga comparison here. The interested reader may refer toBeasley [5] , Chopra et al. [8] , Duin [12], or Lucena[31], who developed comparable codes for the Steinertree problem in graphs. T

AB

LEIII

.E

xam

ple

so

fFr

anco

isM

arg

ot

and

com

ple

tein

stan

ces

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

mc1

140

076

021

319

328

010

11

3883

20

588

2957

0.2

6.7

1.2

2.0

10.9

11,7

2211

,689

.011

,689

mc1

315

011

,175

8014

966

980

5723

255

0136

198

916

,538

1.4

513.

314

3.8

77.4

739.

595

91.1

92

mc2

120

7140

6012

048

960

1160

1806

283

792

14,4

820.

697

.527

.710

.513

7.2

7671

.071

mc3

9746

5645

9712

0445

1172

2518

575

2193

84,1

800.

445

0.0

209.

013

.267

4.1

4846

.147

mc7

400

760

170

277

455

123

121

1065

088

360

540.

28.

71.

83.

214

.634

8634

17.0

3417

mc8

400

760

188

248

364

129

133

1262

7978

041

900.

214

.82.

74.

022

.615

7015

65.5

1566

berl

in52

1326

1648

147

151

1315

90

152

1481

0.1

0.0

0.1

0.1

0.4

1048

1044

.010

44

br58

1653

2539

113

101

1597

088

902

0.1

0.0

0.1

0.1

0.4

13,6

6613

,655

.013

,655

gr66

622

1,44

517

459

931

1413

71

4131

430

1930

58,7

6916

1.9

32.1

86.3

46.4

329.

912

3,07

612

2,46

7.0

122,

467

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

220 KOCH AND MARTIN

TA

BLE

IV.

Tes

tse

to

fE

.G

orr

es

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

p401

100

4950

583

183

51

2611

30

106

886

0.3

0.2

0.1

0.2

0.9

155

155.

015

5p4

0210

049

505

6814

25

18

320

3015

90.

20.

10.

00.

00.

611

611

6.0

116

p403

100

4950

587

198

51

3212

50

121

1333

0.3

0.2

0.2

0.2

1.0

181

179.

017

9p4

0410

049

5010

6412

39

115

710

6843

70.

20.

10.

10.

00.

627

027

0.0

270

p405

100

4950

1065

124

91

977

076

510

0.2

0.1

0.0

0.1

0.6

270

270.

027

0p4

0610

049

5010

8317

210

113

111

010

591

40.

30.

10.

10.

10.

729

029

0.0

290

p407

100

4950

2081

159

181

1320

10

198

1695

0.3

0.1

0.1

0.2

0.9

590

590.

059

0p4

0810

049

5020

6412

117

113

183

017

413

260.

20.

10.

10.

10.

854

354

2.0

542

p409

100

4950

5020

2615

17

680

6727

20.

20.

10.

00.

00.

596

496

3.0

963

p455

100

4950

510

010

575

156

337

018

194

370.

40.

42.

42.

56.

011

6611

38.0

1138

p456

100

4950

510

088

05

181

358

025

711

,680

0.4

0.4

3.2

2.9

7.2

1228

1228

.012

28p4

5710

049

5010

9965

410

150

450

031

311

,135

0.3

0.3

2.7

1.7

5.3

1639

1609

.016

09p4

5810

049

5010

100

594

101

3142

20

264

7937

0.3

0.2

3.2

1.0

4.9

1868

1868

.018

68p4

5910

049

5020

9841

520

123

261

023

938

510.

30.

20.

40.

61.

723

4523

45.0

2345

p460

100

4950

2097

448

201

2646

80

352

8568

0.3

0.2

2.7

0.8

4.3

2976

2959

.029

59p4

6110

049

5050

6813

632

116

205

018

710

980.

20.

10.

20.

20.

944

8244

74.0

4474

p463

200

19,9

0010

200

2213

101

7297

70

444

30,5

744.

61.

626

.510

.944

.115

1915

10.0

1510

p464

200

19,9

0020

195

1760

181

5812

280

493

30,5

844.

11.

346

.69.

161

.525

5325

45.0

2545

p465

200

19,9

0040

191

811

391

3710

020

815

16,7

703.

11.

26.

14.

615

.638

6238

53.0

3853

p466

200

19,9

0010

014

330

268

120

536

041

631

172.

81.

50.

80.

86.

462

5262

34.0

6234

p601

100

180

577

134

51

2212

80

121

705

0.0

0.0

0.1

0.2

0.4

10,2

3010

,230

.010

,230

p602

100

180

577

133

51

2112

10

117

673

0.0

0.0

0.1

0.1

0.3

8083

8083

.080

83p6

0310

018

05

7813

65

116

750

7139

40.

00.

00.

10.

10.

250

2250

22.0

5022

p604

100

180

1072

124

81

2015

20

145

905

0.0

0.0

0.1

0.2

0.4

11,3

9711

,397

.011

,397

p605

100

180

1075

128

91

1699

082

407

0.0

0.0

0.1

0.1

0.3

10,3

5510

,355

.010

,355

p606

100

180

1080

135

91

1813

90

125

710

0.0

0.0

0.1

0.1

0.3

13,0

4813

,048

.013

,048

p607

100

180

2056

9116

118

178

015

183

80.

00.

10.

10.

10.

415

,358

15,3

58.0

15,3

58p6

0810

018

020

5487

151

1313

10

124

647

0.0

0.0

0.1

0.1

0.3

14,4

3914

,439

.014

,439

p609

100

180

2069

114

161

2121

60

184

1120

0.0

0.1

0.2

0.1

0.5

18,4

6218

,263

.018

,263

p610

100

180

5038

5818

112

110

089

376

0.0

0.0

0.0

0.0

0.2

30,1

6130

,161

.930

,161

p611

100

180

5030

4217

19

780

7429

60.

00.

00.

00.

00.

126

,903

26,9

03.0

26,9

03p6

1210

018

050

3754

181

1313

50

117

512

0.0

0.0

0.1

0.0

0.3

30,2

5830

,258

.030

,258

p613

200

370

1016

929

210

138

408

026

618

230.

00.

11.

20.

72.

218

,429

18,4

29.0

18,4

29p6

1420

037

020

181

309

191

3449

00

366

2338

0.0

0.2

0.9

0.9

2.2

27,5

2727

,276

.027

,276

p615

200

370

4015

425

239

122

542

043

427

610.

00.

30.

80.

82.

242

,879

42,4

74.0

42,4

74p6

1620

037

010

061

8835

117

202

017

574

30.

10.

10.

10.

10.

662

,263

62,2

63.0

62,2

63p6

1910

018

05

8616

05

121

122

010

967

20.

00.

00.

10.

10.

474

8574

85.0

7485

p620

100

180

586

160

51

4117

90

167

1115

0.0

0.1

0.2

0.3

0.7

8746

8746

.087

46

Tab

leIV

cont

inue

s

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 221

Tables VIII–X give computational results on real-world VLSI instances. One of the challenging problemsin the design of electronic circuits is the routing problem,which is, roughly speaking, the task to connect terminalsets via wires on a predefined area. Depending on theunderlying technology and the design rules, subproblemsarise that can be formulated as the problem of packingSteiner trees in certain graphs (see Lengauer [30] for anexcellent treatment of this subject) . The problems that weare going to consider result from seven different circuitsdescribed in Junger et al. [27]. The underlying graphsare grid graphs that contain holes. The holes result fromso-called cells that block certain areas of the grid. Thesets of terminals are located on the border of these holes.For each of the seven circuits and for each terminal setTi (where index i runs from 1 to the number of terminalsets of the circuit) , we constructed an instance of theSteiner tree problem. For the graph G , we have chosen theunderlying grid graph restricted to the minimal enclosingrectangle of the terminal set. The distance of two neigh-bored grid points in horizontal and vertical directions dif-fer for these circuits. This results in different edge costsfor horizontal and vertical edges in G .

In the library SteinLib, we put all instances with termi-nal sets whose cardinality is at least 10 (in total 475).The examples are distinguished by the name of the circuitfollowed by the index of the terminal set. For example,msm1234 means that the instance is defined by terminalset 1234 of circuit msm . As test problems for our algo-rithm, we chose for each circuit all instances whose twoleading nonzeros of the index of the terminal set differfrom the two leading nonzeros of all other indices. Ifthere are more than one index with the same two leadingnonzeros, we chose the instance with the smallest index(for instance, among examples msm3727, msm3731,msm3761 , and msm3786 , we chose msm3727) . In addi-tion, we added an instance with the smallest and largestnumber of terminals for each circuit. This way we ob-tained 116 different VLSI test instances.

The success of our branch-and-cut algorithm is shownin Tables VIII–X. We solve 83 out of the 116 instances tooptimality within 10,000 seconds and provide a solutionguarantee [(upper bound 0 lower bound)/ lower bound]of less than 10% for 85% of the examples. The biggestwith respect to number of terminals that we solve withinthe time limit are alue5067 and alue6735 with 68 termi-nals each. The biggest in size of the number of edges ismsm3727 with over 8000 edges. However, there are alsosmaller instances, for example, diw0795 with 10 termi-nals or msm2601 with less than 5000 variables after pre-solve, that we do not solve within the time limit. Allruns were performed with the default strategy (except fordiw0234 and alut2625) ; in particular, we applied Algo-rithm 3.2 to reduce the problem and did not perform a

TA

BLE

IV.

Co

ntin

ued

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

p621

100

180

586

160

51

3518

80

151

1014

0.0

0.0

0.3

0.2

0.7

8741

8688

.086

88p6

2210

018

010

8715

910

125

224

019

313

140.

00.

00.

30.

20.

716

,546

15,9

72.0

15,9

72p6

2310

018

010

8615

610

127

277

023

415

230.

00.

00.

50.

20.

919

,496

19,4

96.0

19,4

96p6

2410

018

020

8114

214

116

187

017

297

00.

00.

00.

10.

10.

420

,246

20,2

46.0

20,2

46p6

2510

018

020

8415

120

121

317

028

218

910.

00.

10.

50.

31.

023

,677

23,0

78.0

23,0

78p6

2610

018

020

8114

320

117

252

022

413

890.

00.

10.

20.

20.

522

,346

22,3

46.0

22,3

46p6

2710

018

050

4773

241

1213

60

102

447

0.0

0.0

0.1

0.1

0.3

40,6

4740

,647

.040

.647

p628

100

180

5057

9429

115

180

016

086

90.

00.

00.

10.

10.

440

,008

40,0

08.0

40,0

08p6

2910

018

050

5385

251

1314

129

137

647

0.0

0.0

0.1

0.1

0.3

43,2

8743

,286

.543

,287

p630

200

370

1018

935

510

140

498

032

925

810.

00.

12.

40.

93.

626

,125

26,1

25.0

26,1

25p6

3120

037

020

185

342

201

3656

50

464

3253

0.0

0.2

1.7

0.9

3.1

39,1

9339

,067

.039

,067

p632

200

370

4017

732

234

125

692

056

740

830.

00.

22.

31.

13.

956

,562

56,2

17.0

56,2

17p6

3320

037

010

099

160

511

1629

60

253

1355

0.0

0.4

0.3

0.3

1.2

86,5

7386

,268

.086

,268

complete reduction test (see Section 3). If there is no time

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

222 KOCH AND MARTIN

TA

BLE

V.

Tes

tse

to

fS

ouk

upan

dC

how

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

r01

1522

511

175

17

200

1971

0.0

0.0

0.0

0.0

0.0

187

187.

018

7

r02

1217

64

53

12

60

618

0.0

0.0

0.0

0.0

0.0

164

164.

016

4

r03

2845

719

327

112

600

5024

00.

00.

00.

00.

00.

123

723

6.0

236

r04

6411

28

4990

81

2320

90

145

1012

0.0

0.0

0.3

0.1

0.6

258

254.

025

4

r07

3049

1219

2912

110

540

4818

50.

00.

00.

00.

00.

125

424

8.0

248

r08

2437

1216

2212

15

370

3510

60.

00.

00.

00.

00.

123

623

6.0

236

r09

1522

710

147

13

170

1757

0.0

0.0

0.0

0.0

0.0

164

164.

016

4

r10

3660

624

436

112

580

5629

60.

00.

00.

10.

00.

117

717

7.0

177

r11

3049

621

356

17

330

3314

60.

00.

00.

00.

00.

114

414

4.0

144

r12

2742

922

369

113

730

5527

30.

00.

00.

10.

00.

118

018

0.0

180

r13

4271

932

549

113

105

092

465

0.0

0.0

0.1

0.1

0.2

150

150.

015

0

r14

3660

1210

146

12

140

1442

0.0

0.0

0.0

0.0

0.0

260

260.

026

0

r15

100

180

1489

165

141

2027

324

234

1567

0.0

0.1

0.4

0.2

0.8

150

147.

314

8

r17

4882

1034

6010

117

106

010

154

60.

00.

00.

10.

10.

220

020

0.0

200

r18

182

337

6215

626

452

121

477

042

421

720.

00.

60.

50.

52.

140

640

4.0

404

r19

168

310

1416

230

314

130

491

152

331

2606

0.1

0.1

1.9

0.8

3.0

190

187.

318

8

r21

1522

511

165

14

200

2074

0.0

0.0

0.0

0.0

0.0

192

192.

019

2

r22

1624

47

103

14

80

827

0.0

0.0

0.0

0.0

0.0

6363

.063

r23

1624

47

103

13

70

723

0.0

0.0

0.0

0.0

0.1

6565

.065

r24

1624

48

124

15

120

1243

0.0

0.0

0.0

0.0

0.0

3030

.030

r27

1624

46

93

14

80

826

0.0

0.0

0.0

0.0

0.1

133

133.

013

3

r28

1217

49

144

15

130

1348

0.0

0.0

0.0

0.0

0.0

2424

.024

r29

912

36

83

14

100

1037

0.0

0.0

0.0

0.0

0.1

200

200.

020

0

r30

2845

1219

3012

112

690

5726

20.

00.

00.

00.

00.

111

011

0.0

110

r31

130

237

1411

621

614

125

415

111

323

2375

0.0

0.1

1.3

0.4

1.9

267

258.

425

9

r32

210

391

1919

236

419

141

1069

294

541

5303

0.0

0.3

15.3

1.8

17.5

315

312.

131

3

r33

132

241

1813

224

118

130

474

172

351

2414

0.0

0.1

2.0

0.6

2.9

268

267.

126

8

r34

272

511

1925

949

219

162

1914

069

984

840.

10.

664

.74.

269

.825

724

1.0

241

r35

240

449

1822

843

218

150

1127

289

524

5047

0.0

0.4

16.8

2.2

19.7

159

150.

915

1

r37

4984

834

618

115

100

095

532

0.0

0.0

0.1

0.0

0.2

9090

.090

r38

100

180

1475

140

121

1825

036

220

1388

0.0

0.0

0.3

0.1

0.6

166

165.

516

6

r39

100

180

1470

130

121

1821

40

189

1157

0.0

0.0

0.2

0.2

0.5

166

166.

016

6

r40

6411

210

5497

101

2221

839

166

1017

0.0

0.0

0.3

0.1

0.5

155

154.

215

5

r41

144

263

2013

524

920

124

474

103

372

2514

0.0

0.1

1.3

0.5

2.1

224

223.

222

4

r42

8114

415

6912

715

117

221

4218

812

550.

00.

00.

30.

10.

615

415

2.3

153

r43

195

362

1617

933

516

146

1078

048

246

220.

10.

212

.41.

514

.425

825

5.0

255

r44

196

364

1717

633

117

155

1164

274

467

4879

0.1

0.3

16.1

2.0

18.6

256

251.

925

2

r45

270

507

1925

648

519

170

1865

315

686

8216

0.1

0.6

58.0

4.3

63.4

223

219.

722

0

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 223

TA

BLE

VI.

Tes

tse

t80

and

160

of

C.

Dui

n

Ori

gina

lF

inal

size

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

RN

ItF

rac

Row

sN

ZH

LP

Sep

Tot

Heu

(1)

LB

UB

80.0

0180

120

680

120

60

115

098

657

0.0

0.1

0.0

0.2

1787

1787

.017

87

80.0

1180

350

677

195

61

156

2619

732

150.

00.

30.

30.

814

8214

78.2

1479

80.0

2180

3160

680

448

61

188

060

226

,151

0.0

2.1

2.8

5.5

1175

1175

.011

75

80.0

3180

160

680

160

60

118

010

082

20.

00.

00.

10.

215

7015

70.0

1570

80.0

4180

632

679

302

61

110

20

364

9827

0.0

1.3

1.0

2.5

1279

1276

.012

76

80.1

0180

120

880

120

80

115

010

362

10.

00.

00.

10.

126

0826

08.0

2608

80.1

1180

350

880

350

80

363

039

998

110.

12.

30.

84.

020

5120

25.4

2051

80.1

2180

3160

880

589

81

185

088

139

,730

0.1

3.4

3.4

7.5

1561

1561

.015

61

80.1

3180

160

880

160

80

136

020

216

630.

00.

10.

20.

422

8422

84.0

2284

80.1

4180

632

875

216

82

110

70

242

4654

0.1

1.7

1.5

3.5

1847

1788

.017

88

80.2

0180

120

1680

120

160

122

017

813

880.

00.

10.

10.

348

6247

60.0

4760

80.2

1180

350

1680

350

160

133

049

813

,993

0.0

1.5

0.6

2.3

3758

3631

.036

31

80.2

2180

3160

1680

1015

162

110

70

1489

70,5

860.

28.

812

.122

.131

5831

58.0

3158

80.2

3180

160

1680

160

160

118

026

426

360.

00.

10.

20.

444

5643

54.0

4354

80.2

4180

632

1680

632

160

115

913

305

499

47,9

350.

992

9.0

58.8

1097

.135

5134

87.1

3538

80.3

0180

120

2080

120

200

19

015

410

580.

00.

00.

10.

255

3055

19.0

5519

80.3

1180

350

2080

350

200

138

101

434

13,9

520.

07.

01.

38.

647

0845

53.0

4554

80.3

2180

3160

2080

783

203

122

40

1037

37,2

450.

510

.517

.329

.839

3239

32.0

3932

80.3

3180

160

2080

160

200

523

030

136

010.

00.

80.

21.

753

2152

04.5

5226

80.3

4180

632

2080

632

200

130

9566

430

,800

0.0

1.6

1.3

3.1

4316

4235

.142

36

160.

001

160

240

791

113

71

138

012

472

60.

00.

20.

20.

624

9624

90.0

2490

160.

011

160

812

711

019

37

21

660

176

2552

0.0

0.5

0.8

1.6

1757

1677

.016

77

160.

021

160

12,7

207

160

1049

71

116

40

1534

126,

445

0.2

29.5

21.0

53.4

1352

1352

.013

52

160.

031

160

320

797

122

71

134

092

545

0.0

0.2

0.2

0.5

2170

2170

.021

70

160.

041

160

2544

716

018

107

11

195

079

750

,471

0.4

12.6

15.4

29.3

1542

1494

.014

94

160.

101

160

240

1210

513

512

11

320

156

955

0.0

0.2

0.4

0.8

3859

3859

.038

59

160.

111

160

812

1213

827

812

11

530

295

5996

0.0

0.9

1.2

2.5

3059

2869

.028

69

160.

121

160

12,7

2012

160

932

126

112

170

1394

80,6

333.

858

1.8

214.

680

8.0

2363

2363

.023

63

160.

131

160

320

1211

517

412

11

430

160

1417

0.0

0.4

0.5

1.3

3356

3356

.033

56

160.

141

160

2544

1213

555

612

41

254

067

427

,248

0.4

25.4

15.5

42.8

2549

2549

.025

49

160.

201

160

240

2416

024

024

05

240

352

3860

0.1

0.6

0.6

1.9

7117

6909

.069

23

160.

211

160

812

2416

081

224

015

470

344

786

45,2

081.

210

32.8

74.6

1143

.557

3555

40.3

5583

160.

221

160

12,7

2024

160

2380

245

179

811

846

9849

9,30

56.

254

7.5

325.

288

9.1

4729

4728

.647

29

160.

231

160

320

2416

032

024

01

240

497

6911

0.1

1.3

0.7

2.3

6810

6662

.066

62

160.

241

160

2544

2416

025

4424

012

118

0273

114

6933

2,82

98.

719

,156

.611

62.0

21,0

08.6

5186

5034

.750

86

160.

301

160

240

4016

024

040

01

110

425

3676

0.0

0.3

0.3

1.1

11,9

0911

,816

.011

,816

160.

311

160

812

4016

081

240

025

356

346

1055

46,6

981.

656

0.0

82.4

687.

995

1090

83.9

9135

160.

321

160

12,7

2040

160

12,7

2040

09

160

1125

3806

1,29

7,79

45.

116

13.9

1179

.929

59.4

7903

7871

.478

76

160.

331

160

320

4016

032

040

01

160

666

9274

0.1

0.4

0.8

1.8

10,8

2010

,414

.010

,414

160.

341

160

2544

4016

025

4440

013

128

3799

614

8534

6,17

123

.250

,712

.027

50.5

54,5

00.7

8558

8277

.983

31

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

224 KOCH AND MARTIN

TA

BLE

VII.

Tes

tse

t32

0an

d64

0o

fC

.D

uin

Ori

gina

lF

inal

size

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

RN

ItF

rac

Row

sN

ZH

LP

Sep

Tot

Heu

(1)

LB

UB

320.

001

320

480

814

417

48

11

510

153

913

0.1

0.3

0.7

1.3

2672

2672

.026

72

320.

011

320

1845

888

177

84

327

20

254

4184

0.3

13.9

10.0

25.5

2057

2049

.520

53

320.

021

320

51,0

408

320

2227

83

145

30

3578

581,

443

4.4

409.

165

9.1

1102

.015

6415

53.0

1553

320.

031

320

640

832

064

08

03

920

582

9176

0.1

5.8

3.1

10.5

2709

2660

.026

73

320.

041

320

10,2

088

7817

58

81

895

025

946

104.

418

2.5

239.

243

4.6

1750

1707

.017

07

320.

101

320

480

1716

019

017

11

360

190

1037

0.0

0.3

0.9

1.7

5548

5548

.055

48

320.

111

320

1845

1732

018

4517

07

168

116

1175

41,1

410.

714

9.8

42.1

206.

544

3542

53.4

4273

320.

121

320

51,0

4017

320

2046

178

111

150

2619

218,

395

17.7

621.

619

09.0

2595

.333

2133

21.0

3321

320.

131

320

640

1732

064

017

01

450

770

11,3

000.

13.

63.

57.

453

5352

55.0

5255

320.

141

320

10,2

0817

320

10,2

0817

045

834

183

2993

632,

380

11.2

8188

.614

76.2

10,1

39.9

3701

3567

.936

06

320.

201

320

480

3432

048

034

01

330

708

7595

0.2

1.3

2.9

5.0

10,2

7510

,044

.010

,044

320.

211

320

1845

3432

018

4534

049

1254

517

1829

117,

293

9.9

7121

.492

2.4

8274

.684

7679

87.8

8039

320.

221

320

51,0

4034

320

15,7

2634

21

624

267

10,2

143,

936,

831

69.0

3846

.760

40.0

10,0

19.4

6697

6664

.066

79

320.

231

320

640

3432

064

034

07

5272

932

23,0

550.

322

.48.

339

.510

,028

9855

.898

62

320.

241

320

10,2

0834

320

10,2

0834

015

344

1003

4756

865,

964

8.3

8389

.413

87.4

10,0

07.7

7214

6985

.470

27

320.

301

320

480

8032

048

080

01

190

1067

19,0

370.

32.

13.

913

.323

,669

23,2

79.0

23,2

79

320.

311

320

1845

8032

018

4580

097

1101

503

1778

83,5

6826

.777

54.0

1788

.610

,006

.618

,843

17,7

44.9

17,9

45

320.

321

320

51,0

4080

320

51,0

4080

01

8411

8279

944,

372,

292

39.5

5323

.649

72.2

10,3

68.9

15,8

6315

,609

.615

,771

320.

331

320

640

8032

064

080

033

124

012

0624

,025

2.0

159.

145

.926

6.7

22,3

5121

,460

.721

,517

320.

341

320

10,2

0880

320

10,2

0880

03

106

1563

6219

1,62

0,17

57.

387

85.2

1096

.910

,021

.516

,463

16,1

50.3

16,3

74

640.

001

640

960

933

549

11

510

101

571

0.0

0.5

1.0

5.2

4183

4033

.040

33

640.

011

640

4135

945

919

31

121

011

987

30.

22.

36.

318

.823

9223

92.0

2392

640.

021

640

204,

480

964

052

159

31

818

082

342,

633,

466

23.5

4358

.563

69.4

11,0

04.9

1749

1749

.017

49

640.

031

640

1280

920

925

49

21

960

207

1330

0.2

1.8

3.0

6.5

3278

3278

.032

78

640.

041

640

40,8

969

111

340

97

180

648

437

10,5

6521

.142

2.2

1732

.322

14.9

1945

1896

.318

97

640.

101

640

960

2538

451

525

11

670

640

8418

0.4

15.0

8.2

26.7

9054

8764

.087

64

640.

111

640

4135

2564

041

3525

083

1935

371

3204

133,

572

24.0

11,5

37.8

1655

.613

,677

.564

1560

79.4

6167

640.

121

640

204,

480

2564

020

4,48

025

01

5936

2360

2,12

2,20

845

.820

9.5

9710

.810

,158

.649

0647

41.2

4906

640.

131

640

1280

2538

751

725

11

760

576

7774

0.4

13.6

11.5

28.6

8319

8097

.080

97

640.

141

640

40,8

9625

640

40,8

9625

03

230

209

6401

1,53

6,07

629

.763

78.3

3432

.310

,059

.253

0751

41.9

5247

640.

201

640

960

5064

096

050

03

390

1516

25,6

100.

711

.710

.131

.316

,797

16,0

78.0

16,0

79

640.

211

640

4135

5064

041

3550

01

245

1149

3746

297,

821

7.3

9297

.269

0.2

10,0

02.7

12,7

1411

,793

.812

,291

640.

221

640

204,

480

5064

020

4,48

050

01

5054

3517

2,94

7,25

188

.027

2.5

9656

.310

,219

.698

7695

42.4

9876

640.

231

640

1280

5064

012

8050

023

185

416

1707

43,7

702.

762

7.7

103.

680

4.1

15,2

0114

,974

.815

,014

640.

241

640

40,8

9650

640

40,8

9650

01

139

1008

10,4

882,

692,

998

33.4

7544

.225

00.2

10,1

02.6

10,3

8610

,136

.010

,338

640.

301

640

960

160

640

960

160

01

220

2061

54,0

984.

715

.720

.315

2.3

46,1

0445

,005

.045

,005

640.

311

640

4135

160

640

4135

160

03

184

1741

4644

193,

418

40.5

8394

.514

17.8

10,0

39.2

37,7

0635

,256

.936

,562

640.

321

640

204,

480

160

640

204,

480

160

01

300

6108

4,77

7,10

017

0.1

388.

191

74.5

10,0

58.1

31,7

5730

,594

.031

,757

640.

331

640

1280

160

640

1280

160

055

507

678

2209

118,

490

79.2

2227

.310

77.9

3817

.944

,711

42,7

54.7

42,7

96

640.

341

640

40,8

9616

064

040

,896

160

01

6323

5417

,086

7,17

6,82

159

.074

69.7

2697

.410

,332

.232

,303

31,8

40.6

32,3

03

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 225

TA

BLE

VIII

.V

LSI

exam

ple

s:d

iwan

dta

q

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

diw

0234

a53

4910

,086

2538

5672

6624

139

610

,928

725

5113

54,4

9212

,657

.366

.910

,554

.271

7.3

24,0

02.9

2001

1995

.119

96

diw

0250

353

608

1130

854

511

157

584

050

533

870.

10.

32.

71.

85.

135

035

0.0

350

diw

0260

539

985

1251

895

411

167

628

060

638

910.

10.

72.

11.

85.

146

846

8.0

468

diw

0313

468

822

1442

175

212

150

619

7150

034

300.

10.

42.

92.

56.

139

739

6.7

397

diw

0393

212

381

1119

435

311

140

460

038

527

820.

00.

11.

60.

93.

030

230

2.0

302

diw

0445

1804

3311

3317

4532

4033

123

965

9110

6029

2629

,613

0.7

23.7

2664

.813

6.7

2827

.613

8713

62.3

1363

diw

0459

3636

6789

2535

1666

3525

159

011

,569

1318

5022

49,9

902.

710

2.0

8014

.350

6.1

8628

.613

6713

61.1

1362

diw

0460

339

579

1329

652

313

129

433

039

624

400.

10.

10.

80.

92.

235

834

5.0

345

diw

0473

2213

4135

2521

4040

4625

136

258

8270

136

0135

,557

1.1

34.4

1658

.317

2.9

1868

.611

0710

97.1

1098

diw

0487

2414

4386

2522

9442

3325

146

752

950

3117

24,0

081.

246

.356

8.8

166.

178

4.7

1451

1424

.014

24

diw

0495

938

1655

1089

416

0310

119

415

3410

911

6280

670.

23.

322

.713

.740

.762

661

5.5

616

diw

0513

918

1684

1086

716

2110

115

721

4746

714

5912

,461

0.2

2.7

106.

119

.812

9.4

614

603.

360

4

diw

0523

1080

2015

1010

2519

4310

126

721

3463

1663

14,3

830.

35.

315

6.5

24.9

188.

156

156

0.7

561

diw

0540

286

465

1023

239

410

137

389

033

419

530.

00.

10.

91.

02.

237

437

4.0

374

diw

0559

3738

7013

1836

2768

8318

127

211

,148

1501

4484

50,5

572.

837

.695

89.4

437.

610

,070

.015

7813

73.9

1570

diw

0778

7231

13,7

2724

7145

13,6

2924

120

012

,428

1867

6585

69,6

3210

.179

.590

15.5

1026

.910

,135

.721

9718

00.3

2173

diw

0779

11,8

2122

,516

5011

,715

22,3

9950

114

115

,341

2594

9499

82,3

6628

.325

5.0

7111

.227

67.7

10,1

67.2

4588

3158

.345

66

diw

0795

3221

5938

1031

0157

9210

129

899

9317

6247

2057

,537

2.1

21.9

9715

.533

3.0

10,0

74.8

1584

1455

.715

53

diw

0801

3023

5575

1028

8154

0010

126

999

1918

1545

9757

,572

1.9

18.2

9689

.632

4.8

10,0

36.6

1598

1528

.315

87

diw

0819

10,5

5320

,066

3210

,447

19,9

4232

114

012

,691

2318

7923

76,6

4122

.513

3.0

8681

.914

26.5

10,2

67.9

3467

2458

.834

30

diw

0820

11,7

4922

,384

3711

,634

22,2

5337

115

615

,756

2502

10,1

7193

,809

28.0

202.

981

69.4

1734

.310

,139

.042

7128

66.8

4259

taq0

014

6466

11,0

4612

860

2910

,563

128

168

14,1

9636

2082

9269

,417

7.6

230.

295

78.2

714.

410

,536

.255

1346

88.3

5442

taq0

023

572

963

1150

187

311

194

1691

088

479

460.

10.

960

.27.

569

.262

362

1.0

621

taq0

365

4186

7074

2238

3066

8122

135

010

,958

2036

4917

54,0

793.

456

.192

96.8

663.

610

,023

.319

7118

19.2

1914

taq0

377

6836

11,7

1513

664

3311

,301

136

156

13,9

3641

4490

9574

,502

8.7

256.

194

61.3

689.

210

,421

.366

5956

40.5

6565

taq0

431

1128

1905

1399

517

4513

113

936

3773

815

6415

,975

0.3

3.0

516.

137

.955

8.1

937

896.

189

7

taq0

631

609

932

1047

578

210

160

1114

311

624

4752

0.1

0.4

23.1

6.0

29.9

594

580.

558

1

taq0

739

837

1438

1677

313

6216

391

2890

5513

1813

,277

0.2

30.9

308.

420

.636

0.8

859

847.

184

8

taq0

741

712

1217

1663

611

1516

110

931

8673

312

1013

,877

0.1

1.7

385.

618

.540

6.6

865

846.

484

7

taq0

751

1051

1791

1694

516

6316

198

3467

793

1672

16,5

330.

22.

348

6.1

27.4

516.

895

293

8.2

939

taq0

891

331

560

1026

947

610

182

624

180

473

3457

0.1

0.4

4.5

2.2

7.5

319

318.

531

9

taq0

903

6163

10,4

9013

056

5299

0713

01

6213

,612

3593

7552

66,1

386.

921

2.0

9655

.860

4.7

10,4

84.6

5208

4510

.351

62

taq0

910

310

514

1725

443

715

129

429

037

625

660.

00.

11.

01.

02.

437

037

0.0

370

taq0

920

122

194

1764

105

131

1299

092

451

0.0

0.0

0.0

0.1

0.2

210

210.

021

0

taq0

978

777

1239

1067

011

2410

175

938

068

447

090.

11.

09.

38.

619

.456

656

6.0

566

aT

his

run

was

perf

orm

edw

ith

the

defa

ult

para

met

erse

ttin

gex

cept

that

the

com

plet

ere

duct

ion

test

was

used

and

noti

me

lim

itw

asgi

ven.

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

226 KOCH AND MARTIN

TA

BLE

IX.

VLS

Iex

amp

les:

dm

xan

dm

sm

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

dmxa

0296

233

386

1219

233

212

140

425

5534

922

170.

00.

11.

30.

82.

534

934

3.5

344

dmxa

0368

2050

3676

1819

4235

5818

127

449

5510

1627

8524

,254

0.9

16.7

1120

.513

4.3

1274

.010

2110

16.1

1017

dmxa

0454

1848

3286

1617

4731

6516

119

541

6878

025

7322

,149

0.7

9.5

500.

478

.259

0.1

964

913.

691

4

dmxa

0628

169

280

1014

424

910

137

400

132

319

2279

0.0

0.1

1.7

0.6

2.6

277

274.

327

5

dmxa

0734

663

1154

1162

111

0311

111

115

3432

897

280

730.

11.

480

.811

.093

.851

950

5.4

506

dmxa

0848

499

861

1644

378

916

153

1341

087

272

210.

10.

529

.15.

635

.760

059

4.0

594

dmxa

0903

632

1087

1055

898

910

195

1917

411

975

9000

0.1

1.0

94.0

9.2

104.

859

857

9.2

580

dmxa

1010

3983

7108

2337

3168

1723

181

210

,320

870

4390

42,2

583.

111

8.9

9107

.078

5.5

10,0

19.1

1497

1407

.214

88

dmxa

1109

343

559

1729

650

217

137

728

049

335

090.

10.

34.

62.

07.

145

445

4.0

454

dmxa

1200

770

1383

2172

113

2221

169

2043

306

1331

11,8

290.

21.

511

7.4

11.6

131.

476

274

9.6

750

dmxa

1304

298

503

1026

546

110

139

507

044

129

120.

00.

21.

81.

53.

831

231

1.0

311

dmxa

1516

720

1269

1166

712

0411

112

313

7629

189

466

700.

11.

828

.511

.242

.251

150

7.5

508

dmxa

1721

1005

1731

1892

316

4018

117

916

9913

813

5110

,025

0.3

4.8

28.9

15.6

50.3

784

779.

778

0

dmxa

1801

2333

4137

1721

1838

9017

119

188

6915

4831

2542

,989

1.1

12.3

7063

.018

0.5

7259

.214

2313

64.2

1365

msm

0580

338

541

1127

345

911

147

708

051

736

360.

00.

25.

61.

67.

848

046

7.0

467

msm

0654

1290

2270

1011

6321

1310

123

729

3159

118

1015

,492

0.4

5.3

210.

945

.726

3.2

823

822.

682

3

msm

0709

1442

2403

1612

8022

1116

197

2973

016

0813

,760

0.5

3.3

206.

235

.624

6.4

884

884.

088

4

msm

0920

752

1264

2664

311

2726

153

1739

011

3485

350.

11.

534

.110

.046

.382

180

6.0

806

msm

1008

402

695

1136

764

911

159

1093

304

655

5565

0.1

0.4

19.9

3.3

23.9

504

493.

449

4

msm

1234

933

1632

1386

515

4811

117

618

5739

410

8187

880.

23.

090

.526

.512

0.9

550

549.

355

0

msm

1477

1199

2078

3110

7419

1531

186

2768

5216

3114

,427

0.3

5.0

234.

920

.926

2.0

1096

1067

.510

68

msm

1707

278

478

1123

842

011

147

339

032

318

950.

00.

20.

80.

81.

956

456

4.0

564

msm

1844

9013

510

6095

101

1514

30

133

623

0.0

0.0

0.1

0.1

0.2

191

188.

018

8

msm

1931

875

1522

1079

514

218

118

817

2036

711

3587

070.

22.

556

.815

.775

.760

460

3.8

604

msm

2000

898

1562

1081

414

569

121

020

2444

411

8299

800.

22.

990

.319

.011

3.2

594

593.

559

4

msm

2152

2132

3702

3719

9635

3637

110

566

9714

3828

7131

,772

1.0

14.1

2861

.613

3.5

3011

.716

3415

89.1

1590

Tab

leIX

cont

inue

s

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 227

TA

BLE

IX.

Co

ntin

ued

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

msm

2326

418

723

1438

368

214

135

677

052

938

440.

10.

33.

52.

66.

740

439

9.0

399

msm

2492

4045

7094

1238

1268

1512

168

111

,530

1173

4836

45,3

213.

263

.991

76.8

754.

710

,002

.014

6014

28.7

1459

msm

2525

3031

5239

1227

8049

5312

140

462

8511

9037

5932

,556

2.0

28.3

1618

.523

5.6

1886

.513

0312

89.1

1290

msm

2601

2961

5100

1627

1148

2916

128

498

3815

9037

1241

,758

1.8

21.1

9704

.331

1.3

10,0

43.5

1474

1403

.614

40

msm

2705

1359

2458

1312

9523

8113

111

429

540

1682

15,4

800.

43.

532

8.8

37.3

370.

873

071

4.0

714

msm

2802

1709

2963

1815

6728

0418

117

136

620

2043

17,0

260.

68.

734

7.3

70.7

428.

493

692

6.0

926

msm

2846

3263

5783

8931

4056

3789

111

112

,358

2597

4935

55,7

242.

291

.996

68.4

501.

010

,268

.432

0831

03.7

3141

msm

3277

1704

2991

1215

6428

3212

126

737

8135

021

9819

,426

0.6

9.4

532.

071

.761

4.9

869

868.

486

9

msm

3676

957

1554

1080

313

6710

112

518

4232

210

3980

300.

21.

776

.615

.995

.161

260

6.8

607

msm

3727

4640

8255

2143

9179

8821

145

810

,565

048

0743

,464

4.1

93.8

6646

.791

7.7

7665

.914

0613

76.0

1376

msm

3829

4221

7255

1238

9568

8112

153

311

,617

1444

4747

44,0

593.

560

.393

74.0

629.

210

,070

.416

1213

84.6

1571

msm

4038

237

390

1118

131

311

159

515

112

366

2562

0.0

0.2

2.3

1.3

3.9

353

352.

435

3

msm

4114

402

690

1635

262

516

143

684

2951

036

140.

10.

33.

62.

76.

939

339

2.2

393

msm

4190

391

666

1634

060

216

139

763

209

586

4451

0.1

0.3

6.0

2.1

8.7

381

380.

738

1

msm

4224

191

302

1115

625

811

138

417

134

313

2018

0.0

0.1

1.8

0.6

2.6

315

310.

831

1

msm

4312

5181

8893

1048

0084

6410

137

110

,370

1947

5678

58,7

385.

045

.492

86.3

679.

110

,019

.420

5516

84.2

2049

msm

4414

317

476

1122

536

511

132

426

129

326

1909

0.0

0.1

1.3

0.7

2.2

408

407.

640

8

msm

4515

777

1358

1373

413

0613

193

2175

453

1238

11,2

000.

21.

414

8.4

15.8

166.

464

062

9.4

630

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

228 KOCH AND MARTIN

TA

BLE

X.

VLS

Iex

amp

les:

gap

,al

ue,

and

alu

t

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

gap1

307

342

552

1728

348

517

134

626

118

517

3401

0.0

0.2

2.5

1.7

4.8

554

548.

154

9

gap1

413

541

906

1046

581

510

162

932

067

450

060.

10.

411

.34.

416

.645

745

7.0

457

gap1

500

220

374

1716

629

312

169

284

4723

515

460.

00.

20.

70.

71.

925

425

3.2

254

gap1

810

429

702

1735

460

417

138

600

047

630

030.

10.

32.

22.

14.

949

048

2.0

482

gap1

904

735

1256

2167

311

8321

151

1385

131

1088

7755

0.1

1.2

15.4

8.1

25.4

778

762.

676

3

gap2

007

2039

3548

1718

9433

6917

725

866

4560

2487

24,8

500.

919

5.4

2048

.216

3.6

2410

.011

2011

03.4

1104

gap2

119

1724

2975

2915

5727

7229

185

4427

023

7922

,744

0.6

6.7

748.

360

.381

7.1

1269

1244

.012

44

gap2

740

1196

2084

1410

8019

3414

114

935

4749

616

2416

,078

0.3

4.2

578.

939

.062

3.1

745

744.

374

5

gap2

800

386

653

1232

857

712

165

824

060

344

630.

10.

49.

62.

913

.238

738

6.0

386

gap2

975

179

293

1015

626

710

140

316

027

716

820.

00.

10.

80.

51.

624

524

5.0

245

gap3

036

346

583

1330

853

513

143

912

288

567

4782

0.1

0.3

12.3

2.1

15.1

469

456.

345

7

gap3

100

921

1558

1179

213

9311

115

823

6357

913

0112

,083

0.2

2.3

156.

319

.317

8.9

642

639.

264

0

gap3

128

10,3

9318

,043

104

9711

17,3

0810

41

120

11,6

8925

0359

0054

,435

20.3

377.

668

25.8

2790

.210

,021

.143

8636

16.3

4315

alue

2087

1244

1971

3496

216

5034

147

2047

013

7110

,383

0.3

2.8

63.0

15.6

82.4

1065

1049

.010

49

alue

2105

1220

1858

3491

115

1034

111

818

140

1290

10,0

910.

35.

738

.423

.568

.710

3910

32.0

1032

alue

3146

3626

5869

6430

4752

2364

123

188

5411

3140

2238

,092

2.3

87.7

9403

.758

7.3

10,0

85.0

2280

2215

.022

40

alue

5067

3524

5560

6828

5048

1968

110

179

770

3553

34,7

892.

145

.434

14.2

345.

938

09.9

2622

2586

.025

86

alue

5345

5179

8165

6842

7072

0268

112

610

,940

2533

5199

49,7

674.

489

.097

21.4

446.

110

,264

.636

0333

18.6

3560

alue

5623

4472

6938

6835

8960

0068

110

310

,241

2405

4611

46,0

443.

463

.298

11.4

335.

210

,216

.035

0932

58.1

3463

alue

5901

11,5

4318

,429

6897

4416

,553

681

9711

,544

1836

6443

56,9

5022

.419

4.9

8376

.214

83.4

10,0

81.3

4042

3418

.639

94

alue

6179

3372

5213

6727

0145

0266

512

076

2061

3380

29,7

461.

928

8.7

3989

.428

9.8

4573

.124

8324

52.0

2452

alue

6457

3932

6137

6832

3354

0368

110

710

,701

2161

4458

45,2

142.

558

.296

43.1

390.

610

,097

.331

1330

05.3

3062

alue

6735

4119

6696

6835

0160

2168

173

7693

040

2837

,632

3.0

42.4

3839

.525

5.7

4142

.927

3526

96.0

2696

alue

6951

2818

4419

6722

7438

4367

195

5810

027

8026

,221

1.4

31.3

1375

.619

0.2

1600

.424

8323

86.0

2386

alue

7065

34,0

4654

,841

544

29,2

4349

,948

544

122

12,4

5613

6111

,351

59,3

4210

26.3

6328

.522

8.9

2422

.410

,042

.924

,827

12,5

89.4

24,8

27

alue

7066

6405

10,4

5416

5516

9506

151

390

10,9

0717

4956

2152

,684

6.9

74.2

8994

.697

1.4

10,0

50.3

2285

1767

.922

75

alue

7080

a34

,479

55,4

9423

44—

——

——

——

——

——

——

——

——

alue

7229

940

1474

3473

012

3434

110

413

550

1115

8254

0.2

3.7

17.4

10.5

32.7

824

824.

082

4

alut

0787

1160

2089

3411

0520

2334

110

725

480

1759

14,3

320.

36.

514

8.9

27.7

184.

498

798

2.0

982

alut

0805

966

1666

3485

215

3634

158

2634

512

1372

12,1

860.

22.

718

4.9

18.2

206.

997

995

7.4

958

alut

1181

3041

5693

6429

4955

7164

199

10,5

4021

6547

2253

,720

1.9

43.9

9914

.024

7.9

10,2

10.4

2462

2261

.023

90

alut

2010

6104

11,0

1168

5777

10,6

3468

113

412

,720

2717

6805

64,3

827.

015

4.9

9208

.069

5.5

10,0

69.7

3403

3218

.033

22

alut

2288

9070

16,5

9568

8824

16,3

2968

198

13,0

9728

9879

5873

,484

15.7

186.

289

80.5

1013

.410

,200

.339

5332

91.7

3889

alut

2566

5021

9055

6847

5987

4667

110

411

,235

2508

5543

54,0

874.

783

.595

69.6

689.

510

,350

.631

2929

00.7

3127

alut

2610

33,9

0162

,816

204

33,2

0762

,084

204

159

17,2

6931

1514

,250

106,

987

1153

.022

60.8

2722

.143

16.0

10,4

70.0

12,7

9769

25.9

12,7

60

alut

2625

b36

,711

68,1

1787

936

,137

67,5

2687

91

5077

,716

770

19,9

9111

4,26

940

9.4

3347

.729

1.8

6177

.710

,299

.336

,763

19,5

45.0

36,7

63

alut

2764

387

626

3432

053

932

178

590

1554

028

590.

11.

31.

92.

86.

565

763

9.5

640

aW

eha

veno

tbe

enab

leto

solv

eth

isin

stan

ceon

any

ofou

rw

orks

tati

ons;

the

mem

ory

requ

irem

ents

are

mor

eth

an1

Gig

abyt

e.b

Thi

sru

nw

aspe

rfor

med

ona

Sun

Ult

ra1

Mod

el17

0Ew

ith

the

foll

owin

gpa

ram

eter

chan

ges:

The

prim

alhe

uris

tic

was

call

edev

ery

50it

erat

ions

(def

ault

is5)

and

the

term

inal

-dis

tanc

e-te

st(S

tep

(4)

ofA

lgor

ithm

3.2)

was

skip

ped.

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 229

TA

BLE

XI.

Rec

tilin

ear

test

sets

es10

and

es20

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

es10

a57

9410

5390

101

3124

30

182

1090

0.0

0.1

0.5

0.2

0.8

23,0

90,7

4722

,920

,745

.022

,920

,745

es10

b56

9210

5083

101

2721

80

155

883

0.0

0.0

0.3

0.1

0.6

19,1

34,1

0419

,134

,104

.019

,134

,104

es10

c58

9610

5492

101

2117

10

146

778

0.0

0.0

0.2

0.1

0.4

26,1

26,9

8026

,003

,678

.026

,003

,678

es10

d50

8010

4676

101

2214

80

128

689

0.0

0.0

0.2

0.1

0.3

20,4

61,1

1620

,461

,116

.020

,461

,116

es10

e63

106

1059

102

101

1614

80

138

738

0.0

0.0

0.1

0.1

0.3

18,8

18,9

1618

,818

,916

.018

,818

,916

es10

f51

8210

4677

91

2820

90

157

909

0.0

0.0

0.3

0.2

0.5

26,8

31,3

8126

,540

,768

.026

,540

,768

es10

g48

7610

3863

81

1412

30

109

547

0.0

0.0

0.1

0.1

0.2

26,0

25,0

7226

,025

,072

.026

,025

,072

es10

h55

9010

5186

101

2119

90

160

882

0.0

0.0

0.2

0.1

0.5

25,0

56,2

1425

,056

,214

.025

,056

,214

es10

i53

8610

4779

91

1816

00

135

747

0.0

0.0

0.1

0.1

0.4

22,0

62,3

5522

,062

,355

.022

,062

,355

es10

j50

8010

4575

91

1313

30

124

617

0.0

0.0

0.1

0.0

0.3

24,1

03,2

4823

,936

,095

.023

,936

,095

es10

k51

8210

4778

101

2614

50

121

632

0.0

0.0

0.3

0.1

0.5

22,2

39,5

3522

,239

,535

.022

,239

,535

es10

l53

8610

4881

91

1611

90

110

531

0.0

0.0

0.0

0.1

0.3

19,6

26,3

1819

,626

,318

.019

,626

,318

es10

m45

7010

4065

91

1512

00

111

531

0.0

0.0

0.1

0.1

0.3

19,4

83,9

1419

,483

,914

.019

,483

,914

es10

n37

5410

2946

71

1692

076

335

0.0

0.0

0.1

0.0

0.2

21,8

56,1

2821

,856

,128

.021

,856

,128

es10

o45

7010

3761

71

2197

2085

417

0.0

0.0

0.1

0.0

0.2

18,6

41,9

2418

,641

,924

.018

,641

,924

es20

a27

350

620

269

502

201

7316

560

737

6926

0.1

0.6

27.9

4.3

33.4

33,7

33,7

8733

,703

,886

.033

,703

,886

es20

b28

152

220

277

518

201

5415

510

716

6764

0.1

0.5

28.3

3.5

32.8

33,2

25,8

5332

,639

,486

.032

,639

,486

es20

c22

541

020

221

406

201

4711

060

584

4666

0.2

0.4

8.7

2.1

11.6

28,5

28,7

5727

,847

,417

.027

,847

,417

es20

d26

949

820

265

494

205

110

2448

7266

869

370.

123

.274

.97.

210

6.3

27,6

86,6

8127

,624

,394

.027

,624

,394

es20

e27

150

220

267

498

203

6917

0846

724

6858

0.1

10.2

43.4

4.7

59.1

34,5

31,0

7634

,033

,163

.034

,033

,163

es20

f27

250

420

267

499

191

7113

050

671

5976

0.1

0.6

15.4

3.6

20.1

36,4

12,5

9636

,014

,241

.036

,014

,241

es20

g27

350

620

269

502

201

7018

010

694

7314

0.1

0.6

42.6

4.8

48.5

35,4

18,8

5634

,934

,874

.034

,934

,874

es20

h24

044

020

235

435

193

7318

4524

609

6542

0.1

10.4

38.5

4.1

53.9

38,7

19,1

2938

,016

,346

.038

,016

,346

es20

i28

653

220

282

528

201

4814

420

695

6433

0.1

0.5

23.6

3.4

27.9

36,7

39,9

3936

,739

,939

.036

,739

,939

es20

j25

246

420

248

460

201

5113

380

647

5951

0.1

0.4

18.4

2.7

21.9

34,8

72,0

8834

,024

,740

.034

,024

,740

es20

k27

050

020

266

496

201

8017

620

647

6615

0.2

0.7

35.4

5.2

41.9

27,3

37,0

9927

,123

,908

.027

,123

,908

es20

l25

547

020

251

466

201

5916

660

652

6614

0.1

0.5

36.7

3.5

41.1

30,9

11,1

5930

,451

,397

.030

,451

,397

es20

m24

645

220

241

447

191

5811

420

663

5742

0.1

0.4

13.2

2.6

16.7

34,5

52,1

8334

,438

,673

.034

,438

,673

es20

n25

246

420

248

460

201

6717

690

671

7122

0.1

0.6

34.2

4.2

39.6

34,0

62,3

7434

,062

,374

.034

,062

,374

es20

o24

745

420

242

449

191

4312

560

620

5399

0.1

0.3

16.8

2.6

20.0

32,5

82,3

0932

,303

,746

.032

,303

,746

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

230 KOCH AND MARTIN

TA

BLE

XII.

Rec

tilin

ear

test

sets

es30

and

es40

Ori

gina

lP

reso

lved

B&

CR

oot

LP

Tim

eS

olut

ions

Nam

eÉVÉ

ÉEÉ

ÉTÉ

ÉVÉ

ÉEÉ

ÉTÉ

Nod

Iter

Cut

sF

rac

Row

sN

ZP

reH

euL

PS

epT

otH

eu(1

)L

BU

B

es30

a66

412

6830

660

1264

301

120

6045

014

8320

,589

0.2

4.4

790.

137

.983

3.7

41,4

45,9

9440

,692

,993

.040

,692

,993

es30

b64

612

3230

642

1228

303

171

7156

5114

8521

,423

0.2

35.6

1223

.554

.813

15.6

41,7

99,7

7540

,900

,061

.040

,900

,061

es30

c65

912

5830

655

1254

301

289

12,6

900

1461

21,7

620.

210

.138

77.9

115.

440

05.2

44,1

36,2

2843

,120

,444

.043

,120

,444

es30

d67

712

9430

673

1290

301

161

7134

014

4018

,779

0.2

5.8

1506

.057

.015

70.1

42,9

61,4

6842

,150

,958

.042

,150

,958

es30

e66

012

6030

656

1256

301

177

7380

014

6920

,352

0.2

6.4

1473

.556

.315

37.5

41,9

51,2

2641

,739

,748

.041

,739

,748

es30

f60

611

5230

602

1148

301

188

7456

014

1521

,015

0.2

6.2

1203

.459

.312

70.3

40,8

08,5

1739

,955

,139

.039

,955

,139

es30

g67

112

8230

665

1276

291

180

7031

014

9121

,896

0.2

6.0

1401

.851

.114

60.3

45,6

13,5

8943

,761

,391

.043

,761

,391

es30

h58

711

1430

582

1109

291

213

7390

013

4820

,717

0.2

6.7

1295

.256

.313

59.5

42,0

76,2

3641

,691

,217

.041

,691

,217

es30

i65

612

5230

650

1245

291

165

6992

015

1719

,446

0.2

5.4

826.

344

.487

7.5

37,6

12,9

5437

,133

,658

.037

,133

,658

es30

j63

312

0630

628

1201

291

121

4975

014

7018

,891

0.2

4.0

500.

529

.253

4.8

43,2

32,9

8742

,686

,610

.042

,686

,610

es30

k67

312

8630

669

1282

301

149

6919

015

2921

,258

0.2

5.2

1203

.848

.612

58.9

42,0

50,3

4141

,647

,993

.041

,647

,993

es30

l55

510

5030

548

1038

301

7127

500

1350

12,3

420.

22.

184

.811

.999

.639

,120

,826

38,4

16,7

20.0

38,4

16,7

20

es30

m59

811

3630

592

1130

281

159

4763

013

2516

,610

0.3

4.6

478.

235

.551

9.6

37,6

85,4

7637

,406

,646

.037

,406

,646

es30

n69

413

2830

688

1321

291

134

5871

2016

0820

,845

0.3

5.1

664.

438

.570

9.2

45,1

59,3

2642

,897

,025

.042

,897

,025

es30

o63

212

0430

627

1199

291

223

9704

014

4722

,433

0.3

7.4

2632

.574

.627

15.9

44,3

44,0

0343

,035

,576

.043

,035

,576

es40

a11

8122

8240

1175

2275

391

185

11,1

230

2387

33,5

4413

.216

.351

72.5

123.

253

27.5

45,6

29,4

5244

,841

,522

.044

,841

,522

es40

b11

3321

8640

1128

2181

391

170

10,0

870

2332

36,4

1810

.814

.636

28.8

135.

637

91.6

48,7

04,7

4046

,811

,310

.046

,811

,310

es40

c11

6222

4440

1158

2240

401

245

14,1

880

2254

34,8

5912

.022

.595

92.6

256.

298

86.3

51,4

14,3

8649

,974

,157

.049

,974

,157

es40

d11

2921

7840

1125

2174

401

175

11,0

420

2535

34,8

4211

.415

.148

99.7

145.

050

73.4

45,6

15,1

7146

,289

,864

.045

,289

,864

es40

e12

9625

1240

1292

2508

401

199

12,4

3918

5028

2748

,217

16.4

19.2

9864

.317

7.2

10,0

79.9

52,4

06,2

7251

,392

,344

.352

,016

,120

es40

f11

1421

4840

1109

2143

401

379

18,1

2011

4424

7242

,023

10.8

33.0

9616

.236

6.6

10,0

30.3

49,8

93,5

5749

,737

,564

.649

,765

,043

es40

g11

7222

6440

1164

2254

391

140

9181

024

9734

,988

12.9

12.7

3037

.911

0.4

3175

.846

,551

,607

45,6

39,0

09.0

45,6

39,0

09

es40

h12

6224

4440

1254

2436

391

180

12,8

4516

6326

0640

,227

15.9

17.3

9825

.516

8.1

10,0

29.3

49,9

53,7

6348

,739

,666

.448

,745

,996

es40

i12

3223

8440

1228

2380

401

228

14,6

5718

0225

9742

,316

15.1

22.4

9789

.623

1.5

10,0

61.9

52,8

59,3

6951

,557

,587

.251

,761

,789

es40

j12

5524

3040

1251

2426

401

145

11,0

5417

8826

7843

,248

15.1

15.8

9894

.113

9.6

10,0

66.7

58,3

90,8

6256

,761

,892

.057

,414

,203

es40

k11

9223

0440

1187

2299

401

201

12,9

520

2543

41,9

2413

.519

.486

31.1

182.

888

49.3

47,7

19,9

3846

,734

,214

.046

,734

,214

es40

l12

6124

4240

1256

2437

401

178

9872

026

3237

,136

16.1

18.4

4280

.216

0.7

4477

.245

,088

,751

43,8

43,3

78.0

43,8

43,3

78

es40

m13

8126

8240

1377

2678

401

169

10,9

060

2881

41,2

5518

.118

.754

32.0

197.

456

68.3

52,3

74,5

6051

,884

,545

.051

,884

,545

es40

n13

1325

4640

1309

2542

401

195

12,1

2716

1627

7745

,105

16.6

21.6

9793

.219

6.1

10,0

29.7

49,9

67,2

6848

,924

,948

.149

,448

,257

es40

o13

0725

3440

1300

2527

401

232

14,7

120

2575

40,7

6217

.124

.885

51.0

51.7

8847

.251

,340

,298

50,8

28,0

67.0

50,8

28,0

67

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

SOLVING STEINER TREE PROBLEMS IN GRAPHS TO OPTIMALITY 231

limit given, it usually pays to call all reduction methods to instances. We solve many of these instances and providereasonable solution guarantees (in general, below 15%)reduce the problem as much as possible in size. For in-

stance, we solve example diw0234 with over 10,000 vari- for all examples except for the really big ones with severalhundred terminals and tens of thousands of edges. Onables in about 24,000 seconds. The complete presolve

reduces the problem from 10,086 edges to 7266, whereas rectilinear Steiner tree problems, our code performs wellonly for examples with a small number of terminals. To beAlgorithm 3.2 reduces it just to 9991 edges. However,

over 12,000 seconds are spent in presolve when the com- competitive with state-of-the-art software for rectilinearproblems, our reduction methods have to be adapted toplete reduction test is performed and only 6 seconds when

Algorithm 3.2 is applied. (With the default parameter rectilinear instances and more investigations are neces-sary to avoid degenerated linear programs. All examplessetting, we obtain after 10,000 seconds an upper bound

of 1997 and a lower bound of 1967 providing a solution discussed in this paper are gathered in a newly introducedlibrary called SteinLib that is accessible via anonymousguarantee of 1.5%.) The difficulty of the VLSI problems

seem not only depend on the number of terminals, but ftp or the World Wide Web.also on the shape of the grid graphs, how many holes arethere, and how big these holes are. Figure 9 shows atypical diagram for these problems. The numbers of frac- REFERENCEStional variables continuously increase (see the decrease

[1] Y. Aneja, An integer programming approach to theof curve Integer) , and the LPs get more and more difficultSteiner problem in graphs. Networks 10 (1980) 167–during the runs (see the number of simplex iterations) .178.Although our code was originally designed for solving

[2] A. Balakrishnan and N. Patel, Problem reduction meth-Steiner tree problems in graphs, it is, of course, also possi-ods and a tree generation algorithm for the Steiner net-ble to solve rectilinear instances by modeling them aswork problem. Networks 17 (1987) 65–85.graph problems. Tables XI and XII show results on recti-

[3] M. Ball, W. Liu, and W. Pulleyblank, Two terminallinear problems. Table XI contains the examples fromSteiner tree polyhedra. Contributions to Operations Re-Beasley with 10 and 20 terminals. They are not verysearch and Economics—The Twentieth Anniversary ofdifficult (up to 4 minutes) , although branching is neces-CORE (B. Cornet and H. Tulkens, eds.) . MIT Press,sary in three cases. However, the situation changes forCambridge, MA (1989) 251–284.

test sets es30 and es40 . The running times rapidly in-[4] J. Beasley, An algorithm for the Steiner problem increase with the number of terminals and we are not able

graphs. Networks 14 (1984) 147–159.to solve all instances with 40 terminals within 10,000

[5] J. Beasley, An SST-based algorithm for the Steiner prob-seconds. Our diagram, for example, es40o in Figure 10,lem in graphs. Networks 19 (1989) 1–16.

shows that the LPs become increasingly difficult during[6] R. Bixby, Personal communication (1996).the run of the program, a behavior that we have already[7] A. Caprara and M. Fischetti, Branch-and-cut algorithms.detected to some extent for the VLSI examples. In fact,

Annotated Bibliographies in Combinatorial Optimiza-the LPs are highly dual and primal degenerated, a phe-tion (M. Dell’Amico, F. Maffioli, and S. Martello, Eds.) .

nomenon that seems to be inherent for grid problems (see Wiley, Chichester (1997) 45–63.also Grotschel et al. [22]) . Another drawback is that

[8] S. Chopra, E. Gorres, and M. R. Rao, Solving a Steinerour presolve procedures do not perform well. Reduction tree problem on a graph using branch and cut. ORSA J.methods (as proposed for instance by Winter [41]) that Comput. 4 (1992) 320–335.exploit the structure of grid graphs would probably help [9] S. Chopra and M. R. Rao, The Steiner tree problem I:to solve these instances faster. Recently, Warme [39] Formulations, compositions and extension of facets.proposed an algorithm for rectilinear Steiner tree prob- Math. Program. 64 (1994) 209–229.lems. By exploiting the typical structure of rectilinear [10] S. Chopra and M. R. Rao, The Steiner tree problemproblems, he was able to solve much bigger instances in II: Properties and classes of facets. Math. Program. 64less time. (1994) 231–246.

[11] S. E. Dreyfus and R. A. Wagner, The Steiner problemin graphs. Networks 1 (1971) 195–207.

6. CONCLUSIONS [12] C. Duin, Steiner’s problem in graphs. PhD thesis, Uni-versity of Amsterdam (1993).

We have presented an implementation of a branch-and- [13] C. Duin and A. Volgenant, An edge elimination test forcut algorithm for the Steiner tree problem in graphs. We the Steiner problem in graphs. Oper. Res. Lett. 8 (1989)are able to solve almost all instances discussed in the 79–83.literature. Our algorithm especially performs well on [14] C. Duin and A. Volgenant, Reduction tests for thecomplete and sparse graphs. Here, a good presolve seems Steiner problem in graphs. Networks 19 (1989) 549–

567.to pay. We have also introduced new real-world VLSI

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks

232 KOCH AND MARTIN

[29] E. L. Lawler, Combinatorial Optimization: Networks[15] C. Duin and S. Voß, Efficient path and vertex exchangeand Matroids. Holt, Rinehart and Winston, New Yorkin Steiner tree algorithms. Networks 29 (1997) 89–105.(1976).[16] C. E. Ferreira, O problema de Steiner em grafos: Uma

[30] T. Lengauer, Combinatorial Algorithms for Integratedabordagem poliedrica. Master’s thesis, Universidade deCircuit Layout. Wiley, Chichester (1990).Sao Paulo (1989).

[31] A. Lucena, Tight bounds for the Steiner problem in[17] M. Fischetti, Facets of two Steiner arborescence polyhe-graphs. Preprint, IRC for Process Systems Engineering,dra. Math. Program. 51 (1991) 401–419.Imperial College, London (1993).[18] M. R. Garey and D. S. Johnson, The rectilinear Steiner

[32] N. Maculan, The Steiner problem in graphs. Ann. Discr.tree problem is np-complete. SIAM J. Appl. Math. 32Math. 31 (1987) 185–212.(1977) 826–834.

[33] F. Margot, Personal communication (1994).[19] M. X. Goemans, The Steiner tree polytope and relatedpolyhedra. Math. Program. 63 (1994) 157–182. [34] M. Padberg and G. Rinaldi, A branch and cut algorithm

for the resolution of large-scale symmetric travel-[20] M. X. Goemans and Y. Myung, A catalog of Steinering salesman problems. SIAM Review 33 ( 1991) 60 –tree formulations. Networks 23 (1993) 19–28.100.[21] A. Goldberg and R. Tarjan, A new approach to the maxi-

[35] V. J. Rayward-Smith, The computation of nearly mini-mum flow problem. J. ACM 35 (1988) 921–940.mal Steiner trees in graphs. Int. J. Math. Educ. Sci. Tech-[22] M. Grotschel, A. Martin, and R. Weismantel, Packingnol. 14 (1983) 15–23.Steiner trees: A cutting plane algorithm and computa-

[36] V. J. Rayward-Smith and A. Clare, On finding Steinertional results. Math. Program. 72 (1996) 125–145.vertices. Networks 16 (1986) 283–294.[23] M. Grotschel and C. L. Monma, Integer polyhedra asso-

[37] J. Soukup and W. F. Chow, Set of test problems for theciated with certain network design problems with con-minimum length connection networks. ACM/SIGMAPnectivity constraints. SIAM J. Discr. Math. 3 (1990)Newslett. 15 (1973) 48–51.502–523.

[38] H. Takahashi and A. Matsuyama, An approximate solu-[24] J. Hao and J. B. Orlin, A faster algorithm for findingtion for the Steiner problem in graphs. Math. Jpn. 24the minimum cut in a graph. Proceedings of the Third(1980) 573–577.Annual ACM-Siam Symposium on Discrete Algorithms,

Orlando, FL (1992) 165–174. [39] D. M. Warme, A new exact algorithm for rectilinearSteiner trees. Technical report, Telenex Corporation,[25] F. K. Hwang and D. S. Richards, Steiner tree problems.Springfield, VA 22153 (1997).Networks 22 (1992) 55–89.

[40] P. Winter, Steiner problems in networks: A survey. Net-[26] F. K. Hwang, D. S. Richards, and P. Winter, The Steinerworks 17 (1987) 129–167.Tree Problem. Annals of Discrete Mathematics 53,

North-Holland, Amsterdam (1992). [41] P. Winter, Reductions for the rectilinear Steiner treeproblem. Research Report 11-95, Rutcors University[27] M. Junger, A. Martin, G. Reinelt, and R. Weismantel,(1995).Quadratic 0/1 optimization and a decomposition ap-

proach for the placement of electronic circuits. Math. [42] P. Winter and J. M. Smith, Path-distance heuristics forthe Steiner problem in undirected networks. Algorith-Program. 63 (1994) 257–279.mica 7 (1992) 309–327.[28] R. M. Karp, Reducibility among combinatorial prob-

lems. Complexity of Computer Computations (R. E. [43] R. T. Wong, A dual ascent approach for Steiner treeproblems on a directed graph. Math. Program. 28 (1984)Miller and J. W. Thatcher, Eds.) , Plenum Press, New

York (1972) 85–103. 271–287.

836/ 8u26$$0836 08-17-98 14:34:18 netwa W: Networks