A Simulated Annealing Algorithm for the Directed Steiner Tree Problem

In \cite{siebert2019linear} the authors present a set of integer programs (IPs) for the Steiner tree problem, which can be used for both, the directed and the undirected setting of the problem. Each IP finds an optimal Steiner tree with a specific structure. A solution with the lowest cost, corresponds to an optimal solution to the entire problem. The authors show that the linear programming relaxation of each IP is integral and, also, that each IP is polynomial in the size of the instance, consequently, they can be solved in polynomial time. The main issue is that the number of IPs to solve grows exponentially with the number of terminal nodes, which makes this approach impractical for large instances. In this paper, we propose a local search procedure to solve the directed Steiner tree problem using the approach presented in \cite{siebert2019linear}. In order to do this, we present a dynamic programming algorithm to solve each IP efficiently. Then we provide a characterization of the neighborhood of each tree structure. Finally, we use the proposed algorithm and the neighborhood characterization to solve the problem using a simulated annealing framework. Computational experiments show that the quality of the solutions delivered by our approach is better than the ones presented in the literature for the directed Steiner tree problem.

[1]  Daniel R. Greening,et al.  Parallel simulated annealing techniques , 1990 .

[2]  George L. Nemhauser,et al.  A Linear Programming Based Approach to the Steiner Tree Problem with a Fixed Number of Terminals , 2020, Networks.

[3]  Suchitra Amalapurapu,et al.  Approximation Algorithms for Directed Steiner Problems , 2002 .

[4]  Sudipto Guha,et al.  Approximation algorithms for directed Steiner problems , 1999, SODA '98.

[5]  T. Koch,et al.  SteinLib: An Updated Library on Steiner Tree Problems in Graphs , 2001 .

[6]  Ehl Emile Aarts,et al.  Simulated annealing and Boltzmann machines , 2003 .

[7]  Siavash Vahdati Daneshmand,et al.  Extending Reduction Techniques for the Steiner Tree Problem , 2002, ESA.

[8]  Kathryn A. Dowsland,et al.  Simulated Annealing , 1989, Encyclopedia of GIS.

[9]  Yun S. Song On the Combinatorics of Rooted Binary Phylogenetic Trees , 2003 .

[10]  D. Janaki Ram,et al.  Parallel Simulated Annealing Algorithms , 1996, J. Parallel Distributed Comput..

[11]  Zbigniew J. Czech,et al.  Parallel simulated annealing for the vehicle routing problem with time windows , 2002, Proceedings 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing.

[12]  D. Bryant The Splits in the Neighborhood of a Tree , 2004 .

[13]  Fabrizio Grandoni,et al.  Steiner Tree Approximation via Iterative Randomized Rounding , 2013, JACM.

[14]  C. W. Duin Preprocessing the Steiner problem in graph , 2000 .

[15]  Rui Xu,et al.  Survey of clustering algorithms , 2005, IEEE Transactions on Neural Networks.

[16]  Jorge J. Moré,et al.  Digital Object Identifier (DOI) 10.1007/s101070100263 , 2001 .

[17]  Cees Duin,et al.  Efficient path and vertex exchange in steiner tree algorithms , 1997, Networks.

[18]  Dimitri Watel,et al.  A Practical Greedy Approximation for the Directed Steiner Tree Problem , 2014, COCOA.

[19]  Peter Rossmanith,et al.  Simulated Annealing , 2008, Taschenbuch der Algorithmen.

[20]  Eric Hsiao-Kuang Wu,et al.  FasterDSP: A Faster Approximation Algorithm for Directed Steiner Tree Problem , 2006, J. Inf. Sci. Eng..

[21]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[22]  Siavash Vahdati Daneshmand,et al.  Improved algorithms for the Steiner problem in networks , 2001, Discret. Appl. Math..

[23]  Marshall W. Bern,et al.  The Steiner Problem with Edge Lengths 1 and 2 , 1989, Inf. Process. Lett..

[24]  Miroslav Chlebík,et al.  The Steiner tree problem on graphs: Inapproximability results , 2008, Theor. Comput. Sci..

[25]  Anil K. Jain,et al.  Data clustering: a review , 1999, CSUR.

[26]  S. E. Dreyfus,et al.  The steiner problem in graphs , 1971, Networks.

[27]  Robert Krauthgamer,et al.  Polylogarithmic inapproximability , 2003, STOC '03.

[28]  Alex Zelikovsky,et al.  An 11/6-approximation algorithm for the network steiner problem , 1993, Algorithmica.

[29]  Charles Semple,et al.  On the Computational Complexity of the Rooted Subtree Prune and Regraft Distance , 2005 .

[30]  Alex Zelikovsky,et al.  Tighter Bounds for Graph Steiner Tree Approximation , 2005, SIAM J. Discret. Math..

[31]  Richard T. Wong,et al.  A dual ascent approach for steiner tree problems on a directed graph , 1984, Math. Program..

[32]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[33]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.

[34]  Renato F. Werneck,et al.  Dual Heuristics on the Exact Solution of Large Steiner Problems , 2001, Electron. Notes Discret. Math..

[35]  D. Rehfeldt A Generic Approach to Solving the Steiner Tree Problem and Variants , 2015 .