Title: A Local-Search Algorithm for Steiner Forest,
Abstract: In the Steiner Forest problem, we are given a graph and a collection of
source-sink pairs, and the goal is to find a subgraph of minimum total length
such that all pairs are connected. The problem is APX-Hard and can be
2-approximated by, e.g., the elegant primal-dual algorithm of Agrawal, Klein,
and Ravi from 1995.
We give a local-search-based constant-factor approximation for the problem.
Local search brings in new techniques to an area that has for long not seen any
improvements and might be a step towards a combinatorial algorithm for the more
general survivable network design problem. Moreover, local search was an
essential tool to tackle the dynamic MST/Steiner Tree problem, whereas dynamic
Steiner Forest is still wide open.
It is easy to see that any constant factor local search algorithm requires
steps that add/drop many edges together. We propose natural local moves which,
at each step, either (a) add a shortest path in the current graph and then drop
a bunch of inessential edges, or (b) add a set of edges to the current
solution. This second type of moves is motivated by the potential function we
use to measure progress, combining the cost of the solution with a penalty for
each connected component. Our carefully-chosen local moves and potential
function work in tandem to eliminate bad local minima that arise when using
more traditional local moves.