Ion I. Mandoiu, Vijay V. Vazirani Georgia Tech Joseph L. Ganley Simplex Solutions A New Heuristic for Rectilinear Steiner Trees
The RSMT Problem Given a set of terminals in the plane, find minimum length interconnection of the terminals using only horizontal and vertical wires. RSMT MST RSMT may improve up to 33% over MST. Steiner point
Why RSMT? Minimum wire length gives Minimum area Minimum capacitance RSMT important for: Non-critical nets Physically small instances
Key Results on RSMT Problem RSMT problem is NP-hard (GJ 77) Iterated 1-Steiner heuristic (KR 90) Greedily adds Steiner points to the tree Almost 11% improvement over MST on average Fast batched implementation (BI1S) Exact algorithm: GeoSteiner 3.0 (WWZ 98) Branch-and-cut 11.5% improvement over MST on average Average speed comparable to BI1S!!! Reduction to discrete grid (H 66)
The Algorithm: High-Level Idea Iterative method: in each step add/remove one Steiner point to/from tree Unlike Iterated 1-Steiner heuristic, do not insist on choosing best Steiner point in each step Steiner point to be added is chosen using a powerful Linear Programming (LP) formulation of the Steiner tree problem in graphs, called the bidirected cut formulation
The Bidirected Cut Formulation Valid cut C C
The Bidirected Cut Formulation (cont.) LP relaxation Dual LP Can be solved efficiently Opens possibility to exploit LP duality Gives optimum integer solution if all vertices are terminals, i.e., for the MST problem (E 66) Integrality gap believed to be very close to 1
The RV Algorithm Rajagopalan and Vazirani 99: 3/2 approximation algorithm for Steiner tree problem in graphs based on bidirected cut formulation Applies only to quasi-bipartite graphs, i.e., graphs with no edges connecting pairs of Steiner vertices Uses the primal-dual method for approximation algorithms Alternatively updates primal and dual solutions, until primal feasibility is achieved
Sample Execution
Sample Execution
Sample Execution
Sample Execution Crystallize Steiner vertex & RESTART
Sample Execution
Sample Execution
Sample Execution
Sample Execution
Sample Execution Reverse delete
Sample Execution Reverse delete
Sample Execution Reverse delete
Sample Execution Reverse delete
Sample Execution
Sample Execution De-crystallize Steiner vertex
Final Solution
Adaptation to General Graphs Remove Steiner-Steiner edges from graph G Run RV algorithm on remaining graph Repeat, treating Steiner vertices picked by the RV algorithm as terminals Stop when no new Steiner vertices are picked
Implementation Issues Size of graphs resulting from reduction to grid is a potential bottleneck Use efficiently computable reductions: Vertex reduction based on the empty rectangle test Edge reductions based on bound on max. degree of geometric MSTs (RS 95)
Experimental Setup Test bed: Random instances ranging in size between 10 and 250 terminals, 1000 instances/size Instances extracted from industrial designs Measure of quality: percent improvement over MST
Average Improvement over MST
Average CPU Time
Results on Industrial Instances No Term:
Summary Fast RSMT heuristic, based on ideas drawn from the field of approximation algorithms for NP-hard problems