+ All Categories
Home > Documents > Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research...

Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research...

Date post: 14-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
151
Exact Algorithms for the Steiner Tree Problem Xinhui Wang
Transcript
Page 1: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Exact Algorithms for the Steiner Tree

Problem

Xinhui Wang

Page 2: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

The research presented in this dissertation was funded by the NetherlandsOrganization for Scientific Research (NWO) grant 500.30.204 (exact algo-rithms) and carried out at the group of Discrete Mathematics and Mathe-matical Programming (DMMP), Department of Applied Mathematics, Fac-ulty of Electrical Engineering, Mathematics and Computer Science of theUniversity of Twente, the Netherlands.

Netherlands Organization for Scientific Research

NWO Grant 500.30.204

Exact algorithms.

UT/EWI/TW/DMMP

Enschede, the Netherlands.

UT/CTIT

Enschede, the Netherlands.

The financial support from University of Twente for this research work isgratefully acknowledged. The printing of this thesis is also partly supportedby CTIT, University of Twente.

The thesis was typeset in LATEX by the author and printed by WohrmannPrinting Service, Zutphen.

Copyright c©Xinhui Wang, Enschede, 2008.ISBN 978-90-365-2660-9ISSN 1381-3617 (CTIT Ph.D. thesis Series No. 08-116)

All rights reserved. No part of this work may be reproduced, stored in aretrieval system, or transmitted in any form or by any means, electronic,mechanical, photocopying, recording, or otherwise, without prior permis-sion from the copyright owner.

Page 3: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

EXACT ALGORITHMS FOR THE STEINER TREE

PROBLEM

DISSERTATION

to obtainthe degree of doctor at the University of Twente,

on the authority of the rector magnificus,prof. dr. W. H. M. Zijm,

on account of the decision of the graduation committee,to be publicly defended

on Wednesday 25th of June 2008 at 15.00 hrs

by

Xinhui Wang

born on 11th of February 1978in Henan, China.

Page 4: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

This dissertation has been approved by the promoter,prof. dr. Gerhard J. Woegingerand the assistant promoter,dr. Walter Kern.

Page 5: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Contents

List of Figures v

List of Tables ix

1 Introduction 1

1.1 The Steiner tree problem . . . . . . . . . . . . . . . . . . . 1

1.1.1 History of the Steiner tree problem . . . . . . . . . . 2

1.1.2 Related problems . . . . . . . . . . . . . . . . . . . . 3

1.2 NP -hardness . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Definitions and notions . . . . . . . . . . . . . . . . 5

1.2.2 The class NP . . . . . . . . . . . . . . . . . . . . . . 6

1.3 Algorithms for the Steiner tree problem . . . . . . . . . . . 8

1.3.1 Exact algorithm . . . . . . . . . . . . . . . . . . . . 8

1.3.2 Approximation algorithm . . . . . . . . . . . . . . . 11

1.4 EST problem and RST problem . . . . . . . . . . . . . . . . 12

1.4.1 Algorithms for the EST problem . . . . . . . . . . . 13

1.4.2 Algorithms for the RST problem . . . . . . . . . . . 15

1.5 Overview and contributions . . . . . . . . . . . . . . . . . . 16

2 Exact algorithm for the rectilinear Steiner tree 19

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Definitions and notions . . . . . . . . . . . . . . . . 19

2.1.2 Canonical tree . . . . . . . . . . . . . . . . . . . . . 21

2.2 The properties of a full component . . . . . . . . . . . . . . 22

2.2.1 Hwang’s theorem . . . . . . . . . . . . . . . . . . . . 22

2.2.2 Empty region conditions . . . . . . . . . . . . . . . . 25

Page 6: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

ii CONTENTS

2.2.3 Upper bounds for the short leg . . . . . . . . . . . . 29

2.3 An exact algorithm . . . . . . . . . . . . . . . . . . . . . . . 31

2.3.1 Generation of full components . . . . . . . . . . . . 31

2.3.2 Construction of the optimal tree . . . . . . . . . . . 32

3 Exact algorithms for the Steiner tree problem 35

3.1 The algorithm in time O∗(2.684k) . . . . . . . . . . . . . . . 35

3.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 35

3.1.2 Improvement of Dreyfus-Wagner algorithm . . . . . 36

3.1.3 The rectilinear case . . . . . . . . . . . . . . . . . . 43

3.1.4 Concluding remarks . . . . . . . . . . . . . . . . . . 45

3.2 The algorithm in time O∗(2 + δ)k . . . . . . . . . . . . . . . 45

3.2.1 Improving the exponential time bound . . . . . . . . 46

3.2.2 Improving the polynomial factor . . . . . . . . . . . 50

3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4 Tree star and candidate component 55

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2 Tree star . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.3 The number of tree stars . . . . . . . . . . . . . . . . . . . . 61

4.3.1 The upper bound . . . . . . . . . . . . . . . . . . . . 62

4.3.2 The lower bound . . . . . . . . . . . . . . . . . . . . 69

4.3.3 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.4 The number of candidate components . . . . . . . . . . . . 71

4.4.1 Forbidden case 1 . . . . . . . . . . . . . . . . . . . . 71

4.4.2 Forbidden case 2 . . . . . . . . . . . . . . . . . . . . 78

4.4.3 Monotone candidate components . . . . . . . . . . . 82

4.4.4 The number of candidate components . . . . . . . . 86

4.4.5 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.5 Two conditions for the candidate component . . . . . . . . 90

4.5.1 T -branches condition . . . . . . . . . . . . . . . . . . 90

4.5.2 Two-layer tree . . . . . . . . . . . . . . . . . . . . . 92

4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Conclusion 101

Page 7: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

CONTENTS iii

A Optimum structure for a monotone tree star 103A.1 Forbidden cases . . . . . . . . . . . . . . . . . . . . . . . . . 103A.2 Optimum topological structure of an MTS . . . . . . . . . . 114

Summary 123

Bibliography 125

Acknowledgements 135

About the Author 137

Page 8: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT
Page 9: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

List of Figures

2.1 Example of sliding . . . . . . . . . . . . . . . . . . . . . . . 20

2.2 Example of flipping . . . . . . . . . . . . . . . . . . . . . . . 21

2.3 Full component: type 1 . . . . . . . . . . . . . . . . . . . . 22

2.4 Full component: type 2 . . . . . . . . . . . . . . . . . . . . 22

2.5 Proof of Hwang’s theorem: case 1 . . . . . . . . . . . . . . . 24

2.6 Proof of Hwang’s theorem: case 2 . . . . . . . . . . . . . . . 24

2.7 Labelling the nodes in a component. . . . . . . . . . . . . . 25

2.8 Diamonds must be empty. . . . . . . . . . . . . . . . . . . . 26

2.9 Rectangles must be empty. . . . . . . . . . . . . . . . . . . 26

2.10 A nonempty rectangle. . . . . . . . . . . . . . . . . . . . . . 27

2.11 Triangles must be empty. . . . . . . . . . . . . . . . . . . . 28

2.12 Weak triangle condition. . . . . . . . . . . . . . . . . . . . . 28

2.13 Proof of Lemma 2.2.5. . . . . . . . . . . . . . . . . . . . . . 29

2.14 Proof of Lemma 2.2.6. . . . . . . . . . . . . . . . . . . . . . 30

2.15 Proof of Lemma 2.2.7 . . . . . . . . . . . . . . . . . . . . . 30

3.1 3-Splits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2 3-Splits subtrees . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3 Spliting the optimum tree into components . . . . . . . . . 46

3.4 Subtrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.5 ASC algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.1 Hwang tree . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.2 Terminals in a component. . . . . . . . . . . . . . . . . . . . 57

4.3 Diamonds . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.4 Rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Page 10: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

vi LIST OF FIGURES

4.5 Triangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.6 T + e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.7 Triangle condition: case 1 . . . . . . . . . . . . . . . . . . . 61

4.8 Triangle condition: case 2 . . . . . . . . . . . . . . . . . . . 61

4.9 Empty circles. . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.10 Terminals above and below the chain. . . . . . . . . . . . . 62

4.11 11 is forbidden for yiyj. . . . . . . . . . . . . . . . . . . . . 63

4.12 10 is forbidden for yiyi+1. . . . . . . . . . . . . . . . . . . . 64

4.13 Illustration of Lemma 4.3.3. . . . . . . . . . . . . . . . . . . 64

4.14 Feasible regions for yi and y′i. . . . . . . . . . . . . . . . . . 65

4.15 A tight worst case example. . . . . . . . . . . . . . . . . . . 70

4.16 Tree star in forbidden case 1 . . . . . . . . . . . . . . . . . . 72

4.17 Subtree T in forbidden case 1 . . . . . . . . . . . . . . . . . 72

4.18 Subtree T ∗ in forbidden case 1 . . . . . . . . . . . . . . . . 73

4.19 yiyi+1yi+2yi+3 = 1001 is allowed . . . . . . . . . . . . . . . . 73

4.20 yi+1yi+2yi+3yi+4 = 1001 is allowed . . . . . . . . . . . . . . 74

4.21 yi+2yi+3yi+4yi+5 = 1001 is allowed . . . . . . . . . . . . . . 75

4.22 yi+3yi+4yi+5yi+6 = 1001 is allowed . . . . . . . . . . . . . . 76

4.23 yi+5yi+6yi+7yi+8 = 1001 is allowed . . . . . . . . . . . . . . 76

4.24 Tree star in forbidden case 2 . . . . . . . . . . . . . . . . . . 79

4.25 Subtree T in forbidden case 2 . . . . . . . . . . . . . . . . . 79

4.26 Subtree T ∗ in forbidden case 2 . . . . . . . . . . . . . . . . 80

4.27 yiyi+1yi+2yi+3 = 1001 is allowed . . . . . . . . . . . . . . . . 80

4.28 yi+1yi+2yi+3yi+4 = 1001 is allowed . . . . . . . . . . . . . . 81

4.29 yi+2yi+3yi+4yi+5 = 1001 is allowed . . . . . . . . . . . . . . 81

4.30 Structure tree: case 1 . . . . . . . . . . . . . . . . . . . . . 84

4.31 Structure tree: case 2 . . . . . . . . . . . . . . . . . . . . . 85

4.32 Structure tree: case 3.1 . . . . . . . . . . . . . . . . . . . . 85

4.33 Structure tree: case 3.2 . . . . . . . . . . . . . . . . . . . . 86

4.34 The case with d′i > d′i+1 . . . . . . . . . . . . . . . . . . . . 87

4.35 Local maximal point . . . . . . . . . . . . . . . . . . . . . . 87

4.36 Local minimal point . . . . . . . . . . . . . . . . . . . . . . 88

4.37 The case with yj = 0 . . . . . . . . . . . . . . . . . . . . . . 88

4.38 Local minimal point and local maximal point . . . . . . . . 89

4.39 The case with j ≤ i + 2 . . . . . . . . . . . . . . . . . . . . 90

4.40 T in T -branch condition . . . . . . . . . . . . . . . . . . . . 91

Page 11: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

LIST OF FIGURES vii

4.41 T ∗ in T -branch condition . . . . . . . . . . . . . . . . . . . 914.42 yj is the maximum one . . . . . . . . . . . . . . . . . . . . . 92

4.43 yj is the middle one . . . . . . . . . . . . . . . . . . . . . . 92

4.44 T in the example . . . . . . . . . . . . . . . . . . . . . . . . 934.45 T ∗ in the example . . . . . . . . . . . . . . . . . . . . . . . 93

4.46 Subtree of a monotone tree star . . . . . . . . . . . . . . . . 94

4.47 Above layer and below layer . . . . . . . . . . . . . . . . . . 944.48 Connection to the left subtree . . . . . . . . . . . . . . . . . 95

4.49 Forbidden connection . . . . . . . . . . . . . . . . . . . . . . 954.50 Possible connections . . . . . . . . . . . . . . . . . . . . . . 96

4.51 yi directly connects to y′i . . . . . . . . . . . . . . . . . . . . 97

A.1 Monotone tree star . . . . . . . . . . . . . . . . . . . . . . . 105A.2 One possible case of path p . . . . . . . . . . . . . . . . . . 105

A.3 The case j < i . . . . . . . . . . . . . . . . . . . . . . . . . 106

A.4 The case j > i + 2 . . . . . . . . . . . . . . . . . . . . . . . 107A.5 yiyi+2 is forbidden . . . . . . . . . . . . . . . . . . . . . . . 107

A.6 yi+1 directly connects to yi+2 . . . . . . . . . . . . . . . . . 107A.7 Horizontal segment . . . . . . . . . . . . . . . . . . . . . . . 108

A.8 mn is above the original chain . . . . . . . . . . . . . . . . . 108

A.9 y′i directly connects to y′j with j > i . . . . . . . . . . . . . 109A.10 y′i directly connects to y′j with j < i . . . . . . . . . . . . . 109

A.11 The path is over yi−1 . . . . . . . . . . . . . . . . . . . . . . 110

A.12 mn is above the chain . . . . . . . . . . . . . . . . . . . . . 111A.13 mn is below the chain . . . . . . . . . . . . . . . . . . . . . 111

A.14 p is over yi+1 . . . . . . . . . . . . . . . . . . . . . . . . . . 112A.15 p is below y′i . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

A.16 p is between yi and y′i+1 . . . . . . . . . . . . . . . . . . . . 113

A.17 yi directly connects to y′i−2 . . . . . . . . . . . . . . . . . . 114A.18 yi directly connects to y′i . . . . . . . . . . . . . . . . . . . . 115

A.19 The forbidden of yi directly connecting to y′i . . . . . . . . . 116A.20 yi directly connects to yi+1 . . . . . . . . . . . . . . . . . . 116

A.21 Topological structure of yi directly connecting to yi+1 . . . 117

A.22 yi directly connects to y′i and yi+1 . . . . . . . . . . . . . . 117A.23 yi directly connects to y′i and yi+1 . . . . . . . . . . . . . . 118

A.24 yi directly connects to yi−1 and y′i . . . . . . . . . . . . . . 118

A.25 yiy′i−1 is forbidden . . . . . . . . . . . . . . . . . . . . . . . 119

Page 12: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

viii LIST OF FIGURES

A.26 yi directly connects to y′i−1, yi−1 and y′i . . . . . . . . . . . . 119A.27 yi directly connects to y′i−1, yi−1 and y′i . . . . . . . . . . . . 119A.28 The possible structure . . . . . . . . . . . . . . . . . . . . . 120A.29 yi, y

′i, yi+1, yi−1 and y′i−1 are a part of a tree star . . . . . . 120

A.30 yi, y′i, yi+1, yi−1 and y′i−1 contain a tree star . . . . . . . . . 120

A.31 Optimal structure . . . . . . . . . . . . . . . . . . . . . . . 121

Page 13: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

List of Tables

3.1 The complexity of computing subsets . . . . . . . . . . . . . 373.2 Polynomial bound and exponential bound . . . . . . . . . . 433.3 O(ǫp−1) and 1

ǫ . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.1 The number of candidate sets. . . . . . . . . . . . . . . . . . 71

Page 14: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT
Page 15: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Chapter 1

Introduction

The definitions and the algorithms for the Steiner tree problem will beintroduced in this chapter.

1.1 The Steiner tree problem

After more than 26 years of war, emperor Qinshi Huangdi finally con-quered the other six Chinese countries and built the first powerful central-ized state in 221 BC. In order to consolidate and strengthen the empire,the emperor wanted to build a road-network which would connect somemain cities of the seven countries. From the economic view, the newly es-tablished road-network should be as short as possible and be built on thebasis of existing roads. However, which roads should be selected then? Itwas a big problem for Qingshi Huangdi in his time.

Actually, Qinshi Huangdi’s problem can be transformed to a problemon an undirected graph G = (V,E,w), where V is the vertex set, E is theedge set, and w vector of edge weight. In this graph, each city is representedby a vertex v, the road between these cities are edges e, and the length ofeach road is the weight of the corresponding edge. The main cities thatneed to be connected from a subset Y of V . The set Y is called terminalset and the points in this set are called terminal points/terminals. ThenQinshi Huangdi’s problem can be treated as a kind of Steiner tree problem(STP) ([65, 70, 64, 79, 30]), which is defined as follows.

Page 16: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2 Chapter 1: Introduction

Definition 1.1.1. Given an undirected graph G = (V,E,w) and a sub-set Y of V , the Steiner tree problem is to find the shortest subtree (theshortest sum weight of edges in this tree) of G which connects all the pointsin Y .

The Steiner tree problem is a classical NP − hard combinatorial opti-mization problem ([70, 52]). It has wide applications in various scientificand technological fields such as Very-Large-Scale-Integration (VLSI) design([76, 74]), communication ([77]), transportation sectors design ([78]), andperfect phylogeny in bioinformatics [5].

1.1.1 History of the Steiner tree problem

The Steiner tree problem is a combinatorial variant of the former Eu-clidean Steiner tree problem [75], which was investigated in the seventeenthcentury by the French mathematician Pierre Fermat as follows (A more de-tailed history of the Steiner tree problem can be found in [65]).

Problem 1.1.1. Find a point p in a triangle, such that the sum of thedistances from p to the three vertices is minimized.

This problem is known as the Fermat problem. It was solved by Torricelliwith a geometric solution before 1640. Several years later, Cavalieri showedan important aspect of this problem, namely that the line segments fromthe given three points make a 120 degree angle with each other.

Simpson proposed a general version of Fermat’s problem in his book“Fluxions” as

Problem 1.1.2. Find a point p in a plane with the minimum sum ofdistances from p to n given points.

Many mathematicians were attracted to work on Simpson’s problem. In1934, Jarnik and Kossler [68] presented another kind of problem – shortestinterconnection network problem as

Problem 1.1.3. Find a shortest network which interconnects n givenpoints in a plane.

Page 17: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.1.2 Related problems 3

The shortest interconnection network problem is different from the Fer-mat problem, except for the case n = 3. Courant and Robbins [24] com-bined these two problems and referred to the shortest interconnection net-work problem as the Steiner problem which is named the great Germanmathematician Jakob Steiner for his contribution to projective geometry, al-though Steiner’s contribution to the Steiner tree problem is unclear. Gilbertand Pollak [54] further referred to the shortest interconnection networkproblem in a graph as the Steiner tree problem since the shortest networkin a graph should be a tree.

1.1.2 Related problems

Many different variants and generalizations of the Steiner tree problemhave been investigated in the literature. Here we only list some importantexamples.

• Euclidean Steiner tree Problem [108, 66, 103, 29] (ESTP): Given afinite set Y of points in the (Euclidean) plane, find a point set Rtogether with a minimal spanning tree T for R ∪ Y , such that T hasa minimum length in the ℓ2 − norm1 (Euclidean distance).

• Rectilinear Steiner tree problem [41, 47, 58, 61, 63] (RSTP): Givena finite set Y of points in the (Euclidean) plane, find a point set Rtogether with a minimal spanning tree T for R∪Y , such that T has aminimum length in the ℓ1−norm2 (Manhattan/rectilinear distance).

• Directed Steiner tree problem [65, 106, 83]: Given a directed graphG = (V,A,w) where A is the set of directed arcs, a subset Y of V ,and a root terminal z1, find a directed shortest subtree, such thatthere is a path from z1 to any point in Y .

• Generalized Steiner tree problem [73, 69, 93]: Given an undirectedgraph G = (V,E,w), a subset Y of V , and partitions Y1, Y2, · · · , Yk,find a shortest tree T , such that at least one point from each Yi is inT .

1For two points a = (x1, y1) and b = (x2, y2), the distance in ℓ2 − norm (Euclideandistance) is d(a, b) =

√(x1 − x2)2 + (y1 − y2)2.

2For two points a = (x1, y1) and b = (x2, y2), the distance in ℓ1 − norm (Manhat-tan/rectilinear distance) is d(a, b) = |x1 − x2| + |y1 − y2|.

Page 18: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4 Chapter 1: Introduction

• Weighted Steiner tree problem [96, 33]: Given an undirected graphG = (V,E,w, c), where c is a weight vector of vertices, and a subsetY of V , find a tree T spanning all the points in Y , such that the totalweight of edges and vertices in T is minimum.

Some special cases of STP which can be solved efficiently are also veryinteresting. For instance,

• If k = 2, STP is a shortest path problem between the two giventerminals. The solution can be obtained in polynomial time in theinput size [23, 25].

• If k = 3, STP is a general version of the Fermat problem. For threegiven points z1, z2 and z3, STP is to find a vertex v that minimizesd(v; z1) + d(v; z2) + d(v; z3). The solution can be obtained in timeO(m + nlogn).

• If k = n, STP is a minimal spanning tree problem (MSTP) of G[23, 55, 46, 34]. Here too it is still a problem to find a shortest treethat connects all the vertices. The solution can be obtained in timeO(m + nlogn) ([23, 25]) as well.

Note that the difference between STP and MSTP: although they bothconnect the terminal points in Y , STP contains some extra points to reducethe tree length. These extra points in STP are known as the Steiner points.

Various algorithms have been proposed for solving STP such as ex-act algorithms [77, 30, 13, 18, 21, 48, 49, 94, 97, 4, 6, 57], approxima-tion algorithms [17, 7, 10, 13, 102, 89, 53, 56] and heuristic algorithms[81, 19, 9, 71, 60, 13, 92]. This thesis focuses mainly on exact algorithmsfor the Steiner tree problem. Before explaining these algorithms, we willintroduce some background of the Steiner tree problem. In Section 2, thedefinition of NP−hardness will be explained. In Section 3, we will describesome exact algorithms and approximation algorithms for the Steiner treeproblem. Parameterized algorithms will be explained as well in Section 3since the exact algorithms for the STP belong to such algorithms. Resultsof two special Steiner tree problems will be discussed in Section 4. Finally,our contributions and the structure of this thesis will be described.

Page 19: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.2 NP -hardness 5

1.2 NP -hardness

Considering that the Steiner tree problem is NP −hard, we will brieflyintroduce the definition of NP − hard and some other related definitionsand notions. For more details about NP -hardness, we refer to [52, 86].

1.2.1 Definitions and notions

In this thesis, we will focus two kinds of problems: optimization problemand decision problem. We will start with the definition of the optimizationproblem.

The optimization problem is a problem Π = (I,F , c), where I is a set ofinstances, F is a set of the satisfied solution F(I) (I ∈ I), and each instanceI has an associated objective function c : F(I) → R1. An optimizationproblem is either a minimization problem or a maximization problem. Theminimization problem is to find the solution with the minimum objectivevalue, i.e., to find an x ∈ F(I) such that c(x) ≤ c(y) for all y ∈ F(I),while the maximization problem is to find the solution with the maximumobjective value. Here, x is called the optimum solution and c(x) called theoptimum value. The optimization version of the Steiner tree problem canbe described as

Example 1.2.1. Given an undirected weighted graph G = (V,E,w)and a subset Y of V , find a shortest subtree which connects all points in Y .

The second kind of problem is the decision problem. The decision prob-lem is a problem Π = (I,I+), where I is a set of instances and I+ is a setof “yes” instances, clearly, I+ ⊆ I. The decision problem is to answer thequestion whether an instance I belongs to a set of instance I+ or not. Thedecision version of the Steiner tree problem can be written as

Example 1.2.2. ([65]) Given an undirected graph G = (V,E,w), asubset Y of V and a value i, is there a Steiner tree T spanning Y with thelength of T is shorter than i?

Each optimization problem has a corresponding decision version. Forthe minimization problem, that has an instance I and a given value i, thecorresponding decision problem is to detect whether I belongs to I+ or not,where

I+ = I| there exists a y ∈ F (I) such that c(y) ≤ i.

Page 20: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

6 Chapter 1: Introduction

For both decision problem and optimization problem, the final answercan be calculated or recognized with an algorithm A. The algorithm Ais a step by step procedure or instruction for any instance of a problem.The algorithm A stops when all the instructions are performed, and givesas output a final solution for each input instance I. The length |I| of aninstance I in a problem Π is called the size of input, which is defined as thenumber of symbols in the description of I for Π. The number of steps thatit takes on an instance of the problem is called the time complexity, whichnormally is a function with respect to the size of input. If the complexity ofan algorithm is f(n), and there exists a g(n) with some constant c > 0 suchthat f(n) ≤ cg(n) for large enough n, the complexity would be written asO(g(n)).

Polynomial time refers to the computation time of a problem wherethe final solution can be obtained within p(|I|) steps, where p(|I|) is apolynomial function of |I|. An algorithm running in polynomial time iscalled “efficient”. The decision problem that can be solved in polynomialtime is known as the class “P”. Problems in P are considered to be “easyproblems”.

1.2.2 The class NP

Many interesting problems can be solved in polynomial time, while oth-ers can not. Therefore, a richer class of decision problems, the class NP(Non-deterministic Polynomial time), is introduced. The definitions of NP ,NP − complete and NP − hard will be explained in the following section.

A certificate is a witness or a proof for the right guess that I ∈ I+. Inthe decision version of the Steiner tree problem, the certificate is a tree T ∗

which is used to prove the existence of such a tree with a length less than i.Let c be the certificate for a “yes” instance I, whose length is polynomiallybounded by the size of I. The decision problem Π is in NP , if, for a giveninstance I of Π and a given certificate c for I, there exists a polynomialtime algorithm A with input instance I and certificate c such that A willoutput a “yes” answer if and only if I ∈ I+. The algorithm A is called acertificate checking algorithm.

The class NP contains all decision problems that can be checked in poly-nomial time. For a guessed right certificate, the instance can be checked inpolynomial time with algorithm A, which is, hence, named non-deterministic

Page 21: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.2.2 The class NP 7

polynomial time. When a problem is in NP , it is not required that the so-lution of each instance can be obtained by an algorithm in polynomial time.It only requires that there exists a certificate if I is a “yes” instance andthe validity of this certificate can be checked in polynomial time.

Take the Steiner tree problem, for example, the obvious way to solvethis problem is by exhaustive search, which is to check all possible treesuntil the optimum tree is obtained. The worst case is always in exponentialtime. However, this problem is in NP since for a witness tree (certificate)T with a length less than a given i (a “yes” instance), the length of the treecan be calculated in polynomial time.

P ⊆ NP can be proved as follows. If a problem is in P , there exists apolynomial time algorithm A for “solving” this problem. A can be used togive each possible certificate. Thus this problem is in NP . However, it isstill an open problem whether P = NP or P 6= NP . It is now commonlybelieved that P 6= NP due to the existence of another class: NP−completeproblem.

What is NP −complete? Before giving its definition, we should explainwhat is polynomially reducible. A problem Π1 = (I1,I+

1 ) is polynomiallyreducible to another problem Π2 = (I2,I+

2 ) if there exists a polynomialdeterministic algorithm which can transform an instance I1 ∈ I1 into aninstance I2 ∈ I2, such that I2 ∈ I+

2 if and only if I1 ∈ I+1 . If a problem

Π1 is polynomially reducible to a problem Π2, the algorithm for solving Π2

can be used to solve Π1 as well through transforming the instance of Π1

into the instance of Π2.

The definition of the class NP − complete can be described as follows.A problem Π is NP − complete if Π ∈ NP and all other NP problems arepolynomially reducible to Π.

Since the polynomial reduction is transitive, an NP problem Π wouldbe in NP − complete if there exists an NP − complete problem which ispolynomially reducible to Π. The first known NP − complete problemis the satisfiability problem [22]. The decision version of the Steiner treeproblem was one of Karp’s original 21 NP−complete problems [70] througha reduction from another NP − complete problem, called the Vertex Coverproblem [84].

Suppose the problem Π is in P . Because all another NP problems arepolynomially reducible to Π1, there are also in P . This means that if an

Page 22: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

8 Chapter 1: Introduction

NP −complete problem would have an algorithm in polynomial time, everyproblem in NP could be solved in polynomial time.

NP-complete problems are the hardest problems in NP. If Π2 can bepolynomially reduced to Π1, and Π2 is in NP − complete, and it is giventhat Π1 is in NP , then Π1 is also in NP−complete. However, if a problem Πcan be polynomially reduced from another NP −complete problem while itcan NOT be proven to be in NP , it does not belong to the NP − completeclass. However, it is at least as hard as the NP − complete problems.Therefore, this kind of problem is referred to as NP − hard problem. Itis clear that NP − complete ⊂ NP − hard. Take the decision version ofESTP as an example

Example 1.2.3. Given a set Y of terminals in the Euclidean plane anda value i, is there a Steiner tree T spanning Y , such that |T | ≤ i?

Where |T | is the length of tree T .

This problem is not known (currently) to be in NP . However, it canbe proved to be harder than an NP − complete problem known as exactcover by 3-set [65, 50]. Therefore, ESTP is an NP − hard problem ratherthan an NP − complete problem.

1.3 Algorithms for the Steiner tree problem

As mentioned above, many algorithms have been proposed for solvingthe Steiner tree problem such as exact algorithms, approximation algo-rithms, online algorithms, heuristic algorithms and evolutionary algorithms.In this section, we will introduce the results of exact algorithm and approx-imation algorithm for the Steiner tree problem.

1.3.1 Exact algorithm

An exact algorithm is used to obtain the exact solution for an NP−hardproblem. It is always in exponential time. The problem is therefore thoughtto be difficult. However, some algorithms with exponential running timehave been considered to be acceptable if the size of the problem is not toolarge. In recent years, many distinct exact algorithms have been presentedfor different NP − hard problems [104, 105, 15, 59, 80, 45, 87, 8, 39, 67,

Page 23: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.3.1 Exact algorithm 9

85, 1, 38, 26, 3, 2, 16, 28]. The main result of exact algorithms is toimprove the bounds of the complexity, which is very interesting both fromthe theoretical and the practical point of view.

The well known exact algorithm for the Steiner tree problem is thedynamic programming method presented by Dreyfus and Wagner [30]. Thecomplexity of this algorithm is O(3k · n + 2k · n2 + n3).

1.3.1.1 Parameterized algorithm

As a kind of exact algorithm for a general NP − hard problem, theparameterized algorithm was firstly investigated by Downey and Fellows in1990 [27]. This algorithm is to find a solution in polynomial time withrespect to the input size and in exponential time with respect to a (small)parameter k [27, 36]. It is also called “fixed parameter tractable” (FPT)algorithm [52], and a problem allowing such an algorithm is called FPTproblem.

Downey and Fellows [27] show that STP is fixed parameter tractablein the sense that it can be solved in time O(f(k)g(n)), where f is anexponential function, g is a polynomial function , n is the number of vertices(or edges), and k is a smaller value than n (number of the terminals or otherparameter). W.l.o.g., n and k are the number of vertices resp. terminalsof STP in this thesis. Then, the algorithms for STP is in time f(k) timesa polynomial in n. This complexity is always written as O∗(f(k)), sincethe algorithm only takes into account the exponential growth of f(k). Forexample, the complexity O(n9 · 2.684k) is written as O∗(2.684k), since thepolynomial time part can be suppressed.

1.3.1.2 The Dreyfus-Wagner algorithm for the Steiner treeproblem

As mentioned in Section 2, a well known exact algorithm (parameterizedalgorithm) for the Steiner tree problem is the Dreyfus-Wagner Algorithm[30] in time O(3k · n + 2k · n2 + n3), i.e., O∗(3k). In this section, we willintroduce it briefly.

The Dreyfus-Wagner algorithm is a dynamic programming algorithm.It computes the length of a minimum Steiner subtree for a given terminal

Page 24: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

10 Chapter 1: Introduction

set Y (⊂ V ) from its minimum subtrees.The crucial observation is as follows. First assume that v is a leaf (a

point of degree 1) of the (unknown) optimal tree T (X ∪ v), where X ⊆ Y .Then v is joined in T (X∪v) to some node w of T (X∪v) along a shortest pathPvw, such that either w ∈ X or w /∈ X, i.e., w is a Steiner node in T (X∪v).In both cases we have T (X∪v) = Pvw∪T (X∪w). In case w is a Steiner node,it splits T (X∪w), i.e., we can decompose T (X∪w) = T (X ′∪w)∪T (X ′′∪w)for some nontrivial bipartitions X = X ′∪X ′′. We may thus write (abusingthe notation slightly in an obvious way)

T (X ∪ v) = min Pvw ∪ T (X ′ ∪ w) ∪ T (X ′′ ∪ w), (1)

where the minimum is taken over all w ∈ V and all nontrivial bipartitionsX = X ′∪X ′′. Note that (1) also holds in case w ∈ X if we let X ′ = X \wand X ′′ = w. As well, note that (1) also remains valid without ourassumption of v being a leaf in T (X ∪ v). Indeed, if v is an internal nodeof T (X ∪ v), we may simply take w = v (and Pvw = ∅).

Then the Dreyfus-Wagner algorithm can be described as follows,

Algorithm 1.3.1. (Dreyfus-Wagner algorithm)[30]Step 1. Compute Pwv for all w, v ∈ V .Step 2. For i = 2 to k − 1,

For any |X| = i and any w ∈ Y , v ∈ V \X

T (X ∪ v) = min Pvw ∪ T (X ′ ∪ w) ∪ T (X ′′ ∪ w).

The complexity of Step 1, which can be done by Floyd -Warshall algo-rithm [37], is O(n3). Step 2 allows to compute all optimal trees T (X ∪ v)for v ∈ V and X ⊆ Y of size |X| = i for i = 1, 2, · · · , k.

If w ∈ X, assuming trees up to level i− 1 have already been computed,the minimum in (1) for a given X ⊆ Y of size |X| = i can be computed intime O(2i). Hence, the total time of this algorithm is

O(

k∑

i=1

(k

i

)· 2i) ≤ O(n · 3k).

If w ∈ V \X, compute the minimum in (1) for fixed X ⊆ Y of size |X| =i, where all bipartitions X = X ′∪X ′′ and all w ∈ |V \X| can be considered.

Page 25: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.3.2 Approximation algorithm 11

So computing the minimum in (1) takes O(n · 2i) and, consequently, thecomplexity of the first recursion is O(n ·3k). In a similar way, the algorithmof the second recursion of Step 2 can be done in O(n2 · 2k). Then the totalcomplexity of the Dreyfus-Wagner algorithm is O(n · 3k +n2 · 2k +n3), i.e.,O∗(3k).

Note that the Dreyfus-Wagner algorithm can only find the minimumlength of a Steiner tree. The minimum Steiner tree itself should be ob-tained by keeping track of the sets and vertices which are attained in thecomputation of T (X ∪ v).

1.3.2 Approximation algorithm

In practice, there not exist any algorithm which is efficient enough tofind the optimal solution for most large-scale Steiner tree problems. How-ever, it is very important to solve these problems, even if the obtainedsolution is not optimal. The concept of approximation algorithm is thusintroduced for this purpose. An approximation algorithm [99] is to obtain asub-optimal solution in polynomial time. That the solution is sub-optimalmeans that it is not too far from the optimal solution or it can reach theoptimal solution with a high probability.

The approximation algorithm is always measured with a performanceguarantee ratio ρ. An algorithm is said to be a ρ-approximation algorithmif it is in polynomial time and satisfies (in case of a minimization problem)A(I) ≤ ρOPT (I) for any instance I of the problem, where OPT (I) is theoptimal value of I and A(I) is the value of the solution obtained by thealgorithm A. If ρ = 1, the algorithm is an exact algorithm in polynomialtime.

There are many approximation algorithms with different ratios for theSteiner tree problem. The original one is a 2-factor approximation algo-rithm [54] following from the fact that the length of a tour is shorter than2OPT (I). In 1993, Zelikovsky [111] presented an approximation algorithmwith an 11

6 -factor for the Steiner tree problem. One year later, the ratiowas improved to 1.75 by Berman and Ramaiyer [9], and further to 1.65 byKarpinski and Zelikovsky [71] in 1997. Hougardy and Promel [60] furtherobtained a ratio as 1.60. The best ratio so far was 1 + ln3

2 ≈ 1.55, whichhas been presented by Robins and Zelikovsky [92] with the i-restricted al-gorithm. Meanwhile, Clementi and Trevisan [20] proved that there does

Page 26: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

12 Chapter 1: Introduction

not exist any approximation algorithm with a ratio less than 1.0006 unlessP = NP .

In the following part, we will shortly introduce the 1.55 approximationalgorithm presented by Robins and Zelikovsky [92].

Firstly, some notions will be introduced. For more details we refer to[92]. A full Steiner tree for a terminal set Y is a tree T where each terminalpoint is a leaf. Every Steiner tree can be decomposed into full Steinersubtrees, which are called full components. A tree is called an i-restrictedtree if each full component has at most i terminal points.

For any graph G, MST (G) is the minimum spanning tree of G and w(G)is the sum costs of all edges in G. Let Loss(T ) denote the set of minimumcost edges of tree T , which connect each Steiner point to a terminal, andw(loss(T )) be the cost of Loss(T ). C(T ) is a full component spanningall the terminals of Y , in which two terminals are connected if there isan edge between the corresponding two connected components in Loss(T ).Assume that GS is a complete graph with vertex set Y . Let T be the edgeset of G, and T (G) be the minimum cost graph in G ∪ T which containsG and spans all the terminals of Y . The gain of G with respect to Tcan be denoted as gainT (G) = w(T ) − w(T (G)). If G is a Steiner tree,gainT (G) = cost(T )− cost(G). The i-restricted algorithm can be describedas follows,

Algorithm 1.3.2. i-Loss-Contracting algorithm (i-LCA)[92]Step 1. For a given graph G = (V,E,w) and an integer i, let T =

MST (GS) and H = GS,

Step 2. Find an i-restricted subtree F with maximum r = gainT (F )w(loss(F )) ,

Step 3. If r > 0, H = H ∪ F and T = MST (T ∪ C(F ), go to Step 2;otherwise go to Step 4.

Step 4. Output the minimum Steiner tree MST (G).

This algorithm has a ratio ρ ≈ 1 + ln32 < 1.55.

1.4 EST problem and RST problem

Since the ESTP and RSTP have wide applications in practice, somealgorithms for these two problems will be shortly introduced in this sectionas well.

Page 27: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.4.1 Algorithms for the EST problem 13

1.4.1 Algorithms for the EST problem

As introduced in Section 1.2, the Euclidean Steiner tree problem (ESTP)is to find a shortest Steiner tree spanning all the points in a given set Y .The distances of any two points are in the ℓ2 −norm. There are two kindsof points in the shortest tree: terminal points and Steiner points.

Compared to the Steiner tree problem, the set of potential Steiner nodesin an Euclidean Steiner tree (EST) is infinite and all the plane should bea part of a feasible choice for the Steiner nodes. Since ESTP is defined onan Euclidean plane, it needs to satisfy some geometric properties. In thefollowing part, some results are listed for the ESTP, more details can befound in [110, 103].

Lemma 1.4.1. No two edges in an EST can meet at a point with anangle less than 120.

It implies that no vertex in an EST can have more than three edges.Since a Steiner point in an EST has at least three edges, another statementcan be obtained,

Lemma 1.4.2. The degree of each Steiner point of an EST is exactly3.

Thus, each Steiner point has three edges and each terminal point has atleast one edge. Assume the number of terminal points is i, then the numberof edges in the EST is at least (k + 3i)/2. On the other hand, there arek + i− 1 points in the EST, which means that the EST has k + i− 1 edges,and k + i − 1 ≥ (k + 3i)/2, indicating that i ≤ k − 2. The equation holdsif and only if the degree of each terminal point is exactly 1. From Lemma1.4.2, another lemma can be obtained.

Lemma 1.4.3. The number of Steiner points in an EST is less thank − 1.

An EST with k − 2 Steiner points is called a full Euclidian Steiner tree(FEST), i.e., every terminal point is of degree exactly 1. The total number

of FEST’s for a given set with k terminals is(2k−4k−2

)/(k − 1) ∼= 4k

16k√

πk[14].

Many exact algorithms have been given for the EST problem. Thebest one was presented by Winter and Zachariasen [103] in 1997. Their

Page 28: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

14 Chapter 1: Introduction

algorithm has a two-phase scheme: in phase 1, all possible candidates FESTare generated. In phase 2, the EST will be derived from the generated FESTset via dynamic programming or integer programming.

The basic idea of FEST’s generation for a set with k terminals waspresented by Melazak [82]. The detailed generation process can be foundin [82, 103].

The second phase of the algorithm is to derive the EST from the gen-erated FEST by integer programming, on a hypergraph (Y,F), where Y isthe vertex set and F (FEST set) is the hyper edge set. In this hypergraph,let Y (F ) be the terminal points in a FEST of F . It is clear that Fi andFj can not appear simultaneously in any EST if they have two or morecommon terminal points. Such kind of Fi and Fj are called incompatible.Let c be a vector with ci = |Fi|, then the following integer programmingproblem [103] can be obtained,

min cxs.t.

∑Fi∈F

(|Y (Fi)| − 1)xi = k − 1,

xi + xj ≤ 1, |Y (Fi) ∩ Y (Fj)| ≥ 2∑Fi∈F

max(0, |Y (Fi) ∪ P | − 1)xi ≤ |P | − 1, ∀P ⊆ Y, 2 ≤ |P | ≤ k

xi ∈ 0, 1, ∀Fi ∈ F .

The first constraint is to enforce the number of terminals, while thesecond constraint is to ensure that the incompatible full components cannot appear in the same tree. The last constraint enforces that the tree cannot be a cycle. Then EST can be obtained by solving the above integerprogramming with Branch and Cut methods [103].

Next to various exact algorithms, many approximation algorithms wereobtained as well to solve ESTP. The most famous one probably is a 2√

3≈

1.1547-factor algorithm which was presented by Du and Hwang [31], re-spectively, Takahashi and Matsuyama [98]. The best one was presented byZelikovsky [112] with a factor (1 + ln 2√

3) ≈ 1.1438. On the other hand,

Garey, Graham and Johnson [50] proved that there exists no fully polyno-mial time approximation scheme (FPTAS) algorithm3 unless P = NP .

3For each instance I and ǫ > 0, FPTAS-algorithm A finds a solution value A(I) thatsatisfies A(I) ≤ (1 + ǫ)OPT (I), and the running time is polynomial with respect to 1

ǫ

and the size of the input.

Page 29: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.4.2 Algorithms for the RST problem 15

1.4.2 Algorithms for the RST problem

The rectilinear Steiner tree problem asks for the shortest tree connectingall points in a given set Y with a rectilinear distance. This problem wasfirstly investigated by Hanan [58] on a grid graph, containing only horizontaland vertical lines. RSTP has attracted many interests due to its widepractical applications such as VLSI design, physical synthesis, floor plan,interconnection planning and placement, estimation of wire load, routingcongestion and interconnection delay.

The dynamic programming of Dreyfus-Wagner’s algorithm also worksfor the RSTP, and its complexity is in time O∗(3k). Hwang observed thatthere exists an optimal tree where each component is a full component (FC).According to Hwang’s statement, Ganley and Cohoon [48] presented animproved dynamic programming algorithm in time O∗(2.62k), by provinga bound O∗(1.62k) on the number of of full components. Foßmeier andKaufmann [40] showed that the number of candidate full components wasbetween 1.32k and 1.38k, yielding an improvement of the running time inthe above dynamic programming to O∗(2.38k). A dynamic programmingalgorithm can obtain the best theoretical worst-case bounds. However, it isonly interesting theoretically because of huge memory requirements. RSTPwill be introduced in detail in Chapter 2 because some important resultsof this thesis are about this problem. Here we only summarize the majoralgorithms for RSTP.

There were many improvements of the approximation algorithms forRSTP. Hwang presented a 3

2 -approximation algorithm [31]. Another ap-proximation algorithm with a ratio 11

8 with computing time as O(n3) ispresented by Zelikovsky [111]. Berman and Ramaiyer [9] further improved

the running time to O(n52 ) with the same ratio. In 1995, Foßmeier and

Kaufmann [41] proposed another algorithm with a ratio 118 + 1

2m + 18·32r−2

in time O(r · m · n · log2n) for any parameters m, r > 0. The most recentapproximation algorithm was a 1.267-factor algorithm which was proposedby Karpinski and Zelikovsky [71].

Many heuristic algorithms were also used for solving RSTP such as theiterative embedding algorithm [90], Steinerization algorithms [7], and theiterative 1-Steiner heuristic algorithm [72]. We will not go through themin detail since it is beyond the focus of this thesis.

Page 30: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

16 Chapter 1: Introduction

1.5 Overview and contributions

In this thesis, our work focuses on exact algorithms for the Steiner treeproblem and the rectilinear Steiner tree problem. Both STP and RSTP areNP -hard. They have wide applications in practice. Exact algorithms haveusually exponential time complexity. Yet, many distinct exact algorithmshave been presented for these problems. There exists an optimal RSTwhich can be decomposed into tree stars. The number of tree stars has agreat influence on the complexity of the algorithm. The aim of our thesis isto develop the new algorithms for the Steiner tree problem, and the mainresults are listed as follows,

(1) Two exact algorithms are presented for the Steiner tree problem,

(2) Several forbidden cases are provided for the tree star. Some newupper bounds for the number of tree stars are also obtained.

The structure of this thesis is as follows.In the first chapter, the background of algorithms for the Steiner tree

problem is given. We introduce the definition of the Steiner tree problemand the different kinds of Steiner tree problems. For easy understanding ofthis thesis, the definition of NP -class is also introduced. Moreover, we sum-marize the development of exact algorithms and approximation algorithmsfor the Steiner tree problem.

In Chapter 2, the properties of the rectilinear Steiner tree, which areuseful understanding Chapter 3 and 4, are introduced. The definitions areexplained in Section 2.1 and 2.2. The well known exact algorithm, so calledtwo-phase algorithm, is introduced for the rectilinear Steiner tree problemin Section 2.3. This algorithm can be decomposed into two steps: one stepis for the generation of full components, and the other step is to combinethe optimum tree from the generated full components.

In Chapter 3, we present two novel exact algorithms for the Steinertree problem. The current best algorithm for the Steiner trees is in timeO∗(3k), where k is the number of terminal points. In this chapter, we firstpresent a new algorithm with computing time O∗(2.684k) by showing thatthe optimum Steiner tree T can be partitioned into T = T1 ∪ T2 ∪ T3 andeach Ti is a minimum Steiner tree in a contracted graph Gi with less than0.4361k terminals. This algorithm also works for the RSTP. It improves

Page 31: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

1.5 Overview and contributions 17

the complexity of present algorithms from O∗(2.386k) to O∗(2.335k) with|Gi| ≤ 0.477k. The ideas and results are based on joint research with B.Fuchs and W. Kern [42]. Another algorithm is also presented, which is intime O∗((2 + δ)k), for any δ > 0. The results are based on the joint workwith B. Fuchs, W. Kern, D. Molle, S. Richter and P. Rossmanith [43].

In Chapter 4, we mainly discuss the necessary conditions for tree starand candidate components in the rectilinear Steiner tree problem. A newforbidden case is presented for tree stars. The number of tree stars isreduced from O∗(1.386k) to O∗(1.357k). This part work is based on jointwork with B. Fuchs and W. Kern [44]. Two necessary conditions for thetree star to be candidate components are also provided. The number of thecandidate components is improved correspondingly. Finally, a two-layertree condition is presented for “monotone tree stars” (the definition canbe found in Chapter 4). According to this condition, the possible optimaltopological structure of such tree stars is given as well.

Page 32: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT
Page 33: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Chapter 2

Exact algorithm for the

rectilinear Steiner tree

In this chapter, the well known exact algorithm for the rectilinearSteiner tree problem will be introduced. This algorithm was presented bySalowe and Warme [94], who obtained the optimal tree from so-called “fullcomponents” (Hwang trees), cf. [48, 95, 41]. In the first part of this chap-ter, the definitions and properties of full components will be introduced.The exact algorithm will be explained in the second part.

2.1 Introduction

Let us start with some definitions and properties of the rectilinearSteiner tree problem.

2.1.1 Definitions and notions

As mentioned in Chapter 1, the rectilinear Steiner tree problem (RSTP)is NP − hard [70, 52]. RSTP is to ask for a shortest connection T ∗ whichspans all points of a terminal set Y using only horizontal and vertical linesegments (generically called segments). The points in the terminal set Yare called terminal points, and the number of terminal points is k. The rec-tilinear optimal Steiner tree (RST) may include some points other than theterminal points, which are called Steiner points. That is, the line segments

Page 34: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

20 Chapter 2: Exact algorithm for the rectilinear Steiner tree

of RST intersect at terminal points or Steiner points.

There exist three kinds of Steiner points in the RST: corner point (withdegree 2), T-point (with degree 3) and cross point (with degree 4). Acomplete line is a line with a maximal length, which does not have terminalsin its interior but may have terminals at its endpoints. The complete linesconnecting the corner point are called legs. A corner point must be incidentwith a horizontal complete line and a vertical complete line. The corner iscalled complete corner if the remaining two endpoints are terminals. Thetwo collinear segments connecting at a T node are called the head and theremaining segment is called the body.

A full rectilinear Steiner tree (FRST) is a rectilinear Steiner tree inwhich all the terminal points are leaves. Any Steiner tree can be decom-posed into some full rectilinear Steiner trees by splitting at all non-leafterminals. The resulting trees are called the full components (FC) of theSteiner tree.

Some full components can be transformed into others by using two kindsof transformations: sliding and flipping. Sliding means that a segment e isreplaced by another segment e′, where e and e′ are parallel and intersectingparallel lines ℓ1 and ℓ2, both perpendicular to e and e′. According to theposition of these segments, each sliding is named as left-slide, right-slide,up-slide and down-slide. An example of a left-slide is given in Fig. 2.1.

ℓ1

ℓ2

ℓ1

ℓ2

ee e′

Figure 2.1: Example of sliding

Flipping means that two segments e and f meet at a corner-point arereplaced with another two segments e′ and f ′ such that e, e′, f and f ′ form arectangle. Similar to sliding, there are four kinds of flipping as well, namedas leftdown-flip, leftup-flip, rightdown-flip, and rightdown-flip. A leftup-flipexample is shown in Fig. 2.2.

Page 35: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2.1.2 Canonical tree 21

e

f

e

f

f ′

e′

Figure 2.2: Example of flipping

2.1.2 Canonical tree

In a rectilinear Steiner tree problem, there are several possible minimumtrees. For example, there are two different minimum trees for a terminal setwith only two points (in the Hanan grid1). For simplicity, only one kind ofminimum tree, called canonical tree [65], will be considered in this thesis.

Definition 2.1.1. A tree is said to be canonical if it allows none of thefollowing transformations with the same length:

(1) a left-slide,

(2) an upleft-flip or downleft-flip,

(3) an up-slide or down-slide followed by the transformations in (2).

The canonical full components in an RST has several properties. Herewe only briefly introduce these results, and the detail proof can be referredto [65].

Lemma 2.1.1. In a canonical FRST, no segment is incident to twocorner points.

Lemma 2.1.2. In a canonical FRST, if a segment m has no-terminalendpoints, then no two perpendicular segments are incident with the end-points of m from the same side.

Lemma 2.1.3. In a canonical FRST, neighboring segments incidentwith a leg of corner must alternate.

1Hanan grid is a graph which is obtained by constructing vertical and horizontal linesthrough each point for a given set in the plane.

Page 36: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

22 Chapter 2: Exact algorithm for the rectilinear Steiner tree

Lemma 2.1.4. In a canonical RST, the body of a T must end at aterminal, and no segments are incident with the body of a T .

Lemma 2.1.5. In a canonical FRST, a head of T is either a leg of acomplete corner or a complete line with terminals as endpoints.

2.2 The properties of a full component

In this section, we will firstly present the well-known result (Hwang’stheorem) on the structure of full components (Hwang topology).

2.2.1 Hwang’s theorem

A Hwang tree (or a tree with Hwang topology) is a rectilinear Steinertree T which can be described as the following two types: the type 1 as inFig. 2.3 and type 2 as in Fig. 2.4.

r c

t

Figure 2.3: Full component: type 1

c

t

r

Figure 2.4: Full component: type 2

There are two special terminals in both types of full components: theroot r and the tip t, which are connected to each other through a horizontalline and a vertical line. These two lines are incident at a common endpointc ⊆ R

2 (a corner point), which is called the corner of the component. Theleg [r, c] is called the long leg or (Steiner) chain, and the other complete

Page 37: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2.2.1 Hwang’s theorem 23

line [t, c] is called the short leg. The long leg and the short leg are namedby the number of incident segments. The long leg has an arbitrary numberof straight line segments which are attached to the long leg from both sidesalternatingly. Each segment connects exactly one terminal to the chain. Inaddition, there may be one exceptional terminal connected to the short leg(cf. Fig. 2.4). The Steiner chain is usually drawn in the direction of thepositive x-axis as in Fig. 2.3 and Fig. 2.4. The terminals y 6= r, t that areattached to the chain from above and below are referred to as upper resp.lower terminals. If the total number of terminals in the Hwang tree is p,then the first type has p−2 alternating segments incident with the long legand the second one has p − 3 alternating segments incident with the longleg. The optimal additional terminal attached to the short leg will not beof much interest for our purposes.

Theorem 2.2.1. (Hwang theorem)[62, 65] There always exists anoptimal RST whose full components are Hwang trees.

Proof. For simply describing the proof, w.o.l.g., assume that the termi-nal points have different x coordinates and y coordinates, i.e., not any twopoints share the same x coordinate or y coordinate. The leftmost terminala in an RST, must be incident with a horizontal complete line or a verticalcomplete line.

In case it is incident with a horizontal line ℓ1, the other endpoint b ofℓ1 must be either a T note or a corner point (According to the assumption,it is not a terminal).

If b is a T note, the horizontal line ℓ1 is the body of the T note. FromLemma 2.1.4, there are no other segments connecting the horizontal line ℓ1.Then one of the endpoints (assume c) of head ℓ2 must be a corner point.(b is not a T note according to the Lemma 2.1.4 and assumption. If b isa terminal, we can only get a full component with three terminal points,and this case is not interesting.) The other horizontal line ℓ3 connectingthe corner point c must be on the other side of ℓ2, otherwise it will con-trary to Lemma 2.1.2. From Lemma 2.1.1 and Lemma 2.1.2, ℓ3 will endwith a terminal point d, and all the neighboring segments incident to ℓ3

alternatingly. Each segment (for example ℓ4) combines a T node with ℓ3.According to Lemma 2.1.4, there are no other segments connecting to ℓ4,i.e., ℓ4 is only incident with one terminal point. Then the whole topologyis the Hwang tree of type 2 as in Fig. 2.5.

Page 38: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

24 Chapter 2: Exact algorithm for the rectilinear Steiner tree

cℓ4

ℓ3

d

ℓ2

ℓ1

a b

Figure 2.5: Proof of Hwang’s theorem: case 1

If b is a corner point, it must be a complete corner that is incident withℓ1 and ℓ2 according to Lemma 2.1.1, where ℓ2 is a vertical complete line.There is only one possible terminal point d connecting the interior of legℓ2 according to Lemma 2.1.2 and 2.1.4. Then all the other segments (forexample ℓ4) are incident with the complete line ℓ1 alternatingly accordingto Lemma 2.1.3. There are no other segments connected to ℓ4 according toLemma 2.1.4. Thus we get the topology structure of a Hwang tree of type1 or type 2 as in Fig. 2.6.

a ℓ4

ℓ1d

ℓ2

b

Figure 2.6: Proof of Hwang’s theorem: case 2

In case a is incident with vertical line ℓ1, similar to the above analysis,we can get a Hwang tree of type 1 with ℓ1 as a short leg.

The theorem can be proved by considering the remaining terminals ina similar way.

A Hwang set is a set X (⊆ Y ) which contains at least one Hwang tree.There are several properties for Hwang tree (full component).

Page 39: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2.2.2 Empty region conditions 25

2.2.2 Empty region conditions

In this section, we will consider an optimal Steiner tree T ∗ for an (suit-ably perturbed) instance Y ∈ R

2. According to Hwang’s theorem [62], wemay assume that each component of T ∗ is a Hwang tree with root r ∈ Y , tipyl+1 ∈ Y and terminals, say, y0, y

′0, · · · , yl−1, y

′l−1, yl, y

′l, yl+1 alternatively

attached to the chain as in Fig. 2.7. (Possibly an additional terminal yl+2

is joined to the short leg. In what follows, however, we restrict our atten-tion to y0, y

′0, · · · , yl, y

′l, yl+1, so that we do not have to distinguish between

different types of Hwang trees.)

yl+1yl

y′l

s′l

s′lsl+1

r

y0

s0

s′0

y′0

y1

s1

yl+2

Figure 2.7: Labelling the nodes in a component.

In a Hwang tree, y0, · · · , yl, yl+1 are called as upper terminal points andy′0, · · · , y′l−1, y

′l as lower terminal points. We denote by s0, s

′0, · · · , sl, s

′l, sl+1

the corresponding Steiner points, which are the projections of the corre-sponding Steiner points onto the chain.

Let S ⊆ R2 denote the set of Steiner nodes of T ∗. Clearly, being an

optimal Steiner tree, T ∗ must be an Minimum spanning tree for the setY ∪ S. For short, we denote MSY (Y ∪ S) as the minimum spanning treefor the set Y ∪ S. This simple necessary condition on T ∗ in turn impliescertain properties of the components of T ∗. We will present some of theseproperties (empty regions conditions, cf., e.g., [109]) below, including thesimple proofs for convenience.

The diamond is a square with diagonal as the line from terminal point tothe corresponding Steiner point or the segment that connect two neighbor-ing Steiner points. We observe that T ∗ = MST (Y ∪ S) implies that everycomponent of T ∗, as in Fig.2.8, must have empty diamond in the sensethat the interior of each diamond may not contain any terminal y ∈ Y (cf.Fig.2.8).

Page 40: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

26 Chapter 2: Exact algorithm for the rectilinear Steiner tree

yl+1

y′l

r

y0

y′0

y1

Figure 2.8: Diamonds must be empty.

Lemma 2.2.2. [109] Diamonds must be empty.

Proof. Assume to the contrary, that for some component, say, a dia-mond D = D[yi, si] with diagonal [yi, si], contains a terminal y ∈ Y in itsinterior. Let y′ denote the projection of y onto [yi, si]. Adding, e := [y, y′]to T ∗ closes a circuit that contains either f := [y′, yi] or f := [y′, si]. Inboth cases, T ∗\f ∪ e would be a shorter tree, a contradiction.

Emptiness of diamonds of the form D = D[s′i−1, si] or D = D[si, s′i]

follows in the same way.

Next we consider rectangles R = R[yi, y′i] and R = R[y′i, yi+1], defined

by their diagonal endpoints (yi, y′i) resp. (y′i, yi+1) (see Fig. 2.9). Again,

rectangles must be the empty regions in the above sense.

yi

yi−1

y′i−1

y0

y′0 y′

1

y1

r

Figure 2.9: Rectangles must be empty.

Lemma 2.2.3. [109] Rectangles must be empty.

Page 41: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2.2.2 Empty region conditions 27

Proof. Assume to the contrary, that for some component, say, a com-ponent of T ∗ contains a nonempty rectangle, R = R[yi, s

′i]. So R contains

some y ∈ Y in its interior. The rectangle R has sides e = [yi, si] andf = [si, s

′i]. Let ye and yf denote the projections of y onto e resp. f as in

Fig. 2.10.

si

y

yf

ye

s′i

yi

Figure 2.10: A nonempty rectangle.

We may assume, w.l.o.g., that, say, y is closer to e than to f . Removingthe segment [ye, si] from T ∗ splits T ∗ into two subtrees T1 and T2 containingye resp. yf . If y ∈ T2, then T1∪T2∪[y, ye] is shorter than T ∗, a contradiction.Hence y ∈ T1 must hold. But then T1\[yi, ye] ∪ T2 ∪ [y, yf ] is shorter thanT ∗.

The empty rectangle condition is rather restrictive: the number ofHwang trees satisfying the empty rectangle condition is O∗(1.42k), cf. [40](as compared to O∗(1.62k) without this restriction, cf. [48]). This can beseen as follows. Any two consecutive terminals yi and yi+2 “above” thechain uniquely determine the terminal yi+1 in between them on the oppo-site side of the chain. Namely the one that is closest to the chain. This

leads to a bound O∗(2k2 ) = O∗(1.42k) for the number of such Hwang trees

in a straightforward way.Another empty region condition (cf. [95], [94], [109]) is as the following.

Let Bd(x) and Bd(C) denote the l1-balls of radius d > 0 around x ∈ R2

resp. the Steiner chain C. Let di > 0 (d′i > 0) denote the distance of yi

(y′i) to C. For i = 1, · · · , l, l + 1, we let

∆(yi) := Bdi(yi) ∩ Bdi

(C)

denote the triangle defined by yi, see Fig. 2.11, ∆(y′i) can be defined in thesimilar way.

Page 42: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

28 Chapter 2: Exact algorithm for the rectilinear Steiner tree

yi

y′j

y′l

sl+1r

y0

Figure 2.11: Triangles must be empty.

Lemma 2.2.4. ([109]) The triangle can not contain any terminal pointsof the same Hwang tree.

Proof. If that is impossible, assume terminal point yi is in the triangleof yi+1 as in Fig. 2.12. A shorter tree can be obtained by deleting segmentyisi and adding the segment yizi+1.

yi

yi+1

si si+1

zi+1

yi

yi+1

si si+1

y2 y2

Figure 2.12: Weak triangle condition.

The Hwang tree satisfying the above conditions is call a tree star byFoßmeier and Kaufmann([40]). Foßmeier and Kaufmann further restrictedthe set of candidates for T ∗-components by showing that each T ∗-componentcan be assumed to be a tree star. They showed that, in the worst case, thenumber of tree stars was in between 1.32k and 1.38k.

Page 43: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2.2.3 Upper bounds for the short leg 29

2.2.3 Upper bounds for the short leg

Next to the empty region conditions, there are also some other condi-tions for the full component, cf. [109]. In this section, several upper boundconditions of the short leg will be introduced.

Let dp be the length of the short leg of type (1) (or the length from thecorner point to the Steiner point on the short leg of type (2)). There areseveral upper bounds on dp.

Lemma 2.2.5. [109] For each lower terminal point yi in a tree star,|y′is′i| ≥ dp.

sp

zp

ypyp

yi+1

si+1

yi+1

zi+1

r r

yi

y′

i

si

s′

i

yi

si

s′

i

y′

i

Figure 2.13: Proof of Lemma 2.2.5.

Proof. For simplicity, in what follows, only the full component with 5terminal points (one root, two upper terminal points and two lower terminalpoints) of type (1), as in Fig. 2.13, will be considered. In case of thefull component with more terminal points, the lemma can be proved by“sliding” the long leg.

Assume there exists a y′i such that d′i < dp as in Fig. 2.13. Then twosmaller full components intersecting at y′i can be obtained. The total lengthof these two smaller full components is not greater than the length of theoriginal one. Thus the original tree star can be split into two smaller fullcomponents.

Lemma 2.2.6. [109] If y′i is a lower terminal point, yi+1 is the nextupper terminal point, and s′i resp. si+1 is the projection of y′i resp. yi+1 onthe chain, then |s′isi+1| ≥ dp.

Proof. If not, assume |s′isi+1| < dp, and slide s′isp to z′iyp, where z′i isthe projection of yp on s′iy

′i. After deleting the segment spyp and adding

the edge s′isi+1, a new tree can be obtained as in Fig. 2.14. The new tree

Page 44: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

30 Chapter 2: Exact algorithm for the rectilinear Steiner tree

is obtained from the original one by replacing spyp with s′isi+1. Accordingto the assumption |s′isi+1| < dp, the new tree is shorter than the originalone, which is impossible. Thus the lemma holds.

sisi

yiyi

sp

ypyp

r s′

i

y′

i

yi+1

si+1

r

y′

i

s′

i

yi+1

si+1

z′

i

Figure 2.14: Proof of Lemma 2.2.6.

Lemma 2.2.7. [109] For each upper terminal yi, |sisi+1|−min(di, di+1) ≥dp.

Proof. If not, assume |sisi+1| − min(di, di+1) < dp, w.o.l.g., supposedi < di+1, then |sisi+1| − di − dp < 0. Delete the segments s′isp, yi+1si+1

and spyp, add the edge yizi+1 and z′iyp, then a new tree is obtained. Forobtained new tree, we have tree,

|yizi+1| + |y′iyp| − (|s′isp| + dp + di+1)= |sisi+1| + |s′isp| − (|s′isp| + dp + di+1)= |sisi+1| − (dp + di+1) < 0.

This formula implies that the obtained tree is shorter than the original one,which is impossible.

si si

yi yi

yp

r r

si+1

yi+1

zp

z′

i

y′

i

yi+1

yp

s′

i

y′

i

s′

i

Figure 2.15: Proof of Lemma 2.2.7

Page 45: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2.3 An exact algorithm 31

2.3 An exact algorithm

An exact algorithm for RSTP was presented by Salowe and Warme [94],who used the two-phase scheme algorithm for ESTP to RSTP. The first stepof this algorithm is to generate the full components set F , and the secondone is to concatenate the optimal tree from the generated full components.

2.3.1 Generation of full components

The algorithm for the generation of (all) full components starts at agiven root r and directions for the chain (there are four possible directionsfrom each point). The full component grows along the chain with the rootr and in the direction α. When a terminal point is added to the long leg,some long leg tests, such as empty region conditions, will be used to checkwhether the sequence is a part of FRST. If it is not, this terminal pointwill be skipped. We proceed to the next terminal node in the direction ofthe chain.

If yi is accepted as a upper terminal, some upper bound conditions willbe used to check whether yi can be the tip or not. If yes, a full componentis obtained. If not, yi can be added as an upper or lower terminal and weproceed. For more details, we may refer to the papers [103] and [109].

The process for obtaining a full component with p terminal points willtake O(p2) time. Zachariasen stated [109] that the necessary conditionswere also sufficient conditions for the optimal full components up to fiveterminals. In practice, more than 90% of the full components have five orfewer terminals ([109]).

Although the total number of full components can not be proved to bepolynomially bounded, there are also several interesting bounds. Foßmeierand Kaufmann proved that the upper bound of full components with pterminals was O(kp) ([40]). Salowe and Warme gave an O(k · logk) boundof full components with 3 terminals ([95]). Zachariasen improved the boundfor full components with p terminals to O(k·(loglogk)p−2), which was almostlinear ([107]).

Page 46: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

32 Chapter 2: Exact algorithm for the rectilinear Steiner tree

2.3.2 Construction of the optimal tree

Let F be a full component set, which contains all the possible candi-date full components. There exist three methods for combining the optimaltree from the generated F , such as backtrack search, dynamic programming,and integer programming ([101]). Backtrack search has a very steep run-ning time growth and only can be used for moderate size problems. Dy-namic programming has the better worst case running time theoretically.However, it is very slow in practice due to the huge memory requirement.Integer programming is an efficient algorithm for most problems, which issimilar to the algorithm introduced in the first chapter for ESTP.

2.3.2.1 Backtrack search

Backtrack search is a simple algorithm and efficient in practice, we willbriefly introduce it as follows.

Two full components Fi and Fj are called disjoint if they have no com-mon vertex. If Fi and Fj share a common vertex and can appear in the sameRST, they are said to be compatible, cf. [107]. Otherwise, they are calledincompatible. For two intersecting full components Fi and Fj in RSTP, thefollowing two cases are always consider to be incompatible:

(1) There are more than one common vertex in both Fi and Fj (or theircorner flips).

(2) A cycle can be obtained by adding an edge to the embedding of Fi

and Fj , and the added edge is not the longest line in the cycle.

The algorithm starts with a full component, and generates the optimaltree by adding all possible compatible full components to the existing tree.The process will continue until the optimal tree is obtained. The runningtime of this algorithm in the worst case is 2|F|, implying that it is notsuitable for solving a large scale problem.

2.3.2.2 Dynamic programming

Dynamic programming provides the best worst case bounds for the RSTproblem. It is desired from the fact that every RST is either an FRST or

Page 47: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

2.3.2 Construction of the optimal tree 33

can be split into an SMT and an FST joined at an interior terminal. LetH(X) be a Hwang tree for X. By slightly misusing the notation, we alsointerpret T ∗(X) as the length of an optimum Steiner tree. In case X ⊆ Yis not a Hwang set, we define H(X) = ∞. It is clear that Hwang trees arefull rectilinear Steiner trees.

Given a full set X ∈ F(Y ), one can (due to the particularly simplestructure of full components) easily compute (in linear time) a correspond-ing candidate full tree Tfull(X). Adopting the notation

X = X1 1 X2 ⇔ X = X1 ∪ X2, |X1 ∩ X2| = 1

from [48], we may thus compute minimum Steiner trees for all X ⊆ Y bymeans of the recursion

T (X) = min Tfull(X1) ∪ T (X2), (1)

where the minimum is taken over all decompositions X = X1 1 X2 withX1 ∈ F(Y ) and |X1| ≥ 2. Note that when X ⊆ Y itself is a full set, thenX ∈ F(Y ), so we may take X1 = X and let X2 be a singleton.

The running time of this procedure depends on the number of candidatefull sets. Indeed, letting

F(Y ) := X1 ∈ F(Y ) | X1 ⊆ X,

we find that computing the minimum in (1) takes time O∗(|F(Y )|) – assum-ing recursively that T (X2) is known already for all subsets X2 ∈ Y of size|X2| < |X|. (Recall that, as mentioned above, Tfull(X1) can be computedfor given X1 ∈ F(Y ) in time O(|X1|) = O(k) = O∗(1).)

Denote the number of full components with i terminals being f(i), thenthe complexity of algorithm will be

k∑

i=3

(k

i

)· i · f(i).

If the number of full component is αi with i terminal points, then thecomplexity is

k∑

i=3

(k

i

)· i · αi < k2(1 + α)k.

Page 48: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

34 Chapter 2: Exact algorithm for the rectilinear Steiner tree

An algorithm in time O∗(2.38k) was yielded by Foßmeier and Kaufmann([40]) from the fact the bound of number of tree stars is bounded by 1.38k.

Page 49: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Chapter 3

Exact algorithms for the

Steiner tree problem

In this chapter, two novel exact algorithms are presented to solve theSteiner tree problem. Compared with the well-known Dreyfus and Wag-ner’s algorithm, these two algorithms have improved the running time fromO∗(3k) to O∗(2.684k) and O∗((2 + δ)k), where δ > 0, respectively.

3.1 The algorithm in time O∗(2.684k)

Firstly, we will present the algorithm in O∗(2.684k). This algorithm isincluded in our paper [42].

3.1.1 Introduction

As mentioned in Chapter 2, the Steiner tree problem (STP) is an NP-hard problem [70]: Given a graph G = (V,E) of order n = |V |, edgecosts c ∈ R

E+ and a set Y ⊆ V of k = |Y | terminal nodes, STP is to

find a minimum cost subtree T = T (Y ) of G connecting (spanning) allterminal nodes. The well-known exact algorithm is developed by Dreyfusand Wagner (cf. [30] and Chapter 1), solving minimum Steiner tree problemin general graphs in time O∗(3k) (More details can be referred to Chapter1).

Particular attention has been paid to the rectilinear Steiner tree problem

Page 50: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

36 Chapter 3: Exact algorithms for the Steiner tree problem

which is defined on a grid graph. In this case, RSTP remains to be NP-complete [51], so-called exact algorithm have been designed [40] solving theproblem in

O∗(2.386k) = O(poly(n) · 2.386k).

In this section, we will present a modification of the Dreyfus-Wagneralgorithm for the Steiner tree problem, yielding an improved complexity oforder O∗(2.684k). For the rectilinear case, we slightly modify the Foßmeierand Kaufmann’s algorithm [40] and obtain an algorithm in time O∗(2.335k).

3.1.2 Improvement of Dreyfus-Wagner algorithm

Before giving our algorithm, we will firstly introduce the Stirling’s for-mula [35, 91],

Lemma 3.1.1. (Stirling’s lemma)

(βk

αk

)= O(((

1

α)α(

1

β − α)β−αββ)k).

Proof. When αk and βk are integer,

(βk

αk

)=

(βk)!

(αk)!((β − α)k)!

where αk! is the the factorial of αk, which is the product of all positiveintegers less than or equal to αk.

According to Stirling’s formula (cf. [35, 91]), i.e.

√2nπ(

n

e)n ≤ n! ≤

√2nπ(

n

e)n

12n

12n − 1,

we have

12αk−112αk

12(βk−αk)−112(βk−αk)

[(β

α)α( ββ−α)β−α

]k≤ βk!

αk!((β−α)k)!

≤ 12αk12αk−1

[(β

α )α( ββ−α)β−α

]k.

This formula yields

Page 51: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.1.2 Improvement of Dreyfus-Wagner algorithm 37

(βk

αk

)= O(((

β

α)α(

β

β − α)β−α)k) = O(((

1

α)α(

1

β − α)β−αββ)k).

The Dreyfus-Wagner algorithm recursively computes T (X ∪ v) for allX ⊆ Y and v ∈ V . If the new terminal v ∈ V is a leaf of the Steinertree T = T (X ∪ v) and v is joined by a min cost path Pvw to an interiornode w ∈ V (T ) of degree at least 3, the node w splits T\Pvw into twoparts, namely T (X ′ ∪ w) and T (X ′′ ∪ w) for some nontrivial bipartitionsX = X ′ ∪ X ′′. Hence we may write

T (X ∪ v) = min Pvw ∪ T (X ′ ∪ w) ∪ T (X ′′ ∪ w), (1)

where the minimum is taken over all nontrivial bipartitions X = X ′ ∪ X ′′

and all w ∈ V , the details can be referred to Chapter 1.In this section, we will present an algorithm which improves the com-

plexity of the Dreyfus-Wagner algorithm. Consider the complexity of com-puting subsets with αk terminal points in the Dreyfus-Wagner algorithm,the results are shown in Table 3.1,

α 0.3000 0.4000 0.4500 0.5000 0.6000 0.7000( kαk

)1.8420k 1.9601k 1.9900k 2.0000k 1.9601k 1.8420k

( kαk

)2αk 2.2678k 2.5864k 2.7184k 2.8284k 2.9710k 2.9924k

Table 3.1: The complexity of computing subsets

We can find that the smaller α, the lower is the complexity. Our im-provement is inspired from this point: restrict the subsets in smaller size.We use the Dreyfus-Wagner algorithm to compute the minimum Steinertree for all subsets of Y of size at most k

2 (or even less), and then seekto compose the minimum Steiner tree for Y from all these smaller trees.The basic difficulty to overcome is the following. Assume we knew thatthe minimum Steiner tree T for Y contains some point v whose removalsplits T into three branches T ′, T ′′ and T ′′′, connecting three correspond-ing subsets Y ′, Y ′′ and Y ′′′ of Y of size approximately k

3 each. Then v is

Page 52: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

38 Chapter 3: Exact algorithms for the Steiner tree problem

a node splitting T into components of size at most k2 . On the other hand,

exhaustive search for all possible (de-) compositions of T into three suchsubtrees amounts to search for all partitions Y = Y ′ ∪Y ′′ ∪Y ′′′ into sets ofsize k

3 (and the unknown node v). The time needed for such an exhaustivesearch would be (

k

k/3

)(2k/3

k/3

)≈ 3k,

due to Stirling’s formula, c.f. Lemma 3.1.1.

For this reason, the standard way of decomposing T (as in the Dreyfus-Wagner algorithm) turns out to be inadequate. Instead we use the followingkind of decomposition.

Definition 3.1.1. An r-split of a tree T ⊆ E is a partition

T = T1 ∪ · · · ∪ Tr

such that each

T1 ∪ · · · ∪ Ti, i = 1, . . . , r

is connected.

Now consider a fixed minimum Steiner tree T for Y ⊆ V and an r−splitT = T1 ∪ · · · ∪ Tr as above. So, T1 is a subtree of T and for i ≥ 2, Ti ⊆ Econsists of several components, each of them containing exactly one nodein the set V (Ti) ∩ [V (T1) ∪ · · · ∪ V (Ti−1)]. More precisely, let us define

A−i := V (Ti) ∩ [V (T1) ∪ · · · ∪ V (Ti−1)]

A+i := V (Ti) ∩ [V (Ti+1) ∪ · · · ∪ V (Tr)] \ A−

i

Ai := A+i ∪ A−

i (i = 1, . . . , r)Yi := Y ∩ V (Ti) \ Ai

(2)

We refer to A := A1 ∪ · · · ∪ Ar as the set of split nodes. A split nodea ∈ A−

i connects a component of Ti to T1 ∪ · · · ∪Ti−1, while a ∈ A+i is good

for connecting a component of some Tj , j > i to Ti. The sets Yi, i = 1, . . . , nare pairwise disjoint and if |A| is “small” compared to k = |Y |, the sets Yi

are close to forming a partition of Y . Using this kind of split-decomposition,it can be shown that T has a 2-split with |Y1|, |Y2| ≈ k

2 . As we will see,a (theoretically) even faster algorithm is obtained by considering certain

Page 53: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.1.2 Improvement of Dreyfus-Wagner algorithm 39

3-splits of T . Before analyzing these things in detail, however, let us firststate some simple facts.

Recall that we assume G to be complete. For B ⊆ V , we denote byG/B the graph obtained from G by identifying all vertices b ∈ B with anew vertex vB (i.e., contracting all the |B|(|B|−1)/2 edges induced by B).Edge costs in G/B are again defined via shortest path distances.

Lemma 3.1.2. Let T ⊆ E be a minimum Steiner tree for Y ⊆ V andlet T = T1 ∪ · · · ∪ Tr be an r−split. Let A±

i and Yi be defined as in (2).Then(i) T1 ∪ · · · ∪ Ti is a minimum Steiner tree for Y1 ∪ · · · ∪ Yi ∪A1 ∪ · · · ∪Ai.(ii) Ti is a minimum Steiner tree for Yi ∪ A+

i ∪ vA−

iin G/A−

i .

Proof. (i) Let T ⊆ E be any tree connecting Y1 ∪ · · · ∪Yi ∪A1 ∪ · · · ∪Ai

in G. Then it is straightforward from the definition of r−split that

T ∪ Ti+1 ∪ · · · ∪ Tr

connects Y1 ∪ · · · ∪Yr ∪A. But T = T1 ∪ · · · ∪Tr is a minimum Steiner treeconnecting Y1 ∪ · · · ∪ Yr ∪ A, implying

c(T1 ∪ · · · ∪ Tr) ≤ c(T ∪ Ti+1 ∪ · · · ∪ Tr).

Hence c(T1 ∪ · · · ∪ Ti) ≤ c(T ), proving (i).(ii) Each component of Ti is joined to T1 ∪ · · · ∪ Ti−1 by a (unique)

common point in A−i . Therefore Ti is a tree in G/A−

i . Furthermore, A+i

is, by definition, disjoint from A−i and spanned by Ti. Summarizing, Ti is a

Steiner tree for Yi ∪ A+i ∪ vA−

iin G/A−

i .

We are left to prove minimality of Ti. Let Ti ⊆ E be any Steiner treefor Yi ∪ A+

i ∪ vA−

iin G/A−

i . Then certainly

T1 ∪ · · · ∪ Ti−1 ∪ Ti ⊆ E

is connected (as Ti connects to vAi) and spans

Y1 ∪ · · · ∪ Yi ∪ A1 ∪ · · · ∪ Ai−1 ∪ A+i = Y1 ∪ · · · ∪ Yi ∪ A1 ∪ · · · ∪ Ai

(as A−i ⊆ A1 ∪ · · · ∪ Ai−1).

Hence we conclude from (i) that c(Ti) ≤ c(Ti), proving the minimalityof Ti.

Page 54: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

40 Chapter 3: Exact algorithms for the Steiner tree problem

Lemma 3.1.3. For any ǫ > 0 and any 0 < α < 1 the following holds:Any Steiner tree T for Y ⊆ V with k = |Y | sufficiently large has a 2-splitT = T1 ∪ T2 such that V (T1) contains a prescribed node s ∈ V (T ) and|Y1| = |V (T1) ∩ Y | = (α ± ǫ)k. Furthermore, it is possible to choose acorresponding set of split nodes A ⊆ V (T ) of size |A| ≤

⌈log 1

ǫ

⌉.

Proof. There exists v ∈ V (T ) such that all components T1, T′2, T

′3, · · ·

of T\v have size k′i := |V (T ′

i ) ∩ Y | ≤ k2 . Let T ′

1 denote the componentwith s ∈ V (T ′

1). (If s = v, we may choose any T ′i .) We prove the claim by

induction on M =⌈log 1

ǫ

⌉.

Assume first that M = 1, i.e., ǫ ≥ 12 . In this case we let T1 = T ′

1∪· · ·∪T ′r

where r is minimal such thatr∑1

k′i ≥ αk. Observe that T1 defines a 2-split

T = T1 ∪ T2 meeting all requirements: We have A = v of size 1 andαk ≤ |Y1| ≤ (α + 1

2)k.

Now assume M ≥ 2. We start by constructing a tentative subtreeT = T ′

1 ∪ · · · ∪ T ′r exactly as for M = 1. If k :=

∑k′

i ≤ (α + ǫ)k, we are

done. Hence assume k > (α+ǫ)k and let α′ be such thatr−1∑i=1

k′i+α′k′

r = αk.

By induction, there is a 2-split T ′r = T ′′

r ∪ T ′′′r with s′ := v ∈ V (T ′′

r ) andk′′

r = |V (T ′′r ) ∩ Y | = (α′ ± 2ǫ)k′

r. Observe that T1 := T ′1 ∪ · · · ∪ T ′

r−1 ∪ T ′′r

defines a 2-split T = T1∪T2 meeting all requirements. Indeed, by induction,the set A′ of split nodes for the 2-split T ′

r = T ′′r ∪T ′′

r may be assumed to havesize |A′| ≤

⌈log 1

⌉=

⌈log 1

ǫ

⌉−1. So the total set A = A′∪v of split nodes

for the 2-split T1 ∪T2 has size |A′| ≤⌈log 1

ǫ

⌉, as required. Furthermore, the

size of T1 equals k′1 + · · · + k′

r−1 + k′′r = (α ± ǫ)k since 2ǫk′

r ≤ ǫk.

Lemma 3.1.3 also allows us to construct certain 3-splits of T .

Theorem 3.1.4. For each ǫ > 0 and 0 < α < 12 the following holds:

Any Steiner tree T for Y ⊆ V with k = |Y | sufficiently large has a 3-split T = T1 ∪ T2 ∪ T3 with Y1 = Y ∩ V (T1) and Y2 = Y ∩ V (T2) of size(α ± ǫ)k. Furthermore, the set of split nodes A can be chosen to have size|A′| ≤ 2

⌈log 1

ǫ

Proof. We first split T into T = T1 ∪ T ′2 with Y1 of size |Y1| = (α± ǫ)k.

Then we left T2 consist of sufficiently many components of T ′2 (one of them

split if necessary) so that Y2 has size |Y2| = (α ± ǫ)k.

Page 55: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.1.2 Improvement of Dreyfus-Wagner algorithm 41

The algorithm. After these preliminaries, it should now be clear howto proceed. Given ǫ > 0 and a suitable α ≤ 1

2 (to be determined below),we apply the Dreyfus-Wagner algorithm to compute minimum Steiner treesfor all subsets of type

Y ∪ A+ ∪ vA−, Y ⊆ Y, |Y | ≤ (α + ǫ)k

in G/A−, for all disjoint subsets A+, A− ⊆ A and all A ⊆ V of size at mostM . The number of possible choices for A+ and A− is bounded by nM ,which is polynomial in n. Assuming that k is large enough, we may assumethat M ≤ ǫk, so that |Y ∪A| ≤ (1+ǫ)k and, similarly, |Y ∪A+| < (α+2ǫ)k.So this computation takes

nM ·(α+2ǫ)k∑

i=2

((1 + ǫ)k

i

)n · 2i = O∗

((1 + ǫ)k

(α + 2ǫ)k

)2(α+2ǫ)k

in total.

The second part of the algorithm is an exhaustive search for the 3−splitT = T1∪T2∪T3 as shown in Fig. 3.1, whose existence is assured in Theorem3.1.4. Then Ti are shown as Fig. 3.2.

Basically, this comes down to finding the associated sets Yi (plus thecorresponding sets of split nodes Ai out of a polynomial number of possiblechoices). For a fixed set of split nodes A ⊆ V , we thus search for a partitionY \A = Y1 ∪ Y2 ∪ Y3 with |Y1|, |Y2| = (α± ǫ)k. For α close to 1

2 , this takestime of order

O∗(

(k

(1 − 2α − 2ǫ)k

)2(2α+2ǫ)k)

which also gives the total time bound for the second phase of the algorithm.

Setting ǫ = 0, we obtain an upper bound on the total computation timeby solving (

k

αk

)2αk =

(k

(1 − 2α)k

)22αk

or, according to Stirling’s Formula

(1

α)α(

1

1 − α)1−α = (

1

2α)2α(

1

1 − 2α)1−2α2α.

Page 56: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

42 Chapter 3: Exact algorithms for the Steiner tree problem

T2

T3

T1

Figure 3.1: 3-Splits

T3

T2T1

Figure 3.2: 3-Splits subtrees

The solution of this equation is α < 0.4361. Hence we can achieve a totaltime bound of

[(1

0.4361)0.4361(

1

0.5639)0.563920.4361]k = 2.684k

by an appropriately small choice of ǫ > 0.A closer analysis also reveals the polynomial factor hidden behind the

O∗−notation: there are nM choices for A. For each fixed A there are inturn at most 2|A| = 2M choices for each of A+

1 , A−2 , A+

2 and A−3 , yielding

a total of (16n)M = O(nM) choices. In view of the bound given above forphase 1 of the algorithm, this gives an overall bound

O(nM+1 · 2.684k) = O(n1+log 1ǫ · 2.684k),

Page 57: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.1.3 The rectilinear case 43

where ǫ > 0 satisfies α + ǫ ≤ 0.4361. The relation between polynomialbound and exponential bound is shown as in Table 3.2,

ǫ 0.0078 0.0019 9.765 × 10−4 2.244 × 10−4 6.103 × 10−5

E-bound 2.7208 2.6931 2.6884 2.6849 2.6841

P-bound n8 n10 n11 n13 n15

Table 3.2: Polynomial bound and exponential bound

In this table, the different bounds with different ǫ have been shown. E-bound and P-bound denote the polynomial bound resp. exponential bound.The exponential bound reaches 2.6841k , and the polynomial bound is n15,when ǫ = 6.103 × 10−5.

3.1.3 The rectilinear case

Given a set Y = y1, . . . , yk of points in the plane, the rectilinearSteiner tree problem asks for a shortest tree connecting the points in Y ,relative to the so-called Manhattan-metric (where the distance betweentwo points is, by definition, the sum of the differences of their x- and y-coordinates). Equivalently, we may define an instance of the Steiner treeproblem rectilinear, if the underlying graph G = (V,E) is a grid graph (theso-called “Hannan-grid”) in the plane (with the grid being generated bythe x- resp. y-coordinates of the points in Y ).

According to Ganley and Cohoon [48] and Foßmeier and Kaufmann[40], the dynamic programming approach for computing minimum Steinertrees can be implemented more efficiently in the rectilinear case.

In that algorithm, every minimum Steiner tree T = T (X) for X ⊆ Ydecomposes uniquely into full components, i.e., edge-disjoint full subtrees.The set of all full components sets X ⊆ Y is denoted by F(Y ). Given acandidate full set X ∈ F(Y ), one can (due to the particular simple struc-ture of full components) easily compute (in linear time) a correspondingcandidate full tree Tfull(X), which is guaranteed to be a minimum Steinertree for X in case X is a full set.

The main result of Ganley and Cohoon [48] states (due to the spe-cific topological structure of full sets), that only very few subsets of X arecandidate full sets. More precisely, they show that for |X| = i we have

Page 58: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

44 Chapter 3: Exact algorithms for the Steiner tree problem

|F(X)| ≤ 1.62i. This bound is further improved by Foßmeier and Kauf-mann [40] to |F(X)| ≤ 1.386i. As a consequence, the total running time ofthe recursion, applying (3) to all sets X ⊆ Y with increasing size |X| = i,can be bounded by

O∗(k∑

i=1

(k

i

)1.386i) = O∗(2.386k). (4)

Applying our splitting technique to this recursion, we would computethe minimum Steiner trees only up to a certain level i = αk, α < 1

2 . Thetime consumed by this computation is

O∗(αk∑

i=1

(k

i

)1.386i) = O∗(

(k

αk

)1.386αk). (5)

On the other hand, searching for the unknown 3-split would roughly take(we set ǫ = 0)

O∗(

(k

(1 − 2α)k

)22αk). (6)

Again, the best upper bound on the running time of our algorithm is ob-tained by balancing (5) and (6). For α ≈ 0.477, we obtain an upper boundof O∗(2.335k) – a minor improvement over the original bound (4).

There is one problem that we are left to solve: Recall that in “phase 1”of our algorithm we compute small Steiner trees up to level i = αk not onlyin G, but also in certain contracted graphs. But these graphs are in generalnot rectilinear anymore! A moment of thought, however, reveals that thisproblem as simply non-existent. Indeed, the only reason for consideringcontracted graphs is notational convenience. Assume, for example, that weare to compute (recursively) the minimum Steiner tree for a certain subset

X ∪ vA in G/A, X ⊆ V \ A.

This is tantamount to looking for a minimum Steiner A-forest for X inG, i.e., a minimum length forest F ⊆ E, connecting all of X to A. In otherwords, a Steiner A-forest for X consists of |A| tree components (|A| ≥ 1),each containing exactly one node of A. Thus a minimum Steiner A-forestF ⊆ E gives rise to a minimum Steiner tree F in G/A and conversely.

Page 59: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.1.4 Concluding remarks 45

Rather than computing minimum Steiner trees for various sets X ∪ vA

in certain contracted graphs G/A, we compute minimum Steiner A-forestsin G for various sets X and A. In the rectilinear case, this can be done incomplete analogy to the full set dynamic programming approach describedabove.

For X ⊆ Y \ A, |A| ≥ 1, let FA(X ∪ A) denote the minimum SteinerA-forest for X. Then FA(X ∪ A) consists of at most |A| nonempty treecomponents. (Recall that we always consider a tree as a set of edges. Soa tree component consisting of a single vertex a ∈ A is empty.) Each suchnonempty tree component contains exactly one node a ∈ A and decom-poses into one or more full components. Thus we can compute FA(X ∪ A)recursively from FA(A) = ∅ and

FA(X ∪ A) = min Tfull(X1) ∪ FA(X2 ∪ A), (7)

where the minimum is taken over all candidate full sets X1 ∈ F(X ∪ A)with X ∪ A = X1 1 (X2 ∪ A).

Note that the dynamic program (7) is (for fixed A) very similar to (3).Indeed, we formally obtain (4) from (7) by setting A = ∅. This completesour proof of the upper bound on the running time.

3.1.4 Concluding remarks

We presented a splitting technique to speed up the dynamic program-ming approach to minimum Steiner tree computation. We do not claimthat our improvements as presented are of any practical use. Yet it mightturn out that already for small values of |A|, say |A| < 4, the existence of2-splits with |Yi| fairly close to k/2 can be guaranteed. This needs to beinvestigated further, as it might well be of practical interest.

3.2 The algorithm in time O∗(2 + δ)k

In this section, another algorithm, which is in time O∗(2 + δ)k, will bepresented for the Steiner tree problem. This algorithms is based on ourwork in [43].

Page 60: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

46 Chapter 3: Exact algorithms for the Steiner tree problem

3.2.1 Improving the exponential time bound

In the first section, we will consider the improvement of the exponentialbound. Let us fix some minimum Steiner tree T = T (X) for X. Every leafof T is a terminal. In case T has interior nodes which are terminals, theseinterior terminals split T into components, i.e., maximal subtrees withoutany interior terminals, cf. Fig. 3.3. The subtrees are as shown in Fig. 3.4.

Figure 3.3: Spliting the optimum tree into components

Figure 3.4: Subtrees

The different components are marked with different colors. The basicidea of our approach is to add (a few) additional terminals so as to en-sure that T is split into many “small” components and then recursivelyreconstruct T from these small components. As mentioned in the above

Page 61: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.2.1 Improving the exponential time bound 47

section, the size of a component equals the number of terminals (leaves) ofthe component.

Lemma 3.2.1. For ǫ > 0, it suffices to add a ≤ 1/ǫ additional termi-nals, for splitting T into components of size at most ǫk + 1 each.

Proof. W.l.o.g., assume that T has no interior terminals. For an interiornode u ∈ V (T ), let ku ≤ k − 1 denote the maximum size (including u) ofthe components induced by u. There exists a node u with ku ≤ k/2 + 1.Hence there also exists a node u∗ that maximizes ku∗ , subject to ku∗ ≤k − kǫ. Observe that u∗ splits T into one large component of size ku∗

and one or more components of size (including u∗) at most ǫk +1 each. Byinduction, the large component can be split into components of size at most

ǫ1−ǫku∗+1 ≤ ǫk+1 with no more than 1−ǫ

ǫ = 1ǫ −1 additional terminals.

To describe our algorithm that reconstructs T (or any other optimalSteiner tree for Z, where Z is a subset of Y ) by successively attachingsmall components, we adopt the following notation from [40] for terminalsets X1,X2 and X, cf. Fig. 3.5:

X = X1 1 X2 ⇔ X = X1 ∪ X2 and |X1 ∩ X2| = 1.

Figure 3.5: ASC algorithm

Assume that A ⊆ V (T ), |A| =⌊

⌋has been added as a set of additional

terminals, splitting T = T (Z) into components of size at most ǫk + 1, cf.Fig. 3.4. Let Z = Z ∪ A, so that T = T (Z). If X1 ⊆ Z is the terminal set

Page 62: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

48 Chapter 3: Exact algorithms for the Steiner tree problem

of a connected union of components, then the subtree of T induced by X1

must be a minimum Steiner tree for X1 (otherwise T would not be optimal).Hence the following algorithm indeed composes recursively an optimal treefor Z by successively attaching small components, once an appropriate setA of additional terminals is chosen.

Algorithm 3.2.1. (Algorithm ASC (Attach Small Components))

For each Z, Z ⊆ Z ⊆ V, |Z| = k +⌊

⌋do:

Step 1. Compute T (X) for all X ⊆ Z, |X| ≤ ǫk + 1.

Step 2. For all X ⊆ Z, |X| > ǫk +1, compute T (X) recursively, accord-ing to

T (X) = minT (X1) ∪ T (X2) | X = X1 1 X2, |X2| ≤ ǫk + 1. (2)

This yields our main result.

Theorem 3.2.2. Algorithm ASC correctly computes a minimum Steinertree for Z ⊆ V .

Proof. Let T be a minimum Steiner tree for Y . Assume that A ⊂ V (T )with |A| = ⌊1/ǫ⌋ has been added as a set of additional terminals, splittingZ = Z(T ) into components of size at most ǫk + 1. Let Z = Z ∪ A, so thatZ = T (Z). If X1 ⊂ Z is the terminal set of the connected union T ′ of thecomponents, then T ′ must be a minimum Steiner tree for X1, otherwise Twould not be an optimal tree.

All optimal trees for the subset X ⊂ Y can be obtained as the following.

If |X| ≤ ǫk + 1, the optimal tree for X can be obtained by using theDreyfus-Wagner algorithm.

If |X| > ǫk + 1, we can decompose X into all possible X = X1 1 X2,where X1 and X2 are terminal sets of connects components T1, resp. T2.Moreover, |X2| ≤ ǫk + 1. Assume TX is the minimum Steiner tree for X.By the induction hypothesis the algorithm computes minimum Steiner treesT (X1) and T (X2) for X1 and X2. It easily to verify that we can replaceT1 by T (X1) and T2 by T (X2) in TX to get another minimum Steiner treefor X. Clearly, this replacement yields T (X1)∪T (X2) as calculated by thealgorithm.

Page 63: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.2.1 Improving the exponential time bound 49

Now we will prove that the complexity of ASC algorithm is O∗((2+δ)k),for any 0 < δ < 1.

Theorem 3.2.3. For S ⊂ V and k = |S|, the ASC algorithm runs intime O∗((2 + δ)k) for any 0 < δ < 1 and any appropriate choice of ǫ > 0.

Proof. There are O(n1ǫ ) choices for Z of size k = k +

⌊1ǫ

⌋. The time

needed for 1) (using Dreyfus-Wagner) is negligible for reasonably smallǫ > 0. So the total running time is bounded by

n1ǫ

i

(k

i

)(i

ǫk + 1

)≤ n

1ǫ · k · 2k

(k/2

ǫk

). (3)

According to Stirling’s formula, we have

(k/2

ǫk

)≤

[(

1

2ǫ)ǫ(

1

1 − 2ǫ)1/2−ǫ

]k

.

For obtaining O∗((2 + δ)k), we choose ǫ = 518δ/ln(1/δ3). Then δ3 < 2ǫ

for δ < 1 and

ǫ · ln 1

2ǫ≤ 5

18δ ≤ δ

3− δ2

1≤ ln(1 +

δ

3).

Hence (1/2ǫ)ǫ ≤ 1 + δ/3. On the other hand,

(1

1 − 2ǫ)1/2−ǫ ≤ 1 + ǫ ≤ 1 + δ/8

From the fact that ln(1 + x) ≥ x − x2/2 for 0 < x ≤ 1, we have

(1

2− ǫ)ln

1

1 − 2ǫ≤ (

1

2− ǫ)(2ǫ − 2ǫ2) ≤ ǫ − ǫ2

2≤ ln(1 + ǫ).

Hence

(1

2ǫ)ǫ(

1

1 − 2ǫ)1/2−ǫ ≤ (1 +

δ

3)(1 +

δ

8) ≤ 1 +

δ

2

which by bounds the running time

n1ǫ · k · 2k

(k/2

ǫk

)≤ n

18ln(1/δ3)5δ · k · 2k(1 +

δ

2)k = O(n− 54lnδ

5δ · (2 + δ)k).

Page 64: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

50 Chapter 3: Exact algorithms for the Steiner tree problem

Remark 1. An analogue of ASC can be designed to solve the directedSteiner tree problem, where the underlying graph (V,E) is a directed graphand we seek for a directed rooted tree (with prescribed root terminal) con-necting Z. Indeed, it suffices to compute rooted Steiner trees Tr(X) (rootedin r ∈ X) for all small X ⊆ Z and then attach these successively in theobvious way.

3.2.2 Improving the polynomial factor

In this section we show how to improve the polynomial factor n1ǫ to

roughly n1

ǫξ for any 12 < ξ ≤ 1, and sufficiently small δ. The basic idea is

as follows. Instead of recursively constructing the optimal tree T by addingcomponents of size ǫk in each step, we allow the addition of larger piecesat levels i ≪ k/2 and i ≫ k/2. Only when i ≈ k/2, we proceed by addingsmall components of size ǫk as before.

To work this out in detail, we need the following technical result,

Lemma 3.2.4. For sufficiently small α > 0 and ǫ′ < α2 we have(

k

i

)(i

ǫ′k

)≤ 2k,

for all i such that |k/2 − i| ≥ αk.

Proof. If suffices to prove the claim for i = (12 + α)k. By Stirling’s

Formula, we compute

(k

(12 + α)k

)((12 + α)k)

ǫ′k

)=

[

112 − α

]( 12−α) [

1

ǫ′

]ǫ′[

112 + α − ǫ′

]( 12+α−ǫ′)

k

(up to polynomial factors). Hence, setting ǫ′ = αβ with β > 2, our claimcan be restated as

f(α) := (1

2− α)(

12−α)(αβ)α

β(1

2+ α − αβ)(

12+α−αβ) ≥ 1

2.

Note that f(0) = 12 . Elementary calculus yields

f ′(α) = f(α)

[−ln(

1

2− α) + β2αβ−1lnα + (1 − βαβ−1)ln(

1

2+ α − αβ)

].

Page 65: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.2.2 Improving the polynomial factor 51

Let g(α) denote the term in brackets. Then g(0) = 0 (as limα→0

αβ−1lnα = 0)

and

g′(α) = (12 − α)−1 + β2(β − 1)αβ−2lnα + β2αβ−2

−β(β − 1)αβ−2ln(12 − α − αβ) + (1 − βαβ−1)2(1

2 − α − αβ)−1.

Now β > 2 implies limα→0

αβ−2lnα = 0, showing that g′(α) ≈ 4 > 0 for

sufficiently small α > 0. Hence also g(α) and f ′(α) = f(α)g(α) are positivefor sufficiently small values of α. So indeed f(α) ≥ 1

2 for sufficiently smallα > 0.

Let us call - relative to a value of α to be determined below - a level icritical if |k/2− i| ≤ αk, and uncritical otherwise. We modify the recursion(2) in ASC algorithm such that, as long a i is uncritical, we replace ǫ by ǫ′ >ǫ, whereas for critical i everything remains unchanged. Lemma 2 ensuresthat our upper bound on the running time of (2) remains unchanged:

i uncritical

(k

i

)(i

ǫ′k

)+

i critical

(k

i

)(i

ǫk

)≤ k · 2k ·

(k/2

ǫk

).

Corresponding to the modified recursion, we investigate non-homogeneoussubdivisions of the optimal tree T into (many) components of size at mostǫ′k and (a few) components of size at most ǫk. We first add 1

ǫ′ additionalterminals to ensure component size of at most ǫ′k. Now add such compo-nents (in some order), one at a time, until the constructed subtree spans(12 − α)k terminals.

At this point we enter the critical phase. We keep on adding ǫ′k +1−components until the current subtree has (1

2 + α)k terminals. At thispoint the critical phase stops. The critical subtree, i.e., the subtree of Tthat we added during the critical phase spans at most 2αk + ǫ′k terminals.We can subdivide this critical subtree into ǫk+1−components with at most(2α/ǫ) + ǫ′/ǫ additional terminals. After the critical phase, we completethe optimal tree by adding ǫ′k + 1−components, one at a time. This showsthat, in order to make the modified recursion (2) work, it suffices to add

a ≤ 2α/ǫ + 1/ǫ′ + ǫ′/ǫ

additional terminals.

Page 66: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

52 Chapter 3: Exact algorithms for the Steiner tree problem

Now choose 0 < ρ < 12 and observe that α := ǫρ and ǫ′ := ǫς , with

ς = 12 + ρ, satisfy the assumption of Lemma 3.2.4 (for sufficiently small

ǫ > 0). The number of necessary additional terminals is thus

a ≤ 2α/ǫ + 1/ǫς +1

ǫς.

Applying the same trick to ǫ′ instead of ǫ, we can further reduce thenecessary number of additional terminals to

a ≤ 2ǫρ/ǫ + 2(ǫρ/ǫ)ς +ǫς

ǫ.

Applying the same trick to ǫ′ instead of ǫ, we can further reduce the nec-essary number of additional terminals to

a ≤ 2ǫp/ǫ + 2(ǫp/ǫ)ς + 1/ǫς2 +ǫς

ǫ+

ǫς2

ǫ.

Continuing this way, we arrive at

Proposition 3.2.5. For every ρ < 1/2, the number of necessary addi-tional terminals can be reduced to O(ǫρ−1).

Proof. Since ς = 12 + ρ < 1, there exists a constant r > 0 such that

ςr ≤ 1/2. Hence if we apply our trick (r − 1) times, we arrive at

a ≤ 2[ǫρ/ǫ + (ǫρ/ǫ)ς + · · · + (ǫρ/ǫ)ς

r−1]

+ 1ǫςr + ǫς

ǫ + ǫς2

ǫς + · · · + ǫςr

ǫςr−1

≤ 2rǫρ/ǫ + 1√ǫ+ r ǫς

ǫ = O(ǫρ−1).

Let ξ = ρ−1, then the complexity of the algorithm is nO( 1

ǫξ ) · (2+ δ)k =

nO( 1

(δln(1/δ))ξ) · (2 + δ)k. The results or different polynomial bound and

exponential bound, with different ǫ and δ, are shown in Table 3.3,

The similar algorithms for rectilinear Steiner tree can be obtained aswell, and the complexity is also O∗((2 + δ)k) for any δ > 0.

Page 67: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

3.3 Conclusion 53

δ 0.06250 0.01563 0.00782 0.00390 0.00195

ǫ(10−4) 4.174 0.6957 0.2981 0.1304 0.05798

ǫp−1 1410 5370 10090 18700 342601ǫ 2390 14370 33530 76650 172470

Table 3.3: O(ǫp−1) and 1ǫ

3.3 Conclusion

In this chapter, we have presented two exact algorithms for the Steinertree problem, and these algorithms also work on the rectilinear Steiner treeproblem. The second algorithm has somewhat better exponential complex-ity than the first one. However, the polynomial bound of the first algorithmis more acceptable. Although we have improved the complexity of the al-gorithm for the Steiner tree problem, it is still open that whether thereexists an algorithm with the complexity less than O∗(2k) for the Steinertree problem.

Page 68: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT
Page 69: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Chapter 4

Tree star and candidate

component

In this chapter, we will consider some necessary conditions for the can-didate components of the rectilinear Steiner tree. There are three parts inthis chapter. Firstly, a forbidden case is presented for the tree stars, whichis followed by a strict number of tree stars as O∗(1.357k). Secondly, twoforbidden cases are presented for the tree star to be a candidate compo-nent, the upper bound O∗(1.337k) of the number of candidate componentsis obtained. Finally, a two layer-tree condition is provided for the candi-date component, and the optimal topological structure for the monotonetree star are achieved as well.

4.1 Introduction

Before presenting the our results, let’s firstly recall some definitions andconditions for the tree star.

As introduced in Chapter 1 and Chapter 2, rectilinear Steiner tree prob-lem (RSTP) is NP -hard [70]. It is to find the shortest tree which connectsall the points in a given set Y , so-called terminal set, on the underlyingHanan grid graph G = (V,E).

For simplicity, assume that the given instance Y ⊆ R2 consists of k

points with pairwise different first resp. second coordinates, so that theassociated Hanan grid has exactly n = k2 nodes. This may always be

Page 70: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

56 Chapter 4: Tree star and candidate component

achieved by perturbation. For example, if the original instance is definedby Y = y1, · · · , yk ⊆ R

2, we may chose ǫ1 > · · · > ǫk > 0 sufficientlysmall and replace each yi by

yi := yi + (ǫi, ǫ2i ).

For the RSTP, it is well known that there exists an optimal tree whereeach component is full component/Hwang tree as shown in Fig. 4.1 (moredetails see Chapter 2 or [62]).

Figure 4.1: Hwang tree

The resulting set Y ⊆ R2 has pairwise different coordinates. Moreover,

if∑

ǫi + ǫ2i < 1

2 , any optimum Steiner tree T ∗ for Y must correspond toan optimum Steiner tree T ∗ for Y . Note that, in addition, the perturbedinstance Y can be assumed to generate a Hanan grid without any inducedsquares. (Choose ǫ1, · · · , ǫk so as to ensure that ǫi − ǫj 6= ǫ2

h − ǫ2l holds for

all pairwise different i, j, h, l).Ganley and Cohoon ([48]) present a straightforward dynamic program-

ming problem computing an optimum Steiner tree T ∗ by composing T ∗

from Hwang trees in the cheapest way. The details of the algorithm can befound in Chapter 2 or [48].

In [48], it is shown that there are (modulo polynomial factors) at most1.62k Hwang sets of Y . Foßmeier and Kaufmann ([40]) further restrict theset of candidates for T ∗-components by showing that each T ∗-componentcan be assumed to be a so-called tree star (a Hwang tree with certainadditional properties). They show that, in the worst case, the numberof tree stars is in between 1.32k and 1.38k, yielding an improvement ofthe running time in the above dynamic programming to O∗(2.38k). Theanalysis leading to the upper bound in [40] is rather involved. We presenta somewhat simpler approach yielding several new bounds in this chapter.

The currently fastest algorithms in practice ([100],[107]) first computesHwang trees for all candidate sets and then seeks to compose the optimum

Page 71: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.2 Tree star 57

tree from these candidate sets - not necessarily by dynamic programming,but rather by solving a related integer programming problem. In any case,the number of candidate sets determined in the preprocessing phase is cru-cial for the efficiency of the algorithm. Having an improved bound on thenumber of tree stars also allows us to estimate the impact of possible furtherrestrictions on the candidate sets. For example, Zachariasen [109] exhibitsadditional properties of T ∗-components, which are both natural and helpfulin practice. From a theoretical point of view, the new properties are of nohelp.

4.2 Tree star

Consider an optimal Steiner tree T ∗ as following Fig. 4.2, let y0, · · · , yl,yl+1 represent for upper terminal points and y′0, · · · , y′l−1, y

′l for lower termi-

nal points, and s0, s′0, · · · , sl, s

′l, sl+1 for the corresponding Steiner points,

which are the projections of the y0, y′0, · · · , yl, y

′l, yl+1 onto the chain.

yl+1yl

y′l

s′l

s′lsl+1

r

y0

s0

s′0

y′0

y1

s1

yl+2

Figure 4.2: Terminals in a component.

Let S ⊆ R2 denote the set of Steiner nodes of T ∗. Clearly, the optimal

Steiner tree T ∗ must be a minimal spanning tree for the set Y ∪ S. Thissimple necessary condition on T ∗ is followed several properties of T ∗ asintroduced in Chapter 2.

Relative to a fixed component of T ∗ as in Fig. 4.2, we have two kindsof diamonds as in Fig. 4.3, which are the squares with diagonals as the linefrom terminal point to the corresponding Steiner point and the segment thatconnect two neighboring Steiner points. The diamonds can be described asfollows.

Lemma 4.2.1. ([109, 44]) Diamonds must be empty.

Page 72: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

58 Chapter 4: Tree star and candidate component

yl+1

y′l

r

y0

y′0

y1

Figure 4.3: Diamonds

The proof of this Lemma can be found in Chapter 2 or [109, 95, 44].

Then we consider rectangles R = R[yi, y′i] and R = R[y′i, yi+1], defined

by their diagonal endpoints (yi, y′i) resp. (y′i, yi+1) (see Fig. 4.4). Again,

rectangles must be empty regions in the above sense.

Lemma 4.2.2. ([109, 44]) Rectangles must be empty.

The proof of this Lemma can also be found in Chapter 2 or [109, 95, 44].

yi

yi−1

y′i−1

y0

y′0 y′

1

y1

r

Figure 4.4: Rectangles

The third condition is the empty triangle condition. Let Bd(x) andBd(C) denote the l1-balls (the ball in l1-norm) of radius d > 0 aroundx ∈ R

2 resp. the Steiner chain C. Let di > 0 (d′i > 0) denote the distanceof yi (y′i) to C. For i = 1, · · · , l, l + 1, let

∆(yi) := Bdi(yi) ∩ Bdi

(C)

denote the triangle defined by yi, see Fig. 4.5, ∆(y′i) can be defined in thesimilar way.

Page 73: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.2 Tree star 59

yi

y′j

y′l

sl+1r

y0

Figure 4.5: Triangles

In [40] (cf. also [65]), a tree star is defined to be a Hwang tree thatsatisfies the empty diamonds and empty rectangles condition and is, inaddition, an MST of its terminals and Steiner points. So, in particular, thepart of the tree induced by r, s0, s

′0, · · · , s′l, sl+1 and r, y0, y

′0, · · · , y′l, yl+1

must be an MST of these points. The latter is equivalent to the followingweak empty triangle condition. We will prove this statement after Lemma4.2.3.

Lemma 4.2.3. No triangle of yi or y′i contains any yj or y′j in itsinterior.

As mentioned above, we will prove that the tree star considered in [40] isa Hwang tree which satisfied the empty region condition and weak trianglecondition, i.e., the weak triangle condition in a Hwang tree is equivalent tothe condition that the Hwang tree is an MST for the terminals and Steinerpoints it contains.

Lemma 4.2.4. A Hwang tree is an MST for the terminals and Steinerpoints it contains if and only if this Hwang tree satisfies weak triangle con-dition.

Proof. Let T be a Hwang tree with terminals r, y0, y′0, · · · , yl+1 and

Steiner points z0, z′0, · · · , zl+1, and

V := r, y0, y′0, · · · , yl+1, z0, z

′0, · · · , zl+1.

As in the proof of Lemma 4.2.3 we find that if T is an MST in G = (V,E),where E is the set of “edges” joining any two vertices in V , then the weakempty triangle condition must be satisfied.

Page 74: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

60 Chapter 4: Tree star and candidate component

Conversely, assume T is not an MST in G, and let T ∗ be a shorterspanning tree. Then there exist e ∈ T ∗\T and f ∈ T\T ∗ such that

T ′ = T + e − f

is shorter than T . We find that e must join either two upper terminals yi

and yj or two lower terminals y′i and y′j (since all other vertices are alreadyconnected in the shortest possible way in T ). Hence assume, say, that econnects yi to yj, see Fig. 4.6,

yizj

yj

e

Figure 4.6: T + e.

Then it is clear that T ′ can only be shorter than T if f = [yi, zj ] and

|yjzj | < |yizj |,

implying that the weak condition is violated.

Actually, a stronger empty region condition can be derived,

Lemma 4.2.5. ([109, 44]) Each triangle ∆(yi) or ∆(y′i) must beempty.

Proof. Assume y′ ∈ Y is in the interior of ∆(yi). Removing [yi, si] fromT ∗ would leave two subtrees T1 and T2 containing yi resp. si (and hencethe chain C). If y′ ∈ T2, then joining y′ to yi would yield a tree shorterthan T ∗, see Fig. 4.7, a contradiction.

Similarly, y′ ∈ T1 would imply a shorter tree, obtained by joining y′ toC, see Fig. 4.8.

The last empty region condition is the empty circles condition given in[109]: For i = 1, · · · , l, let

ri =: min|s′i−1si|, |s′isi|, di.

Page 75: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.3 The number of tree stars 61

s

T1

y′

yi

si tT2

Figure 4.7: Triangle condition: case 1

si

T1

T2

yi

t

y′

Figure 4.8: Triangle condition: case 2

The empty circles condition states that each Bri(si) (Br′i(s′i) with r′i =:

min|s′isi|, |s′isi+1|, d′i) contain no terminals in its interior, see Fig. 4.9.

Foßmeier and Kaufmann [40] present a rather involved analysis showingthat the number of tree stars is bounded by O∗(1.384k) and provide anexample problem allowing 1.32k tree stars. In the next section, we take asomewhat simpler approach, leading to a bound O∗(1.357k), and providean example proving that our bound is tight.

4.3 The number of tree stars

As mentioned, a tight bound of O∗(1.357k) will be presented for thenumber of tree stars in this section. Firstly, the upper bound will be ob-tained for the number of tree stars from a forbidden case, and the lowerbound is achieved by giving an example in the second part. The work ofthis section is based on our research in [44].

Page 76: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

62 Chapter 4: Tree star and candidate component

Figure 4.9: Empty circles.

4.3.1 The upper bound

Let α ≈ 1.8393 denote the unique real root of the polynomial x3 −x2 −x − 1. Our main result can then be stated as:

Theorem 4.3.1. The number of tree stars is bounded by O∗(√

αk) ≈

O∗(1.357k).

To prove this theorem, we consider a (fixed) Steiner chain C with ter-minals y0, · · · , yl+1 above and y′0, · · · , y′l below the chain, so that y′i is inbetween yi and yi+1 as in Fig. 4.10. We seek to analyze the number of treestars that have C as Steiner chain, and y0 and yl+1 as first resp. last upperterminal attached to C.

yl

y′l

yl+1

sl+1

s′lsl

s′1s1

r

y0

s0

s′0

y′0

y1

y′1

Figure 4.10: Terminals above and below the chain.

In what follows, a tree star always means a tree star with chain C andy0, yl+1 as first resp. last upper terminal. We are interested in which of theremaining terminals yi (i = 1, · · · , l) such a tree star may include. Slightlymisusing our notation, we treat each yi also as a boolean variable indicatingwhether yi is included in a given tree star or not. So we define a tree starsequence (TSS) to be the sequence y0, · · · , yl+1 ∈ 0, 1l+2 that corresponds

Page 77: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.3.1 The upper bound 63

to a tree star as above (hence, in particular, y0 = yl+1 = 1). Let ql be anumber of the TSS’s, then it is by O∗(αl). (Note that l ≤ k/2 must hold.)

We start by providing various constraints on tree star sequences. Forexample, if yj ∈ ∆(yi), see Fig. 4.11, then the weak empty triangles con-dition implies that yi = yj = 1 cannot occur in a TSS. We say that 11 isforbidden for yiyj in this case.

yi

yl+1

r

y0yj

Figure 4.11: 11 is forbidden for yiyj.

Another, similar, type of constraint is presented in Lemma 4.3.2 below.Let di and d′i denote the distances of yi resp. y′i from C.

Lemma 4.3.2. If di > di+1 and d′i > d′i+1, then 10 is forbidden foryiyi+1.

Proof. Assume to the contrary that some TSS has yi = 1 and yi+1 = 0.Let j > i + 1 be the first index with yj = 1. The lower terminal y′k tobe included in the corresponding tree star, in between yi and yj, is thenat least as close to the chain as y′i+1 (according to the empty rectanglescondition, y′k is the lower terminal in between yi and yj which is closest tothe chain). So k ≥ i + 1, contradicting the empty rectangle condition (asyi+1 is contained in the rectangle R[yi, s

′i+1] with diagonal [yi, s

′i+1] ).

Lemma 4.3.2 shows that any local minimum yi, i.e., any yi with di <di−1 and di < di+1 implies a forbidden 10 for yi−1yi or a forbidden 01 foryiyi+1 (depending on whether d′i−1 > d′i or d′i−1 < d′i holds). In some cases,we can derive an additional constraint:

Lemma 4.3.3. Let yi be a local minimum with, say, d′i−1 > d′i. Ifdi−2 > di, then either 100 is forbidden for yi−2yi−1yi or 001 is forbiddenfor yi−1yiyi+1, depending on whether d′i−2 > d′i or not.

Page 78: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

64 Chapter 4: Tree star and candidate component

yi

si

s′i

y′i

yi+1

si+1

s′i+1

y′i+1

Figure 4.12: 10 is forbidden for yiyi+1.

Proof. Consider first the case where d′i−2 > d′i (cf. Fig. 4.11) andassume to the contrary that yi−2yi−1yi = 100 is part of a TSS, i.e., there is atree star T that includes yi−2, but neither yi−1 nor yi as upper terminal. Letyj, j > i, denote the first upper terminal included in T . The correspondinglower terminal between yi and yj is then either y′i (as d′i < d′i−1 and d′i <d′i−2) or some lower terminal y′r, r ≥ i. Then yi ∈ R[yi−2, s

′r] violates the

rectangle condition.The case where d′i−2 < d′i can be obtained in the similar way.

yi−2

yi−1

yi

yi+1

y′i−2 y′

i−1

y′i

Figure 4.13: Illustration of Lemma 4.3.3.

Lemma 4.3.4. Assume di−1 > di > di+1 and d′i−1 < d′i < d′i+1 holdsfor some 1 ≤ i ≤ l − 1. Then either yi ∈ ∆(yi−1) or y′i ∈ ∆(y′i+1) oryi, y

′i ∩ D[si−1, si+1] 6= ∅.

Proof. Assume to the contrary that none of these three possibilitiesoccurs. Then see Fig. 4.14, yi must be to the right of y′i, which is ridiculous.

Page 79: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.3.1 The upper bound 65

yi−1

si−1

s′i+1

y′i+1

Figure 4.14: Feasible regions for yi and y′i.

This simple observation leads to the following constraints on TSS’s:

Lemma 4.3.5. Assume dl−2 > · · · > dl+1 and d′l−3 < · · · < d′l. Thenone of the following holds:

a) 11 is forbidden for yl−2yl−1.

b) 11 is forbidden for yl−1yl.

c) 000 is forbidden for yl−2yl−1yl.

Proof. If yl−1 ∈ ∆(yl−2), then a tree star may not contain both yl−1

and yl−2 (weak empty triangles condition), so 11 is forbidden for yl−2yl−1.Similarly, if y′l−1 ∈ ∆(y′l), a tree star may not contain both y′l−1 and y′l.Consequently, it must not contain both yl−1 and yl (because together withyl+1, these would imply the inclusion of the lower terminals y′l−1 and y′l).Thus y′l−1 ∈ ∆(y′l) forbids 11 for yl−1yl.

According to Lemma 4.3.4, we will analyze the case where yl−1, y′l−1

∩D[sl−2, sl] 6= ∅. We claim that 000 is forbidden for yl−2yl−1yl in this case.Indeed, assume to the contrary that T is a tree star that does not includeany of yl−2, yl−1 and yl. Due to our assumptions dl−2 > · · · > dl+1 andd′l−3 < · · · < d′l, we conclude that T does not contain any of y′l−2, y′l−1

and y′l either. Let y′i denote the last lower terminal contained in T . Hencei ≤ l − 3. Then D[s′i, sl+1] ⊇ D[sl−2, sl] is nonempty, contradicting theempty diamonds condition.

Page 80: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

66 Chapter 4: Tree star and candidate component

We are now prepared to prove our main result in a special (though cru-cial) case: decreasing sequence. A tree star with l+2 above terminal pointsis called monotone tree star (MST) or decreasing tree star if it satisfies thatd0 > · · · > dl+1 and d′0 < · · · < d′l.

Lemma 4.3.6. Let d0 > · · · > dl+1 and d′0 < · · · < d′l. Then ql ≤1.183αl.

Proof. For l ≤ 2 the claim is trivial, as q2 ≤ 22 ≤ 1.183α2. Henceassume l ≥ 3. First note that, due to the special structure of our instance(distances dj decreasing, and d′j increasing), a tree star T which does notinclude yi, also does not include y′i. The number of TSS with yi = 0 istherefore at most ql−1 by induction. (It might actually be less in case someTSS for the instance with yi and y′i removed corresponds to a Hwang treecontaining yi or y′i in a forbidden region.)

We proceed by induction on l. According to Lemma 4.3.5, there arethree possible cases:

c) 000 is forbidden for yl−2yl−1yl. Induction then yields

ql ≤ 1.183 · [αl−1 + αl−2 + αl−3] = 1.183αl ,

where the terms in brackets account for the TSS’s ending with 11, 101and 1001, resp.

b) 11 is forbidden for yl−1yl. Induction gives

ql ≤ 1.183 · 3 · αl−2 ≤ 1.183αl,

where the factor 3αl−2 induce to the TSS’s ending with 001, 011 and101.

a) 11 is forbidden for yl−2yl−1. Induction yields

ql ≤ 1.183 · 6 · αl−3 ≤ 1.183αl,

where the factor 6αl−3 accounts for the 6 possible endings of TSS’s00 ∗ 1, 01 ∗ 1 and 10 ∗ 1.

Page 81: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.3.1 The upper bound 67

The second assumption in Lemma 4.3.6 can easily be removed:

Lemma 4.3.7. Assume d0 > · · · > dl+1. Then ql ≤ 1.183αl.

Proof. The case where d′0 < · · · < d′l is settled by Lemma 4.3.6. Henceassume that d′i > d′i+1 for some i. Then Lemma 4.3.2 applies, showing that10 is forbidden for yiyi+1. Thus induction gives

ql ≤ 1.183 · αl−1 + 1.1832 · αl−2 ≤ 1.183αl.

Here, the factor 1.183αl−1 accounts for the TSS’s with yi = 0 and thefactor 1.1832 ·αl−2 upper bounds the number of TSS’s, with yiyi+1 = 11.

Lemma 4.3.8. Let d0 < · · · < dj > dj+1 > · · · > dl+1. Then ql ≤1.4αl.

Proof. For l ≤ 4 the claim is trivial, as 24 < 1.4α4. Hence assume l ≥ 5.If d′i > d′i+1, for some i ≥ j, then 10 is forbidden for yiyi+1. Thus inductionyields

ql ≤ 1.4 · αl−1 + 1.4 · 1.183αl−2,

where the first term accounts for all TSS’s with yi = 0 and the second termaccounts for all TSS’s with yi = 1 and yi+1 = 1. (Observe that Lemma 4.3.7applies to the subsequence yi+1, · · · , yl+1.) We conclude that ql ≤ 1.4αl inthis case. Similarly, the claim follows in case d′i < d′i+1 for some i < j.(Consider the reverse sequence yl+1, · · · , y0.)

Finally, assume that d′j < · · · < d′l and d′0 > · · · > d′j−1 holds. Wemay then (by passing to the reverse order yl+1 · · · y0 if necessary) w.l.o.g.assume that j ≤ l − 3 unless l = 5 and j = 3. In any case we may assumethat dl−2 > dl−1 > dl > dl+1 and d′l−3 < d′l−2 < d′l−1 < d′l, so that Lemma4.3.5 applies. We distinguish between the following three cases accordingto Lemma 4.3.5:

a) If 11 is forbidden for yl−2yl−1, induction yields

ql ≤ 1.4 · 6 · αl−3 ≤ 1.4αl,

where the factor 6αl−3 accounts for the TSS’s ending with 00∗1, 01∗1and 10 ∗ 1.

Page 82: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

68 Chapter 4: Tree star and candidate component

b) If 11 is forbidden for yl−1yl, induction yields

ql ≤ 1.4 · 3 · αl−2 ≤ 1.4αl.

c) If 000 is forbidden for yl−2yl−1yl, induction yields

ql ≤ 1.183[αl−1 + αl−2 + αl−3] = 1.4αl.

We now finally arrive at the

Proof. of Theorem 4.3.1: We claim that ql ≤ 1.4αl holds in general. Weare left to deal with the case where some local minimum exists. Let yi bethe deepest local minimum, i.e., di is minimal with respect to the propertythat di < di−1 and di < di+1. W.l.o.g., assume that d′i−1 > d′i, then 10 isforbidden for yi−1yi. In case i = 1, we thus have yi = 1 for every TSS, asy0 = 1 is fixed, and the result follows by induction. Hence assume i ≥ 2.We distinguish two cases:

1) di−2 > di. In this case, either 100 is forbidden for yi−2yi−1yi or 001is forbidden for yi−1yiyi+1 (cf. Lemma 4.3.3).

In other words, yi−1yi = 00 either implies yi−2 = 0 or yi+1 = 0. In bothcases we conclude, by induction, that the number of TSS’s with yi−1yi = 00is at most 1.4αl−3. Hence, induction yields

ql ≤ 2 · 1.42αl−2 + 1.4αl−3 ≤ 1.4αl.

(The first term bounds the number of TSS’s with yi−1yi = 01 or 11)

2) di−2 < di. In this case d0 < d1 < · · · < di−2 < di−1 must hold(otherwise yi were not the deepest local minimum). Bounding inductivelythe number of TSS’s with yi−1 = 0 and yi−1 = yi = 1, we get

ql ≤ 1.4 · αl−1 + 1.183 · 1.4 · αl−2 ≤ 1.4αl.

Page 83: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.3.2 The lower bound 69

4.3.2 The lower bound

It is obvious from Lemma 4.3.6, what a worst case example matchingthe upper bound should look like. We let s0 = 0, s1 = 1− ǫ and, in general,si is defined by

|si−1si| = (1 − ǫ)2|si−2si−1|,for suitable ǫ > 0. We let d0 = 1 and d1 = (1 − ǫ)2, and in general,

di+1 = (1 − ǫ)2di.

The lower terminals are given by s′l = l + 12 , s′l−1 = l − 1

2 + ǫ, dl = 1 and

|s′i−1s′i| = (1 − ǫ)2|s′is′i+1| and d′i = (1 − ǫ)2d′i+1.

For ǫ > 0 sufficiently small, we have si ≈ i and s′i ≈ i + 12 . It is

straightforward to check that any sequence y0, · · · , yl+1 with no more thantwo consecutive zeroes is a TSS. Fig.13 below indicates some empty regions.(For simplicity, the figure is drawn with ǫ = 0.) To verify, say, the emptydiamonds condition, consider a diamond D = D[s′i−2, si+1] as in Fig. 13below. A sequence with yi−2yi−1yiyi+1 = 1001 would correspond to a treeT containing yi−2 and yi+1 on the upper side and y′i−2 on the lower side (asthis is closest to the chain). For ǫ = 0, the diamond D has no terminals inits interior, but e.g., yi is on its boundary, as di = 1 = |sisi+1| holds. Forǫ > 0, we have

di = (1 − ǫ)2i and |sisi+1| = (1 − ǫ)di,

so that yi is not (no longer) contained in D. A symmetric argument appliedto y′i−1, indeed shows that D is empty. Furthermore, any subtree fulfills the(weak) empty triangle condition. Hence any sequence with no more thantwo consecutive zeroes is a TSS.

It is straightforward to check that the tree stars corresponding to such aTSS also satisfy the (strong) empty triangles and circles conditions. In ad-dition to these empty regions conditions, [109] proves various upper boundson the length dl+1 of the last vertical segment. To modify our worst caseexample so as to also meet these additional constraints, one simply has tochoose the last terminal yl+1 sufficiently close to the chain.

Summarizing, we conclude that the following holds

Page 84: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

70 Chapter 4: Tree star and candidate component

(1 − ǫ)r+1

(1 − ǫ)r

Figure 4.15: A tight worst case example.

Proposition 4.3.9. In the worst case, there are up to Ω(√

αk) tree

stars satisfying the empty triangles and circles condition. In particular, theupper bound in Theorem 4.3.1 is tight.

4.3.3 Remarks

We like to remark that our upper bound O∗(1.357k) can only be provedfor suitably perturbed instances. Indeed, the worst case instance (Fig.4.15) with ǫ = 0, would allow many more tree stars: Actually any sequencewith at most 4 consecutive zeroes would be a TSS. (If yi = yi+5 = 1 andyi+1 = · · · = yi+4 = 0, the corresponding tree star must include y′i+2 aslower terminal.) This yields 1.96l TSS’s or 1.4k tree stars, disregardingpossible choices for the lower terminals.

A second point we want to stress is that what we count is the number oftree stars, rather than the actual number of potential components (candi-date components) of the optimum tree T ∗. For example, observe that noneof the tree stars we count in our worst case example (Fig. 4.15) occurs inthe optimum tree. So it is quite possible that the number of “candidatesets” can be further reduced. We will improve this bound somewhat in thenext section.

In this context it is of interest that we input our worst case example toGEOSTEINER 3.1, a software package (cf. http://www.diku.dk/ geosteiner/)which generates full components on the basis of empty regions conditionsas well as other more “global” conditions. These other conditions are seem-ingly quite strong, at least they ruled out most of our tree stars from thelist of candidates so that the number of candidate sets generated for ourworst case example was much smaller than αl. In contrast, the “worstcase example” from Foßmeier and Kaufmann ([40]) gave rise to many more

Page 85: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4 The number of candidate components 71

candidate sets. The numbers of generated candidate sets for FK- instancesand ours (labeled TS) for various values of l are shown in Table 4.1 below.

l 5 10 15 20 25

FK 104 235 448 817 1498

TS 29 54 79 104 129

Table 4.1: The number of candidate sets.

The experimental results from GEOSTEINER 3.1 seem to indicate thattree stars are not the final truth and that there are many more conditions oncandidate sets that one should take into account. Yet, as mentioned earlier,knowing the exact number of tree stars may help us also to estimate moreaccurately the effect these additional conditions have on the number ofcandidate sets.

4.4 The number of candidate components

In this section, we will investigate an improved upper bound for thenumber of candidate components. Two forbidden cases will be presented,and an improved upper bound will be derived from these forbidden cases.

4.4.1 Forbidden case 1

In what follows, a candidate component sequence (CSS) is a sequencey0, · · · , yl+1 which corresponds to a candidate component in the obviousway (i.e., in the way a TSS corresponds to a tree star). We aim at de-riving further constraints on CCS’s. To this end, we will introduce thefollowing notation. Let z be a finite 0 − 1 string of length s. We saythat z is forbidden somewhere in yi, yi+1, · · · , yi+t, if z is forbidden for atleast one of t− s + 1 contingent substrings of yi, yi+1, · · · , yi+t. Otherwise,z is allowed everywhere in yi, yi+1, · · · , yi+t. Sometimes, we also use thatyi, yi+1, · · · , yi+t = z is allowed (forbidden) to represent for that z is allowed(forbidden) for yi, yi+1, · · · , yi+t.

Lemma 4.4.1. In a candidate component, if di > · · · > di+8 and d′i <· · · < d′i+8, with 1 < i < l − 8, either of the following holds,

Page 86: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

72 Chapter 4: Tree star and candidate component

a) 1001 is forbidden somewhere in yiyi+1yi+2yi+3yi+4yi+5yi+6yi+7yi+8;

b) 111 is forbidden for yi+1yi+2yi+3.

yiyi+1

yi+3

y′

i

yi+2 yi+4 yi+5

yi+8yi+7

yi+6

y′

i+4y′′

i+3 y′

i+5 y′

i+6

y′

i+1 y′

i+2

y′

i+7

Figure 4.16: Tree star in forbidden case 1

Proof. Assume to the contrary that neither a) nor b) holds for a set ofterminals as in Fig. 4.16.

Since yi+1yi+2yi+3 = 111 is possible, there exists a component like inFig. 4.17. For suitable i + 3 < j ≤ l + 1, let yj be the first upper terminalto the right of yi+3 which is also included in the component.

yi+2 yi+3

y′i+1 y′

i+2 y′i+3

yj

yi+1

Figure 4.17: Subtree T in forbidden case 1

Now we will prove that T can be replaced by a shorter subtree T ∗ asshown in Fig. 4.18,

Denote by C(T ) the length of T , then

C(T ) = di+1 + di+2 + di+3 + dj + d′i+1 + d′i+2 + d′i+3 + |sjsi+1|, (1)

Page 87: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.1 Forbidden case 1 73

yi+2

yj

y′i+1 y′

i+2 y′i+3

yi+3

yi+1

Figure 4.18: Subtree T ∗ in forbidden case 1

and

C(T ∗) = di+1 + di+2 + |sjsi+1| + d′i+3 + |s′i+3si+1|. (2)

So

C(T ) − C(T ∗) = di+3 + dj + d′i+1 + d′i+2 − |s′i+3si+1|. (3)

By assumption, 1001 is allowed for yiyi+1yi+2yi+3 like in Fig. 4.19. Acorresponding candidate component has exactly one lower terminal pointbetween yi and yi+3. From the rectangle condition, this terminal shouldbe y′i since it is the closest one to the chain. Then the diamond D[s′i, si+3]should be as in Fig. 4.19.

yi+1 yi+2 yi+3

y′i

s′isi+3

yi

y′i+1 y′

i+2

Figure 4.19: yiyi+1yi+2yi+3 = 1001 is allowed

From the diamond condition, y′i+2 and y′i+1 would be outside the di-amond D[s′i, si+3]. On the other hand, y′i+1 should be to the left of the

Page 88: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

74 Chapter 4: Tree star and candidate component

vertical diagonal of D[s′i, si+3] from the triangle condition, or it will be inthe triangle of y′i+2. Hence we conclude that

d′i+1 > |s′is′i+1|. (4)

Since 1001 is allowed for yi+1yi+2yi+3yi+4 like in Fig. 4.20, similarly tothe above analysis, we can obtain

d′i+2 > |s′i+1s′i+2|. (5)

yi+3 yi+4

y′i+3

yi+2yi+1

y′i+1

y′i+2

Figure 4.20: yi+1yi+2yi+3yi+4 = 1001 is allowed

Combining (3), (4) and (5), the following formula can easily be obtained,

C(T ) − C(T ∗) = di+3 + dj + d′i+1 + d′i+2

−|si+1s′i+1| − |s′i+1s

′i+2| − |s′i+2s

′i+3|

> di+3 + dj − |s′i+2s′i+3|.

(6)

From Fig. 4.20, we also have

di+3 > |si+3si+4| > |si+3s′i+3|. (7)

By the assumption, 1001 is allowed for yi+2yi+3yi+4yi+5, then yi+3 mustbe outside of D[s′i+2, si+5] like in Fig. 4.21.

It is easy to obtain that

di+3 > |s′i+2si+3|. (8)

From the formula (7) and formula (8), we have,

Page 89: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.1 Forbidden case 1 75

yi+3 yi+4 yi+5

y′i+2

y′i+4

y′i+3

yi+2

Figure 4.21: yi+2yi+3yi+4yi+5 = 1001 is allowed

2di+3 > |s′i+2si+3| + |si+3s′i+3| = |s′i+2s

′i+3|. (9)

This sequence is decreasing, then 000 is forbidden for yi+4yi+5yi+6 fromthe Lemma 4.3.1, which implies that j ≤ 6.

By the assumption, we know that the cases yi+5yi+6yi+7yi+8 = 1001and yi+4yi+5yi+6yi+7 = 1001 are allowed. Similar to the above proof, wehave

2di+6 > |s′i+5s′i+6|. (10)

In Fig. 4.22, we have (from the triangle condition and 1001 is allowedfor yi+3yi+4yi+5yi+6)

|s′i+5s′i+6| > d′i+5.

By assumption that the case yi+4yi+5yi+6yi+7 = 1001 is allowed, theny′i+5 should be outside D[s′i+4, si+7] as shown in Fig. 4.23. It is ease toverify that

d′i+5 > |s′i+4s′i+5|.

With a similar analysis, we have

|s′i+4s′i+5| > d′i+4 > |s′i+3s

′i+4| > d′i+3 > |s′i+2s

′i+3|. (11)

From the formula (10) and (11), we can get

Page 90: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

76 Chapter 4: Tree star and candidate component

yi+4 yi+5

y′i+3

y′i+5

yi+6

y′i+4

yi+3

Figure 4.22: yi+3yi+4yi+5yi+6 = 1001 is allowed

yi+6 yi+7

y′i+4 y′

i+5 y′i+6

yi+4 yi+5

Figure 4.23: yi+5yi+6yi+7yi+8 = 1001 is allowed

2di+6 > |s′i+2s′i+3|

Combining this case with formula (9), we have

2di+3 + 2di+6 > 2|s′i+2s′i+3|. (12)

Formula (12) implies that

di+3 + dj > |s′i+2s′i+3|

since j ≤ i + 6.Finally, we achieve that

C(T ) − C(T ∗) > di+3 + dj − |s′i+2s′i+3| > 0.

Page 91: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.1 Forbidden case 1 77

The result means that if neither a) nor b) holds, the subtree T can bereplaced by the shorter tree T ∗ in an optimal candidate component. Thiscontradicts that the candidate component is optimal.

Clearly, T ∗ is only one of possible shorter trees which can be used toreplace T . There also exist some other such kind of shorter trees. Theproofs of these results are similar to that of Lemma 4.4.1, we will notdescribe here. Here, the “decreasing sequence” is to used to represent asequence in decreasing order as Lemma 4.4.1.

For the sequence with 1001 being allowed everywhere, we have the fol-lowing propositions,

Proposition 4.4.2. In a decreasing sequence, if 1001 is allowed foryiyi+1yi+2yi+3, we have

|si+1si+2| > di+2 > |si+2si+3|.

About the proof, we can refer to the proof of Lemma 4.4.1.Now we consider another proposition for the 1001 “allowed” sequence.

Proposition 4.4.3. In a decreasing sequence, if 1001 is allowed every-where in yiyi+1yi+2yi+3yi+4, then

di+2 ≥ 1

4|s′isi+3|. (13)

Proof. Assume to the contrary that

di+2 <1

4|s′isi+3|. (14)

By the assumption, 1001 is allowed for yiyi+1yi+2yi+3, then yi+2 mustbe outside of D[s′i, si+3] like in Fig. 4.19.

Similarly to the above analysis, we have

|si+2si+3| ≤ di+2, (15)

From the triangle condition, we have

di+2 <1

4|s′isi+3|

Page 92: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

78 Chapter 4: Tree star and candidate component

and also

|s′is′i+1| < d′i+1 < |s′i+1s′i+2|.

Hence we obtain

|s′is′i+1| ≤1

2(|s′is′i+1| + |s′i+1s

′i+2|) =

1

2|s′is′i+2| <

1

2|s′isi+3|. (16)

Combining (15) and (16), we can get

|s′i+1si+2| = |s′isi+3| − |s′is′i+1| − |si+2si+3|≥ (1 − 1

2 − 14)|s′i+1si+3| = 1

4 |s′isi+3|.(17)

By the assumption that yi+1yi+2yi+3yi+4 = 1001 is allowed, similar tothe above analysis, (see Fig 4.20), we find (using (17)),

di+2 > |s′i+1si+2| >1

4|s′isi+3|, (18)

contradicting (14).

4.4.2 Forbidden case 2

The Lemma 4.4.1 will improve the upper bound of the number of can-didate components. However, there exists another stronger forbidden case,which can improve the upper bound much more. The statement and theproof of this case are similar to the forbidden case 1 in Lemma 4.4.1.

Lemma 4.4.4. Assume di > · · · > di+5 and d′i < · · · < d′i+5, theneither of the following holds,

a) 1001 if forbidden in somewhere yiyi+1yi+2yi+3yi+4yi+5;

b) 1111 is forbidden for yi+1yi+2yi+3yi+4.

Proof. The proof of this Lemma is similar to that of Lemma 4.4.1.Assume to the contrary that neither a) nor b) holds for the candidate com-ponent in Fig. 4.24.

Since 1111 is allowed for yi+1yi+2yi+3yi+4, there exists a candidate com-ponent in Fig. 4.25 for suitable i + 1 < j ≤ l + 1.

Page 93: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.2 Forbidden case 2 79

yiyi+1 yi+2 yi+3

yi+4 yi+5

y′i y′

i+1 y′i+2 y′

i+3 y′i+4

Figure 4.24: Tree star in forbidden case 2

yi+2 yi+3 yi+4 yj

y′i+1 y′

i+2 y′i+3 y′

i+4

yi+1

Figure 4.25: Subtree T in forbidden case 2

In the following part we will prove this lemma by showing that subtreeT can be replaced by another shorter tree T ∗, see Fig. 4.26.

From Fig. 4.25 and Fig. 4.26, we have

C(T ) = di+1+di+2+di+3+di+4+dj+d′i+1+d′i+2+d′i+3+d′i+4+|si+1sj|, (19)

andC(T ∗) = di+1 + di+2 + d′i+4 + |si+1sj| + |si+1s

′i+4|. (20)

Compare T ∗ with T , we have,

C(T ) − C(T ∗) = di+1 + di+2 + di+3 + di+4 + dj

+d′i+1 + d′i+2 + d′i+3 + d′i+4 + |si+1sj|−(di+1 + di+2 + d′i+4 + |si+1sj| + |si+1s

′i+4|)

= di+3 + di+4 + dj + d′i+1 + d′i+2 + d′i+3 − |si+1s′i+4|.

(21)

Page 94: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

80 Chapter 4: Tree star and candidate component

yi+2 yi+3

y′i+4

yj

yi+1

yi+4

y′i+3

y′i+2

y′i+1

Figure 4.26: Subtree T ∗ in forbidden case 2

By assumption, 1001 is allowed for yiyi+1yi+2yi+3. A correspondingcandidate component has exactly one lower terminal point y′i between yi

and yi+3. Then the diamond D[s′i, si+3] should be as in Fig. 4.27.

yi+1 yi+2 yi+3

y′i

s′isi+3

yi

y′i+1 y′

i+2

Figure 4.27: yiyi+1yi+2yi+3 = 1001 is allowed

In this diamond, y′i+2 and y′i+1 would be outside of the diamond D[s′i, si+3].On the other hand, yi+1 should be to the left of the vertical diagonal ofD[s′i, si+3] by the triangle condition, or it will be in the triangle of y′i+2.Then the formula (22) follows

d′i+1 ≥ |s′is′i+1| > |si+1s′i+1|. (22)

From the fact that 1001 is allowed for yi+1yi+2yi+3yi+4 like Fig. 4.28,the following formulas can be achieved,

d′i+2 > |s′i+1s′i+2|, (23)

Page 95: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.2 Forbidden case 2 81

and

di+3 > |si+3si+4| > |s′i+3si+4|. (24)

yi+3 yi+4

y′i+3

yi+2yi+1

y′i+1

y′i+2

Figure 4.28: yi+1yi+2yi+3yi+4 = 1001 is allowed

The assumption states that 1001 is allowed for yi+2yi+3yi+4yi+5 like Fig.4.29. So we conclude that

d′i+3 > |s′i+2s′i+3|, (25)

and

di+4 > |si+4si+5| > |si+4s′i+4|. (26)

yi+3 yi+4 yi+5

y′i+2

y′i+4

y′i+3

yi+2

Figure 4.29: yi+2yi+3yi+4yi+5 = 1001 is allowed

Combining (21), (22), (23), (24), (25) and (26), the following result is

Page 96: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

82 Chapter 4: Tree star and candidate component

achieved,

C(T ) − C(T ∗) = di+3 + di+4 + dj + d′i+1 + d′i+2 + d′i+3 − |si+1s′i+4|

= di+3 + di+4 + dj + d′i+1 + d′i+2 + d′i+3 − (|si+1s′i+1|

+|s′i+1s′i+2| + |s′i+2s

′i+3| + |s′i+3si+4| + |si+4s

′i+4|)

= (d′l+1 − |si+1s′i+1|) + (di+2 − |s′i+1s

′i+2|)

+(d′i+3 − |s′i+2s′i+3|) + (di+3 − |s′i+3si+4|)

+(di+4 − |si+4s′i+4|) + dj

> dj > 0.(27)

If a) and b) are allowed, this formula implies that the subtree T in acandidate component can be replaced by a shorter subtree T ∗, contradictingthe fact that the candidate component is optimal.

Similarly, the subtree T ∗ is only one of shorter subtrees. There existother even shorter trees. We will not discuss these cases here.

4.4.3 Monotone candidate components

In this section, an upper bound will be calculated for the number ofcandidate components by means of the above forbidden cases. Here weonly consider the case of a decreasing sequence since it is (currently) theworst case. The general case will be considered in the next section.

After roughly calculating, we find the upper bound for the number ofthe candidate components from the forbidden case 1 (Lemma 4.4.1) is worsethan that from the forbidden case 2 (Lemma 4.4.4). Thus we only showthe upper bound from the forbidden case 2.

According to Lemma 4.3.5, one of the following three cases must beforbidden: yj−1yjyj+1 = 000, yj−1yj = 11 or y′jy

′j+1 = 11 for any 2 ≤ j ≤

l − 1. Here we only consider the following two cases: yi−1yiyi+1 = 000 isforbidden or yi−1yi = 11 is forbidden since the analysis of case with y′iy

′i+1 =

11 forbidden is similar to that for yi−1yi = 11 forbidden. From Lemma4.4.4, there are two other forbidden cases: 1001 is allowed everywhere inyj−5yj−4yj−3yj−2yj−1yi and 1111 is allowed for yj−4yj−3yj−2yj−1, where5 ≤ j ≤ l + 1. Combining these two lemmas, we get in total 4 possiblecases:

(1) 000 is forbidden for yj−1yjyj+1 and 1001 is forbidden somewhere inyj−5yj−4yj−3yj−2 yj−1yj;

Page 97: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.3 Monotone candidate components 83

(2) 000 is forbidden for yi−1yiyi+1 and 1111 is forbidden for yj−4yj−3yj−2yj−1;

(3) 11 is forbidden for yj−1yj and 1001 is forbidden somewhere in yj−5yj−4

yj−3yj−2yj−1yl;

(4) 11 is forbidden for yi−1yi and 1111 is forbidden for yj−4yj−3yj−2yj−1.

In the following part, we will consider all these cases respectively. Forsimplicity, we only consider the last several terminals in a candidate com-ponent as yl−4, yl−3, yl−2, yl−1, yl and yl+1 (the case j = l).

4.4.3.1. Case 1: 1001 is forbidden somewhere in yl−4yl−3yl−2yl−1

ylyl+1 and yi−2yi−1yi = 000 for i ≤ l.

W.o.l.g., assume xl is a candidate component sequence with the lastterminal yl+1 = 1, and let ql be the number of such components.

From the assumption that 000 is forbidden yi−2yi−1yi, no three con-secutive 0’s appear in a CCS. Similarly, 1001 must forbidden for one ofyl−2yl−1ylyl+1, yl−3yl−2yl−1yl or yl−4yl−3yl−2yl−1, which implies that if twoof them are allowed, the remaining one should be forbidden. W.l.o.g.,assume that both yl−2yl−1ylyl+1 = 1001 and yl−3yl−2yl−1yl = 1001 areallowed, while the case yl−4yl−3yl−2yl−1 = 1001 is forbidden.

Now we will consider the number of candidate components with yl+1 =1. All the possible cases will be presented in the following structure tree.In this structure tree, the first layer only has one branch, which repre-sents yl+1 = 1; the second layer has two branches: left branch and rightbranch, which represent yl = 1 and yl = 0, respectively; the third layerhas four branches, etc. In the structure graph, if the branch containsyl−4yl−3yl−2yl−1 = 1001, it will not be considered any more since this caseis forbidden. The branch with yi−2yi−1yi = 000 will not be considered ei-ther. Next to these two cases, the branch will also stop in another case withyj = 1, j ≤ l − 2, and that case does not contain yl−4yl−3yl−2yl−1 = 1001or yi−2yi−1yi = 000 (i − 2 ≥ j). The number of branches in this case is qj.Then the branches stop at the following cases,

a) The branch with yl−4yl−3yl−2yl−1 = 1001;

b) The branch with yi−2yi−1yi = 000;

Page 98: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

84 Chapter 4: Tree star and candidate component

0

0

0 1

ql−3

0 1

0

1

1

ql−4 ql−4

0

1

1

1

1

ql−300 0

1 0 1

ql−3

0

ql−4

1

ql−3

0

1

1

Figure 4.30: Structure tree: case 1

c) the branch with yj = 1, j ≤ 2, and not containing yl−4yl−3yl−2yl−1 =1001.

In the structure tree, represents that the branch is forbidden and • qj

means that the number of this branch is qj. Since a) and b) are forbiddencases, we need not consider these branches. In case c), the number of CSS’sis ql−i. The possible cases are shown as in Fig. 4.30.

From the structure tree, we can obtain that ql = 4ql−3 + 3ql−4. Assumeql = βαl, this formula can be rewritten as βαl = 4βαl−3 + 3βαl−4, orα4 = 4α + 3. The positive real solution of this equation is α ≈ 1.7844.

4.4.3.2. Case 2: 1111 is forbidden for yl−3yl−2yl−1yl and 000 isforbidden for yi−2yi−1yi for i ≤ l.

Similar to the analysis in the above case, we will present the possiblebranches in the following structure tree. In this case, every branch will endat yl−3yl−2yl−1yl = 1111, yi−2yi−1yi = 000 or yi = 1, with i ≤ l−1, and notcontain yl−3yl−2yl−1yl = 1111. The possible cases are as in the followingFig. 4.31.

From Fig. 4.31, we can get ql = ql−2 + 2ql−3 + 2ql−4 + 2ql−5 + ql−6.Suppose ql = βαl, then α6 = α4 +2α3 +2α2 +2α+1, the positive real rootof this equation is α ≈ 1.7871.

4.4.3.3. Case 3: 11 is forbidden for yl−2yl−1.

Page 99: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.3 Monotone candidate components 85

1

0

0

1

0

10 0

0

0

1

1

1

1

01

0

0

1

1 0

0

1

1

1

0

01

10

1

1

ql−5 ql−5 ql−5 ql−5

ql−6ql−6

ql−6

0ql−4

1

0

0

1

0

1

0ql−4

0 110

ql−5ql−5

0

ql−6

1ql−4

1

1

Figure 4.31: Structure tree: case 2

In the following part, we will consider the remain cases: case (3) andcase (4). For the simplicity, here we only consider the more general casewith yl−2yl−1 = 11 forbidden since we only want to get the upper bound.

Assume pl is the number of component with y1 = 0, then either thebranch ends at yl−2yl−1 = 11 or each branch starts with yi = 0 and doesnot contain yl−1yl−2 = 11. The possible cases are shown in Fig. 4.32.

10

0 1

0

pl−1

pl−2

Figure 4.32: Structure tree: case 3.1

We have pl = pl−1 + pl−2. Suppose pl = βαl, we can get α2 = α + 1.The real root of this equation is 1.6180. Now we will consider the numberof components with yl+1 = 1. The possible cases are shown in Fig. 4.33.

We can get ql < pl−1 + pl−2. Suppose yl = βαl, then α ≈ 1.680.

From the above analysis, it is easy to obtain the following Lemma,

Page 100: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

86 Chapter 4: Tree star and candidate component

1

0

0 1

1

pl−1

pl−2

Figure 4.33: Structure tree: case 3.2

Lemma 4.4.5. If d1 < d2 < · · · < dl < dl+1 and d′1 > d′2 > · · · >d′l > d′l+1, the number of candidate components ql satisfies ql ≤ p · αl with

p = 1.2745 and α = 1.7871l.

The proof can be obtained from the above analysis.

4.4.4 The number of candidate components

Now we will consider more general cases from the following lemma,

Lemma 4.4.6. Let d0 > d1 > · · · > dl+1, then ql ≤ p · αl = 1.2745 ·1.7871l.

Proof. For l ≤ 5 the claim is trivial, hence assume l > 5. If d′i > d′i+1,then 10 is forbidden for yiyi+1, see Fig. 4.34. Thus induction yields

1.2745 · αl−1 + 1.2745 · pαl−2 ≤ p · αl = ql.

Here the first term accounts for all CSS’s with yi = 0 and the secondterm accounts for all CSS’s with yi = 1 and yi+1 = 1. We conclude thatql ≤ 1.2745 · 1.7871l in this case. Similarly, the claim follows in case d′i <d′i+1 for some i < j (consider the reverse sequence yl+1, · · · , y0.)

We now finally arrive at our main theorem,

Theorem 4.4.7. The number of candidate components satisfies ql ≤p · α with p = p2 = 1.6244 and α = 1.7871l.

Page 101: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.4 The number of candidate components 87

yi yi+1

y′i

y′i+1

yi−1

yi+2

Figure 4.34: The case with d′i > d′i+1

Proof. We claim that yl ≤ p1 ·αl = 1.6448 ·1.7871l holds in general. Wehave already discussed the monotone candidate components and increasing,while we are left to deal with the case of a local optimal point.

First, we consider the case d0 < · · · < di−1 < di and di > di+1 >· · · > dl+1, i.e., yi is a local maximal point. W.l.o.g., assume d′i > · · · >d′i−1 > d′i < d′i+1 < · · · < d′l+1 (the remaining cases can be proved in asimilar way). The left part is an increasing sequence and the right part isa decreasing sequence, cf. Fig. 4.35. The number of possible tree star isless than p2αl = pαl = ql.

yi−3yi−2

yi−1

yi

yi+1yi+2

yi+3

y′i−3

y′i−2

y′i−1 y′

i+1 y′i+2

y′i+3

y′i

Figure 4.35: Local maximal point

Then we calculate the case with d0 > · · · > dj−1 > dj and dj < dj+1 <· · · < dl+1, i.e., yj is a local minimal point. Similarly, assume that d′0 <· · · < d′j−1 > d′j > d′j+1 and d′j+1 < · · · > d′l+1 (the remaining cases can beproved in the similar way). The left part is a decreasing sequence and the

Page 102: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

88 Chapter 4: Tree star and candidate component

right part is an increasing sequence, see Fig. 4.36.

yj−2 yj−1

yj+3

y′j−3y′

j−2 y′j−1 y′

j+1

y′j+2

y′j+3

yj+2yj+1yj

yj−3

y′j

Figure 4.36: Local minimal point

If yj = 1, then the number of the possible cases is p2αl−1.If yj = 0, the case is impossible. If not, assume yn resp. ym is the

first left and right 1 to yj, then yj must be in the rectangle R[yn, y′m−1]or R[yn, ym]. (Fig. 4.37 shows the case of R[yn, y′m−1]). Then the abovecase contradicts with the triangle condition, so yj can not be 0. The totalnumber of CSS’s with yj being local minimal is

p2αl−1 < p · αl.

yj−1yj

yj+1yn

y′n

ym

y′m−1

y′j

y′j−1

Figure 4.37: The case with yj = 0

Now we arrive at the case with more than one local optimal points.Normally, if there is a local maximum point (unless the last local optimalpoint), it must be followed a local minimum terminal point. The localmaximum point and the following local minimum point are called a couple.Assume that, the number of CSS’s with i upper terminal points satisfies

Page 103: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.4.4 The number of candidate components 89

that qi ≤ pi · αi for any i ≤ l − 1, hence consider the case with l upperterminal points.

Assume yi and yj are the first local maximum point and the followinglocal minimum point in the first couple. The terminals can be separated intothree parts: an increasing sequence (from y0 to yi), a decreasing sequence(from yi to yj) and the remaining part (from yj to yl+1). W.l.o.g., assumed′i−1 > d′i and d′j−1 > d′j , see Fig. 4.38. (Remaining cases can be proved inthe a similar way.)

yi−3yi−2

yi−1

yiyi+1

yi+2

y′i−3

y′i−2

y′i−1

y′i

y′i+1 y′

i+2

yj+1

yj+2yj−1

y′j−1

y′j

y′j+1

yj

Figure 4.38: Local minimal point and local maximal point

If j > i+2, similar to the above analysis, yj = 0 is impossible, so yj = 1.Then the number of possible CSS’s is less than

p2αj−1 · pαl−j = pp2αl−1 < pαl = ql.

In case j ≤ i + 2 (see Fig. 4.39), the possible cases are,

yi = 1, yi−1yiyi+1yi+2 = 1001 or yi−2yi−1yiyi+1yi+2 = 10001.

Then the number of candidate components is less

ppαl−1 + ppαl−4 + ppαl−5 ≤ pαl = ql.

From the above theorem, the number of candidate component with k(≈ 2l) terminals can be obtained as

1.6244 · 1.7871l ≈ 1.6244 · 1.7871k2 ≈ 1.6244 · 1.3368k .

Page 104: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

90 Chapter 4: Tree star and candidate component

yi−2

yi−1 yiyi+1

yi+2

y′i−2 y′

i−1

y′i y′

i+1

y′i+2

Figure 4.39: The case with j ≤ i + 2

4.4.5 Remarks

As mentioned in the above section, this bound is an upper bound for thenumber of candidate components. An interesting open problem is whetherone can exhibit conditions that imply a polynomial upper bound on thenumber of candidate sets. This would imply a running time O∗(2k) for thedynamic programming algorithm.

4.5 Two conditions for the candidate component

Clearly, not every tree star is a candidate component. These conditionsconsidered in the above sections have affected the upper bound of the num-ber of candidate components. There are also some others conditions whichcan not affect the upper bound distinctly, however, which can be used tofilter out some tree stars in practice. In this section we will present suchkinds of conditions. First, we will introduce one condition which is pro-vided by Bomhoff [12] for a tree star to be a candidate component. Thena topological structure, so called “two-layer tree”, for monotone tree starwill be presented. A “two layer tree condition” is obtained as well.

4.5.1 T -branches condition

The first condition is called T -branches condition provided by Bomhoff[12], we will shortly introduce it as follows.

Lemma 4.5.1. [12] In a tree star T , let yi, yj and yk, i < j < k,be three terminal points on the same side of the chain with dj < di and

Page 105: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.5.1 T -branches condition 91

dj < dk. Ifdi + dj + dk > |sisk| + max(di, dj , dk), (28)

then T is not a candidate component for an optimal tree.

Proof. W.l.o.g., assume dk > di, then yi, yj and yk should be as in Fig.4.40,

yi

si sj

yj

sk

yk

Figure 4.40: T in T -branch condition

Clearly, the total length of paths which connect all these three terminalsto the chain is di + dj + dk. Consider a new path of T ∗. It it connects yi, yj

and yk to the chain, as in Fig. 4.41. The length of this path is |sisk| + dk.

yi

si sj sk

yk

yj

Figure 4.41: T ∗ in T -branch condition

From the formula (28), we have di + dj + dk > |sisk|+ dk, which meansthat T ∗ is shorter than T . Then T could not be a part of a candidatecomponent.

If yj is the lowest one among these three terminals, the above lemmaprovides a necessary condition for a tree star to be a candidate component.We point out that if di, dk < dj , see Fig. 4.42, the formula (28) will neverbe satisfied. From the weak triangle condition, |sisj| > di and |sksj| > dk.Then we have |sisk| = |sisj| + |sjsk| > di + dk, formula (28) will not besatisfied.

Page 106: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

92 Chapter 4: Tree star and candidate component

sj sk

yi

si

yj

yk

Figure 4.42: yj is the maximum one

If di < dj < dk, as in Fig. 4.43 (the case di < dj < dk can be proved ina similar way), we have |sisj| > di and |sjsk| > dj from the weak trianglecondition. Hence |sisk| > di + dj . The formula (28) will never be satisfied.

sk

yi

si

yj

sj

yk

Figure 4.43: yj is the middle one

This lemma can filter out some candidate components in practice. How-ever, numerical results show that only very few candidates can be filteredout by this condition [12].

4.5.2 Two-layer tree

In this part, we will present another necessary condition for a tree starto be a candidate component. Let’s start with the concept of shifting thechain: Normally, shifting the chain to one side will not reduce the totallength of the tree star. However, if the number of segments of one sideconnecting to the chain could be reduced, shifting the chain may reducethe total length of the tree. Actually, in the proof of Lemma 4.4.1 andLemma 4.4.4, we have used a kind of chain shifting. According to the chainshift, we will present a new condition for the monotone tree star. Finally,the optimal topological structure for monotone tree star is achieved.

Page 107: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.5.2 Two-layer tree 93

As mentioned above, the lower bound example T in Section 4.3.2, asshown in Fig. 4.44, is not optimal for small enough ǫ, since we can get ashorter tree T ∗, see Fig. 4.45, which also connects all the terminal points.(Let ǫ = 0, we can get a extreme case with C(T ) = 3(l + 1) + 1

2 andC(T ∗) = 2(l + 1) + 4 + 1

2 .)

r

y1 y2

y′1

yl

y′l

yl+1

y′0

y0

Figure 4.44: T in the example

r

y1 y2

y′1

yl

y′l

yl+1

y′0

y0

Figure 4.45: T ∗ in the example

We call the tree in Fig. 4.45 as a two-layer tree since it has two chainsat each x coordinate. In practice, there is a part of tree star, which canbe replaced by a shorter two-layer subtree. In the following part, we willdiscuss the way to get such a kind of (possible) two-layer subtree.

Consider a part of a monotone tree star which starts with yi and endswith yj as in Fig. 4.46, the length of T is

C(T ) = |s′i−1s′j| +

j∑

k=i

dkd′k.

Assume there is a two-layer optimal tree T ∗ for T , see Fig. 4.47. The

Page 108: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

94 Chapter 4: Tree star and candidate component

yiyi+1

y′i y′

i+1

yj−1

y′j−1

yj

y′j

s′i−1 s′j

Figure 4.46: Subtree of a monotone tree star

total length of the above layer and below layer is

L := |sisj| + di − dj + |s′is′j| + d′j − d′i.

yi

y′i+1

y′i

y′j−1

yjyj−1

yi+1

y′j

Figure 4.47: Above layer and below layer

Now we will consider how T ∗ connects the left subtree, the part of treestar which is left to T . There are four possible connections: yi directlyconnects to the left subtree (see Fig. 4.48 i), y′i directly connects to the leftsubtree (see Fig. 4.48 ii), yi connects the left subtree through si and s′i−1

(see Fig. 4.48 iii) and y′i connects the left subtree through si and s′i−1 (seeFig. 4.48 iv).

The lengths of all these cases will be considered separately.If yi directly connects to the left subtree, the path from yi to the left

subtree is zi−1yi, and the distance of this path is A1 := |si−1si|. In case of

Page 109: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.5.2 Two-layer tree 95

yi−1

y′

i−1y′

i

s′i−1

y′

i

si−1 s′i−1

i ii iii iv

si

zi−1

z′i

yiyi

s′is′i−1

Figure 4.48: Connection to the left subtree

y′i directly connecting to the left subtree, the distance is A2 := d′i − d′i−1 +|s′i−1s

′i|. The third case is yi connecting to the left subtree through si,

then the connecting path consists of the segments s′i−1si and yisi, and thelength of this path is A3 := |s′i−1si| + di. The distance of the last possibleconnection is A4 := |s′i−1s

′i| + d′i. Here we have to point out that A4 > A2

from the weak triangle condition. However, we still consider A4 becausethe last case is a special case when we consider the connection between theabove and below layer.

Then, the connection between the above layer and the below layer willbe calculated. In an optimal tree, the connection which contains zkz

′k and

z′kz′k−m with m ≥ 2 is forbidden. If not, consider the connection with m = 2

as in Fig. 4.49. We can obtain a shorter connection containing zkz′′k and

z′′kz′k−1 from the weak triangle condition (|s′k−2s′k−1| > d′k−2 > |z′k−2y

′k−2|).

This connection also connects the above and the below layer.

yk−2yk−1 yk yk+1

y′k−3 y′k−2y′k−1 y′k y′k+1

zk

z′kz′k−1

z′k−2

z′′k

Figure 4.49: Forbidden connection

Page 110: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

96 Chapter 4: Tree star and candidate component

The possible connecting path between the above layer and the belowlayer should be either zkz

′′k or the combination of zkz

′k and z′kz

′k−1, like

in Fig. 4.50. The length of the possible connections is either B1 :=min

k∈[i+2,j−1]dk+1 + d′k−1 or B2 := min

k∈[i+3,j]dk+1 + d′k−2 + |s′k−1sk|.

yk−2yk−1 yk yk+1

y′k+1

y′ky′k−1

y′k−2

zk

z′k−1 z′kz′′k

Figure 4.50: Possible connections

Finally, we will compute the length connections of T ∗ to the right sub-tree, the part of the tree star which is left to T . There are also four cases:yj directly connects to the right subtree with the length C1 := dj − dj+1 +|sjsj+1|, y′j directly connects to y′j+1 with the length C2 = |s′js′j+1|, yj con-nects the right subtree through s′j with the length C3 := |s′jsj+1|+dj , and y′jconnects the right subtree through s′j with the length C4 := |s′js′j+1|+d′j+1.

In the most cases, if there exists a two-layer tree, we can get it bychecking the following formula,

C(T ∗)1 = minA1, A2, A3, A4 + minB1, B2 + minC1, C2, C3, C4 + L.(29)

There are two additional cases to which we should pay more attention:left subtree connects to y′i through si and right subtree connects to y′ithrough s′i, since the above and the below layer can be connected with ashorter segment zisi and z′js

′j rather than the segments from B1 and B2.

If the left subtree connects to yi through si, as in Fig. 4.51, the aboveand the below layer can be connected through zisi. The length of T ∗ inthis case is

C(T ∗)2 = A4 + di+1 + minC1, C2, C3, C4 + L. (30)

Page 111: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.5.2 Two-layer tree 97

y′i−1

si

s′i+1

y′i

yi

zi

s′i−1

Figure 4.51: yi directly connects to y′i

In case the right subtree connects the y′i through s′i, the below layer canbe connected to the above layer through the segment z′js

′j. The length of

T ∗ is

C(T ∗)3 = minA1, A2, A3, A4 + d′j−1 + C3 + L. (31)

Comparing all the possible cases, we can get that the possible minimallength of two-layer tree T ∗ is

C(T ∗) = minC(T ∗)1, C(T ∗)2, C(T ∗)3. (32)

Clearly, if there is a T ∗ satisfying that C(T ∗) < C(T ), T can not bea part of candidate component. We call this condition as “a two-layercondition”.

Theorem 4.5.2. (Two-layer tree condition) Let T be a part of amonotone tree star, if there exists a T ∗ which can be used to replace Tand C(T ∗) < C(T ), the tree star containing T can not be a candidatecomponent.

Then, we will calculate the complexity for computing all the possibleC(T ∗) in a tree star with l upper bound terminals. For a consecutivepart T in a tree star with m upper terminals, the number of steps tocompute formula (32) takes in O(m). There are at most l −m consecutivesubsequences in a tree star. The total complexity of this checking is O(l3).

It means that if a monotone tree star is not optimal and its optimaltree is a two-layer tree, this optimal tree can be found in polynomial timeO(l3).

Page 112: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

98 Chapter 4: Tree star and candidate component

In fact, for a non-optimal monotone tree star (MTS), we can prove thatthe topological structure of its optimal tree is such a kind of two-layer tree,implying that we can get (check) the optimal tree for a MTS in polynomialtime.

If we say point a directly connects to point b, it means that there is apath p between a and b, and p does not contain any other terminals excepta and b. W.l.o.g., assume the optimal tree is a canonical tree (cf. Chapter2). We have the following lemma for each upper terminal yi,

Lemma 4.5.3. In an optimal tree for MTS, if yi does not directlyconnect to the closest above terminal point or the closet below terminalpoint in one direction (left or right), yi will not directly connect to anypoints in this direction.

About the (involved) proof of this lemma, we can be refer to the Ap-pendix A.

Take the right direction for example, if yi does not directly connect toeither of y′i or yi+1, yi can not directly connect to yj or y′j with j > i.

The same results for each below terminal point can also be proved.

Then an important theorem can be obtained for a MTS,

Theorem 4.5.4. The optimal tree for a MTS is the combination of twotopological structures: one-layer tree and a two-layer tree.

About the proof of this theorem, we can refer to Appendix A as well.

According to this theorem, if a MTS is not optimal, a part of it canbe replaced by a shorter two-layer tree. Note that this part may also bereplaced a combination of several two layer trees.

From Theorem 4.5.4, we have the following proposition,

Proposition 4.5.5. In the optimal tree for a MTS, there are at mosttwo horizontal segments at each x coordinate.

However, we still can not generalize this proposition to a general treestar (with more than one local optimal points). The bottleneck is thatthere may exist more layers at the local minimal point.

Page 113: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

4.6 Conclusion 99

4.6 Conclusion

In this chapter, we present several necessary conditions for the candidatecomponent. The upper bounds of the number of candidate components arealso improved. In the last part of this chapter, an optimal topologicalstructure is obtained for the monotone tree star. However, there is a greatgap between the number of tree star in theory and in practice. It is anopen problem that can we obtain the stronger necessary conditions (evena sufficient condition) for a tree star to be a candidate component.

Page 114: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT
Page 115: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Conclusion

In this thesis, the exact algorithms for the Steiner tree problem havebeen investigated. Firstly, we have presented two exact algorithms for theSteiner tree problem and the rectilinear Steiner tree problem. Then, severalnecessary conditions for the candidate component are provided. The upperbounds of candidate component are improved as well.

In chapter 3, two exact algorithms have been presented for the STP. TheDreyfus-Wagner algorithm is a well-known dynamic programming methodfor computing minimum Steiner trees in general weighted graphs in timeO∗(3k), where k is the number of terminal nodes to be connected. The firstalgorithm that we have presented improves the running time to O∗(2.684k)by showing that the optimum Steiner tree T can be partitioned into T =T1∪T2∪T3 in a certain way such that each Ti is a minimum Steiner tree ina suitable contracted graph Gi with less than k

2 terminals. In the rectilinearcase, there exists a variant of the dynamic programming method that runsin O∗(2.386k). In this case, our splitting technique yields an improvementto O∗(2.335k) with |Gi| ≤ 0.477k.

The second algorithm is in time of O∗((2+ δ)k) for any δ > 0. Since theoptimal tree can be separated into (many) components of size at most ǫk+1,the optimal tree for all the small components will be generated firstly in ouralgorithm. Thus, the optimal tree is achieved by adding such components(in some order), one at a time, until the constructed tree spanning all theterminals.

However, we have to point out that these algorithms are only interestingin theory. We can not claim that our improvements are of any practical use.Then it is interesting to design algorithms which are efficient in practice.

We have improved the complexity of the exact algorithm, however, itseems difficult to get an algorithm with the complexity less than O∗(2k).

Page 116: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

CONCLUSION 102

The open problem is that whether there exist an algorithm in time lessthan O∗(2k) for the Steiner tree problem.

Every rectilinear Steiner tree problem admits an optimal tree T ∗ whichis composed of tree stars. Moreover, the currently fastest algorithms forthe rectilinear Steiner tree problem proceed by composing an optimum treeT ∗ from tree star components in the cheapest way. The efficiency of suchalgorithms depends heavily on the number of tree stars (candidate compo-nents). Foßmeier and Kaufmann [40] showed that any problem instancewith k terminals had a number of tree stars in between 1.32k and 1.38k

(modulo polynomial factors) in the worst case. We have obtained a forbid-den case for tree star, which is followed by a way to calculate the upperbound of the tree stars, and determined the exact bound O∗(ρk) whereρ ≈ 1.357.

Two new forbidden cases are obtained by us for the candidate compo-nent. According to this forbidden cases we have obtained the upper boundO∗(1.337k) for the number of candidate components. A new necessary con-dition, so called “two layer condition” is presented for the monotone treestar as well to be candidate component. Moreover, an optimal topologicalstructure for the optimal tree in the “decreasing case” is achieved from the“two layer condition”.

We obtain several necessary conditions for the candidate component,and the upper bounds of the number of candidate component are improvedcorrespondingly. The two-layer tree condition works on the part of tree staras well, which is followed by the improvement of upper bound. However,the optimal structure for the general tree star case can not be achieved inthe same way. In fact, according to the numerical results [109] in practice,the number of candidate component is almost linear. There is a greatgap between the upper bound in theory and in practice. Investigation ofstronger necessary conditions (even sufficient condition) is our future work.

Page 117: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Appendix A

Optimum structure for a

monotone tree star

As mentioned in Chapter 4, we will prove Lemma 4.5.3 and Theorem4.5.4 in this appendix.

Firstly, several forbidden cases will be achieved for the optimal tree ofa monotone tree star (MTS). Then the topological structure of the optimaltree will be obtained.

A.1 Forbidden cases

The monotone tree star (MTS) has attracted much interest since it isalways the worst case for the number of candidate component, as mentionedin Chapter 4. The terminal points in this kind of tree star have somespecial topological features. For example, there is no upper terminal pointsgreater (smaller) than Yyi to the left (right) of yi, where (Xa, Ya) are thex- and y- coordinates of a. This statement makes the discussion of thepossible topological structures easier since many cases are prohibited bythese features.

Before considering these forbidden cases, we first introduce several no-tions and lemmas which will be used in the future proof.

Normally, there are several possible optimal trees for a set of terminalpoints, but here we only consider a so-called canonical tree. The definitionhas been given in Chapter 2, we will recall it here.

Page 118: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

104 Chapter A: Optimum structure for a monotone tree star

Definition A.1.1. (Definition 2.1.1)

A tree is said to be canonical if it does not allow any of the followingtransformations with the same length:

(1) a left-slide,

(2) an upleft-flip or downleft-flip,

(3) an up-slide or down-slide following the transformations in (2).

The definitions of the slide and flip can be referred to Chapter 2.

W.l.o.g., the optimal tree discussed in this appendix is a canonical tree.For a canonical tree, there are several important lemmas,

Lemma A.1.1. Let m be a segment with two non-terminal points a andb in a canonical tree, then there is no two perpendicular segments incidentto a and b from the same side.

For the proof of this lemma, we refer to [65].

Lemma A.1.1 yields the following important lemma.

Lemma A.1.2. Any segment in a canonical tree contains at least oneterminal point.

If there exists a segment which does not contain any terminal point, wecan get a canonical tree or a shorter tree by shifting this segment. For moredetail of the proof we refer to [65].

For ease of description, we introduce a notion of directly connection. Ifwe say a point a directly connects to a point b, it means that there is apath p between a and b, and this path does not contain any terminal pointsexcept a and b.

In the following, we will consider several forbidden cases of the optimaltree for an MTS as given in Fig. A.1.

W.l.o.g., we will focus attention on an upper terminal point yi and itsneighborhood terminals yi−1, y

′i−1, yi+1 and y′i. The same results for other

upper (lower) terminal points can be proved similarly.

Lemma A.1.3. In an optimal tree T ∗ for an MTS, if yi does not directlyconnect to yi+1 or y′i, then yi will not directly connect to yi+2.

Page 119: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.1 Forbidden cases 105

r

y1 y2

y′1

yl

y′l

yl+1

y′0

y0

Figure A.1: Monotone tree star

Proof. Assume to the contrary that, say, there is an optimal tree T ∗

for MTS with yi directly connecting to yi+2 through a path p and yi notdirectly connecting to yi+1 or y′i. Then the path p should be either overyi+1 or below yi+1.

(a) Firstly, consider the case where path p is over yi+1.

From the fact that T ∗ is an optimal tree for MTS, there is no yj (j > i)with the y− coordinate greater than Yyi . Then the path p can not be aboveyi. Otherwise there exists a horizontal segment connecting two upper verti-cal segments, which is contradicting Lemma A.1.1. Since original tree staris monotone, there is no terminals with x- coordinate in (Xyi ,Xyi+2) in thispath. From Lemma A.1.2, there is no vertical segment with x−coordinatein (Xyi ,Xyi+2), and there is only one horizontal segment in p between Xyi

and Xyi+2. The path p must be as shown in Fig. A.2.

y′

i−1

yiyi−1

yi+2

y′

i y′

i+1y′

i+2

yi+1

s m

Figure A.2: One possible case of path p

Assume that s and m are the projections of yi+1 resp. yi+2 on thehorizontal part of the path p, and n is the projection of yi+1 on myi+2.

Page 120: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

106 Chapter A: Optimum structure for a monotone tree star

The path p contains the segments yim and myi+2.

Now we will prove that no segments connects to the inner part of thepath p. Assume to the contrary that there exists a vertical segment con-necting to yim or a horizontal segment connecting to myi+2.

(a1) In case a horizontal segment p2 connects to the inner part of myi+2,this segment will never contain a terminal since there is no terminals yj

above yi+2 with j > i+2. The existence of this segment contradicts LemmaA.1.2, so this case is forbidden. The remaining case is that p2 connects top at m. Assume the first Steiner point to the right of m is n on p2, thenn connects a vertical segment from above or below. If the vertical segmentconnects n from above, we can get a canonical tree by shifting the verticalsegment to yi+2 as in the above proof. If the vertical segment connectsn from below, this contradicts Lemma A.1.2. Thus there is no horizontalsegments connecting to myi+2.

(a2) Now we will consider the case with the vertical segment p2 con-necting to the segment yim. W.l.o.g., assume yj is the terminal point whichdirectly connects to yi through p2, then j < i or j > i + 2.

In case j < i, there is no horizontal segments connecting to p2, the proofis similar to the part (a1). We can get a canonical tree as shown in Fig.A.3 by modifying p2 to yi, which contradicts that T ∗ is optimal.

yi

yi+1

b

sm

p2

yi+2

Figure A.3: The case j < i

If j > i + 2, we will get a horizontal segment with two lower verticalsegments connecting as shown in Fig. A.4, which contradicts Lemma A.1.1.

Therefore, no vertical segments connects to the inner part of path p.

Since there is no segments connecting to the inner part of p, we can geta cycle with the same length by modifying p to yi as Fig. A.5.

It follows that a shorter tree can be obtained, contradicts the fact that

Page 121: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.1 Forbidden cases 107

yi

yi+2

b m

yi+1

s

Figure A.4: The case j > i + 2

yi

n

s

yi+2

yi+1

Figure A.5: yiyi+2 is forbidden

T ∗ is optimal. So the path over yi+1 is forbidden.

(b) Now we will consider the case that the path p is below yi−1. Obvi-ously, yi+1 does not directly connect to the inner part of the path p or yi,otherwise we can get a path in which yi+1 directly connects to yi. It is easyto prove the forbidden of yi+1 directly connecting to yj with j < i, since ashorter tree can always be obtained by shifting the connecting path to yi.Similarly, yi+1 can not directly connect to yj with j > i+2. Then the onlyremaining case is that yi+1 directly connects to yi+2 as shown in Fig. A.6.

y′

i−1

yiyi−1

yi+2

yi+1

y′

i y′

i+1y′

i+2

s

Figure A.6: yi+1 directly connects to yi+2

Clearly, there is no terminals with x- coordinate between Xyi and Xy′

i+1

Page 122: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

108 Chapter A: Optimum structure for a monotone tree star

except for y′i and yi+1. So there is only one horizontal segment betweenXyi and Xy′

i+1by Lemma A.1.2. This segment can not be below y′i+1, as

otherwise, there exists a horizontal segment connecting two above verticalsegments, which contradicts Lemma A.1.2. Thus the horizontal segmentshould be between yi+2 and y′i+1 as shown in Fig. A.7.

y′

i−1

yi−1

yi+2

yi+1

y′

i y′

i+1y′

i+2

m ns

yi

Figure A.7: Horizontal segment

Assume m and n are the projections of yi resp. y′i+1 on this horizontalsegment.

(b1) If mn is above the original chain (the chain of the tree star), then|syi+2| > |st| by the triangle condition, where t is the projection of yi+1 onmn and s is the projection of yi+2 on yi+1t. Then we can get a shorter treeby deleting syi+2 and adding the segment st as in Fig. A.8. This case isforbidden.

y′

i−1

yiyi−1

yi+2

yi+1

y′

i

y′

i+2

m n

s

t

y′

i+1

Figure A.8: mn is above the original chain

(b2) If mn is below the original chain, then we will consider the possiblecases of y′i connecting to another part of the tree. There are again twopossible cases: j < i or j > i.

Page 123: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.1 Forbidden cases 109

(b21) Assume that y′i directly connects to y′j through path p2 withj > i, then the distance of the path p2 is greater than Xy′

i+1−Xy′

i. Similar

to the analysis part (b1), there is no vertical segments connecting to thishorizontal segment between Xyi and Xy′

i+1. Thus we can get a shorter

tree, as Fig. A.9, by deleting the path p2 and adding the segment y′it sinceXy′

i+1−Xy′

i> |y′it| by the weak triangle condition, where t is the projection

of y′i on mn.

y′

i−1

yiyi−1

yi+2

yi+1

y′

i y′

i+1y′

i+2

m nt

Figure A.9: y′i directly connects to y′j with j > i

(b22) Assume that y′i directly connects to y′j through path p2 withj < i. There is only one horizontal segment in the path p2 between Xy′

i−1

and Xy′

i, and no vertical segment connecting to this horizontal segment (the

proof is similar to part (a1)). Then the possible connection is as shown inFig. A.10, similar to the analysis of part (a) in this proof.

yiyi−1

yi+2

yi+1

y′

i+1

mn

t

y′

iy′

i−1

Figure A.10: y′i directly connects to y′j with j < i

Assume that t is the projection of y′i on mn, and s is the projectionof y′i−1 on yit, the length of path p2 is greater than |y′ist| + |ty′i−1| and|st| > |y′it| − |sy′i−1| by the triangle condition. We can get a shorter tree by

Page 124: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

110 Chapter A: Optimum structure for a monotone tree star

deleting the path ty′i−1 and adding the segment y′it. It contradicts that T ∗

is optimal, so this case is also forbidden.The lemma has been proved.

This lemma can be generalized to other upper terminal points.

Lemma A.1.4. In an optimal tree T ∗ for an MTS, if yi does not directlyconnect to y′i+1 or one of yj with i < j < k at the same time, then yi doesnot directly connect to the terminal points yk+1.

The proof of this lemma is similar to the proof of Lemma A.1.3.Now we will consider the relation of yi with yi−1 and yi−2.

Lemma A.1.5. In an optimal tree T ∗ for an MTS, if yi does not directlyconnect to yi−1 or y′i−1, then yi does not directly connect to yi−2.

Proof. Assume to the contrary that, say, yi directly connects to yi−2

through path p and yi does not directly connect to yi−1 and y′i−1. Similarto the proof for Lemma A.1.3, the path p must be either over yi−1 or belowyi−1.

If the path p is over yi−1, there is only one horizontal segment of thepath p between Xyi−2 and Xyi by Lemma A.1.2. Similar to the part (a) inthe proof for Lemma A.1.3, the path should be as shown in Fig. A.11.

yi−2

yi+1yi−1

yi

y′

i−2 y′

i−1y′

i

Figure A.11: The path is over yi−1

Similar to the parts (a1) and (a2) in the proof for Lemma A.1.3, wecan get a shorter tree or a canonical tree by shifting (part of) the path p,which contradicts that T ∗ is a canonical or an optimal tree. This case isforbidden.

Page 125: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.1 Forbidden cases 111

Now we consider the path below yi−1. Similar to part (b) in the prooffor Lemma A.1.3, yi−1 can only connect to the tree at yi−2, as Fig. A.12.

yi−2

yi+1yi

yi−1

y′

i−2

y′

i

m nt

y′

i−1

Figure A.12: mn is above the chain

There is no terminal points with the x- coordinates between Xy′

i−2and

Xyi except for yi−1 and y′i−1. There is only one horizontal segment betweenXy′

i−2and Xyi of the path p by Lemma A.1.2. Assume this horizontal

segment is mn, where m and n are the projection of y′i−2 resp. y′i on thishorizontal segment.

If mn is above the original chain, similar to the part of (b21), mn shouldbe as shown in Fig. A.12. Assume the projection of yi−1 on mn is t, thenXyi−1 −Xyi−2 > |yi−1t| by the weak triangle condition. The distance of yi−1

to yi−2 is greater than Xyi−1 − Xyi−2 . A shorter tree can be obtained bydeleting the path p and adding yi−1t, which contradicts that T ∗ is optimal.

Let mn be below the original chain of Hwang tree, as shown in Fig.A.13. Similar to the part of (b22), we can prove that this case is alsoforbidden.

yi−2

yi+1yi

yi−1

y′

i−2

y′

i

nm

y′

i−1

Figure A.13: mn is below the chain

The lemma has been proved.

Page 126: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

112 Chapter A: Optimum structure for a monotone tree star

Clearly, the above result also holds for other upper terminals,

Lemma A.1.6. In an optimal tree T ∗ for an MTS, if yi does not directlyconnect to y′i−1 or one of yj, with k < j < i, at the same time, then yi doesnot directly connect to the terminal points yk−1.

The third case is the relation of yi with y′i and y′i+1.

Lemma A.1.7. In an optimal tree T ∗ for an MTS, if yi does not directlyconnect to one of yi+1 or y′i, then yi does not directly connect to y′i+1.

Proof. Assume to the contrary that yi directly connects to y′i+1 throughpath p and p does not directly connect to either yi+1 or y′i. For the path p,there are the following cases:

• The path p is over yi+1;

• The path p is between yi+1 and y′i;

• The path p is below y′i.

If the path p is over yi+1, it should be as shown in Fig. A.14. Similarto the part (a) in the proof for the Lemma A.1.3, this case is forbidden.

yi−1

yi+2

yi

y′

i+1

yi+1

y′

i−1 y′

i

Figure A.14: p is over yi+1

If the path is below y′i, a shorter tree can be obtained, as shown in Fig.A.15, by modifying the path through y′i as well, and the proof is similarto part (a) in the proof for Lemma A.1.3. Therefore, this case will neveroccur.

Page 127: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.1 Forbidden cases 113

yi−1yi

yi+2yi+1

y′

i−1y′

i

y′

i+1

Figure A.15: p is below y′i

The last case is that the path p is between yi+1 and y′i as Fig. A.16.Similar to the analysis of the part (b) in the proof for Lemma A.1.3, thereis only one horizontal segment mn between Xyi and Xy′

i+1by Lemma A.1.2.

yi−1yi

yi+2yi+1

y′

i−1y′

i

y′

i+1

m n

Figure A.16: p is between yi and y′i+1

Assume that the horizontal segment is mn, then there are two casesfor mn: below the original chain and above the original chain. Similar tothe part of (b21) and (b22) in the proof of Lemma A.1.3, these cases areforbidden. The lemma holds.

We can generalize this result to other upper terminal points.

Lemma A.1.8. In an optimal tree T ∗ for an MTS, if yi does not directlyconnect to y′i or one of yj, with k < j < i, at the same time, then yi doesnot directly connect to the terminal points yk−1.

Now we will consider the last case,

Lemma A.1.9. In an optimal tree T ∗ for an MTS, if yi connects toneither yi−1 nor y′i−1 directly, then yi does not connect to y′i−2 directly.

Page 128: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

114 Chapter A: Optimum structure for a monotone tree star

Proof. Assume to the contrary that yi directly connects to y′i−2 throughpath p and yi connects to neither yi−1 nor y′i−1 directly.

Similar to the proof for Lemma A.1.3, there is only one horizontal seg-ment between Xy′

i−2and Xyi . This horizontal segment can not be over yi−1

and below y′i−1 by Lemma A.1.1 resp. Lemma A.1.2. Then the possible pis as shown in Fig. A.17.

yi+1

yi−2

y′

i−2

y′

i

yiyi−1

m n

y′

i−1

Figure A.17: yi directly connects to y′i−2

Similar to the proof for Lemma A.1.3, we conclude that these cases areforbidden.

The general case is as the following.

Lemma A.1.10. In an optimal tree T ∗ for an MTS, if yi does notdirectly connect to yi−1 or one of y′j, with k < j < i, at the same time, thenyi does not directly connect to the terminal point y′k−1.

From the above lemmas, we can get the Lemma 4.5.3.

Lemma A.1.11. (Lemma 4.5.3) In an optimal tree for an MTS, if yi

does not directly connect to the closest upper terminal point or the closestlower terminal point in one direction (left or right), yi will not directlyconnect to any points in this direction.

A.2 Optimum topological structure of an MTS

As mentioned in Chapter 4, we will prove that the optimal tree for anMTS should be the combination of two-layer tree and one-layer tree.

Page 129: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.2 Optimum topological structure of an MTS 115

Theorem A.2.1. (Theorem 4.5.4) The optimal tree for an MTS isthe combination of two topological structures: a one-layer tree and a two-layer tree.

Proof. The theorem will be proved by considering all the possible topo-logical structures of the optimal tree for an MTS. In the following, all thepossible topological structures will be calculated according to the possiblerelations of yi with its neighborhood points y′i, yi+1, yi−1 and y′i−1.

(1) The first case is that yi directly connects to one of its neighborhoodpoints y′i, yi+1, yi−1 or y′i−1.

(1.1) If yi only directly connects to y′i, there are three possible cases asshown in Fig. A.18: case (i) with yi and y′i being a part of a tree star; case(ii) and case (iii) with yi and y′i forming a Hwang tree.

yi−1 yi−1

yi+1yi

yi−1

yi+1yiyi yi+1

y′

i

y′

i−1 y′

i−1

y′

i y′

i

y′

i−1

i ii iii

Figure A.18: yi directly connects to y′i

Note that the chain in Fig. A.18 i probably do not overlap with theoriginal chain. However, the length of this Hwang tree is equivalent to thepart of the original Hwang tree which contains all these terminal points.

The possible connections of the left subtree to the right subtree will beconsidered in the following. W.l.o.g., we only consider the case (i) as shownin Fig. A.18, since the same results can be obtained for case (ii) and case(iii) in a similar way. In case (i), the right subtree must connect to theleft subtree at point y′i, otherwise any point in the right subtree can notconnect to the left subtree from the above lemmas.

Similar to the part (a1), we can get a shorter path, as shown in Fig.A.19, by modifying the path through y′i−1. Then it contradicts that T ∗ isoptimal. This case is forbidden.

Page 130: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

116 Chapter A: Optimum structure for a monotone tree star

yi−1

yi yi+1

y′

i−1

y′

i

Figure A.19: The forbidden of yi directly connecting to y′i

That yi (only) directly connects to y′i−1 can be proved in a similar way.

(1.2) In case yi directly connects to yi+1, yi can not directly connectto any terminal points left to yi since yi does not directly connect to yi−1

or y′i−1. Moreover, yi can not directly connect to any points left to yi+1,a shorter tree can be obtained by modifying the path through yi+1. Thenyi+1 is the unique terminal point to which yi directly connects. The pathbetween them is as shown in Fig. A.20,

yi+1yi

yi−1yi−2

y′

i

y′

i−1y′

i−2

Figure A.20: yi directly connects to yi+1

Now we consider the possible connection of the right part tree to theleft part. The right part of the tree must connect to the left part of thetree at y′i by Lemma A.1.3 and Lemma A.1.7. Moreover, yi should connectto the right subtree at yi−1, otherwise yi can not directly connect to anypoints to the left part by Lemma A.1.5 and Lemma A.1.9. From Fig. A.20we know that y′i and y′i−1 can not be a part of any tree star. So y′i andy′i−1 should be connected as Fig. A.21. The possible topological structureis obtained as in Fig. A.21.

Note that the topological structure in Fig. A.21 is the combination of

Page 131: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.2 Optimum topological structure of an MTS 117

yi+1yi

yi−1

y′

i−1y′

i

Figure A.21: Topological structure of yi directly connecting to yi+1

two two-layer trees, and these two trees are connected through y′i−1y′i.

A similar result for the case where yi directly connects to yi−1 can beproved in the similar way.

(2) Now we consider the second case: yi directly connects to two ofy′i, yi+1, yi−1 and y′i−1.

(2.1) We will firstly consider the case where yi directly connects to y′iand yi+1. If yi, y

′i and yi+1 are part of a tree star, the connection is as in

Fig. A.22.

yi+1

yi−1yi

y′

i

y′

i−1

Figure A.22: yi directly connects to y′i and yi+1

In this case, yi does not directly connect to yi−1 and y′i−1, so yi does notdirectly connect to any point left to yi and y′i by Lemma A.1.5 and LemmaA.1.9. The left subtree should connect to the right subtree through yi byLemma A.1.7. Similar to the analysis of the case that yi (only) directlyconnects to y′i, this case is forbidden.

If yi, y′i and yi+1 form a tree star, then the possible tree star should be

as in Fig. A.23, that this case is forbidden can be obtained with a similaranalysis.

So the case that yi directly connects to y′i and yi+1 is forbidden.

Page 132: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

118 Chapter A: Optimum structure for a monotone tree star

yi+1

y′

i−2

y′

i

yi

yi−2 yi−1

y′

i−1

Figure A.23: yi directly connects to y′i and yi+1

The forbidden of yi directly connecting to yi−1 or y′i−1 can be proved ina similar way.

(2.2) If yi directly connects to yi−1 and y′i, we can easily prove thatthere is no other terminal points directly connecting to yi except for yi andyi−1 (otherwise, a shorter tree can be achieved by modifying these pathsthrough one of its neighborhood points of yi, which contradicts the factthat T ∗ is optimal or yi does not directly connect to y′i−1 or yi). So thepossible connection must be as in Fig. A.24.

yi−2

yiyi−1

yi+1

y′

i−2 y′

iy′

i−1

Figure A.24: yi directly connects to yi−1 and y′i

The structure is as shown in Fig. A.25. It is also a combination of twotwo-layer trees.

The structure of the remaining three cases can be obtained in the waysimilar to the above analysis.

(3) We may consider the case that yi connects to three of y′i, yi+1, yi−1

and y′i−1.

W.l.o.g., we only consider that yi directly connects to y′i−1, yi−1 and y′i.The same results of other three cases can be obtained in a similar way. If

Page 133: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.2 Optimum topological structure of an MTS 119

yiyi−1

yi+1

y′

i−1y′

i

Figure A.25: yiy′i−1 is forbidden

these four points are a part of a tree star, the tree star should be like inFig. A.26.

yi+1

yiyi−1

y′

iy′

i−1

Figure A.26: yi directly connects to y′i−1, yi−1 and y′i

Similar to the above analysis, the right subtree must connect with theleft part at point y′i, and possible topological structure is as in Fig. A.26.

If these four points contain a tree star, the possible tree star is as shownin Fig. A.27.

yi+1yi

yi−1

y′

i−1

yi+1yi

yi−1

y′

iy′

i−1y′

i

Figure A.27: yi directly connects to y′i−1, yi−1 and y′i

Here we only consider the first case, the same result can be obtainedfor the second case. The possible structure is as in Fig. A.28.

Page 134: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

120 Chapter A: Optimum structure for a monotone tree star

y′

i

yi+1yi

yi−1

y′

i−1

Figure A.28: The possible structure

Similar results for other relations of yi directly connecting to three ofy′i, yi+1, yi−1 and y′i−1 can be proved in a similar way.

(4) We arrive at the last case in which yi directly connects to y′i, yi+1, yi−1

and y′i−1 at the same time. There are again two possible cases.(4.1) The first case is that these five points are part of a tree star. The

possible case is as shown in Fig. A.29.

yiyi−1

yi+1

y′

i−1 y′

i

Figure A.29: yi, y′i, yi+1, yi−1 and y′i−1 are a part of a tree star

(4.2) If these terminals contain a tree star, the possible case is as shownin Fig. A.30.

yiyi−1

yi+1

y′

iy′

i−1

yiyi−1

yi+1

y′

i−1 y′

i

Figure A.30: yi, y′i, yi+1, yi−1 and y′i−1 contain a tree star

Page 135: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

A.2 Optimum topological structure of an MTS 121

Similar to the above analysis, the possible structures are as shown inFig. A.31.

yiyi−1

yi+1

y′

i−1 y′

i

yiyi−1

yi+1

y′

i

Figure A.31: Optimal structure

We have discussed all the possible cases of yi connecting to its neigh-borhood terminal points. In each case, there are at most two layers at eachXyi (X ′

yi). So the theorem has been proved.

The above lemma implies that the optimal tree for a tree star has one ofthe above topological structure. Then we can get the following proposition.

Proposition A.2.2. (Proposition 4.5.5)In the optimal tree for an MTS, there are at most two horizontal seg-

ments at each x- coordinate.

Now we have come to our main results: If an MTS is not optimal, thenthere exists a part of it which can be replaced by a two-layer tree or acombination of several two-layer trees.

Note that there properly exists a one-layer tree T with the chain paral-lelizing to the original one. However, the length of T is equal to the lengthof the subtree of MTS which contains all the terminals in T .

Page 136: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT
Page 137: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Summary

The Steiner tree problem is one of the original 21 NP complete prob-lems, which has wide application in theorey and industry. There are nopolynomial time algorithms for it, and exact (acceptable exponential time)algorithms are the best we can obtain for pursuing the exact solution forthe all these problems. The main issue in exact algorithms is to improvethe worst case bounds, which is very interesting from both theoretical andpractical point of view.

In this thesis, I have presented some of our contributions on this prob-lem.

In the first chapter, we have introduced some backgrounds of the Steinertree problem. For easy understanding, we have explained some facts aboutcomplexity theory, especially the definition of NP has been introduced.Some recent results about algorithms for the Steiner tree problem are alsosummarized.

In Chapter 2, some properties about rectilinear Steiner trees have beenpresented, since the second part of our main contribution concerned withthis problem. Every rectilinear Steiner tree problem admits an optimaltree T ∗ which is composed of tree stars. Moreover, the currently fastestalgorithms for the rectilinear Steiner tree problem proceed by composingan optimum tree T ∗ from tree star components in the cheapest way. Theefficiency of such algorithms depends heavily on the number of tree stars(candidate components). Several empty region conditions are introducedfor tree stars. In addition, the well know two-phase algorithm is explainedfor the rectilinear Steiner tree problem.

First part of our work is two novel exact algorithms for the Steiner treeproblem, which we present in Chapter 3. The well known algorithm forthe Steiner tree problem is a dynamic programming algorithm, which was

Page 138: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

SUMMARY 124

found by Dreyfus and Wagner. The complexity of this algorithm is O∗(3k),where k is the number of terminal points. In this chapter, we first presenta new algorithm in time O∗(2.684k) by showing that the optimum Steinertree T can be partitioned into T = T1 ∪ T2 ∪ T3 and each Ti is a minimumSteiner tree in a contracted graph Gi with less than 0.4361k terminals.In the rectilinear case, there exists a variant of the dynamic programmingmethod that runs in O∗(2.386k). In this case, our splitting technique yieldsan improvement to O∗(2.335k) with |Gi| ≤ 0.477k. Another algorithm is intime of O∗((2+ δ)k) for any δ > 0. Since the optimal tree can be separatedinto (many) components of size at most ǫk + 1, the optimal tree for allthe small components will be generated first in our algorithm. Thus, theoptimal tree is achieved by adding such components (in some order), oneat a time, until the constructed tree span all terminals.

The other part of our contribution is about the number of tree star.Foßmeier and Kaufmann showed that any problem instance with k termi-nals had a number of tree stars in between 1.32k and 1.38k in the worstcase. A new forbidden case for tree star is achieved by us, which is followedby an exact bound of the tree star O∗(ρk) where ρ ≈ 1.357. Two newforbidden cases are derived later for the candidate components. Accordingto these forbidden cases, the upper bound O∗(1.337k) is obtained for thenumber of candidate components. Finally, a necessary condition, so called“two layer condition” is presented for the tree star to be candidate com-ponent. Moreover, an optimal topological structure for the optimal tree inthe “decreasing case” is achieved from the “two layer condition”.

Page 139: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Bibliography

[1] J. Alber, H. Fernau, and R. Niedermeier, Parameterized complexity:exponential speed-up for planar graph problems, In Proceedings 28thICALP 2001.

[2] J. Alber, J. Gramm and R. Niedermeier, Faster exact algorithms forhard problems: a parameterized point of view, Discrete Mathematics,229:3–27, 2001.

[3] J. Alber,H. L. Bodlaender, H. Fernau, T. Kloks and R. Niedermeier,Fixed parameter algorithms for dominating set and related problemson planar graphs, Algorithmica, 33:461–493, 2002.

[4] Y.P. Aneja, An integer linear programming approach to the Steinerproblem in graphs, Networks, 10:167-178, 1980.

[5] M. Bauer, G.W. Klau and K. Reinert, Accurate multiple sequence-structure alignment of RNA sequences using combinatorial optimiza-tion, BMC Bioinformatics, 8, 271, BioMed Central, 2007.

[6] J. Beasley, An SST-based algorithm for the Steiner problem in graphs,Networks, 19:1-16, 1989.

[7] J. Beasley, A heuristic for Euclidean and rectilinear Steiner problems,European Journal of Operational Research, 58:284-292, 1992.

[8] R. Beigel and D. Eppstein, 3-coloring in time O(1.3289n), Journal of

Algorithms, 54:168-204, 2005.

[9] P. Berman and V. Ramaiyer, Improved approximations for the Steinertree problem, Journal of Algorithms, 17:381-408, 1994.

Page 140: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

126 BIBLIOGRAPHY

[10] M. Bern, Two probabilistic results on rectilinear Steiner trees, Algo-

rithmica, 3:191-204, 1988.

[11] M. Bern, Faster exact algorithms for Steiner trees in planar networks,Networks, 20:109-120, 1990.

[12] M. Bomhoff, Additional conditions on full components in RectilinearSteiner minimal trees, Master thesis, University of Twente, Enschede,2007.

[13] M. Borah, R.M. Owens and M.J. Irwin, An edge-based heuristic forSteiner routing, IEEE Trans. on CAD, 13: 1563-1568, 1994.

[14] W.M. Boyce and J.B. Seery, Steiner 72-an improved version of Vock-ayne and Schiller’s program Steiner for the minimal network problem,Tech. Rept. No. 35, Dept. of Computer Science, Bell Laboratories,1975.

[15] T. Brueggemann and W. Kern, An improved deterministic local searchalgorithm for 3-SAT, Theoretical Computer Science, 329:303-313,2004.

[16] L. Cai and D. Juedes, Subexponential parameterized algorithms col-lapse the whierarchy, In Proc. ICALP 2001, Lecture Notes in ComputerScience 2076, 2001.

[17] N.P. Chen, New algorithms for Steiner tree on graphs, Proc. of IEEE.ISCAS-83:1217-1219, 1983.

[18] C. Chiang, M. Sarrafzadeh, and C.K. Wong, An algorithm for exactrectilinear Steiner trees for switchbox with obstacles, IEEE Transac-

tions on Circuits and Systems, 39:446-455, 1992.

[19] M. Chlebik, and J. Chlebikova, Approximation hardness of the Steinertree problem on graphs, Proc. 8th Scandinavian Workshop on Algo-rithm Theory (SWAT), Springer-Verlag, 170-179, 2002.

[20] A.E.F. Clementi and L. Trevisan, Improved non-approximability re-sults for minimum vertex cover with density constraints, Theor. Com-

put. Sci., 225:113-128, 1999.

Page 141: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

BIBLIOGRAPHY 127

[21] E.J. Cockayne and D.E. Hewgill, Exact computation of Steiner min-imal trees in the plane, Information Processing Letters, 22:151-156,1986.

[22] S.A. Cook and D.G. Mitchell, Finding hard instances of the satisfiabil-ity problem: a survey. In Satisfiability Problem: Theory and Applica-tions (Piscataway, NJ, 1996) (Ed. D. Du, J. Gu, and P. M. Pardalos),Providence, RI: Amer. Math. Soc.,1-17, 1997.

[23] T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, Introductionto algorithms, Second Edition, MIT Press and McGraw-Hill, 2001.

[24] R. Courant and H. Robbins, What is Mathematics? London, NewYork and Toronto, Oxford University Press, 1941.

[25] E.W. Dijkstra, A note on two problems in connection with graphs, In

Numerische Mathematik, 269-271,1959.

[26] E.D. Demaine, F.V. Fomin, M. Hajiaghayi and D.M. Thilikos, Subex-ponential parameterized algorithms on graphs of bounded genus andH-minor-free graphs, J. ACM, 52:866–893, 2005.

[27] R.G. Downey and M.R. Fellows, Parameterized complexity, Springer,Berlin, 1999.

[28] R.G. Downey, Parameterized complexity for the skeptic, in Proceed-ings of the 18th IEEE Conference on Computational Complexity(CCC’03), 147-168, 2003.

[29] D. Dreyer and M. Overton, Two heuristics for the Euclidean Steinertree problem, NSF 2002.

[30] S.E. Dreyfus and R.A. Wagner, The Steiner problem in graphs, Net-

works, 1:195-207, 1972.

[31] D.Z. Du and F.K. Hwang, An approach for proving lower bounds: so-lution of Gilbert-Pollak’s conjecture on Steiner ratio, Proc. 31st IEEEFOCS, 76-85, 1990.

[32] D.Z. Du and F.K. Hwang, A proof of the Gilbert-Pollak conjecture onthe Steiner ratio, Algorithmica, 7:121-135, 1992.

Page 142: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

128 BIBLIOGRAPHY

[33] C. Duin and W. Volgenant, Some generalizations of the Steiner prob-lem in graphs, Networks, 17:353-364, 1987.

[34] S. Even, Graph algorithms, Computer Science Press, Rockville MD,1979.

[35] W. Feller, An introduction to probability theory and its applications,New York: Wiley, 50-53, 1968.

[36] J. Flum and M. Grohe, Parameterized complexity theory, Springer,2006.

[37] R.W. Floyd, Algorithm 97: Shortest Path, Communications of the

ACM 5 (6): 345, 1962.

[38] F.V. Fomin and D.M. Thilikos, Dominating sets in planar graphs:Branch-width and exponential speed-up, in Proceedings of the 14thAnnual ACM-SIAM Symposium on Discrete Algorithms, 168-177,2003.

[39] F.V. Fomin, F. Grandoni and D. Kratsch, Measure and conquer: asimple O(20.288n) independent set algorithm, Proceedings of the sev-enteenth annual ACM-SIAM symposium on Discrete algorithm, 18-25,January 22-26, 2006, Miami, Florida.

[40] U. Foßmeierr and M. Kaufmann, On exact solutions for the rectilinearSteiner tree problem Part 1: Theoretical results, Algorithmica, 26:68-99, 2000.

[41] U. Foßmeierr, M. Kaufmann and A. Zelikovsky, Faster approximationalgorithms for the rectilinear Steiner tree problem, Discrete and Com-

putational Geomen, 18:93-109, 1997.

[42] B. Fuchs, W. Kern, and X. Wang, Speeding up the Dreyfus-Wagneralgorithm for minimum Steiner trees, Mathematics Methods of Oper-

ations Research, 66:117-125, 2007.

[43] B. Fuchs, W. Kern, D. Molle, S. Richter, P. Rossmanith and X. Wang,Dynamic programming for minimum Steiner trees, Theory of Comput-

ing Systems, 41:493-500, 2007.

Page 143: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

BIBLIOGRAPHY 129

[44] B. Fuchs, W. Kern and X. Wang, The number of tree stars isO∗(1.357k), Algorithmica, 49:232-244, 2007.

[45] D. Eppstein, Improved algorithms for 3-coloring, 3-edge-coloring, andconstraint satisfaction, Proceedings of the twelfth annual ACM-SIAMsymposium on Discrete algorithms, 329-337, January 07-09, 2001,Washington, D.C., U.S. .

[46] H. Gabow, Two algorithms for generating weighted spanning trees inorder, SIAM J. Computing, 6:139-150, 1977.

[47] J.L. Ganley, Computing optimal rectilinear Steiner trees: a survey andexperimental evaluation, Discrete Applied Mathematics, 90:161-171,1999.

[48] J.L. Ganley and J.P. Cohoon, A faster dynamic programming algo-rithm for exact rectilinear Steiner minimal trees, In Proceedings of theFourth Great Lakes Symposium on VLSI, 238-241, 1994.

[49] J.L. Ganley and J.S. Salowe, Optimal and approximate bottleneckSteiner trees, Operations Research Letters, 19:217-224, 1996.

[50] M.R. Garey, R.L. Graham and D.S. Johnson, Some NP-complete geo-metric problems, STOC, 10-22, 1976.

[51] M.R. Garey and D.S. Johnson, The rectilinear Steiner tree problem isNP-complete, SIAM J. Appl. Math., 32:826-834, 1977.

[52] M.R. Garey and D.S. Johnson, Computers and intractability: A guideto the theory of NP-completeness, W. H. Freeman, San Francisco,1979.

[53] N. Garg, G. Konjevod and R. Ravi, A polylogarithmic approximationalgorithm for the group Steiner tree problem, J. Algorithms, 37: 66-84,2000.

[54] E. Gilbert and H. Pollak, Steiner minimal trees, SIAM J. Appl. Math.,16:1-29, 1968.

[55] R. Graham and P. Hell, On the history of the minimum spanning treeproblem, Annals of the History of Computing, 7:43-57, 1985.

Page 144: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

130 BIBLIOGRAPHY

[56] C. Gropl, S. Hougardy, T. Nierhoff and H.J. Prø”mel, Approximationalgorithms for the Steiner tree problem in graphs, In: X. Cheng and D.-Z. Du, Editors, Steiner Trees in Industry, Kluwer Academic Publishers,Dordrecht, 235-279, 2001.

[57] S.L. Hakimi, Steiner’s problem in graphs and its implications, Net-

works, 1:113-133, 1971.

[58] M. Hanan, On Steiner’s problem with rectilinear distance, SlAM J.

Appl. Math., 14:255-265, 1966.

[59] T. Hofmeister, U. Schoning, R. Schuler and O. Watanabe, Randomizedalgorithms for 3-SAT, Theory Comput. Syst., 40(3): 249-262, 2007.

[60] S. Hougardy and H.J. Promel, A 1.598 approximation algorithm forthe Steiner problem in graphs, Proceedings of ACM-SIAM Symposiumon Discrete Algorithms, 448-453, 1999.

[61] J.M. Ho, G. Vijayan and C.K. Wong, New algorithms for the rectilinearSteiner tree problem, IEEE Trans. on CAD, 9:185-193, 1990.

[62] F.K. Hwang, On Steiner minimal trees with rectilinear distance, SIAM

Journal on Applied Mathematics, 30(1), 104-114, 1976.

[63] F.K. Hwang, An O(nlogn) algorithm for suboptimal rectilinear Steinertrees, IEEE Trans. on Circuits and Systems, 26 :75-77, 1979.

[64] F.K. Hwang and D.S. Richards, Steiner tree problems, Networks,22:55-89, 1992.

[65] F.K. Hwang, D.S. Richards and P. Winter, The Steiner tree problem,North-Holland, New York, 1992.

[66] A.O. Ivanov and A.A. Tuzhilin, Minimal networks: the Steiner prob-lem and its generalizations, CRC Press, 1994.

[67] K. Iwama and S. Tamaki, Improved upper bounds for 3-SAT, Pro-ceedings of the fifteenth annual ACM-SIAM symposium on Discretealgorithms, January 11-14, 2004, New Orleans, Louisiana.

Page 145: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

BIBLIOGRAPHY 131

[68] V. Jarnik and O. Kossler, Minimalnich gratech obsahujicich n danychbodu [in. Czech], Casopis Pesk. Mat. Fyr. 63:223-235, 1934.

[69] D. Fernandez-Baca and J. Lagergren, A polynomial-time algorithm fornear-perfect phylogeny, SIAM Journal on Computing, 32:1115 - 1127,2003.

[70] R.M. Karp, Reducibility among combinatorial problems, In R. Millerand J. Thatcher, editors, Complexity of Computer Computations, 85-103, Plenum Press, 1972.

[71] M. Karpinski and A. Zelikovsky, New approximation algorithms forthe Steiner tree problems, J. Comb. Optim., 1: 47-65, 1997.

[72] A.B. Kahng and G. Robins, A new class of Steiner trees Heuristics withgood performance: the iterated 1-Steiner-Approach, ICCAD: 428-431,1990.

[73] S. Khuller and A. Zhu, The general Steiner tree-star problem, Infor-

mation Processing Letters, 84: 215-220, 2002.

[74] B. Korte, H. Promel and A. Steger, Steiner trees in VLSI-layout, In B.Korte, L. Lovasz, H. Prmel, and A. Schrijver, editors, Paths, Flows,and VLSI-layout, 185-214, Springer-Verlag, Berlin, 1990.

[75] H.W. Kuhn, Steiner’s problem revisited, In G. Dantzig and B. Eaves,editors, Studies in Optimization, 53-70, Mathematical Association of

America, 1975.

[76] T. Lengauer, Combinatorial algorithms for integrated circuit layout,Wiley, Chichester, England, 1990.

[77] N. Maculan, The Steiner tree problem in graphs, Surveys in combina-torial optimization, S. Martello, G. Laporte, M. Minoux, C. C. Ribeiro(Ed.), Annals of Discrete Mathematics, 31:185-212, 1987.

[78] T.L. Magnanti and R.T. Wong, Network design and transportationplanning: models and algorithms, Transportation Science, 18:1-55,1984.

Page 146: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

132 BIBLIOGRAPHY

[79] S. Martello, G. Laporte, M. Minoux and C.C. Ribeiro, The Steinertree problem in graphs, Surveys in Combinatorial Optimization (Ed.),Annals of Discrete Mathematics, 31:85-212, 1987.

[80] D. Marx, Parameterized complexity of constraint satisfaction prob-lems, Computational Complexity, 14(2):153-183, 2005.

[81] K. Mehlhorn, A faster approximation algorithm for the Steiner prob-lem in graphs, Information Processing Letters, 27:125-128, 1988.

[82] Z.A. Melzak, On the problem of Steiner, Canada. Math. Bull.,4(2):143–148, 1961.

[83] V. Melkonian and E. Tardos, Primal-dual-based algorithms for a di-rected network design problem, INFORMS Journal on Computing,17:159-174, 2005.

[84] B. Monien and E. Speckenmeyer, Ramsey numbers and an approxima-tion algorithm for the vertex cover problem, Acta Informatica, 22:115-123, 1985.

[85] R. Niedermeier and P. Rossmanith, An efficient fixed-parameter algo-rithm for 3-hitting set, Journal of Discrete Algorithms, 1:89-102, 2003.

[86] C.H. Papadimitriou and K. Steiglitz, Combinatorial optimization: al-gorithms and complexity / Christos H. Papadimitriou, Kenneth Stei-glitz. - Mineola, N.Y. Dover Publications, Inc., 1998.

[87] R. Paturi, P. Pudlak, M. E. Saks and F. Zane, An ImprovedExponential-Time Algorithm for k-SAT, Proceedings of the 39th An-nual Symposium on Foundations of Computer Science, p.628, Novem-ber 08-11, 1998.

[88] D. Eppstein, Improved algorithms for 3-coloring, 3-edge-coloring, andconstraint satisfaction, Proceedings of the twelfth annual ACM-SIAMsymposium on Discrete algorithms, 329-337, January 07-09, 2001,Washington, D.C., U.S..

[89] D.S. Richards, Fast heuristic algorithms for rectilinear Steiner trees,Algorithmica, 4:191-207, 1989.

Page 147: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

BIBLIOGRAPHY 133

[90] D.S. Richards, On the effectiveness of greedy heuristics for the recti-linear Steiner problem. Manuscript, 1991.

[91] H. Robbins, A remark on Stirling’s formula, Amer. Math. Monthly,62, 26-29, 1955.

[92] G. Robins and A. Zelikovsky, Improved Steiner tree approximation ingraphs, In: Proc. 11th Annual ACM-SIAM Symp. on Discrete Algo-rithms, San Francisco, CA ,770-779, 2000.

[93] J.J. Salazar, A note on the generalized Steiner tree polytope, Discrete

Applied Mathematics, 100:137-144, 2000.

[94] J.S. Salowe and D.M. Warme, An exact rectilinear Steiner tree algo-rithm, In Proceedings of the International Conference on ComputerDesign, 472-475, 1993.

[95] J.S. Salowe and D.M. Warme, Thirty-five point rectilinear Steiner min-imal trees in a day, Networks, 25, 69-87,1995.

[96] A. Segev, The node-weighted Steiner tree problem, Networks, 17:1-17,1987.

[97] M.L. Shore, L.R. Foulds and P.B. Gibbons, An algorithm for theSteiner problem in graphs, Networks, 12:323-333, 1982.

[98] H. Takahashi and A. Matsuyama, An approximate solution for theSteiner problem in graphs, Mathematica Japonica, 22:573-577, 1980.

[99] V.V. Vazirani, Approximation algorithms, Berlin, Springer, 2003.

[100] D.M. Warme, Spanning Trees in Hypergraphs with Applications toSteiner Trees, PhD Dissertation, The University of Virginia, Depart-ment of Computer Science, 1998.

[101] D.M. Warme, P. Winter and M. Zachariasen, Exact algorithms forplane Steiner tree problems: a computational study. In D.Z. Du, J.M.Smith and J.H. Rubinstein (Eds.) Advances in Steiner Trees, 81-116,Kluwer Academic Publishers, 2000.

Page 148: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

134 BIBLIOGRAPHY

[102] P. Winter, J. M. Smith, Path-distance heuristics for the Steiner prob-lem in undirected networks, Algorithmica, 7:309-327, 1992.

[103] P. Winter and M. Zachariasen, Large Euclidean Steiner minimumtrees in an hour, ISMP 1997.

[104] G.J. Woeginger, Exact algorithms for NP-hard problems: a survey,Combinatorial Optimization, 185-208, 2001.

[105] G.J. Woeginger, Open problems around exact algorithms, Discrete

Applied Mathematics, 156(3): 397-405, 2008.

[106] R. Wong, A dual ascent approach for Steiner tree problems on adirected graph, Mathematical Programming, 28:271-287, 1984.

[107] M. Zachariasen, The rectilinear Steiner tree problem: a tutorial,in:Steiner Trees in Industries, X. Cheng and D.-Z. Du (eds.), Kluwer,2000.

[108] M. Zachariasen, Algorithms for plane Steiner tree problems, Ph.D.Thesis, Department of Computer Science, University of Copenhagen,1998.

[109] M. Zachariasen, Rectilinear full Steiner tree generation, Networks,33, 125-143, 1999.

[110] M. Zachariasen and P. Winter, Concatenation-based greedy heuristicsfor the Steiner tree problem in the Euclidean plane, Algorithmica,25:418–437, 1999.

[111] A. Zelikovsky, An 11/6-approximation algorithm for the networkSteiner problem, Algorithmica, 9: 463-470,1993.

[112] A. Zelikovsky, A series of approximation algorithms for the acyclicdirected Steiner tree problem, Algorithmica, 18: 99-110, 1997.

Page 149: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

Acknowledgements

This thesis presents the main results of my research which was carriedout at the DMMP group at University of Twente, and was financially sup-ported by NWO project “exact algorithms” from August 2004 to July 2008.It could not have been completed without the generous help and supportfrom many people. I am thankful to some of them in particular.

I would like to thank Prof. Gerhard J. Woeginger for offering me theopportunity to join this project, and for being my promoter.

Special thanks to my supervisor dr. Walter Kern. I really enjoy thediscussion with him in the last four years. Without his wisdom, help andencouragements, this thesis would not be as it is today. Especially, I wouldlike to thank him for the advice and the corrections on my thesis.

I would like to thank all the members of my graduation committee fortheir participation: Prof. Hans L. Bodlaender, Prof. Richard J. Boucherie,Prof. Kees Hoede, Prof. Walter Kern, Prof. Frits Spieksma, Prof. Marc Uetz,and Prof. Gerhard J. Woeginger.

I would like to thank my former supervisor Prof. Sanyang Liu for sup-porting me going to the Netherlands.

I would also give my thanks to all the members in our research group:Hajo Broersma, Theo Driessen, Dini Heres-Ticheler, Kees Hoede, JohannHurink, Gerhard Post, Georg J. Still, and Marc Uetz. Specifically I wouldlike to thank Kees who kindly read and commented the manuscript of thethesis. His good advice is well included in this thesis. I am grateful to Diniand Georg who give me a lot of help and tips for my work and personallife. Many PhD students such as Hilbrandt Baarsma, Tobias Brueggemann,Tim Nieberg, Jacob Jan Paulus, Xin Wang, Ligong Wang, Genjiu Xu andHaixing Zhao, have also contributed to my enjoyment in the past four years.I would like to thank all of them. I greatly appreciate Jacob Jan’s good

Page 150: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

ACKNOWLEDGEMENTS 136

advices and instructions for my new life in the Netherlands.A lot of thanks to my friends met in Twente: Wei Bai, Mingliang Jin

& Lingling Shui, Yan Xu, Dongsheng Zhang & Hong He, Wei Zhao & Wei(4) Zhou, Zhou Wei (3) and Yang Zhang.

I owe many thanks to my father Zhongtang Wang, my mother LianzhiDuan, my parents-in-law Jintian He and Xiuying Wu. Thanks for theirdeep love and great encouragement.

I also want to thank my brother Yinhui Wang, my brothers-in-law,sisters-in-law, and my nephews and nieces for their kindly help.

Most of all I want to thank my beloved wife Xuehui He. Thank you forbeing patient and giving me love, support and encouragement. Especially,thank you for your sharing interest in my research, although you are workingin the area of biology.

Xinhui WangEnschede, April 2008.

Page 151: Exact Algorithms for the Steiner Tree Problem...Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT

About the Author

Xinhui Wang was born on February 11, 1978, Ruyang County of HenanProvince, China. He finished his elementary education at Yan-shi HighSchool in 1995. He spent four years in the Dept. of Mathematics, HenanNormal University, China. After receiving the bachelor degree in June1999, he became a teacher at Xidian University, Xi’an China. Meanwhile,he continued his Master study at the Dept. of Applied Mathematics inXidian University. He achieved the Master degree in 2002 with a thesisfocused on the algorithm of semidefinite programming. His first doctoralthesis “the algorithms of semidefinite programming and its applications”was finished in June 2004. All these research work were under the superviseof Prof. Sanyang Liu.

He began to pursue his second PhD degree from 2004 at Discrete Math-ematics and Mathematic Programming group, University of Twente, En-schede, the Netherlands. By joining the research project of “Exact algo-rithms” supported by NWO, he started the research under the superviseof Prof. Gerhard J. Woeginer and Prof. Walter Kern. The focus of hisdoctoral project is about the exact algorithms for the Steiner tree problem.The main achieved results are presented in this thesis that is now in thehands of the reader.


Recommended