Algorithmic Approaches to the Steiner Problem in Networks
Total Page:16
File Type:pdf, Size:1020Kb
Algorithmic Approaches to the Steiner Problem in Networks Inauguraldissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der Universitat¨ Mannheim vorgelegt von Diplom-Informatiker Siavash Vahdati Daneshmand aus Ladenburg Mannheim, 2003 Dekan: Professor Dr. Jur¨ gen Potthoff, Universitat¨ Mannheim Referent: Professor Dr. Matthias Krause, Universitat¨ Mannheim Korreferent: Professor Dr. Ingo Wegener, Universitat¨ Dortmund Tag der mundlichen¨ Prufung:¨ 23. Februar 2004 Abstract The Steiner problem in networks is the problem of connecting a set of required vertices in a weighted graph at minimum cost. This is a classical -hard problem and a fundamental problem in network N P design with many practical applications. We approach this problem by different means: Relaxations, which relax the feasibility constraints, to get close to an optimal solution; heuristics to find good, but not necessarily optimal solutions; and reductions to simplify problem instances without abandoning the optimal solution. In each case, we study and improve existing methods, introduce new ones, and evaluate them experimentally. We integrate these components into an exact algorithm, which repre- sents the state of the art for the optimal solution of this problem. Many of the presented methods could also be useful for similar problems. Kurzzusammenfassung Das Steiner-Problem in Netzwerken ist das Problem, in einem gewichteten Graphen eine gegebene Menge von Knoten kostenminimal zu verbinden. Es ist ein klassisches -schweres Problem und ein fundamentales Problem bei der Netzwerkoptimierung mit vielen praktischenN P Anwendun- gen. Wir nehmen dieses Problem mit verschiedenen Mitteln in Angriff: Relaxationen, die die Zul¨assigkeitsbedingungen lockern, um eine optimale L¨osung ann¨ahern zu k¨onnen; Heuristiken, um gute, aber nicht garantiert optimale L¨osungen zu finden; und Reduktionen, um die Probleminstanzen zu vereinfachen, ohne eine optimale L¨osung zu zerst¨oren. In allen F¨allen untersuchen und verbessern wir bestehende Methoden, stellen neue vor und evaluieren sie experimentell. Wir integrieren diese Bausteine in einen exakten Algorithmus, der den Stand der Algorithmik f¨ur die optimale L¨osung dieses Problems darstellt. Viele der vorgestellten Methoden k¨onnen auch f¨ur verwandte Probleme von Nutzen sein. Acknowledgments I wish to thank Prof. Matthias Krause and Prof. Ingo Wegener for their support. Words cannot express my thanks to my dear friend and colleague Tobias Polzin who accompanied me for many years on my academic path. Many of the results presented here were produced in joint work with him. I gratefully acknowledge the financial support provided by the Deutsche Forschungsgemeinschaft. 1 1DFG-Sachbeihilfe Kr 1521/6-1 im Rahmen des DFG-Schwerpunktprogramms 1126: Algorithmik großer und kom- plexer Netzwerke. Contents Abstract 3 Acknowledgments 4 1 Introduction 8 1.1 About this Work . 9 1.1.1 Motivation . 9 1.1.2 Experimental Studies in this Work . 10 1.1.3 List of Main Contributions and Structure of the Thesis . 10 1.2 Basic Definitions and Notations . 13 1.3 Background . 14 1.3.1 History . 14 1.3.2 Geometric Steiner Problems . 14 1.3.3 Applications . 15 1.4 Complexity Results . 16 1.4.1 Special Cases . 16 1.4.2 Approximability . 17 2 Relaxations and Lower Bounds 18 2.1 Introduction . 19 2.1.1 Additional Definitions for Relaxations . 20 2.2 Cut and Flow Formulations . 20 2.2.1 Cut Formulations . 21 2.2.2 Flow Formulations . 22 2.3 Tree Formulations . 23 2.3.1 Degree-Constrained Tree Formulations . 23 2.3.2 Rooted Tree Formulation . 24 2.3.3 Equivalence of the Tree-Class Relaxations . 25 2.4 Relationship between the Two Classes . 27 2.5 Multiple Trees and the Relation to the Flow Model . 29 2.5.1 Multiple Trees Formulation . 30 2.5.2 Flow-Balance Constraints and an Augmented Flow Formulation . 30 2.5.3 Relationship between the Two Models . 31 2.6 A Collection of New Formulations . 32 2.6.1 Integrality Gap of the Flow/Cut Relaxations . 32 2.6.2 Common Flow . 34 5 6 CONTENTS 2.6.3 A Template for Common Flow Formulations . 34 2.6.4 Polynomial Variants . 35 2.6.5 Practical Adaptations . 36 2.6.6 Relation to Other Relaxations . 37 2.7 A Hierarchy of Relaxations . 38 2.7.1 Summary of the Relations . 38 2.7.2 Extensions to Polyhedral Results . 39 2.8 Steiner Trees and Minimum Spanning Trees in Hypergraphs . 40 2.8.1 Minimum Spanning Trees in Hypergraphs: Formulations and Relaxations . 40 2.8.2 Relation to the Relaxations of the Steiner Problem in Graphs . 43 2.9 Approximation: (Primal-) Dual Algorithms . 44 2.9.1 Undirected Cuts: A Primal-Dual Algorithm . 44 2.9.2 Directed Cuts: A Dual-Ascent Algorithm . 46 2.9.3 Directed Cuts: A New Primal-Dual Algorithm . 49 2.9.4 Further Remarks on Primal-Dual Algorithms . 55 2.10 Lagrangian Relaxation and Subgradient Optimization . 55 2.10.1 Relaxing the Spanning Tree Formulation . 56 2.10.2 Relaxing the Cut Formulation . 56 2.11 Optimization by Row and Column Generation: Cut and Price . 56 2.11.1 Adaptations for Stronger Relaxations . 58 2.12 Improving Relaxations . 58 2.12.1 Graph Transformation: Vertex Splitting . 59 2.12.2 Project, Separate, and Lift: Local Cuts . 62 2.12.3 Concluding Remarks . 69 2.13 Some Experimental Results . 69 3 Reductions to Simplify Problem Instances 72 3.1 Introduction . 73 3.1.1 Additional Definitions for Reductions . 74 3.2 Alternative-Based Reductions . 75 3.2.1 Deletion of Edges by Using Distance Measures . 75 3.2.2 Substitution of Non-Terminals . 77 3.2.3 Contraction of Edges . 77 3.2.4 Exclusion of Paths . 79 3.3 Bound-Based Reductions . 80 3.3.1 Using Voronoi Regions . 80 3.3.2 Using Dual Ascent . 81 3.3.3 Using the Row Generation Strategy . 83 3.4 Extension and Combination of Reduction Techniques . 85 3.4.1 Extending Reduction Tests . 86 3.4.2 Test Conditions . 87 3.4.3 Criteria for Expansion and Truncation . 89 3.4.4 Implementation Issues . 89 3.4.5 Variants of the Test . 91 3.5 Partitioning as a Reduction Technique . 91 3.5.1 Partitioning on the Basis of Terminal Separators . 92 3.5.2 Finding Terminal Separators . 93 CONTENTS 7 3.5.3 Reduction by Case Differentiation . 95 3.5.4 Reduction by Local Bounds . 98 3.6 Integration and Implementation of Tests . 101 3.7 Some Experimental Results . 104 4 Heuristics and Upper Bounds 106 4.1 Introduction . 107 4.2 Path Heuristics . 107 4.2.1 A Two-Phase Realization of the Repetitive Shortest Paths Heuristic . 108 4.2.2 A Path Heuristic with Small Worst-Case Running Time . 109 4.2.3 Some Experimental Results for Path Heuristics . 109 4.3 Reduction-Based Heuristics . 111 4.3.1 Heuristic Reductions . 111 4.3.2 Guiding the Heuristic . 111 4.4 Relaxations and Upper Bounds . 112 4.4.1 Searching in Auxiliary (Sub-) Graphs . 112 4.4.2 Searching in the Original Graph . 112 4.4.3 Using the Row Generating Strategy . 113 4.5 Combination of Steiner Trees . 113 4.6 Experimental Results and Evaluation . 113 5 Exact Algorithms 115 5.1 Introduction . 116 5.2 Using (Sub-) Graphs of Small Width . 116 5.2.1 The Basic Approach . 117 5.2.2 A Dynamic Programming Realization . 118 5.2.3 Ordering the Vertices . 119 5.2.4 Relation to Path-Width . 120 5.3 Building an Orchestra: An Exact Algorithm . 121 5.3.1 Interaction of the Components . 121 5.3.2 Branch-and-Bound . ..