Dijkstra meets Steiner: a fast exact goal-oriented Steiner tree algorithm

We present a new exact algorithm for the Steiner tree problem in edge-weighted graphs. Our algorithm improves the classical dynamic programming approach by Dreyfus and Wagner. We achieve a significantly better practical performance via pruning and future costs, a generalization of a well-known concept to speed up shortest path computations. Our algorithm matches the best known worst-case run time and has a fast, often superior, practical performance: on some large instances originating from VLSI design, previous best run times are improved upon by orders of magnitudes. We are also able to solve larger instances of the d-dimensional rectilinear Steiner tree problem for $$d \in \{3, 4, 5\}$$d∈{3,4,5}, whose Hanan grids contain up to several millions of edges.

[1]  M. Held,et al.  A dynamic programming approach to sequencing problems , 1962, ACM National Meeting.

[2]  M. Hanan,et al.  On Steiner’s Problem with Rectilinear Distance , 1966 .

[3]  P. Winter,et al.  Faster Exact Algorithms for Computing Steiner Trees in Higher Dimensional Euclidean Spaces , 2014 .

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

[5]  M. R. Rao,et al.  Solving the Steiner Tree Problem on a Graph Using Branch and Cut , 1992, INFORMS J. Comput..

[6]  Xinhui Wang,et al.  Dynamic Programming for Minimum Steiner Trees , 2007, Theory of Computing Systems.

[7]  R. Prim Shortest connection networks and some generalizations , 1957 .

[8]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

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

[10]  F. Hwang On Steiner Minimal Trees with Rectilinear Distance , 1976 .

[11]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[12]  Richard M. Karp,et al.  The Traveling-Salesman Problem and Minimum Spanning Trees , 1970, Oper. Res..

[13]  Timothy Law Snyder,et al.  On the Exact Location of Steiner Points in General Dimension , 1992, SIAM J. Comput..

[14]  David M. Warme,et al.  Exact Algorithms for Plane Steiner Tree Problems: A Computational Study , 2000 .

[15]  Clyde L. Monma,et al.  Send-and-Split Method for Minimum-Concave-Cost Network Flows , 1987, Math. Oper. Res..

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

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

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

[19]  Siavash Vahdati Daneshmand,et al.  Algorithmic approaches to the Steiner problem in networks , 2004 .

[20]  Siavash Vahdati Daneshmand,et al.  Practical Partitioning-Based Methods for the Steiner Problem , 2006, WEA.

[21]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[22]  Tobias Polzin,et al.  Algorithms for the Steiner problem in networks , 2003 .

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

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

[25]  A. Volgenant,et al.  Some generalizations of the steiner problem in graphs , 1987, Networks.

[26]  Jens Vygen Faster algorithm for optimum Steiner trees , 2011, Inf. Process. Lett..

[27]  Stefan Fafianie,et al.  Speeding Up Dynamic Programming with Representative Sets - An Experimental Evaluation of Algorithms for Steiner Tree on Tree Decompositions , 2013, IPEC.

[28]  John E. Beasley An algorithm for the steiner problem in graphs , 1984, Networks.

[29]  Thorsten Koch,et al.  Solving Steiner tree problems in graphs to optimality , 1998, Networks.

[30]  Miroslav Chleb ´ õk,et al.  The Steiner tree problem on graphs: inapproximability results , 2008 .

[31]  A. Volgenant,et al.  An edge elimination test for the steiner problem in graphs , 1989 .

[32]  Jens Vygen,et al.  Combinatorial Optimization in VLSI Design , 2011, Combinatorial Optimization - Methods and Applications.

[33]  Celso C. Ribeiro,et al.  Preprocessing Steiner problems from VLSI layout , 2002, Networks.

[34]  Stefan Kratsch,et al.  Deterministic Single Exponential Time Algorithms for Connectivity Problems Parameterized by Treewidth , 2013, ICALP.

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