Algorithmica (1999) 25: 418–437
Algorithmica
© 1999 Springer-Verlag New York Inc.
Concatenation-Based Greedy Heuristics for the
Euclidean Steiner Tree Problem
M. Zachariasen
1
and P. Winter
1
Abstract. We present a class of O(n log n) heuristics for the Steiner tree problem in the Euclidean plane.
These heuristics identify a small number of subsets with few, geometrically close, terminals using minimum
spanning trees and other well-known structures from computational geometry: Delaunay triangulations, Gabriel
graphs, relative neighborhood graphs, and higher-order Voronoi diagrams. Full Steiner trees of all these
subsets are sorted according to some appropriately chosen measure of quality. A tree spanning all terminals
is constructed using greedy concatenation. New heuristics are compared with each other and with heuristics
from the literature by performing extensive computational experiments on both randomly generated and library
problem instances.
Key Words. Heuristics, Steiner trees.
1. Introduction. Given a set Z of n terminals in the Euclidean plane, a shortest network
which interconnects Z is called a Steiner minimum tree (SMT). An SMT may contain
additional intersection points, Steiner points. This Steiner tree problem is NP-hard and
has been a subject for extensive investigation [9]. The most effective exact algorithm
is currently able to solve most problem instances with up to 1000 terminals in a day
[24], [23]. If less CPU time is available or larger problem instances have to be solved,
heuristics are called for.
An SMT is a union of full Steiner trees (FSTs). An FST F spanning a subset Z
k
of k
terminals in Z has k − 2 Steiner points. Each Steiner point has three edges making 120
◦
with each other. Every terminal in F has degree one (is a leaf in F ). If two or three FSTs
share a terminal in an SMT, then the edges meet at the terminal at an angle which is at
least 120
◦
. Experience has shown that FSTs in an SMT seldomly span more than five
terminals [24].
A minimum spanning tree (MST) for the terminals in Z is a shortest network spanning
Z without introducing Steiner points. An MST for Z can be constructed in O (n log n)
time [14], and is a good approximation to an SMT. This is a consequence of the Steiner
ratio theorem [9]: Let SMT ( Z ) and MST ( Z ) denote an SMT and an MST, respectively,
spanning the same set of terminals Z . Then the ratio |SMT ( Z )|/|MST ( Z )| is always
greater than or equal to
√
3/2. Consequently, any MST algorithm, seen as an approx-
imation algorithm for the Steiner tree problem, has a 2/
√
3 ≈ 1.1547 performance
ratio.
1
Department of Computer Science, University of Copenhagen, DK-2100 Copenhagen Ø, Denmark.
{martinz,pawel}@diku.dk.
Received October 27, 1997; revised May 7, 1998. Communicated by D. T. Lee.