Abstract
The GeoSteiner software package has for about 20 years been the fastest (publicly available) program for computing exact solutions to Steiner tree problems in the plane. The computational study by Warme, Winter and Zachariasen, published in 2000, documented the performance of the GeoSteiner approach—allowing the exact solution of Steiner tree problems with more than a thousand terminals. Since then, a number of algorithmic enhancements have improved the performance of the software package significantly. We describe these (previously unpublished) enhancements, and present a new computational study wherein we run the current code on the largest problem instances from the 2000-study, and on a number of larger problem instances. The computational study is performed using the commercial GeoSteiner 4.0 code base, and the performance is compared to the publicly available GeoSteiner 3.1 code base as well as the code base from the 2000-study. The software studied in the paper is being released as GeoSteiner 5.0 under an open source license.
Similar content being viewed by others
Notes
Link to graph instances: http://dimacs11.zib.de/downloads.html.
The GeoSteiner branch-and-cut framework was written in 1995–1998. At that time the CPLEX MIP solver was too primitive to provide good support for user-provided separation algorithms, primal heuristics and other plugins currently taken for granted—so we wrote our own branch-and-cut framework using CPLEX as just an LP solver. This also made it easier to support other LP solvers such as lp_solve.
References
Althaus, E.: Berechnung optimaler Steinerbäume in der Ebene. Master’s thesis, Max-Planck-Institut für Informatik in Saarbrücken, Universität des Saarlandes (1998)
Applegate, D., Bixby, R., Chvátal, V., Cook, W.: TSP cuts which do not conform to the template paradigm. In: Jünger, M., Naddef, D. (eds.) Computational combinatorial optimization. Lecture Notes in Computer Science, vol. 2241. Springer, Berlin (2001)
Beasley, J.E.: OR-library: distributing test problems by electronic mail. J. Oper. Res. Soc. 41, 1069–1072 (1990)
Brazil, M., Thomas, D.A., Weng, J.F., Zachariasen, M.: Canonical forms and algorithms for Steiner trees in uniform orientation metrics. Algorithmica 44, 281–300 (2006)
Brazil, M., Zachariasen, M.: Steiner trees for fixed orientation metrics. J. Glob. Optim. 43, 141–169 (2009)
Brazil, M., Zachariasen, M.: The uniform orientation Steiner tree problem is NP-hard. Int. J. Comput. Geom. 24, 87–105 (2014)
Brazil, M., Zachariasen, M.: Optimal Interconnection Trees in the Plane: Theory, Algorithms and Applications. Springer, Berlin (2015)
Fößmeier, U., Kaufmann, M.: Solving rectilinear Steiner tree problems exactly in theory and practice. In: Burkard, R., Woeginger, G. (eds.) Algorithms ESA 97, Lecture Notes in Computer Science, vol. 1284, pp. 171–185. Springer, Berlin (1997)
Garey, M.R., Graham, R.L., Johnson, D.S.: The complexity of computing Steiner minimal trees. SIAM J. Appl. Math. 32(4), 835–859 (1977)
Garey, M.R., Johnson, D.S.: The rectilinear Steiner tree problem is NP-complete. SIAM J. Appl. Math. 32(4), 826–834 (1977)
Gilbert, E.N., Pollak, H.O.: Steiner minimal trees. SIAM J. Appl. Math. 16(1), 1–29 (1968)
Hanan, M.: On Steiner’s problem with rectilinear distance. SIAM J. Appl. Math. 14(2), 255–265 (1966)
Huang, T., Young, E.F.Y.: Obsteiner: an exact algorithm for the construction of rectilinear Steiner minimum trees in the presence of complex rectilinear obstacles. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 32(6), 882–893 (2013)
Hwang, F.K., Richards, D.S.: Steiner tree problems. Networks 22, 55–89 (1992)
Hwang, F.K., Richards, D.S., Winter, P.: The Steiner Tree Problem. Annals of Discrete Mathematics, vol. 53. Elsevier, Amsterdam (1992)
Kahng, A.B., Mandoiu, I.I., Zelikovsky, A.Z.: Highly scalable algorithms for rectilinear and octilinear Steiner trees. In: Proceedings of the Asia and South Pacific Design Automation Conference, New York, pp. 827–833 (2003)
Mehlhorn, K., Näher, S.: LEDA: a library of efficient data types and algorithms. In: Proceedings of the Seventeenth International Colloquim on Automata, Languages and Programming, pp. 1–5 (1990)
Mehlhorn, K., Näher, S.: LEDA—A Platform for Combinatorial and Geometric Computing. Max-Planck-Institut für Informatik, Saarbrücken http://www.mpi-sb.mpg.de/LEDA/leda.html (1996)
Mehlhorn, K., Näher, S.: LEDA—A Platform for Combinatorial and Geometric Computing. Max-Planck-Institut für Informatik, Saarbrücken (1996). http://www.mpi-sb.mpg.de/LEDA/leda.html
Polzin, T., Daneshmand, S.V.: On Steiner trees and minimum spanning trees in hypergraphs. Oper. Res. Lett. 31, 12–20 (2003)
Salowe, J.S., Warme, D.M.: Thirty-five-point rectilinear Steiner minimal trees in a day. Networks 25(2), 69–87 (1995)
Smith, J.M., Lee, D.T., Liebman, J.S.: An \(O(n \log n)\) heuristic for Steiner minimal tree problems on the Euclidean metric. Networks 11, 23–29 (1981)
Thomborson, C.D., Alpern, B., Carter, L.: Rectilinear Steiner tree minimization on a workstation. In: Dean, N., Shannon, G.E. (eds.) Computational Support for Discrete Mathematics, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 15, pp. 119–136. American Mathematical Society, Providence (1994)
Warme, D. M.: Spanning Trees in Hypergraphs with Applications to Steiner Trees. PhD thesis, University of Virginia, (1998)
Warme, D.M., Winter, P., Zachariasen, M.: Exact algorithms for plane Steiner tree problems: a computational study. In: Du, D.-Z., Smith, J.M., Rubinstein, J.H. (eds.) Advances in Steiner Trees, pp. 81–116. Kluwer Academic Publishers, Boston (2000)
Widmayer, P., Wu, Y.F., Wong, C.K.: On some distance problems in fixed orientations. SIAM J. Comput. 16(4), 728–746 (1987)
Winter, P.: An algorithm for the Steiner problem in the Euclidean plane. Networks 15, 323–345 (1985)
Winter, P., Zachariasen, M.: Euclidean Steiner minimum trees: an improved exact algorithm. Networks 30, 149–166 (1997)
Zachariasen, M.: Rectilinear full Steiner tree generation. Networks 33, 125–143 (1999)
Zachariasen, M., Rohe, A.: Rectilinear group Steiner trees and applications in VLSI design. Math. Program. 94, 407–433 (2003)
Zachariasen, M., Winter, P.: Concatenation-based greedy heuristics for the Euclidean Steiner tree problem. Algorithmica 25, 418–437 (1999)
Zachariasen, M., Winter, P.: Obstacle-avoiding Euclidean Steiner trees in the plane: an exact algorithm. In: Workshop on Algorithm Engineering and Experimentation (ALENEX), Lecture Notes in Computer Science, vol. 1619, pp. 282–295. Springer, Baltimore (1999)
Acknowledgements
The authors would like to thank the referees for their comments that helped to improve this paper.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Juhl, D., Warme, D.M., Winter, P. et al. The GeoSteiner software package for computing Steiner trees in the plane: an updated computational study. Math. Prog. Comp. 10, 487–532 (2018). https://doi.org/10.1007/s12532-018-0135-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-018-0135-8
Keywords
- Euclidean Steiner tree problem
- Rectilinear Steiner tree problem
- Fixed orientation Steiner tree problem
- Exact algorithm
- Computational study