15
McMaster University Advanced Optimization Laboratory Title: A Provably Good Global Routing Algorithm in Multilayer IC and MCM Layout Designs Authors: Mohamed Saad, Tam´ as Terlaky, Anthony Vannelli and Hu Zhang AdvOl-Report No. 2005/15 August 2005, Hamilton, Ontario, Canada

A Provably Good Global Routing Algorithm in Multilayer IC and MCM Layout Designs

  • Upload
    lehigh

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

McMaster University

Advanced Optimization Laboratory

Title:

A Provably Good Global Routing Algorithmin Multilayer IC and MCM Layout Designs

Authors:

Mohamed Saad, Tamas Terlaky, Anthony Vannelli andHu Zhang

AdvOl-Report No. 2005/15

August 2005, Hamilton, Ontario, Canada

A Provably Good Global Routing

Algorithm in Multilayer IC and MCM

Layout Designs ∗

Mohamed Saad † Tamas Terlaky‡ Anthony Vannelli§

Hu Zhang¶

August 14, 2005

Abstract

Given a multilayer routing area, we consider the global routingproblem of selecting a maximum set of nets, such that every net canbe routed entirely in one of the given layers without violating the phys-ical capacity constraints. This problem is motivated by applicationsin multilayer IC and multichip module (MCM) layout designs. Thecontribution of this paper is threefold. First, we formulate the prob-lem as an integer linear program (ILP). Second, we modify an algo-rithm by Garg and Konemann for packing linear programs to obtainan approximation algorithm for the global routing problem. Our al-gorithm provides solutions guaranteed to be within a certain range ofthe global optimal solution, and runs in polynomial-time even if all,possibly exponentially many, Steiner trees are considered in the formu-lation. Finally, we demonstrate that the complexity of our algorithmcan be significantly reduced in the case of identical routing layers.

∗Research supported by a MITACS grant for all the authors, an NSERC post doctoralfellowship for the first author, the NSERC Discovery Grant #5-48923 for the second andfourth author, NSERC Grant #15296 for the third author, and the Canada ResearchChair Program for the second author.

†Department of Electrical and Computer Engineering, University of Toronto, Canada,[email protected].

‡Department of Computing and Software, McMaster University, [email protected].

§Department of Electrical and Computer Engineering, University of Waterloo, [email protected].

¶Department of Computing and Software, McMaster University, [email protected].

2

1 Introduction

Traditionally, the VLSI routing process is divided into two phases: globalrouting and detailed routing. Global routing is to find a routing tree foreach net, and detailed routing routing assigns the actual tracks and vias.Advances in VLSI fabrication technology have made it possible to use mul-tiple routing layers for interconnections. A significant amount of researchexists on handling multiple routing layers in the detailed routing phase.However, only limited research exists on multilayer global routing [13]. Inother words, multiple routing layers have been dealt with in the detailedrouting phase rather than in the global routing phase [13].

Given a multilayer routing area and a set of nets, we consider the globalrouting problem of selecting a maximum (weighted) subset of nets, suchthat every net can be routed entirely in one of the given layers withoutviolating the physical capacity constraints. This problem is motivated bythe following.

• Routing the majority of nets each in a single layer significantly reducesthe number of required vias in the final layout. It is known that viasincrease fabrication cost and degrade system performance [7].

• Routing the majority of nets each in a single layer greatly simplifiesthe detailed routing problem in multilayer IC design [7].

A similar multilayer topological planar routing problem was addressedin [8] and [7]. Given a number of routing layers, these studies addressedproblem of choosing the maximum (weighted) subset of nets such that eachnet can be topologically routed entirely in one of the given layers. In partic-ular, Cong and Liu proved in [8] that the problem is NP-hard. A provablygood greedy algorithm for the problem was presented by Cong, Hossain andSherwany [7]. A limitation of these studies is that they considered onlyplanar routing, i.e., physical capacity constraints were not considered [7].Moreover, planar routing graphs cannot handle state-of-the-art technologiesproperly [13].

The contribution of this paper is threefold.

• We formulate the multilayer global routing problem of selecting themaximum subset of nets such that every net can be routed entirelyin one of the given layers without violating the physical capacity con-straints, as an integer linear program (ILP).

• We modify an algorithm by Garg and Konemann for packing linearprograms to obtain an approximation algorithm for the global routing

3

problem. Our algorithm provides solutions guaranteed to be within acertain range of the global optimal solution, and runs in polynomial-time even if all, possibly exponentially many, Steiner trees are consid-ered in the formulation.

• We demonstrate that the complexity of our algorithm can be signifi-cantly reduced in the case of identical routing layers.

The remainder of this paper is organized as follows. In Section 2, wemodel the global routing problem as an ILP. In Section 3, we present apolynomial-time approximation algorithm for the linear programming (LP-) relaxation of the problem (i.e., for the fractional global routing problem),and establish its performance guarantee and computational complexity. Areduced complexity algorithm is introduced, in Section 4, for the case ofidentical routing layers. In Section 5, we derive our overall approximationguarantee for solving the integer global routing problem. Section 6 concludesthe paper.

2 Mathematical Model

In this section we introduce an ILP formulation for the global routing prob-lem. Following [1], an undirected grid graph G = (V, E) is constructed. Inother words, a two-dimensional grid is placed over the chip. For each tile,there is a vertex v ∈ V , and two vertices corresponding to adjacent tiles areconnected by an edge. In other words, each edge e ∈ E represents a routingarea between two adjacent tiles. In multilayer designs, an edge may consistof more than one layer [19]. In particular, the following are given as inputsto the problem.

• V : the set of vertices in the routing graph, |V | = N .

• E: the set of edges in the routing graph, |E| = M .

• L = {1, 2, . . . , L}: the set of available routing layers1.

• ce,l: the capacity of edge e ∈ E on layer l ∈ L.

1A routing layer considered in this paper may, in practice, be implemented as a pairof layers: one for wiring in the x direction, and the other for wiring in the y direction.The problem formulation and algorithm presented in this paper avoids the use of stackedvias between different pairs of layers. However, vias used to connect wires within any pairof layers may be required. These vias are less expensive, and may be minimized in thedetailed routing phase. In the sequel, pairs of layers are simply termed “layers”.

4

• I: the set of nets. Each net i ∈ I is defined by a subset of verticesVi ⊆ V that need to be connected. In particular, a net i ∈ I is realizedby finding a Steiner tree that connects all vertices in Vi.

• Ti: the set of all Steiner trees in G that can be used to realize neti ∈ I. In other words, every tree T ∈ Ti connects the vertices in Vi.It is worth noting that Ti can be exponentially sized. our algorithm,however, do not require that the sets Ti are explicitly given.

A net i ∈ I is realized by finding a Steiner tree T ∈ Ti that is routedentirely in one of the given layers l ∈ L. The objective is to maximize thenumber of nets successfully realized. The design variables are {xi(T, l) : i ∈I, T ∈ Ti, l ∈ L}, where for some i ∈ I:

xi(T, l) ={

1, T ∈ Ti is selected to route net i on layer l ∈ L;0, otherwise.

The global routing problem can be cast as ILP as follows:

max∑

l∈L

i∈I

T∈Ti

xi(T, l)

s.t.∑

i∈I

T∈Ti:e∈T

xi(T, l) ≤ ce,l, ∀e, l (1a)

l∈L

T∈Ti

xi(T, l) ≤ 1, ∀i (1b)

xi(T, l) ∈ {0, 1}, ∀i, T, l. (1c)

Equation (1a) represents the capacity constraints. It ensures that thenumber of nets routed over any edge e and assigned to the same layer ldoes not exceed the capacity ce,l of that edge. Equation (1b) ensures thatat most one tree is chosen for every net i. Equation (1c) represents thenon-negativity and integrality constraints of the variables. The objective isto maximize the number of nets successfully routed.

It is straightforward to see that the global routing problem as formulatedby (1) is NP-hard. In fact, it contains the unsplittable maximum multicom-modity flow problem as a special case. In particular, let L contain only onelayer. Also, let every net i ∈ I contain only two vertices, i.e., for every neti ∈ I let Vi = {si, di} where si, di ∈ V . In this case Ti will contain onlysimple paths that join si and di. Under these restrictions ILP (1) will beequivalent to the following problem: Given a graph G = (V, E), a capac-ity associated with every edge, and a set of commodities (each defined by

5

a pair of vertices and associated with a unit demand), we seek to route asubset of the commodities of maximum total demand, such that every de-mand is routed along a single path and that total flow routed across anyedge is bounded by its capacity. This is precisely the unsplittable maximummulticommodity flow problem, which is known to be NP-hard [12].

The NP-hardness of the global routing problem as given by (1) justifiesthe use of heuristics. In this paper, however, we are interested in polynomial-time approximation algorithms that have a theoretically proven worst-caseperformance guarantee. We start by giving an efficient algorithm to solvethe linear programming (LP-) relaxation of ILP (1).

3 A Provably Good Algorithm for Fractional GlobalRouting

We briefly digress from the global routing problem to a more general packingproblem, which is a special kind of LPs. In fact the LP-relaxation of (1)is a packing problem. In this section we will design a fast approximationalgorithm for the LP-relaxation of (1) based on the method in [18].

We consider the following fractional packing problem:

max cT xs.t. Ax ≤ b;

x ≥ 0.(2)

Here A is a m × n positive matrix, and b ∈ IRm and c ∈ IRn are positivevectors. Since in (1), there are exponentially many variables, which can notbe solved by many exact algorithms for LPs, e.g., standard interior pointmethods. The volumetric cutting plane method [2] or the ellipsoid methodwith separation oracle [10] may be employed, but in general they lead tolarge complexity. Therefore, we are interested in approximation algorithms.

The approximation algorithms for fractional packing problems {refpacking)are well studied in [9, 14, 18, 20]. All these algorithms are based on the du-ality relation for LPs. However, the algorithms in [14, 20] run in a timedepending on the input data, and therefore only lead to polynomial timealgorithms. The algorithm in [9] is the first with a strictly polynomial timebut the block problem (subproblem) is required to be polynomial time solv-able. Unfortunately it is not the case as we shall show later that the blockproblem of LP-relaxation for (1) is NP-hard. Hence, we will apply thealgorithm proposed in [18].

6

The approximation algorithm in [18] is an iterative approach. It main-tains a sequence of a pair of the primal solution x and the dual solution y.At each iteration, for a pre-computed y ∈ IRm, an approximate block solverABS(y) is called once that finds a column index q that:

(Aq)T y/cq ≤ r minj

(Aj)T y/cj ,

where r ≥ 1 is the approximation ratio of the block solver, which plays arole similar to the separation oracle in [10]. It is shown in [18] that theiralgorithm can find a (1 − ε)/r-approximate solution within coordinationcomplexity (bounds on the number of iterations) of O(mε−2 ln m). Theapproximation algorithm for fractional packing problem (2) is in Table 1.

δ = 1−√1− ε, u = (1 + δ)((1 + δ)m)−1/δ, f = 0, yi = u/bi, D = um;while D < 1 do {iteration}

call ABS(y) to find a column index q;p = arg mini bi/Ai,q;xq = xq + bq/Ap,q;f = f + cqbp/Ap,q;

yi = yi

[1 + δ

bp/Ap,q

bi/Ai,q

];

D =m∑

i=1biyi;

end do

Table 1: Approximation algorithm for fractional packing problems.

In the algorithm the parameters f and D are in fact the objective valuesof the primal and dual programs for current pair x and y. It is showed in [18]that the scaled solution x/ log1+δ((1+δ)/u) at the final iteration is a feasiblesolution and the corresponding objective value is at least (1 − ε)OPT/r,where OPT is the optimum value of (2). For the complexity, the followingresult holds:

Proposition 1 [18] There exists a (1 − ε)/r-approximation algorithm forthe packing problem (2) running in O(mε−2 lnm) iterations, each iterationcalling an r-approximate block solver once.

It is worth noting that the complexity of the algorithm in [18] is inde-pendent of the input data or the approximation ratio r, which is similar tothe result in [11] for convex min-max resource-sharing problems.

7

Applying the approximation algorithm for fractional packing problemsto the LP-relaxation of (1) yields the following result:

Theorem 1 There is a (1−ε)/r-approximation algorithm for the LP-relaxationof (1) with a running time O((ML+|I|)L|I|ε−2β ln(ML+|I|)), where r andβ are the ratio and the running time of the approximate minimum Steinertree solver called as the approximate block solver, respectively.

Proof. We just need to consider the block problem. There are twotypes of components in the dual vector y. The first type of componentscorresponding to the first set of constraints (capacity constraints) in (1)are y1, . . . , yM , yM+1, . . . , y2M , . . . , yM(L−1)+1, . . . , yML, which correspondsto edge ei ∈ E and the layer l. The remaining components yML+1, . . . , yML+|I|corresponds to the second set of constraints in (1). It is easy to verify thatthe block problem of the LP-relaxation of (1) is to find a tree T such that

mini

minl

minT∈Ti

(∑

e∈T

yMl+e + yML+iδi,T ), (3)

where the indicator variable δi,T = 1 if T ∈ Ti, and otherwise δi,T = 0. Tofind the minimum, we can just search a number of L|I| trees to attain thefollowing minima:

minT∈Ti

e∈T

yMl+e,

for all i = 1, . . . , |I| and l = 1, . . . , L. Then we can find the minimal objectivevalue of (3) over all these L|I| trees. If we regard the first ML componentsof the dual vector y1, . . . , yML as the length associated to all edges in thegiven graph for all layers, then minT∈Ti

∑e∈T yMl+e is equivalent to finding

a tree on the l-th layer for net i with a minimum total length. Now theblock problem is in fact the minimum Steiner tree problem in graphs. Withan r-approximate minimum Steiner tree solver and using the approximationalgorithm for fractional packing problems in [18], we can prove the theorem.¥

Unfortunately, the minimum Steiner tree problem is APX -hard [3, 4].The best known lower and upper bounds on the approximation ratio are96/95 ≈ 1.0105 [6] and 1 + (ln 3)/2 ≈ 1.550 [17], respectively. Thus, we canonly use the approximation algorithm in [18] with an approximate minimumSteiner tree solve to obtain a feasible solution to the LP-relaxation of (1) toobtain an approximation algorithm with theoretical performance bounds.

8

4 A Reduced Complexity Algorithm for IdenticalLayers

In this section we consider the special case of the global routing problemwhere for every edge e ∈ E:

ce,1 = ce,2 = . . . = ce,L = ce

This corresponds to the situation of all routing layers being identical. Inthis case, the LP-relaxation of the global routing problem will be given asfollows.

max∑

l∈L

i∈I

T∈Ti

xi(T, l)

s.t.∑

i∈I

T∈Ti:e∈T

xi(T, l) ≤ ce, ∀e, l (4a)

l∈L

T∈Ti

xi(T, l) ≤ 1, ∀i (4b)

0 ≤ xi(T, l) ≤ 1, ∀i, T, l. (4c)

Now, consider another special case of the global routing problem as givenby (1), where the number of routing layers is reduced to one and the capacityof every edge e is set to ce · L. Let this problem be termed single-layerproblem. It is straightforward to see that the LP-relaxation for the single-layer problem is given as follows.

max∑

i∈I

T∈Ti

yi(T )

s.t.∑

i∈I

T∈Ti:e∈T

yi(T ) ≤ ce · L, ∀e (5a)

T∈Ti

yi(T ) ≤ 1, ∀i (5b)

0 ≤ yi(T ) ≤ 1, ∀i, T. (5c)

Recall that M and L denotes the number of edges in the routing graphand the number of routing layers, respectively. Moreover, let |T | and |I|denote the total number of Steiner trees in the graph and the total numberof nets, respectively. The number of constraints in the multilayer LP (4)is M · L + |I|, while the number of constraints in the single-layer LP (5)is M + |I|. Moreover, the number of variables in (4) is |T | · L, while the

9

number of variables in (5) is |T |. To give more insight, note that, in thecase of ten routing layers, the single-layer LP as given by (5) has an orderof magnitude less constrai.nts and variables than the multilayer LP as givenby (4). In the following theorem we establish the fact that solving LP (5)provides the same solution and objective function value as solving LP (4).

Theorem 2 Let OPTm denote the optimal objective function value of themultlayer LP given by (4). Also, let OPTs denote the optimal objectivefunction value of the single-layer LP given by (5). Then, OPTm = OPTs.

Proof. We establish the proof by showing that OPTm ≤ OPTs and OPTm ≥OPTs.

Let {x∗i (T, l) : i ∈ I, T ∈ Ti, l ∈ L} be an optimal solution to LP (4).Define y∗i (T ) =

∑l∈L x∗i (T, l) for every i ∈ I and T ∈ Ti. By (4b) and (4c),

for every i ∈ I and T ∈ Ti, we have 0 ≤ y∗i (T ) =∑

l∈L x∗i (T, l) ≤ 1. Also, by(4a), for every e ∈ E, we have

∑i∈I

∑T∈Ti:e∈T y∗i (T ) =

∑l∈L

∑i∈I

∑T∈Ti:e∈T x∗i (T, l) ≤∑

l∈L ce = ce·L. Furthermore, by (4b), for every i ∈ I, we have∑

T∈Tiy∗i (T ) =∑

l∈LPT∈Tix∗i (T,l) <= 1. In other words, {y∗i (T ) : i ∈ I, T ∈ Ti} is a feasible

solution for LP (5). Consequently,∑

i∈I

T∈Ti

y∗i (T ) ≤ OPTs. (6)

By replacing y∗i (T ) by its definition in terms of x∗i (T, l) in (6), we concludethat

OPTm ≤ OPTs. (7)

Conversely, let {y∗i (T ) : i ∈ I, T ∈ Ti} be an optimal solution to LP (5).Define x∗i (T, l) = 1

L · y∗i (T ) for every for every i ∈ I, T ∈ Ti and l ∈ L. By(5c), for every i ∈ I, T ∈ Ti and l ∈ L, we have 0 ≤ x∗i (T, l) ≤ 1. Alsoby (5a), for every e ∈ E and l ∈ L, we have

∑i∈I

∑T∈Ti:e∈T x∗i (T, l) = 1

L ·∑i∈I

∑T∈Ti:e∈T y∗i (T ) ≤ 1

L ·ce ·L = ce. Furthermore by (5b), for every i ∈ I,we have

∑l∈L

∑T∈Ti

x∗i (T, l) = 1L ·

∑l∈L

∑T∈Ti

y∗i (T ) =∑

T∈Tiy∗i (T ) ≤ 1.

In other words, {x∗i (T, l) : i ∈ I, T ∈ Ti, l ∈ L} is a feasible solution for LP(4). Consequently,

l∈L

i∈I

T∈Ti

x∗i (T, l) ≤ OPTm. (8)

By replacing x∗i (T, l) by its definition in terms of y∗i (T ) in (8), we concludethat

OPTs ≤ OPTm. (9)

10

Combining (7) and (9) completes the proof. ¥Moreover, we have the following result.

Corollary 1 Let {y∗i (T ) : i ∈ I, T ∈ Ti} be an optimal solution to LP (5).Then, {x∗i (T, l) : i ∈ I, T ∈ Ti, l ∈ L}, where x∗i (T, l) = 1

L · y∗i (T ) for everyfor every i ∈ I, T ∈ Ti and l ∈ L, is an optimal solution to LP (4).

Proof. Follows directly from the proof of Theorem 2. ¥Furthermore, using the same argument we can show that if y∗i (T ) is a ρ-

approximate solution to LP (5), then x∗i (T, l) = 1L ·y∗i (T ) is a ρ-approximate

solution to LP (4). Therefore, the algorithm presented in Section 3 canbe used at reduced complexity to obtain a provably good solution to thesingle-layer LP as given by (5). This solution can then be used to obtain asolution of precisely the same quality to the multilayer LP as given by (4).

5 The Approximation Algorithm

As usual, our approximation algorithm for the global routing problem inmultilayer VLSI design is as follows: We first solve the LP-relaxation of (1)to obtain a fractional solution; Then we round the fractional solution toobtain feasible solution to (1).

By the algorithm in [18], we are able to obtain a (1−ε)/r-approximate so-lution for the LP-relaxation of (1). Then we apply the randomized roundingin [15, 16] to generate the integer solution. Based on the scaling techniquein [15, 16], for any real number v satisfying (ve1−v)c < 1/(m + 1), wherec = mine,l ce,l is the minimal capacity, we can obtain a bound for the integersolution by randomized rounding:

Theorem 3 There is an approximation algorithms for the global routingproblem in multilayer VLSI design such that the objective value is no lessthan

(1− ε)vOPT/r − (exp(1)− 1)(1− ε)v√

OPT ln(M + 1)/r, if OPT > r ln(M + 1);

(1− ε)vOPT/r − exp(1)(1− ε)v ln(M + 1)1 + ln (r ln(M + 1)/OPT )

, otherwise,

where OPT is the optimal integer solution to (1).

Another strategy to obtain an approximate solution to (1) is to directlyapply the approach to find (1−ε)/r-approximate solution for integer packingproblems in [18]. Thus we have the following result:

11

Theorem 4 If all edge capacities are not less than (1+log1+δ(ML+|I|))/δ,then there exists an algorithm that finds a (1 − ε)/r-approximate integersolution to the global routing problem in multilayer VLSI design (1) withinO((ML + |I|)L|I|ε−2cmaxβ ln(ML + |I|)) time, where r and β are the ratioand the running time of the approximate minimum Steiner tree solver calledas the oracle, and cmax is the maximum edge capacity.

Though this approach has complexity depending on the input data, i.e.,it is only a pseudo polynomial time approximation algorithm, it is worthusing this method for some instances as the rounding stage is avoided.

In addition, at each iteration there are only L|I| Steiner trees generated.Thus, there are only a polynomial number of Steiner trees generated byusing the approximation algorithm for fractional packing problem in [18],though there are exponentially many variables. This is similar to the columngeneration technique for LPs.

Corollary 2 The approximation algorithms for the global routing problemin multilayer VLSI design only generates at most O((ML+|I|)L|I|ε−2 ln(ML+|I|)) Steiner trees.

6 Concluding Remarks

Given a multilayer routing area, this paper has addressed the problem ofselecting the maximum (weighted) set of nets, such that every net can berouted entirely in one of the given routing layers without violating the phys-ical capacity constraints. This problem is motivated by the following.

• Routing the majority of nets each in a single layer significantly reducesthe number of required vias in the final layout. It is known that viasincrease fabrication cost and degrade system performance [7].

• Routing the majority of nets each in a single layer greatly simplifiesthe detailed routing problem in multilayer IC design [7].

First, we have formulated the problem as an integer linear program (ILP).Second, we have modified an algorithm by Garg and Konemann [9] for pack-ing linear programs to obtain a (1 − ε)/r approximation algorithm for theLP-relaxation of the global routing problem, where r is the approximationratio of solving the minimum Steiner tree problem2. This has led also to

2The best known apoproximation guarantee for the minimum Steiner tree problem is1.55 [17]

12

an algorithm for the integer global routing problem that provides solutionsguaranteed to be within a certain range of the optimal solution, and runs inpolynomial-time even if all, possibly exponentially many, Steiner trees areconsidered in the formulation. Finally, we have demonstrated that the com-plexity of our algorithm can be significantly reduced in the case of identicalrouting layers.

References

[1] C. Albrecht, “Gloabal Routing by New Approximation Algorithms forMulticommodity Flow”, IEEE Transactions on Computer Aided Designof Integrated Circuits and Systems, vol. 20, no. 5, pp. 622–632, May2001.

[2] K. M. Anstreicher,“Towards a Practical Volumetric Cutting PlaneMethod for Convex Programming”, SIAM Journal on Optimization,vol. 9, pp. 190–206, 1999.

[3] S. Arora, C. Lund, R. Motwani, M. Sudan and M. Szegedy, “ProofVerification and Hardness of Approximation Problems”, Journal of theAssociation for Computing Machinery, vol. 45, pp. 501–555, 1998.

[4] M. Bern and P. Plassmann, “The Steiner Problem with Edge Lengths1 and 2”, Information Professing Letters, vol. 32, pp. 171–176, 1989.

[5] C.-C. Chang and J. Cong, “An Efficient Aproach to Multilayer LayerAssignment with an Application to Via Minimization”, IEEE Trans-actions on Computer Aided Design of Integrated Circuits and Systems,vol. 18, no. 5, pp. 608–620, May 1999.

[6] M. Chlebık and J. Chlebıkova, “Approximation Hardness of the SteinerTree Problem”, Proceedings of the 8th Scandinavian Workshop on Al-gorithm Theory, SWAT 2002, LNCS 2368, pp. 170–179.

[7] J. Cong, M. Hossain and N.A. Sherwani, “A Provably Good MultilayerTopological Planar Routing Algorithm in IC layout Designs”, IEEETransactions on Computer Aided Design of Integrated Circuits and Sys-tems, vol. 12, no. 1, pp. 70–78, Jan. 1993.

[8] J. Cong and C.L. Liu, “On the k-Layer Planar Subset and Via Mini-mization Problems”, IEEE Transactions on Computer Aided Design ofIntegrated Circuits and Systems, vol. 10, no. 8, pp. 972–981, Aug. 1991.

13

[9] N. Garg and J. Konemann, “Fast and Simpler Algorithms for Multi-commodity Flow and Other Fractional Packing Problems”, Proceedingsof the 39th IEEE Annual Symposium on Foundations of Computer Sci-ence, FOCS 1998, pp. 300–309.

[10] M. Grotschel, L. Lovasz and A. Schrijver, “The Ellipsoid Method andIts Consequences in Combinatorial Optimization”, Combinatorica, vol.1, pp. 169-197, 1981.

[11] K. Jansen and H. Zhang, “Approximation Algorithms for General Pack-ing Problems with Modified Logarithmic Potential Function”, Proceed-ings of the 2nd IFIP International Conference on Theoretical ComputerScience, TCS 2002, pp. 255-266.

[12] J.M. Kleinberg, “Approximation Algorithms for Disjoint Paths Prob-lems”, Ph.D. Dissertation, Department of Electrical Engineering andComputer Science, Massachusetts Institute of Technology, May 1996.

[13] L.-C. E. Liu and C. Sechen, “Multilayer Chip-Level Global RoutingUsing an Efficient Graph-Based Steiner Tree Heuristic”, IEEE Trans-actions on Computer Aided Design of Integrated Circuits and Systems,vol. 18, no. 10, pp. 1442–1451, Oct. 1999.

[14] S.A. Plotkin, D.B. Shmoys and E. Tardos, “Fast Approximation Algo-rithms for Fractional Packing and Covering Problems”, Mathematics ofOperations Research, vol. 2, pp. 257–301, 1995.

[15] P. Raghavan, “Probabilistic Construction of Deterministic Algorithms:Approximating Packing Integer Programs”, Journal of Computer andSystem Sciences, vol. 37, pp. 130–143, 1988.

[16] P. Raghavan and C. D. Thompson, “Randomized Rounding: A Tech-nique for Provably Good Algorithms and Algorithmic Proofs”, Combi-natorica vol. 7, no. 4, pp. 365–374, 1987.

[17] G. Robins and A. Zelikovsky, “Improved Steiner Tree Approximationin Graphs”, Proceedings of the 11th Annual ACM-SIAM Symposium onDiscrete Algorithms, SODA 2000, pp. 770–779.

[18] M. Saad, T. Terlaky, A. Vennelli and H. Zhang, “Packing Treesin Communication Networks”, Technical Report, AdvOL #2005-13,Advanced Optimization Lab., McMaster University, Hamilton, ON,Canada. http://www.cas.mcmaster.ca/~oplab/research.htm.

14

[19] J. Xiong and L. He, “Extended Global Routing With RLC CrosstalkConstraints”, IEEE Transactions on Very Large Scale Integration(VLSI) Systems, vol. 13, no. 3, pp. 319–329, March 2005.

[20] N.E. Young, “Randomized Rounding without Solving the Linear Pro-gram”, Proceedings of the 6th ACM-SIAM Symposium on Discrete Al-gorithms, SODA 1995, pp. 170–178.

15