In 23rd Design Automation Conference, IEEE Computer Society Press, Los Alamitos, CA, pp.. International Conference on Computer Aided Design, IEEE Computer Society Press, Los Alamitos, CA
Trang 11 1 1 1 1 1 1
2 2 2 2 2 2
C
A
C
A
C
A
2
1
1
1
2
2
2
2
2
3
3
3
3
3
3
2
1
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6 6 7
7
7
7
7 7
7
7
7
7
7
8 8 8 8 8 8
8
8
8
8
8
8
9
9
9
9
9
9
9 9 9 9
9 9
1 1 1 1
1
1 1 1 1
1 1 1 1 1
2 2
2 2
2 2 2 2 2 2 2 2 2 2 2
3 3 3 3
3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
4 4
4 4 4 4 4 4 4 4 4
4 4 4 4 4 4
FIGURE 23.17 Maze routing is applied repeatedly to find the routing solution of a net with three terminals.
(a) Wave expansion starts from terminal A, and it reaches terminal B; (b) the route between A and B is
implemented, and the new wavefront is expanded from the partial route; and (c) the final routing solution obtained
the wave expansion In other words, the next wavefront is expanded starting from the partial route implemented This process continues until all the terminals of the net are routed Figure 23.17
illustrates this process with an example Here, wave expansion starts from terminal A, and it reaches terminal B (Figure 23.17a) Then, the route between A and B is implemented by backtracking The
next wavefront is started to be expanded from this partial route (Figure 23.17b) Finally, the new
wavefront reaches C, and the final solution is obtained Note here that this approach can easily lead
to suboptimal solutions because of its greedy nature For example, if the lower L route was selected
in Figure 23.17b as the route between A and B, then the wirelength of the final routing solution would
be significantly larger To avoid this problem, a biasing technique is proposed in Ref [41] to direct the maze search toward regions where overlap with future connections of the net is more likely
23.6 ROUTING MULTIPLE NETS
In this section, we focus on the problem of routing multiple nets together The main difficulty here
is that routing solution for one net potentially impacts the routing of other nets, because common routing resources are being used by multiple nets We can divide the routing methodologies that deal with multiple nets into two broad categories: sequential and concurrent routing methodologies In the following subsections, we give a brief overview of these techniques
23.6.1 SEQUENTIALROUTING
The most straightforward way of routing multiple nets is to route them sequentially in a specific order Once a net is routed, the congestion values of the global routing resources being used are updated As
a result, some of the nets to be routed in the later iterations may be forced to use overcongested routing resources So, this approach is very sensitive to the order of nets that are being routed Figure 23.18 illustrates an example where net ordering has an impact on the final solution In Figure 23.18a, net
C is routed after nets A and B, and its path is blocked by the other routing segments This leads to an
overcongested solution In Figure 23.18b, net A is routed after nets C and B, and all its shortest paths
are blocked by the other routing segments This leads to a solution with suboptimal wirelength for
net A In Figure 23.18c, the best net ordering is illustrated, which leads to a congestion-free routing
solution with optimal routing for each net
Several practical considerations are taken into account while making the net ordering decision The nets that have higher criticalities are typically routed first so that they have higher priorities while using contentious routing resources The criticality of a net is determined by the importance of the net and the timing requirements imposed on it For example, if a net is on the critical path of the circuit, it can be prioritized so that it uses the fastest routing resources before they are acquired by
Trang 2C
C
B
B A
A C
C
B
B A
A C
C
B
B A
FIGURE 23.18 Net ordering problem is illustrated for three nets The capacity of each tile is assumed to
be one vertical and one horizontal track Routing nets in the order (a) A–B–C leads to a solution with two overcongested tiles (shown as shaded rectangles), (b) C–B–A leads to a solution where A is detoured to avoid congestion, and (c) C–A–B leads to the congestion-free solution with optimal routing for each net.
other nets Another practical consideration is routing nets with less routing alternatives before other nets Typically, routing choices are limited for the nets of which terminals are close to each other Similarly, if all the terminals of a net align with each other on one row or column of the routing grid
(e.g., net C in Figure 23.18), then routing choices will be limited for such a net So, it is a commonly
used heuristic to determine net ordering based on increasing Manhattan distances of the terminals The main disadvantage of sequential routing methodologies is that the nets that are routed earlier affect the routing of the latter nets To alleviate this problem, rip-up and reroute techniques [42,43] are used so that the nets that are routed in the earlier iterations can be rerouted based on the routing requirements of the latter nets Typically, nets are first routed allowing congestion, and then the nets in the overcongested regions are ripped up and rerouted in the later iterations For example in
Figure 23.18a, nets are routed in the order A–B–C Here, if net A is ripped up and rerouted, it will
prefer the uncongested region, and the solution in Figure 23.18b will be obtained
A problem with the rip-up- and reroute-based algorithms is solution oscillations It is possible that the congestion will oscillate between two regions during the routing iterations as nets are being ripped up and rerouted To avoid this problem, some algorithms incorporate the congestion history into the routing objective function Pathfinder is a negotiated-congestion-based algorithm, which was proposed for FPGA routing [44–46], and extended to different aplication areas such as PCB routing [47] Recently, global routing algorithms have been proposed that utilize congestion histories [23,25,48], and outperform other algorithms on recently released public benchmarks [49] The main idea of congestion negotiation can be summarized as follows First, every net is routed individually, regardless of any overuse (i.e., congestion) of routing grid edges Then the nets are ripped up and rerouted one by one iteratively In each iteration, the congestion cost of each edge is updated based
on the current and past overuse of it By increasing the congestion cost of an overused edge gradually, the nets with alternative routes are forced not to use this edge Eventually, only the net that needs
to use this edge most ends up using it For example, Archer [23] uses the following cost function to
compute the congestion history of edge e:
cost(e) = (1 + α.h k
e ) × overflow(e) (23.1)
Here, h k represents the history cost for edge e in iteration k, and it reflects for how long edge e has
been congested It is computed as follows:
h k
e=
h k−1
e if edge e is congestion free in iteration k
h k−1+ k if edge e has nonzero overflow in iteration k (23.2)
Trang 3Based on this formulation, if edge e is congested repeatedly for several iterations, its cost will
increase significantly to discourage its usage Aging effect is also captured by this formulation The edges that are congested only in the earlier iterations will have less costs than the ones that are congested in the later iterations
In Chapter 31, a more thorough survey of rip-up and reroute algorithms is provided
23.6.2 CONCURRENTROUTING
The sequential routing algorithms are commonly used mainly because of their simplicity and low-runtime requirements However, they are heuristics-based, and they typically do not have any theoretical guarantee about solution quality As discussed in the previous section, the order in which nets are routed typically affects the routing results of sequential algorithms significantly For the pur-pose of avoiding this problem, another class of algorithms try to find the routing solutions of all nets concurrently In this subsection, a brief overview of routing formulations based on multicommodity flow and integer linear programming will be given
Global routing problem can be formulated as a multicommodity flow problem as follows Let
G = (V, E) be the global routing graph with vertices V and edges E A flow network can be modeled based on this graph G Each edge e ∈ E in this network will have flow capacity cap(e) (which can
be set based on the techniques presented in Section 23.3), and cost cost(e) (which can be set based
on the cost metrics discussed in Section 23.4) A commodity must be transported over this network corresponding to each net between the vertices corresponding to its terminals The multicommodity flow problem is defined as finding a flow for each commodity between specified vertices while satisfying all flow capacity constraints of the edges in the network There are two variations of this problem depending on whether fractional flow values on edges are allowed or not While the fractional multicommodity flow problem is polynomial-time solvable, integer multicommodity flow problem is NP-complete
Shragowitz et al [50] present one of the earlier global routing algorithms that uses multicom-modity flow formulation for two-terminal nets Raghavan et al [51] present an improved network flow formulation that can also handle three-terminal nets A more recent algorithm proposed by
Albrecht [18] operates on a set of given Steiner trees T i for each net i with the objective of choosing exactly one T ∈ T i such that the maximum relative congestion in the circuit is minimized The readers can refer to Chapter 32 for a more detailed survey of concurrent routing algorithms
23.7 CONCLUSIONS
In this chapter, we have discussed the basics of global routing As discussed before, global routing
is an important step in the physical design process, and it impacts the final interconnect qualities considerably As the circuit densities have been significantly increasing in the past several years, the routing problem for integrated circuits is becoming a more and more challenging problem
A recent global routing competition in ISPD 2007 [49] attracted renewed interest in global rout-ing, and the results of the recently proposed algorithms [23,25,48] demonstrated that there is still significant room for routing quality improvements
The next two chapters provide detailed discussions on net-topology optimization techniques for multiterminal nets Although these chapters focus on single-net optimization, they can be utilized within a global routing framework to determine net topologies, as discussed in Section 23.5.5
REFERENCES
1 G W Clow A global routing algorithm for general cells In 21st Design Automation Conference, IEEE
Press, Piscataway, NJ, pp 45–51, 1984
2 J Cong and P Madden Performance driven global routing for standard cell design In International Symposium on Physical Design, ACM, NY, pp 73–80, 1997.
Trang 43 J T Mowchenko and C S R Ma A new global routing algorithm for standard cell ICs In International Symposium on Circuits and Systems, pp 27–30, 1987.
4 C Sechen and A Sangiovanni-Vincentelli Timberwolf 3.2: A new standard cell placement and global
routing package In 23rd Design Automation Conference, IEEE Computer Society Press, Los Alamitos,
CA, pp 432–439, 1986
5 J Cong and B Preas A new algorithm for standard cell global routing Integration: The VLSI Journal,
14(1): 49–65, 1992 (ICCAD 1988.)
6 W Swartz and C Sechen A new generalized row-based global router International Conference on Computer Aided Design, IEEE Computer Society Press, Los Alamitos, CA, pp 491–498, 1993.
7 M Burstein and R Pelavin Hierarchical channel router In Proceedings of 20th Design Automation Conference, ACM, NY, pp 591–597, 1983.
8 S C Fang, W S Feng, and S L Lee A new efficient approach to multilayer channel routing problem In
Proceedings of the 29th Design Automation Conference, IEEE Computer Society Press, Los Alamitos, CA,
pp 579–584, 1992
9 A Hashimoto and J Stevens Wire routing by optimizing channel assignment within large apertures In
Proceedings of the 8th Design Automation Workshop, ACM, NY, pp 214–224, 1971.
10 M M Ozdal and M D F Wong Two layer bus routing for high-speed printed circuit boards ACM Transactions on Design Automation of Electronic Systems, 11(1): 213–227, 2006 (ICCAD 2004.)
11 R L Rivest and C M Fiduccia A greedy channel router In Proceedings of 19th Design Automation Conference, IEEE Press, Piscataway, NJ, pp 418–424, 1982.
12 T Yoshimura Efficient algorithms for channel routing IEEE Transactions on Computer-Aided Design,
CAD-1(1): 25–35, 1982
13 C Hsu General river routing algorithm In Proceedings of 20th Design Automation Conference, IEEE
Press, Piscataway, NJ, pp 578–582, 1983
14 M M Ozdal and M D F Wong Algorithmic study of single-layer bus routing for high-speed boards
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 25(3): 490–503, 2006.
(ICCAD 2004.)
15 R Y Pinter On routing two-point nets across a channel In Proceedings of 19th Design Automation Conference, IEEE Press, Piscataway, NJ, pp 894–902, 1982.
16 R Y Pinter River routing: Methodology and analysis In Proceedings of 3rd Caltech Conference on VLSI,
Computer Science Press, pp 141–163, 1983
17 H Zhou and M D F Wong Optimal river routing with crosstalk constraints ACM Transactions on Design Automation of Electronic Systems, 3(3): 496–514, 1998.
18 C Albrecht Provably good global routing by a new approximation algorithm for multicommodity flow
In International Symposium on Physical Design, ACM, NY, pp 19–25, 2000.
19 M Cho and D Z Pan Boxrouter: A new global router based on box expansion and progressive ilp
In Proceedings of Design Automation Conference, ACM, NY, pp 373–378, 2006.
20 R T Hadsell and P H Madden Improved global routing through congestion estimation In Proceedings
of Design Automation Conference, ACM, NY, pp 28–31, 2003.
21 R Kastner, E Bozorgzadeh, and M Sarrafzadeh Predictable routing In Proceedings of International Conference on Computer Aided Design, IEEE Press, Piscataway, NJ, pp 110–114, 2000.
22 R Kastner, E Bozorgzadeh, and M Sarrafzadeh Pattern routing: Use and theory for increasing predictability
and avoiding coupling IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems,
21(7): 777–791, 2002
23 M M Ozdal and M D F Wong Archer: A history-driven global routing algorithm In Proceedings of International Conference on Computer Aided Design, IEEE Press, Piscataway, NJ, pp 488–495, 2007.
24 M Pan and C Chu Fastroute: A step to integrate global routing into placement In Proceedings of International Conference on Computer Aided Design, IEEE Press, Piscataway, NJ, pp 464–471, 2006.
25 J A Roy and I L Markov High-performance routing at the nanometer scale In Proceedings of International Conference on Computer Aided Design, IEEE Press, Piscataway, NJ, pp 496–502, 2007.
26 J Cong, J Fang, and K -Y Khoo DUNE: A multi-layer gridless routing system IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 20(5): 633–647, 2001 (ISPD 2000).
27 J Cong, J Fang, M Xie, and Y Zhang MARS: A multilevel full-chip gridless routing system IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 24(3): 382–394, 2005 (ICCAD
2002.)
Trang 528 J Cong and P H Madden Performance driven multi-layer general area routing for PCB/MCM designs In
Proceedings of Design Automation Conference, ACM, NY, pp 356–361, 1998.
29 R Linsker An iterative-improvement penalty-function-driven wire routing system IBM Journal of Research and Development, 28(5): 613–624, 1984.
30 H Zhou and M D F Wong Global routing with crosstalk constraints In Proceedings of Design Automation Conference, ACM, NY, pp 374–377, 1998.
31 C Y Lee An algorithm for path connection and its applications IRE Transactions on Electronic Computers,
EC-10: 346–365, 1961
32 E F Moore The shortest path through a maze In Proceedings of the International Symposium on the Theory of Switching, pp 285–292 Harvard University Press, Cambridge, 1959.
33 S Akers Routing, Vol 1 Prentice-Hall, Englewood Cliffs, NJ, 1972.
34 S Akers A modification of lee’s path connection algorithm IEEE Transactions on Electronic Computers,
EC-16(2): 97–98, 1967
35 F O Hadlock A shortest path algorithm for grid graphs Networks, 7(4): 323–334, 1977.
36 P E Hart, N J Nilsson, and B Raphael A formal basis for the heuristic determination of minimum cost
paths in graphs IEEE Transactions on Systems Science and Cybernetics, SSC-4(2): 100–107, 1968.
37 J Soukup Fast maze router In Proceedings of the 15th Design Automation Conference, IEEE Press,
Piscataway, NJ, pp 100–102, 1978
38 E W Dijkstra A note on two problems in connection with graphs Numerische Mathematik, 1: 269–
271, 1959
39 K Mikami and K Tabuchi A computer program for optimal routing of printed circuit connectors In IFIPS Proceedings, H47: 1475–1478, 1968.
40 D W Hightower A solution to line-routing problems on the continuous plane In Proceedings of the 6th Annual Conference on Design Automation, ACM, NY, pp 1–24, 1969.
41 R F Hentschke, J Narasimham, M O Johann, and R L Reis Maze routing steiner trees with effective
critical sink optimization In Proceedings of International Symposium on Physical Design, ACM, NY,
pp 135–142, 2007
42 H Bollinger A mature DA system for PC layout In Proceedings of 1st International Printed Circuit Conference, IEEE Computer Society Press, Los Alamitos, CA, pp 85–99, 1979.
43 W A Dees and P G Karger Automated rip-up and reroute techniques In Proceedings of Design Automation Conference, IEEE Press, Piscataway, NJ, pp 432–439, 1982.
44 V Betz and J Rose Directional bias and non-uniformity in FPGA global routing architectures
In International Conference on Computer Aided Design, IEEE Computer Society, Washington, DC,
pp 652–659, 1996
45 V Betz and J Rose VPR: A new packing, placement and routing tool for FPGA research In 7th International Workshop on Field-Programmable Logic, pp 213–222, 1997.
46 C Ebeling, L McMurchie, S A Hauck, and S Burns Placement and routing tools for the triptych FPGA
IEEE Transactions on VLSI Systems, IEEE Press, Piscataway, NJ, pp 473–482, 1995.
47 M M Ozdal and M D F Wong A length-matching routing algorithm for high-performance printed circuit
boards IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 25:
2784–2794, 2006 (ICCAD 2003)
48 M Cho, K Lu, and D Z Pan Boxrouter 2.0: Architecture and implementation of a hybrid and robust
global router In Proceedings of International Conference on Computer Aided Design, Press, Piscataway,
NJ, pp 503–508, 2007
49 G -J Nam ISPD 2007 Global Routing Contest, 2007 Available at: http://www.sigda.org/ispd2007/
contest.html
50 E Shragowitz and S Keel A global router based on a multicommodity flow model Integration: The VLSI Journal, 5(1): 3–16, 1987.
51 P Raghavan and C D Thompson Multiterminal global routing: A deterministic approximation scheme
Algorithmica, 6: 73–82, 1991.
Trang 624 Minimum Steiner Tree
Construction*
Gabriel Robins and Alexander Zelikovsky
CONTENTS
24.1 Introduction 487
24.2 Historical Perspectives 489
24.3 Iterated 1-Steiner Approach 490
24.3.1 Batched 1-Steiner Variant 492
24.3.2 Empirical Performance of Iterated 1-Steiner 493
24.3.3 Generalization of I1S to Steiner Arborescences 494
24.4 Steiner Trees in Graphs 494
24.4.1 Graph Generalization of Iterated 1-Steiner 494
24.4.2 Loss-Contracting Approach 495
24.5 Group Steiner Trees 496
24.5.1 Applications of Group Steiner Trees 497
24.5.2 Depth-Bounded Group Steiner Tree Approach 498
24.5.3 Time Complexity of the DBS Group Steiner Algorithm 499
24.5.4 Degenerate Group Steiner Instances 500
24.5.5 Bounded-Radius Group Steiner Trees 501
24.5.6 Empirical Performance of the Group Steiner Heuristic 502
24.6 Other Steiner Tree Methods 502
24.7 Improving the Theoretical Bounds 502
24.8 Steiner Tree Heuristics in Practice 503
24.9 Future Directions for the Steiner Problem 503
References 504
24.1 INTRODUCTION
In optimizing the area of very large scale integrated (VLSI) layouts, circuit interconnections should generally be realized with minimum total interconnect This chapter addresses several variations
of the corresponding fundamental Steiner minimal tree (SMT) problem, where a given set of pins
is to be connected using minimum total wirelength Steiner trees are important in global routing and wirelength estimation [1], as well as in various nonVLSI applications such as phylogenetic tree reconstruction in biology [2], network routing [3], and civil engineering, among many other areas [4–9]
In modern deep-submicron VLSI layout other criteria often dominate the routing objectives, such as pathlengths, skew, density, inductance, manufacturability, electromigration, reliability, noise,
∗ This work was supported by a Packard Foundation Fellowship, by National Science Foundation Young Investigator Award MIP-9457412, by a GSU Research Initiation Grant, by NSF grants CCR-9988331, CCF-0429737, CCF-0429735, and CNS-0716635, and by U.S Civilian Research and Development Foundation grant MOM2-3049-CS-03.
487
Trang 7power, non-Hanan topologies, signal integrity, three-dimensionality, alternate models, and vari-ous combinations and trade-offs of these Refs [10–22] However, large noncritical nets are still common in modern designs, and this chapter focuses on the corresponding classical objective of wirelength/area minimization (which also minimizes the total capacitance) This exposition is not
an exhaustive survey on the Steiner problem, about which hundreds of papers and several entire books were written [2,4–9] Rather, it focuses on a few selected results and approaches to Steiner tree construction A broader overview of the field of computer-aided design of VLSI is given by several textbooks on this subject [23–27]
Given a set P of n pins (i.e., terminals of a signal net), we seek to interconnect these points using a
minimual total amount of wire This objective arises in VLSI minimum-area global routing, because VLSI minimum-spacing design rules induce an essentially linear relationship between wirelength and wiring area When all wires are point-to-point, with no intermediate junctions other than points
of P, the optimum solution is a minimum spanning tree (MST) over P, denoted as MST(P) However,
we can usually introduce intermediate junctions, called Steiner points, in connecting the points of P.
The SMT problem can be formulated as follows
Steiner minimal tree problem: Given a set P of n points, determine a set S of Steiner points such that
the MST cost over P ∪ S is minimized.
An optimal solution to this problem is referred to as a SMT (or simply Steiner tree) over P, denoted SMT(P) An edge in a tree T has cost equal to the distance between its endpoints, and the cost of T itself is the sum of its edge costs, denoted cost(T ) The wiring cost between a pair of pins
(x1, y1) and (x2, y2) in a VLSI layout is typically modeled by the Manhattan or rectilinear distance:∗
dist
(x1, y1), (x2, y2)= (x) + (y) = |x1− x2| + |y1− y2|
We will focus on the rectilinear SMT problem, where every edge is embedded in the plane using a path of one or more alternating horizontal and vertical segments between its endpoints Figure 24.1 depicts an MST and an SMT for the same pointset in the Manhattan plane The bounding
box of a pointset P denotes the smallest rectangle,† which contains all points of P and whose
sides are oriented parallel to the coordinate axes If an edge between two points is embedded with minimum possible wirelength, its routing segments will remain within the bounding box induced by its endpoints
FIGURE 24.1 (a) MST and (b) SMT in the rectilinear plane Hollow dots represent the original pointset P,
and solid dots represent Steiner points
∗ More recently, non-Manhattan interconnect architectures such as preferred direction routing andλ-geometries, have been
gaining popularity [4,28–36] However, most of the methods described in this chapter can be generalized to these other geometries and metrics, as well as to higher dimensions.
† Bounding boxes in non-Manhattan metrics/geometries have corresponding nonrectangular shapes, induced by the underlying metric/geometry [4].
Trang 824.2 HISTORICAL PERSPECTIVES
The Steiner problem is named after the Swiss mathematician Jacob Steiner (1796–1863), who solved and popularized the problem of joining three villages by a system of roads having minimum total length [37] (he also addressed the general case of this problem, and made many fundamental contribu-tions to projective geometry) However, while Jacob Steiner’s work on this problem was independent
of its predecessors, about two centuries earlier Pierre de Fermat (1601–1665) proposed this problem
to Evangelista Torricelli (1608–1647), who solved it and passed it along to his student Vincenzo Viviani (1622–1703), who in turn published his own solution as well as Torricelli’s in 1659 [38]
An even earlier (and presumably independent) published discussion of this problem is found in a
1647 book by the Italian mathematician Bonaventura Francesco Cavalieri (1598–1647) [39] Luck-ily, today we refer to this problem simply as the Steiner problem, instead of the more accurate but considerably less wieldy title the Fermat–Torricelli–Viviani–Cavalieri–Steiner problem
More recent research progress on the SMT problem has been historically driven by several main results
1 In 1966, Hanan [40] showed that for a pointset P there exists an SMT whose Steiner points S
are all chosen from the Hanan grid, namely the intersections of all the horizontal and vertical
lines passing through every point of P (Figure 24.2) Snyder [41] generalized Hanan’s
theorem to all higher dimensional Manhattan geometries; on the other hand, extensions of Hanan’s theorem toλ-geometries are less straightforward [42].
2 In 1977, Garey and Johnson showed that despite restricting the Steiner points to lie on the Hanan grid, the rectilinear SMT problem is NP-complete [43] Only a very few special
cases have been solved optimally (e.g., a linear-time solution exists when all points of P lie
on the boundary of a rectangle [44]) Many heuristics have been proposed for the general problem, as surveyed in Refs [2,5–8]
3 In 1976, Hwang [45] showed that the MST over P is a good approximation to the SMT,
having performance ratio∗ cost[MST(P)]
cost[SMT(P)] ≤ 3
2 for any pointset P in the rectilinear plane In
attacking intractable problems, a standard goal is to achieve a provably good heuristic having a constant-factor performance ratio (i.e., asymptotic worst-case error bounded with respect to the optimal solution) In light of the intractability of the rectilinear SMT problem, Hwang’s result implies that any Steiner approximation approach that improves upon an initial MST solution will have performance ratio at most3
2 Thus, many SMT heuristics in the literature are MST-improvement strategies, i.e., they resemble classic MST constructions (e.g., Refs [46,47])
For over 15 years after the publication of Ref [45], the fundamental open problem was
to find a heuristic with (worst-case) performance ratio strictly less than3
2 A complementary
FIGURE 24.2 Hanan’s theorem: There exists an SMT with Steiner points chosen from the Hanan grid, i.e.,
intersection points of all horizontal and vertical lines drawn through the points
∗ The performance ratio of a heuristic is an upper bound on the heuristic solution cost divided by the optimal solution cost, over all possible problem instances
i.e., the worst-case of cost(APPROX)
.
Trang 9research goal has been to find new practical heuristics with improved average-case solu-tion quality In practice, most SMT heuristics, including MST-based strategies, exhibited very similar average performance On uniformly distributed random instances (the typical benchmark), heuristic Steiner tree costs averaged between 7 and 9 percent improvement over the corresponding MST costs [2]
4 In 1990, Kahng and Robins have shown [19,48–50] that any Steiner tree heuristic in a general class of greedy MST-based methods has worst-case performance ratio arbitrarily close to 3
2, i.e., the MST for certain classes of pointsets is unimprovable Thus, the 3
2
bound is tight for a wide range of MST-based strategies in the rectilinear plane [49], which resolved the performance ratios for a number of heuristics in the literature with previously unknown worst-case behavior Moreover, this established that in general, MST-based Steiner heuristics (e.g., where MST edges are flipped within their bounding boxes) are unlikely to achieve performance ratio better than 3
2 Analogous constructions in higher d-dimensional
Manhattan geometry showed that all of these heuristics have performance ratio of at least
2d−1
d , which is bounded from above by 2 as the dimension grows [19,49]
5 In 1992, Zelikovsky developed a rectilinear Steiner tree algorithm with a performance ratio
of 11
8 times optimal [51], the first heuristic provably better than the MST His techniques yield a general graph Steiner tree algorithm with a 11
6 performance ratio [52], the first graph Steiner approximation proven to beat the MST-based graph Steiner heuristic of Kou
et al [53] This settled in the affirmative longstanding open question of whether there exists
a polynomial-time rectilinear Steiner tree heuristic with performance ratio<3
2, and whether there exists a polynomial-time graph Steiner tree heuristic with performance ratio<2.
In light of this sequence of developments, research on Steiner tree approximation has turned away from MST-improvement heuristics One of the earliest and most effective Steiner tree approximation schemes to break away from the herd of MST-improvement shemes is the iterated 1-Steiner (I1S) approach of Kahng and Robins [19,48,50,54] The I1S heuristic is simple, easy to implement, generalizes naturally to any dimension and metric (including arbitrary weighted graphs), and significantly outperforms previous approaches, as detailed below The I1S algorithm was subsequently proven to be the earliest published Steiner approximation method to have a nontrivial performance ratio (of 1.5 times optimal) in quasi-bipartite graphs [55,56]
24.3 ITERATED 1-STEINER APPROACH
This section outlines the I1S heuristic [19,54], which repeatedly finds optimum single Steiner points
for inclusion into the pointset Given two pointsets A and B, we define the MST savings of B with
respect to A as
MST(A, B) = cost [MST(A)] − cost [MST(A ∪ B)]
Let H (P) denote the Steiner candidate set, i.e., the intersection points of all horizontal and vertical
lines passing through points of P (as defined by Hanan’s theorem [40], see Figure 24.2) For any pointset P, a 1-Steiner point with respect to P is a point x ∈ H(P) that maximizes MST(P, {x}) > 0 Starting with a pointset P and a set S= ∅ of Steiner points, the I1S method repeatedly finds a 1-Steiner
point x for P ∪ S and sets S ← S ∪ {x} The cost of MST(P ∪ S) will decrease with each added point, and the construction terminates when there no longer exists any point x with MST(P ∪S, {x}) > 0.
An optimal Steiner tree over n points has at most n− 2 Steiner points of degree at least 3 (this follows from simple degree arguments [57]) However, the I1S method can (on rare occasions) add
more than n− 2 Steiner points Therefore, at each iteration we eliminate any extraneous Steiner points that have degree≤2 in the MST over P ∪ S (because such points cannot contribute to the
tree cost savings) Figure 24.3 formally describes the algorithm, and Figure 24.4 illustrates a sample execution
Trang 10Iterated 1 -Steiner (I1S) heuristic
Input: SetP of n points
Output: Rectilinear Steiner tree spanningP
S = ∅
While Candidate _ Set={x∈H(P ∪ S)|MST(P ∪ S,{x}) > 0}= ∅ Do
Findx∈ Candidate_Set which maximizes MST(P ∪ S,{x})
S = S ∪ {x}
Remove points inS which have degree ≤2 in MST(P ∪ S)
Output MST(P ∪ S)
FIGURE 24.3 I1S method (From Kahng, A B and Robins, G., On Optimal Interconnections for VLSI,
Kluwer Academic Publishers, Boston, MA, 1995; Kahng, A B and Robins, G., IEEE Trans Computer-Aided Design, 11, 893, 1992; Griffith, J Robins, G., Salowe, J S., and Zhang, T., IEEE Trans Computer-Aided Design
13, 1351, 1994.)
To find a 1-Steiner point in the Manhattan plane, it suffices to construct an MST over|P ∪ S| + 1 points for each of the O (n2) members of the Steiner candidate set (i.e., Hanan grid points), and
then pick a candidate that minimizes the overall MST cost Each MST computation can be
per-formed in O (n log n) time [59], yielding an O(n3log n ) time method to find a single 1-Steiner
point A more efficient algorithm based on Ref [60] can find a new 1-Steiner point within O (n2)
time [19] A linear number of Steiner points can therefore be found in O (n3) time, and trees with a
bounded number of k Steiner points require O (kn2) time Because the MSTs between trying one
can-didate Steiner point and the next change very little (by only a constant number of tree edges), incremental/dynamic MST updating schemes can be employed, resulting in further asymptotic time-complexity improvements [19,58]
In practice, the number of iterations performed by I1S averages less than n2 for uniformly dis-tributed random pointsets [19] Furthermore, the I1S heuristic is provably optimal for four or less points [19]; this is not a trivial observation, because many earlier heuristics were not optimal even for four points On the other hand, the worst-case performance ratio of I1S over small pointsets is
at least7
6 and13
11for five and nine points, respectively [19,54], and is at least 1.3 in general [61] The
(a)
FIGURE 24.4 Execution of I1S on a four-pin net Note that in step (d) a superfluous degree-2 Steiner point
forms, and is then eliminated from the topology in step (e)