Minimum-Cost Node-Disjoint Steiner Trees in Series-Parallel Networks

The routing problem in VLSI-layout can be modeled as a problem of packing node-disjoint Steiner trees in a graph. The problem is as follows: Given an undirected network G = (V, E) and a net list Ψ {Ni, i = 1,..., r} , a family ΓG={TNi = (VNi , ENi), i = 1,..., r} is a node-disjoint family of Steiner trees spanning Ψ if TNi , is a Steiner tree spanning Ni for i = 1, ..., r and VNi ∩ VNj = for i ≠ j. The edge-disjoint version of this problem is known to be NP-hard for t. series-parallel graphs (see Rlchey and Parker [5]). In this paper we give a O(n5) algorithm for finding a minimum-cost node-disjoint family of Steiner trees in series-parallel networks. Our algorithm can be extended to k-trees and is polynomial for fixed k.


INTRODUCTION
he routing problem in VLSI-layout can be modeled as a problem of packing node-disjoint Steiner trees in a graph (Korte, et al. [4]).Given an undirected network G (V,E) and a terminal set (also referred to as a net) N C_ V, a tree T N (V N, EN) is said to be a Steiner tree if it spans every node in N. Let {N i, 1 r}, be a family of nets (or a net list) where Ni _ V, 1 r, andlNifqNj[ =0 for/ 4: j.
Assume edge costs c >-0 for e E and node costs nv >-0 for v V. Given a Steiner tree TN (VN, EN), define its cost cry, 'eEN Ce -[" 'VVN nv" Given G (V, E) and a net list {N i, r}, a family F {TN, (VNi, ENi), r}, is a node-disjoint family of Steiner trees spanning , if TN, is a Steiner tree spanning N, 1 r, and VN, fq VNj 0 for 4: j.
The cost of a family lY e is the sum of the costs of the trees in the family.In this paper, we consider the minimum-cost node-disjoint Steiner tree problem (MCNDST): given a network G (V, E) with non- negative edge and node costs and a net list W, find a minimum-cost family of node-disjoint Steiner trees.
This problem is known to be NP-hard, since the Steiner tree problem is a special case where the net list is a single net.In general, the feasibility problem (NDST), i.e., the problem of checking the existence of a node- disjoint family of Steiner trees is also NP-hard.
A related problem that has been studied is one of finding a minimum-cost edge-disjoint family of Steiner trees (MCEDST).MCEDST and the feasibility version (EDST) are NP-hard.Richey and Parker [5] have shown MCEDST to be NP-hard even on series-parallel graphs.
In this paper, in contrast, we give a polynomial-time algorithm to solve both NDST and MCNDST on series- parallel graphs with no restrictions on the net list N. Series-parallel graphs (see Duffin [2]) can be constructed from a single edge by a sequence of series and parallel operations.In a series operation we replace an existing edge by a path of length two.In a parallel operation, we add a new edge in parallel to an existing edge.For applications where series-parallel graphs arise, see Wald and Colbourn [6].
In Section 2 we state the algorithm on series-parallel graphs and analyze its complexity.Section 3 generalizes the results of Section 2 to obtain an algorithm to solve 54 S. CHOPRA AND K. T. TALLURI MCNDST on partial k-trees that is polynomial for a fixed value of k.The paper is structured in this manner since the results are easy to follow on series-parallel graphs and generalize naturally to k-trees.

MCNDST ON SERIES-PARALLEL GRAPHS
In this section we give a polynomial-time algorithm (O(nS)) to solve MCNDST (and thus NDST) for series- parallel graphs.We impose no restrictions on the net list N.
2.1 Decomposition of Series-Parallel Graphs Given a graph G (V,E), SC_V is said to be a Is I-node cutset if the graph G \ S is not connected.A graph is said to be k-connected if there is no m-node cutset for m < k.From results of Duffin [2] it follows that no series-parallel graph can be 3-connected.
Let G (V, E) be any 2-connected graph with a 2-node cutset C {u, v}.G\C has at least two connected components.We can partition the nodes of G \ C into two sets I? and I? 2 where there is no edge in G \ C between I? and I7' 2 I7" and 17' 2 may not be uniquely defined if G \ C has more than two connected components.Define Vi P'i U C and let G (V i, Ei) be the subgraph of G induced by nodes in V i, 1, 2. Theorem 2.1 below follows from the results in Gilbert, Rose and Edenbrandt [3].It is stated here without proof since the proof is similar to that given in Gilbert et al. [3].Theorem 2.1 Let G (V, E) be a 2-connected series- parallel graph with VI >-4.There exists a 2-node cutset {u, v} such that[ V il >-V / 3 + 1, 1, 2, where G (Vi, Ei), 1, 2, are as defined above.
Theorem 2.1 is tight in the sense that one can find series-parallel graphs for which either IV1 or v=l is equal to lVl/3 + for all 2-node cutsets.
A 2-tree can be defined recursively as follows.A triangle is a 2-tree.Given a 2-tree and an edge (u, v) of the 2-tree, we can add a new vertex z adjacent to both u and v to obtain a new 2-tree.Wald and Colbourn [6] show that series-parallel graphs are subgraphs of 2-trees.
They also give a O(1 V l) algorithm to complete a series-parallel graph to a 2-tree.Using this algorithm and a modified version of the algorithm in Gilbert et al. [3], one can find an O([V I) algorithm to identify a 2-node cutset that satisfies Theorem 2.1.

Polynomial-Time Algorithm
In this section we present a polynomial-time algorithm for finding minimum-cost node-disjoint Steiner trees in a given series-parallel network.The idea is to find a two node cutset as in Theorem 2.1 such that each of the networks has at least] V I/3 + 1 nodes.The problem is then solved on each of the smaller networks.The solutions are pieced back together to obtain a feasible solution for the original network.First, we describe the piecing together operation.
LetC= {v],j 1 k} C V,k-< 2, beacutset that separates the series-parallel graph G into two com- ponents G (V1, El) and G2 (V2, E2) (cf.If lCI and v c 1, we can solve the problem on G and G 2, fixing the cut-node as a terminal belonging to the net that it separates.We divide the remaining possibilities into four cases.If lcl 1, let c {v} and if lcl 2, let c {u, v}.Each of the above cases is resolved separately.Let M be a very large number (M + E eE C + Evy n is large enough).In the following proofs we assign a node weight of M to a node instead of deleting it.This is done primarily for the sake of consistency and to simplify the notation in the proofs.
Case(a): Cl 1 andvc O. Let V11 -< I. Let F, be the solution to MCND- ST(G1) with all the node and edge costs same as that of G and let F be the solution to MCNDST(G1) with all G 2 M. In G2 letnv nv + costs the same, except n c(F,) c(Fb,) and all other costs same as in G. Let F2 be the solution for MCNDST(Ge).Combine the solutions as follows" if v F_, then F F_ + FG, and if v ( Fo_,, then F G Fo_ + F,.Let N1, N 2 be the two sets separated by C. Solve MCNDST(Gi), 1, 2, for the following two instances.Let N be the net separated by C. Solve MCNDST(Gi), 1, 2, for each of the following six instances.
In G set u in N, n nv, and in G2, set u in 2 M.
N1 nv M, and in G2, set v in In G1 set v in Nx, nu 2 N1, nu n u.In G1 set u in N1, nu nu, and in G2, set v in 2_-M" N1, nu In G1 set u and v in N 1.In G2, identify u and v into a single node w with w Same as in case (v) with roles of G and G2 reversed.
All other costs for G and G2 are the same as in G.
[,i and F , ., 6, are the solutions obtained in the six cases above.For 6, define F F, + Case(d): Cl 2andv c= O.
Again, except when specified, all costs for G and G 2 will be the same as that of G.
(i) In G1, identify u and v into a single node w with n n + n v.In G2, the nodes u and v form a new net.
(ii) Same as in case (i) with roles of G and G2 M nv F, and Fb,, 6, are the solutions obtained in the six cases above.For 6, define F F, + F,.
We will show below that the optimal solution F o will be the minimum of F, for 1,2 for case (b) and for  optimal solution to G.
Proof: We prove cases (a) and (d) since (b) and (c) are similar to (d).
Proof of (a): Let F be an optimal solution to G with F and F* its restriction to G1 and G2, respectively.

G2
There are two possible cases: (A) v E F, and (B) v F, which we further split into subcases (B1) through (B4).Therefore c(Fo) c(F) and F is an optimal solution. (B2) Now consider the case v F , v F* and v G2 F:.In this case c(F:) c(F) and c(F) c(F,) since v F, and v E F,. Therefore c(ro) c(r, + r) c(r,) + c(r) c(F*o,) + c(F*o2) c(F).Thus, Fa is also an optimal solution.
Thus, c(F) -< c(F) and F is an optimal solution to G.
Thus c(Fo) < c(F* ), proving that F a is an G optimal solution to G. vertices V' t_J (v) induce a (k + 1)-clique.G (V, E) is a partial k-tree if it is the subgraph of some k-tree G (V, E).Arnborg and Proskurowski [1] have shown that, for any fixed k, one can in polynomial time determine whether an arbitrary graph G is a partial k-tree and construct a corresponding k-tree, although the complex- ity of the algorithm grows exponentially with k and the general problem of determining the minimal k such that G is a partial k-tree is NP-hard.We would like to state here that our algorithm for MCNDST stated in this section extends naturally to k-trees and will be polynomial for a fixed k.We omit the details.

CONCLUSIONS
In this paper we have shown that the minimum-cost node-disjoint Steiner tree problem is polynomially solv- able on series-parallel graphs.Our algorithm also gener- alizes to k-trees.This contrasts with the fact that the minimum-cost edge-disjoint Steiner tree problem is NPhard on series-parallel graphs. Theorem

2. 1
).For 1, 2, let c and n represent edge and node costs for G respectively.LetI{ i" n v,l-> 1, INi n v li> 1}1represent the number of nets separated by C. If v c > [C I, there exists no feasible packing of node-disjoint Steiner trees.
(i) Set u in N, v in Ne in both G and Ge.E and G F a, are the respective solutions.

(
ii) Set u in N 2 v in N1 in both G1 and G2.F and G F 2 o2 are the respective solutions.

For 1 , 2 ,
let F io Fo,i + F o ., corresponding to the two instances above.If an assignment is infeasible (for example, (i) is infeasible if u N2 in net list) the corresponding case is dropped.Case (c): cl 2 and Vc1.
In G, let n n u, n M and in G_,

Theorem 2 . 2
For a cutset C, following holds: <-2, one of the (a) If C 1, v c 0 then [' of case (a) is an optimal solution to G. If lCI 2 and Ii (b) v c 2, F arg min {c( o)} of case (b), is an i=1,2 optimal solution to G, (c) vc 1, Fo arg min { c(1-')} of case (c) is an i= 1,6 optimal solution to G, Ii (d) v c 0, F arg min {c( )} of case (d) is an i= 1,6