Eduardo Uchoa and Renato F. Werneck
We present efficient algorithms that implement four local searches for the Steiner problem in graphs: vertex insertion, vertex elimination, key-path exchange, and key-vertex elimination. In each case, we show how to find an improving solution (or prove that none exists in the neighborhood) in O(m log n) time on graphs with n vertices and m edges. Many of the techniques and data structures we use are relevant in the study of dynamic graphs in general, beyond Steiner trees. Besides the theoretical interest, our results have practical impact: These local searches have been shown to find good-quality solutions in practice, but high running times limited their applicability.
|Published in||ACM Journal of Experimental Algorithmics|
Copyright © 2012 ACM, Inc.