Multi-level Steiner Trees
Reyan Ahmed,Patrizio Angelini,Faryad Darabi Sahneh,Alon Efrat,David Glickenstein,Martin Gronemann,Niklas Heinsohn,Stephen G. Kobourov,Richard Spence,Joseph Watkins,Alexander Wolff
DOI: https://doi.org/10.1145/3368621
2019-12-17
ACM Journal of Experimental Algorithmics
Abstract:In the classical Steiner tree problem, given an undirected, connected graph G =( V , E ) with non-negative edge costs and a set of terminals T ⊆ V , the objective is to find a minimum-cost tree E &prime ⊆ E that spans the terminals. The problem is APX-hard; the best-known approximation algorithm has a ratio of ρ = ln (4)+ε < 1.39. In this article, we study a natural generalization, the multi-level Steiner tree (MLST) problem: Given a nested sequence of terminals T l ⊂ ... ⊂ T 1 ⊆ V , compute nested trees E l ⊆ ... ⊆ E 1 ⊆ E that span the corresponding terminal sets with minimum total cost. The MLST problem and variants thereof have been studied under various names, including Multi-level Network Design, Quality-of-Service Multicast tree, Grade-of-Service Steiner tree, and Multi-tier tree. Several approximation results are known. We first present two simple O (l)-approximation heuristics. Based on these, we introduce a rudimentary composite algorithm that generalizes the above heuristics, and determine its approximation ratio by solving a linear program. We then present a method that guarantees the same approximation ratio using at most 2l Steiner tree computations. We compare these heuristics experimentally on various instances of up to 500 vertices using three different network generation models. We also present several integer linear programming formulations for the MLST problem and compare their running times on these instances. To our knowledge, the composite algorithm achieves the best approximation ratio for up to l = 100 levels, which is sufficient for most applications, such as network visualization or designing multi-level infrastructure.