Improved approximations for the Steiner tree problem

For a set S contained in a metric space, a Steiner tree of S is a tree that connects the points in S. Finding a minimum cost Steiner tree is an NP-hard problem in euclidean and rectilinear metrics as well as in graphs. We give an approximation algorithm and show that the worst-case ratio of the cost of our solutions to the optimal cost is better than previously known ratios in graphs, and in rectilinear metric on the plane. Our method offers a trade-off between the running time and the ratio; on one hand it always allows to improve the ratio, on the other it allows to obtain previously known ratios with much greater efficiency. We use properties of optimal rectilinear Steiner trees to obtain significantly better ratio and running time in rectilinear metric.