A Novel Heuristic Algorithm for Solving Euclidean Steiner Tree Problem Ali Nourollah 1,2 , Elham Pashaei 1 1 Department of Electrical, Computer and IT Engineering, Qazvin Islamic Azad University, Qazvin, Iran 2 Department of Electrical and Computer Engineering of Shahid Rajaee Teacher Training University, Tehran, Iran Abstract - The Steiner problem leads to solutions in several scientific and business applications. Computer networks routing and electronic integrated circuits are few examples of it. Assuming some points in the Euclidean plane, we can construct a minimum spanning tree connecting these (terminal) nodes. It is possible to add some extra points (Steiner Points) in order to decrease the length of this tree, which would in turn lead to Euclidean Steiner Minimal Tree (ESMT). The problem is NP-hard, so polynomial-time heuristics are desired. We present a novel heuristic for the Euclidean Steiner tree problem. The algorithm utilizes the straight skeleton of simple polygon to generate candidate Steiner points, and a path heuristic to constructing Steiner minimum tree by using some of the candidate Steiner points in Euclidean plane. We present computational results on the Soukup test problems. Keywords: Euclidean Steiner Minimal Tree; straight skeleton of simple polygon; path heuristic 1 Introduction The Steiner problem is applied in several scientific and business applications, such as computer networks routing, electronic integrated circuits, petroleum shaft and post networks. The computational features of this problem make it an important research subject in computational geometry. Having some points in the Euclidean plane, the shortest path for connecting these points leads to a tree which is called Euclidean Steiner Minimal Tree (ESMT). The Euclidean Steiner minimal tree problem is considered as a NP-hard problem [1]. ESMT may contain some nodes that are not in the set of the given nodes that are known as Steiner nodes and we call the given nodes as terminals. ESMT in a plane without any obstacles consists of unions of ESMTs with few terminals. It is unusual to encounter ESMTs with 6 or more terminals in literature (which is a serious constraint and our approach tends to be free of it) [2] and ESMTs connecting subsets of up to 4 terminals have proved to yield good quality solutions for the obstacle-free cases [3, 4]. Optimal solution algorithms for the Euclidean Steiner problem have been presented by Boyce and Seery [5], Cockayne and Schiller [6], Winter [7] and Cockayne and Hewgill [8]. These algorithms work by examining topologies (a topology being a set of vertices and their associated edges) corresponding to full Steiner trees. Chang [9] presented an early heuristic algorithm based upon inserting vertices into the Minimum Spanning Tree (MST) in order to reduce the cost of the tree. This is a natural approach and has been used in many algorithms, for example Korhonen [10] and Smith and Leibman [11]. Smith, Lee and Leibman [4] presented an algorithm based upon Voronoi diagrams and Delaunay triangulations. Lundy [12] presented an algorithm based upon simulated annealing. Beasly in [3] have proposed a heuristic based upon finding optimal Steiner solutions for connected subgraphs of the minimum spanning tree of the entire vertex set. In this paper, we propose a new algorithm based upon straight skeleton of simple polygon and a path heuristic such as the Kruskal-based heuristic to solve the problem in a Euclidean plan for any number of terminals. Finally, we compare our results in Euclidean plane with data and results presented in [13]. This paper is organized as follows: Section 2 is dedicated to some basic definitions. We explain our algorithm in section 3. Computational results are presented in section 4. Section 5 draws a conclusion and makes suggestion for future works. 2 Basic definitions 2.1 Euclidean minimum steiner tree A Steiner tree (ST) is a resulting tree from the addition of some special vertices strategically located and recognized as Steiner points, intended to shorten the total length of a minimum spanning tree (MST) even more. Clearly a Steiner minimum tree (SMT) has a general minimum length, corresponding to the shortest Steiner tree for a given set of Euclidean points. It is obvious that we can construct many different trees with this specification but the Steiner tree must meet the requirements of Theorem 1. Theorem 1: (1) None of two edges of a Steiner tree can meet at an angle less than 120 degree (we call this as angle condition). (2) A Steiner tree has no crossing edges. (3) Each Steiner point of a Steiner tree has exactly degree of three. Proof: see [14, 15]. For different set of points (terminals), the exact number of Steiner points required and their location is not known in advance. Theorem 2 establishes an upper limit for the number