A partition-based relaxation for Steiner trees

  • Authors:
  • Jochen Könemann;David Pritchard;Kunlun Tan

  • Affiliations:
  • University of Waterloo, Department of Combinatorics and Optimization, 200 University Avenue West, N2L 3G1, Waterloo, ON, Canada;University of Waterloo, Department of Combinatorics and Optimization, 200 University Avenue West, N2L 3G1, Waterloo, ON, Canada;Microsoft Corporation, Redmond, WA, USA

  • Venue:
  • Mathematical Programming: Series A and B
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Steiner tree problem is a classical NP-hard optimization problem with a wide range of practical applications. In an instance of this problem, we are given an undirected graph G = (V, E), a set of terminals $${R\subseteq V}$$, and non-negative costs c e for all edges $${e \in E}$$. Any tree that contains all terminals is called a Steiner tree; the goal is to find a minimum-cost Steiner tree. The vertices $${V \backslash R}$$ are called Steiner vertices. The best approximation algorithm known for the Steiner tree problem is a greedy algorithm due to Robins and Zelikovsky (SIAM J Discrete Math 19(1):122–134, 2005); it achieves a performance guarantee of $${1+\frac{\ln 3}{2}\approx 1.55}$$. The best known linear programming (LP)-based algorithm, on the other hand, is due to Goemans and Bertsimas (Math Program 60:145–166, 1993) and achieves an approximation ratio of 2−2/|R|. In this paper we establish a link between greedy and LP-based approaches by showing that Robins and Zelikovsky’s algorithm can be viewed as an iterated primal-dual algorithm with respect to a novel LP relaxation. The LP used in the first iteration is stronger than the well-known bidirected cut relaxation. An instance is b-quasi-bipartite if each connected component of $${G \backslash R}$$ has at most b vertices. We show that Robins’ and Zelikovsky’s algorithm has an approximation ratio better than $${1+\frac{\ln 3}{2}}$$ for such instances, and we prove that the integrality gap of our LP is between $${\frac{8}{7}}$$ and $${\frac{2b+1}{b+1}}$$.