Optimal and approximate bottleneck Steiner trees

Given a set of terminals in the plane, a bottleneck Steiner tree is a tree interconnecting the terminals, in which the length of the longest edge is minimized. The bottleneck Steiner tree problem, or special cases thereof, has applications in facility location and electronic physical design automation. In this paper, we first consider algorithms for computing optimal bottleneck Steiner trees. For a given topology, we give a direct, geometric algorithm that computes an optimal rectilinear bottleneck Steiner tree in O(n^2) time, which improves on the time complexity of previous algorithms. We also give a linear-time algorithm that, given the output from the previous algorithm, computes a rectilinear Steiner tree with minimum bottleneck length and that, among all trees with minimum bottleneck length, has minimum total length. These topology-specific algorithms provide solutions to many facility location applications, and in combination with a topology enumeration algorithm, can be used to solve the more general problems that arise in other applications. We also describe some difficulties in generalizing these results to the Euclidean problem, and give a simple approximation algorithm for the Euclidean problem. We then consider computation of approximate bottleneck Steiner trees. Specifically, we derive the exact value of the bottleneck Steiner ratio in any distance metric. The bottleneck Steiner ratio is the maximum ratio of the length of the longest edge in a minimum spanning tree to the length of the longest edge in an optimal bottleneck Steiner tree. Thus, the bottleneck Steiner ratio indicates the quality of a minimum spanning tree as an approximation of an optimal bottleneck Steiner tree.