1. Trang chủ
  2. » Khoa Học Tự Nhiên

Handbook of algorithms for physical design automation part 66 pptx

10 166 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 161,51 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

32.4 SIMPLEX ALGORITHM WITH COLUMN GENERATIONThe first algorithm to solve the fractional global routing problem Equation 32.2 by Hu and Shing in 1985 [15] used the simplex algorithm by D

Trang 1

32.4 SIMPLEX ALGORITHM WITH COLUMN GENERATION

The first algorithm to solve the fractional global routing problem (Equation 32.2) by Hu and Shing in

1985 [15] used the simplex algorithm by Dantzig in 1951 [16] with column generation This method finds an optimal solution even though it does not explicitly enumerate all the possible Steiner trees, nor has variables for all Steiner trees in memory The method is limited in the size of the problem instances, and hence Hu and Shing propose a decomposition and cut-and-paste approach

In this section, we show how the simplex algorithm with column generation is applied to the fractional global routing problem The simplex method goes from vertex to vertex along edges of the polyhedron underlying the linear program until an optimal vertex is reached For a complete description of the simplex method, we refer the reader to Refs [12,13,17] Interesting is that this method requires a subroutine that computes minimal Steiner trees for nets with respect to a nonneg-ative length function on the edges, a subroutine that is also required by the approximation schemes

is presented later

The linear program of the fractional global routing problem (Equation 32.2) can be rewritten with matrices as follows in a standard form for linear programs:

min

⎩λ:

x λ

v

⎠ = 0 1

, x, λ, v ≥ 0

In this linear program, the first constraint

x λ

v

⎠ = 0 corresponds to the capacity constraints on the edges, the first inequality in Equation 32.2 Each row corresponds to an edge and

each column of the matrix M corresponds to a Steiner tree T for a net i and is the incidence vector for the edges of the corresponding Steiner tree The vector v contains slack variables for the equality

constrains

The second constraint

N 0 0⎛⎝x

λ v

⎠ = 1 of the linear program ensures that the weights x i,T

for each net i and all Steiner trees T for the net sum up to 1, the second inequality in Equation 32.2 The matrix N has one row for each net and each row is the incidence vector for all the Steiner trees

of the corresponding net

The dual of this linear program is as follows:

max{1z : zN ≤ yM, yc ≤ 1, y ≥ 0} (32.5) The simplex method requires an initial vertex of the polyhedron as a starting point and basis of

the matrix A= M N −c I0 0

: for each net i, pick one Steiner tree T arbitrarily, set x i,T,= 1, and the corresponding column of M

N

i,T

becomes part of the basis Next, −c

0

is part of the basis We can assume that this column is always part of the basis, becauseλ does not become 0 Finally, for all

edges that do not have the maximum relative congestion, the corresponding columns I

0

e

are part

of the basis In case several edges have the maximum relative congestion, additional columns I

0

e

are chosen until the basis has|E| + k columns We denote by M N

B1

−c

0

1 0

B2

 the matrix

Trang 2

that has all the columns for the basis This matrix has the full rank and can be inverted The simplex algorithm computes a dual solution as follows:

(−y, z) = M N

B1

−c

0

I

0

B2

−1⎛

⎝01 0

The algorithm checks if this is a feasible dual solution: We have yc= 1 because −c0

is part of

the basis Checking y ≥ 0 is straight forward The inequality zN ≤ yM is checked by computing a minimal Steiner tree for each net i with respect to the length function y e , e ∈ E and comparing this length with z i We will later see that the approximation algorithms require the same subroutine

If (y, c) is a feasible dual solution, the vertex for the primal linear program is an optimal solution.

Otherwise a column corresponding to a violated constraint becomes part of the basis, another column leaves the basis, and if the vertex was not degenerate, a new vertex is computed The simplex algorithm terminates in the worst case, after exponentially many steps; however, in practice, it is reasonably fast for most applications

We conclude this section by mentioning another linear programming approach for the global routing problem by Vannelli from 1989 [18] In a first step, Vannelli reduces the complexity and size of the linear program by restricting the set of Steiner trees to only the minimal or near-minimal Steiner trees using also the result by Hanan, that a shortest rectilinear Steiner tree can be found

in the grid induced by the terminals [19] This restriction of the solution space may of course result in a suboptimal solution of the fractional global routing problem Then he uses the Karmarkar algorithm [20], an interior point algorithm, which moves through the interior of the feasible region and reaches the optimal solution asymptotically The runtime of the Karmarkar algorithm is polynomial, but it has the disadvantage compared to the simplex algorithm that it requires the complete linear program as input

32.5 MULTICOMMODITY FLOW AND FRACTIONAL PACKING PROBLEMS

In this section, we give an overview about multicommodity flow and fractional packing problems These problems are similar to the fractional global routing problem In fact, the fractional packing problem is a generalization of the fractional global routing problem There have been many advances

in the field of approximation algorithms for multicommodity flow and fractional packing problems and we will apply these to the fractional global routing problem in the next section

For this section, let G = (V, E) be a directed graph with an edge utilization (or capacity) function c : E→ R+ For a vertex v ∈ V we denote by δ+(v) all outgoing edges of v and by δ(v)

all incoming edges of v Let s (the source) and t (the sink) be two specified vertices An s–t flow is a function f : E→ R+, which fulfills the flow conservation rule

e ∈δ−(v) f (e) =e ∈δ+(v) f (e) for all

v ∈ V\{s, t} and the capacity constraints f (e) ≤ c(e) for all e ∈ E The value of an s–t flow f is

defined as value(f ) :=e ∈δ−(s) f (e) −e ∈δ+(s) f (e).

It is possible to decompose an s–t flow into at most m = |E| flows along s–t paths: Given

an s–t flow f of nonzero value, we find an s–t path P with f (e) > 0 for all e ∈ P If we set

x : = min{f (e)|e ∈ P}, the function f : E → R+with f(e) = f (e) − x if e ∈ P and f(e) = f (e)

otherwise is again an s–t flow, but it has at least one edge e with f (e) > 0 less Repeating this

procedure until the value of the flow is 0 (flow along cycles may remain), we find x1, , x t and

P1, , P tsuch that

i:e ∈ Pi x i ≤ f (e) for all e ∈ E.

For the multicommodity flow problem, several commodities are given Each commodity i has

a source s i , a sink t i , and a demand d i Let k be the number of commodities The task of the maximum-concurrent multicommodity flow problem is to find an s i –t i flow f i for each

commod-ity i subject to the capaccommod-ity constraintsk

i=1f i (e) ≤ c(e) for all e ∈ E such that the total throughput

µ is maximized The value of each flow f is at leastµ d

Trang 3

Other version of the multicommodity flow problem are the maximum multicommodity flow problem for which no demands are given and just the sum of the flows is maximized and the minimum-cost multicommodity flow problem for which a cost function for the edges is given in addition to the capacitances and the task is to minimize the total cost of all the flows

It is possible to formulate the maximum concurrent flow problem as a linear program in which

the variables are the flow values for the edges f i (e) The size of this linear program is polynomial in

the size of the input, hence we can find an optimal solution in polynomial time using the ellipsoid method [21] However, for large problem instances, it is computationally impossible to solve the linear program optimally

LetP i be the set of all s i − t ipaths The following linear programming formulation makes use

of the decomposition of flows into paths

maxµ

subject to



i,P:e ∈P∈Pi

x i,P ≤ c(e) for e ∈ E



P ∈Pi

x i,P = µd i for i = 1, , k

x i,P ≥ 0 for i = 1, , k; P ∈ P i

(32.6)

This linear program has exponentially many variables Nevertheless, it is possible to compute an

-approximate solution in polynomial time using this formulation implicitly as most of the variables

x i,Pcan be 0

There has been a series of papers about fully polynomial-time approximation schemes (FPTAS) for multicommodity flow problems in the last decade An approximation scheme is a family of algorithms that compute a solution within a factor (1− ) of the optimal for any constant  If the

running time can be bounded by a polynomial depending on the input size and 1/, then the scheme

is called fully polynomial time

All approximation algorithms maintain a flow and then iteratively improve it by computing single commodity flows or single commodity flows restricted to paths with respect to a cost function depending on the congestion

The fractional packing problem is a generalization of the multicommodity flow problem Given

a convex set P⊆ Rn , a matrix A ∈ Rm ×n

+ , and a vector b ∈ Rm , the task is to find an x ∈ P with

Ax ≤ b The approximation scheme, as for example by Plotkin et al [4], requires a subroutine, which finds for a vector c ∈ Rn

+, a vector x ∈ P that minimizes c T x.

The fractional global routing problem is a special case of the fractional packing problem: The

convex set P is given by the constraints 

T ∈Ti x i,T = 1 for i = 1, , k and x i,T ≥ 0 for i =

1, , k, T ∈ T i and the constraints Ax ≤ b represent the constraintsi,T :e ∈T∈Ti x i,T ≤ λc(e) for

e ∈ E The subroutine needs to find a Steiner tree for each net minimizing a cost function and this

cost function is the sum of some nonnegative cost of the edges of the Steiner tree

32.6 FULLY POLYNOMIAL-TIME APPROXIMATION SCHEME

FOR FRACTIONAL GLOBAL ROUTING

In this section, we present and describe a fully polynomial-time approximation scheme for the fractional global routing problem Carden et al in 1996 [22] were the first to apply a multicommodity flow approximation algorithm to global routing They use the approximation algorithm by Shahrokhi and Matula [3] The approximation scheme presented here, first published in Ref [9], is based on the approximation scheme by Garg and Könemann [6], but also use ideas from Fleischer [7] The

Trang 4

approximation scheme iteratively finds Steiner trees with respect to dual lengths y e, then adjusts the dual lengths just for the Steiner tree found

The approximation scheme that solves the fractional global routing problem for any given approximation ratio 1+ 0is shown in Figure 32.3

The variables are initialized in lines 1 and 2 The algorithm is called with the parameters and M.

The proof of the theorem in this section will show which value to choose for these parameters to get the desired approximation ratio

The algorithm runs through several phases A phase starts in line 4 and ends in line 11 For each

net i, a minimal Steiner tree T ∈ T i with respect to lengths y e , e ∈ E is computed (line 7) For this Steiner tree, the variable x i,T is increased by 1 (line 8) To achieve that for each net i, the variables

x i,T , T ∈ T i , sum up to 1, all variables x i,Tare divided by the total number of phases at the end of the

algorithm Finally, the dual variables y e are increased for all edges used by the Steiner tree T (line 9).

The variables are increased more if the net uses a greater fraction of the capacity of the edge

Theorem 2 If there exists a solution for the fractional global routing problem with maximum

relative congestion at most 1, the algorithm finds a (1 + 0)-approximation in

2λln m

phases, if  := min



1,1 4



1+ 0

1

and M := m

1−

1

 with  :=  (1+ ∈)

Moreover, the variables y e , e ∈ E, provide at some time during the algorithm a (1 + 0) − approximation for the dual linear program.

The total number of phases of the algorithm depends on λ, but usually in the application of global routing λis not arbitrarily small, for example, we can assume λ∗≥ 1

2.

To prove this theorem, we follow the proof by Garg and Könemann [6], but also use parts from

the proof by Fleischer [7] because we have a modified update rule for y e

Proof Let t be the total number of phases executed by the algorithm We will prove that if the algorithm had stopped one phase before the last one, namely after t− 1 phases, the solution would have had the desired approximation ratio

(1) Sety e := 1

c(e)for alle ∈ E.

(2) Setx i,T := 0 for i = 1, ,k; T ∈ T i.

(3) While

e∈E c(e)y e < M

(4) begin

(5) For i := 1 tok

(7) Find a minimal Steiner treeT ∈ T ifor neti

with respect to lengthy e , e ∈ E.

(8) Setx i,T := x i,T+ 1

(9) Sety e:= y e e  1 c(e) for alle ∈ T.

(11) end

FIGURE 32.3 Approximation scheme for fractional global routing.

Trang 5

Let y (p,i) e be the value of variable y e , after net i has been considered in phase p and y ehas been

increased in line 9, y (0,0) e = 1

c(e) and let y e (p):= y (p,k)

e be the value at the end of phase p So we compute the minimal Steiner tree in phase p and iteration i with y (p,i−1) e as edge lengths At the beginning, we have



e ∈E

c (e)y (0)

e =

e ∈E

c (e) 1

When the dual variables y e are increased in line 9 after a Steiner tree T has been found, the expression



e ∈E

c (e)y eincreases, and we have



e ∈E

c (e)y (p,i)

e =

e /∈T

c (e)y (p,i−1)

e +

e ∈T

c (e)y (p,i−1)

e e  1

c (e)

e /∈T

c (e)y (p,i−1)

e +

e ∈T

c (e)y (p,i−1) e



1+  1

c (e) + 

2

 1

c (e)

2

For the last inequality, we used e x ≤ 1 + x + x2for 0≤ x ≤ 1 We can assume c(e) ≥ 1 and because

 ≤ 1 we have x =  1

c (e)≤ 1 Hence,



e ∈E

c (e)y (p,i)

e ≤

e/∈T

c (e)y (p,i−1)

e +

e ∈T

c (e)y (p,i−1) e



1+ (1 + ) 1

c (e)



e ∈E

c (e)y (p,i−1)

e + (1 + )

e ∈T

y (p,i−1) e

Because y e increases only during the algorithm, for the Steiner tree T found in line 7, we have



e ∈T

y (p,i−1) e ≤ min

T ∈Ti



e ∈T

y (p) e

which means that at the end of phase p, we get



e ∈E

c (e)y (p)

e ≤ 

e ∈E

c (e)y (p−1)

e + ∈

k



i=1

min

T ∈Ti



e ∈T

where:= (1 + ) By linear programming duality (Theorem 1), the expression

λ (p)

lb :=

k



i=1

min

T ∈Ti



e ∈T

y (p) e



e ∈E

c (e)y (p) e

is a lower bound on the maximum relative congestion, that is,λ (p)

lb ≤ λ∗ With this, inequality (Equation 32.8) can be rewritten as



e ∈E

c (e)y (p)

e ≤

e ∈E

c (e)y (p−1)

e + λ (p)

lb



e ∈E

c (e)y (p) e

which can be transformed to



∈E

c (e)y (p)

e ≤ 1

1− λ (p)

lb



∈E

c (e)y (p−1) e

Trang 6

If we setλlb:= maxp =1, ,t λ (p)

lb, we get with Equation 32.7



e ∈E

c (e)y (p)

e(1 −  mλ

lb) p

(1 − λlb) 1+

λlb

1− λlb

p−1

(1 − ) 1+

λlb

1− 

p−1

(1 − ) e

λlb(p−1)

1−

(32.9)

For the last inequality, 1+ x ≤ e x for x≥ 0 is used

An upper bound on the relative congestion of an edge e can now be derived: Suppose edge e is used

s times by some tree during the first t − 1 phases, and let the jth increment in the relative congestion

of edge e be a j := 1

c(e) for the appropriate i After rescaling the variables x i,T, the relative congestion

of edge e is λ(e) =s

j=1a j /(t − 1) Because y (0)

e = 1

c(e) and y (t−1) e < M

c(e)(because the condition in line 4 still holds before the last phase is executed) and because

y (t−1) e = 1

c (e)

s



j=1

e aj

we get

1

c (e)

s



j=1

e ajM

c (e)

It follows that

e  s

j=1a j ≤ M

and hence

λ(e) =

s

j=1a j

ln M

Because

e ∈ E c (e)y (t)

e ≥ M, solving inequality (Equation 32.9) with p = t for λlbgives a lower bound on the optimum solution value:

λlb≥ 1(t − 1) −  ln



M

m (1 − )



from which together with Equation 32.10, we get an upper bound on the approximation ratioρ:

maxe ∈E λ(e)

λlb

ln M

∈(t−1)

1−

(t−1)lnM

m (1 − ) =



(1 − )

ln M

lnM

m (1 − )

If M is now chosen to be M : = ( m

1−) 1, we get

ln M

lnM

(1 − ) = 1

1− 

Trang 7

such that

ρ ≤ (1 −  )2 = (1 + )

[1− (1 + )]2 =

(1 + )

[1− (1 + )]2

If ≤ 1, 1 +  ≤ 2, we get

ρ ≤ (1 − 4) (1 + )2 ≤ (1 − 4)1 3 because1+  ≤ 1

1− ≤ 1 1−4

If is chosen such that 1

(1−4)3 ≤ 1 + 0, so we choose

 = min



1,1 4



1− 1

1+0

1

we getρ ≤ 1 + 0 After all, we have = O(0) and also = O(0 ).

Because maxe ∈E λ(e) ≥ λ∗, we get from Equation 32.10 that

λ∗≤ (t − 1) ln M which means that the maximum number of phases is bounded by

t≤ 1 +ln M λ = 1 + 1λ∗ln m

1− 

The last expression can be bounded by O ( 1

2 0 λln m ).

It is important that the actual implementation does not have one single variable x i,T for every possible Steiner tree, because there are exponentially many A variable is only needed for a Steiner tree that was at some point during the algorithm the minimal Steiner tree and found by the algorithm

in line 7 and for which the variable x i,Tis greater than 0

To simplify the presentation of the algorithm and the proof we have omitted one idea that gives additional runtime improvements The algorithm in Figure 32.3 computes a Steiner tree for all the nets

in every phase However, this is not necessary The length (with respect to y e) of a newly computed Steiner tree is stored and then in the following phases a new Steiner tree is computed for the net only

if the length of the Steiner tree has increased by more than a certain factor (depending on) It can

be shown that still any approximation ratio can be achieved [9] This idea was used by Fleischer [7]

to reduce the theoretical runtime of the maximum multicommodity flow problem

Another practical speedup can be achieved with the Newton method as used in Refs [5,9]: After

p phases, the last Steiner tree computed has a weight of 1

pin the current solution where all previously computed Steiner trees have a total weight of p−1p After each Steiner tree is computed, the Newton method is used to compute a new weight for the new Steiner tree with respect to the other Steiner trees minimizing an expression similar toψ =e ∈E e αλ(e)

Another advantage of this approximation algorithm (compared to some rip-up and reroute algo-rithms) is that not only the maximum relative congestion is minimized, but also that the congestion of the edges is distributed and that the algorithm works toward a solution that is optimal in a well-defined sense—the vector of the relative congestion of the edges sorted in nonincreasing order is minimal by lexicographic order [9] Reducing the congestion beyond the maximum relative congestion on some edges can speed up the local router and also improves the signal integrity

Trang 8

32.6.2 APPROXIMATIONSCHEMEMINIMIZING THETOTALWEIGHTEDNETLENGTH

The approximation scheme described in Section 32.6.1 can be modified such that the total weighted netlength is considered and minimized subject to the condition that the maximum relative congestion

of the edges is at most 1 We follow the approach by Garg and Könemann [6] for the minimum-cost multicommodity flow problem

In addition to the capacity for each edge e = {u, v}, the L1-length l (e) is given, that is, for an

edge in x- or y-direction as the distance between the midpoints of the tiles corresponding to u and v For each net i, a weight g i ∈ R+is given We would like to minimize the total weighted netlength, which is given by the expression

k



i=1

g i



T ∈Ti



e ∈T

l (e)



x i,T

Let L be a target for the total weighted netlength Then the constraint

k



i=1

g i



T ∈Ti





e ∈T

l (e)



is added to the linear program (Equation 32.2) of the fractional global routing problem This constraint

is very similar to the capacity constraints for the edges, the first constraint in (Equation 32.2), and the algorithm can be modified to treat this new constraint in the same way as the capacity

constraints To minimize the total weighted netlength, we want L to be as small as possible such

thatλ, the maximum relative congestion, is at most 1 This is achieved by binary search over L.

In practice, the netlength in the final solution is only slightly higher compared to the minimum netlength if each Steiner tree is as short as possible ignoring capacities This gives a good estimate

for L.

For the dual of the linear program, an additional dual variable y L for the constraint in Equation 32.11 is needed The dual linear program is given by

max

k



i=1

z i

subject to



e ∈E

c (e)y e + Ly L= 1



e ∈T [y e + g i l (e)y L ] ≥ z i for i = 1, , k; T ∈ T i

y e ≥ 0 for e ∈ E

y L≥ 0 Figure 32.4 shows the modified approximation scheme During the algorithm, minimal Steiner

trees are computed with respect to the length y e + g i l (e)y L for net i and edge e ∈ E (line 7) The length of an edge e is the sum of the congestion cost y e and the wirelength cost g i l (e)y L of the edge

With the assumption that g i



e ∈T l (e) ≤ L for each Steiner tree T found in line 7 (which usually

holds for the global routing problem), the proof in Section 32.6.1 can be extended to show that a

(1+0)–approximation for the fractional global routing problem with the constraint in Equation 32.11

is found by the algorithm in Figure 32.4 in O

 1

2ln m



phases If for some Steiner tree T we have

Trang 9

(1) Sety e:= 1

c(e)for alle ∈ E and y L:= 1

L (2) Setx i,T:= 0 for i = 1, ,k; T ∈ T i.

(3) While

e∈E c(e)y e + Ly L < M

(4) begin

(5) For i := 1 tok

(7) Find a minimal Steiner treeT ∈ T ifor neti

with respect to lengths(y e + g i l(e)y L ), e ∈ E.

(8) Setx i,T:= x i,T+ 1

(9) Sety e:= y e e  1 c(e)for alle ∈ T.

SetY L:= y L e  gie∈T l(e) L

(10) end

(11) end

FIGURE 32.4 Approximation scheme for fractional global routing optimizing the total weighted netlength.

g i



e ∈T l (e) > L, variable x i,T in line 9 is increased only by L /[g i



e ∈T l (e)], and another Steiner

tree has to be found for the same net until the total increment of 

T ∈Ti x i,T is 1 (for details see Ref [6])

32.7 RANDOMIZED ROUNDING

So far we have focused on solving the linear relaxation of the global routing problem To come from

a fractional solution of the global routing problem to an integer solution it is necessary to choose one Steiner tree for each net This is done by randomized rounding, a technique developed by Raghavan and Thompson [1,2], which we present in this section

The technique of randomized rounding can be summarized as follows:

RULE 32.1 Independently for each net i choose randomly one Steiner tree out of the set T i The probability to choose Steiner tree T is x i,T

The expected value for the relative congestion of an edge or of the maximum relative congestion after randomized rounding is equal to the relative congestion of the fractional solution

Randomized rounding may increase the relative congestion of some edges However, it is possible

to prove that there is a positive probability that the relative congestion does not increase by more than

by a certain factor, and this factor decreases with increasing capacity of the edges We will present these results with the proofs

In the following, we denote the probability of an event by P[·] and the expectation of a random

variable X by E [X] The following lemma was proved in this version by Raghavan and Spencer

[23], and gives a variation of Chernoff’s bound [24] The lemma bounds the tail of the distribution

of the sum of independent random variable in [0,1] To simplify the notation, we use b () := (1 + ) ln(1 + ) −  For small values of , b() is approximately 1

22

Lemma 1 Let X1, , X t be independent random variables in [0, 1] Let X := t

p=1X p ,

µ >t

p=1E [X p ] and  > 0 Then

P [X ≥ (1 + )µ] ≤ 1

e b()µ Proof We first consider the case µ = t

p=1 E [X p] Using (1) the Markov inequality, (2) the

independence of the random variables X1, , X t,(3) (1 + ) x ≤ 1 + x for 0 ≤ x ≤ 1, and (4)

1+ x ≤ e x, we compute

Trang 10

P [X ≥ (1 + )µ] = P[(1 + ) X ≥ (1 + ) (1+)µ]

= P(1 + ) t p =1 Xp ≥ (1 + ) (1+)µ

= P  t

p=1(1 + ) Xp

(1 + ) (1+)µ ≥ 1



(1)

≤ E  t

p=1(1 + ) Xp

(1 + ) (1+)µ



(2)

=

t

p=1(1 + ) E [Xp]

(1 + ) (1+)µ (3)



t

p=1(1 + E[X p ])

(1 + ) (1+)µ

(4)



t

p=1e E[Xp]

(1 + ) (1+)µ

= e 

t

p =1 E[Xp]

(1 + ) (1+)µ = e µ

(1 + ) (1+)µ = 1

e b()µ

The lemma also holds ifµ > E[X] We add additional independent random variables in [0,1] to

X until µ = E[X] This only increases P[X ≥ (1 + )µ].

For an edge e ∈ E, we denote the relative congestion after randomized rounding with respect to

Rule 32.1 by ˆλ(e) The probability that the relative congestion of one edge increases by at least a

factor of(1 + ) can be bounded as follows:

Lemma 2 P[ˆλ(e) ≥ (1 + )λ] ≤ 1

eb()c(e)λ

Proof We apply Lemma 1: for i = 1, , k, let the random variable X i be 1 if for net i a Steiner tree is chosen that uses edge e, and zero otherwise The variables X1, , X kare independent random

variables in [0,1] and with X := k

i=1 X p , we have E [X] = c(e)λ Then, we have P[ˆλ(e) ≥

(1 + )λ] = P[X ≥ (1 + )c(e)λ] ≤ 1

eb()c(e)λ Finally, the probability of the overall failure, that is, the probability that any one edge has a relative congestion of at least(1 + )λ can now be bounded Let ˆλ := max e ∈E ˆλ(e) be the maximum relative congestion after randomized rounding and C := mine ∈E c (e).

Theorem 3

P [ˆλ ≥ (1 + )λ] ≤

e ∈E

1

e b()c(e)λm

e b()Cλ

If is chosen so large that the expression m

eb()Cλ is smaller than 1, then the probability of success,

ˆλ < (1 + )λ, is positive Repeating the randomized rounding experiment increases the probability

that one of the experiments is successful

It is possible to derandomize this random experiment Assuming that for some nets a Steiner tree has already been chosen and that for each remaining net a Steiner tree is chosen according to Rule 32.1, the probability of failure is computed This is a pessimistic estimator It is then possible to choose one Steiner tree for the next net such that the probability of failure does not increase Because the total probability was smaller than 1 at the beginning, in the end this probability is also smaller than 1, and because the Steiner trees for all nets are chosen, the final solution has to be a success

32.8 EXTENSIONS

The approach of solving a fractional global routing problem and then applying randomized round-ing has been used successfully in practice and has been extended to consider additional tasks and objectives

Albrecht et al [25] consider the problem of finding global routes that need to buffered In addition, the sizes of the buffers and the widths of the wires are optimized Some areas on the

Ngày đăng: 03/07/2014, 20:20

TỪ KHÓA LIÊN QUAN