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.