Advertisement

Mathematical Programming Computation

, Volume 10, Issue 1, pp 69–118 | Cite as

A robust and scalable algorithm for the Steiner problem in graphs

  • Thomas Pajor
  • Eduardo Uchoa
  • Renato F. Werneck
Full Length Paper

Abstract

We present an effective heuristic for the Steiner Problem in Graphs. Its main elements are a multistart algorithm coupled with aggressive combination of elite solutions, both leveraging recently-proposed fast local searches. We also propose a fast implementation of a well-known dual ascent algorithm that not only makes our heuristics more robust (by dealing with easier cases quickly), but can also be used as a building block of an exact branch-and-bound algorithm that is quite effective for some inputs. On all graph classes we consider, our heuristic is competitive with (and sometimes more effective than) any previous approach with similar running times. It is also scalable: with long runs, we could improve or match the best published results for most open instances in the literature.

Keywords

Steiner trees Local search Metaheuristics Dual ascent 

Mathematics Subject Classification

05C85 68R10 90C95 

Notes

Acknowledgements

We thank two anonymous referees for their suggestions on how to improve this work, and all 11th DIMACS Implementation Challenge participants for their comments. We are most grateful to David S. Johnson, not only for providing essential feedback to an early version of this paper, but also (among numerous other accomplishments) for creating and nurturing the DIMACS Challenge series and championing the field of Algorithm Engineering. We dedicate this paper to his memory.

References

  1. 1.
    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Althaus, E., Blumenstock, M.: Algorithms for the maximum weight connected subgraph and prize-collecting Steiner tree problems. In: Manuscript Presented at the 11th DIMACS/ICERM Implementation Challenge (2014)Google Scholar
  3. 3.
    Bastos, M.P., Ribeiro, C.C.: Reactive tabu search with path-relinking for the Steiner problem in graphs. In: Ribeiro, C.C., Hansen, P. (eds.) Essays and Surveys in Metaheuristics, pp. 39–58. Kluwer, Alphen aan den Rijn (2001)Google Scholar
  4. 4.
    Beasley, J.: OR-Library: distributing test problems by electronic mail. J. Oper. Res. Soc. 41, 1069–1072 (1990). http://mscmga.ms.ic.ac.uk/info.html
  5. 5.
    Berthold, T.: Measuring the impact of primal heuristics. Oper. Res. Lett. 41(6), 611–614 (2013)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Biazzo, I., Braunstein, A., Zecchina, R.: Performance of a cavity-method-based algorithm for the prize-collecting Steiner tree problem on graphs. Phys. Rev. E 86 (2012). http://arxiv.org/abs/1309.0346
  7. 7.
    Biazzo, I., Muntoni, A., Braunstein, A., Zecchina, R.: On the performance of a cavity method based algorithm for the prize-collecting Steiner tree problem on graphs. In: Presentation at the 11th DIMACS/ICERM Implementation Challenge (2014)Google Scholar
  8. 8.
    Byrka, J., Grandoni, F., Rothvoß, T., Sanità, L.: Steiner tree approximation via iterative randomized rounding. J. ACM 60(1), 6:1–6:33 (2013)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Cheng, X., Du, D.Z.: Steiner Trees in Industry. Springer, Berlin (2002)CrossRefMATHGoogle Scholar
  10. 10.
    Chlebík, M., Chlebíková, J.: Approximation hardness of the Steiner tree problem on graphs. In: Proceedings of 8th Scandinavian Workshop on Algorithm Theory (SWAT), LNCS, vol. 2368, pp. 95–99. Springer (2002)Google Scholar
  11. 11.
    Chopra, S., Gorres, E.R., Rao, M.R.: Solving the Steiner tree problem on a graph using branch and cut. ORSA J. Comput. 4, 320–335 (1992)CrossRefMATHGoogle Scholar
  12. 12.
    Daneshmand, S.V.: Algorithmic approaches to the Steiner problem in networks. Ph.D. thesis, Universität Mannheim. http://d-nb.info/970511787/34 (2003)
  13. 13.
    Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer. Math. 1, 269–271 (1959)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Dowsland, K.: Hill-climbing, simulated annealing and the Steiner problem in graphs. Eng. Optim. 17, 91–107 (1991)CrossRefGoogle Scholar
  15. 15.
    Duin, C.: Steiner’s problem in graphs: approximation, reduction, variation. Ph.D. thesis, Institute for Actuarial Science and Economics, University of Amsterdam (1993)Google Scholar
  16. 16.
    Duin, C., Volgenant, A.: Reduction tests for the Steiner problem in graphs. Networks 19, 549–567 (1989)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Duin, C., Voß, S.: Efficient path and vertex exchange in Steiner tree algorithms. Networks 29, 89–105 (1997)MathSciNetCrossRefMATHGoogle Scholar
  18. 18.
    Duin, C., Voß, S.: The Pilot method: a strategy for heuristic repetition with application to the Steiner problem in graphs. Networks 34, 181–191 (1999)MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Fischetti, M., Leitner, M., Ljubic, I., Luipersbeck, M., Monaci, M., Resch, M., Salvagnin, D., Sinnl, M.: Thinning out Steiner trees: a node-based model for uniform edge costs. In: Manuscript Presented at the 11th DIMACS/ICERM Implementation Challenge (2014)Google Scholar
  20. 20.
    Fischetti, M., Leitner, M., Ljubić, I., Luipersbeck, M., Monaci, M., Resch, M., Salvagnin, D., Sinnl, M.: Thinning out Steiner trees: a node-based model for uniform edge costs. Math. Program. Comput. 9(2), 203–229 (2017)MathSciNetCrossRefMATHGoogle Scholar
  21. 21.
    Frey, C.: Heuristiken und genetisch algorithmen für modifizierte Steinerbaumprobleme. Ph.D. thesis (1997)Google Scholar
  22. 22.
    Gamrath, G., Koch, T., Maher, S.J., Rehfeldt, D., Shinano, Y.: SCIP-Jack: a solver for STP and variants with parallelization extensions. In: Manuscript Presented at the 11th DIMACS/ICERM Implementation Challenge (2014)Google Scholar
  23. 23.
    Gamrath, G., Koch, T., Maher, S.J., Rehfeldt, D., Shinano, Y.: SCIP-Jack–a solver for STP and variants with parallelization extensions. Math. Program. Comput. 9(2), 231–296 (2017)Google Scholar
  24. 24.
    Goemans, M.X., Olver, N., Rothvoß, T., Zenklusen, R.: Matroids and integrality gaps for hypergraphic Steiner tree relaxations. In: ACM Symposium on Theory of Computing (STOC), pp. 1161–1176. ACM (2012)Google Scholar
  25. 25.
    Hougardy, S., Silvanus, J., Vygen, J.: Dijkstra meets Steiner: A fast exact goal-oriented Steiner tree algorithm. Technical Report abs/1406.0492, CoRR (2014)Google Scholar
  26. 26.
    Hougardy, S., Silvanus, J., Vygen, J.: Dijkstra meets Steiner: a fast exact goal-oriented Steiner tree algorithm. Math. Program. Comput. 9(2), 135–202 (2017)MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    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. 882–893Google Scholar
  28. 28.
    Johnson, D.S., Koch, T., Werneck, R.F., Zachariasen, M.: 11th DIMACS Implementation Challenge in Collaboration with ICERM: Steiner Tree Problems. http://dimacs11.zib.de
  29. 29.
    Juhl, D., Warme, D.M., Winter, P., Zachariasen, M.: The GeoSteiner software package for computing Steiner trees in the plane: an updated computational study. In: Manuscript Presented at the 11th DIMACS/ICERM Implementation Challenge (2014)Google Scholar
  30. 30.
    Karp, R.: Reducibility among combinatorial problems. In: Miller, R., Thatcher, J. (eds.) Complexity of Computer Computations, pp. 85–103. Plenum, New York (1972)CrossRefGoogle Scholar
  31. 31.
    Koch, T., Martin, A.: Solving Steiner tree problems in graphs to optimality. Networks 32, 207–232 (1998)MathSciNetCrossRefMATHGoogle Scholar
  32. 32.
    Koch, T., Martin, A., Voß, S.: SteinLib: an updated library on Steiner tree problems in graphs. Tech. Rep. ZIB-Report 00-37, Konrad-Zuse-Zentrum für Informationstechnik Berlin. http://elib.zib.de/steinlib (2000)
  33. 33.
    Leitner, M., Ljubic, I., Luipersbeck, M., Prossegger, M., Resch, M.: New real-world instances for the Steiner tree problem in graphs. Tech. rep., ISOR, Uni Wien. http://homepage.univie.ac.at/ivana.ljubic/research/STP/realworld-stp-report-short.pdf (2014)
  34. 34.
    Mehlhorn, K.: A faster approximation algorithm for the Steiner problem in graphs. Inf. Process. Lett. 27, 125–128 (1988)MathSciNetCrossRefMATHGoogle Scholar
  35. 35.
    Minoux, M.: Efficient greedy heuristics for Steiner tree problems using reoptimization and supermodularity. INFOR 28, 221–233 (1990)MATHGoogle Scholar
  36. 36.
    Osborne, L., Gillett, B.: A comparison of two simulated annealing algorithms applied to the directed Steiner problem on networks. ORSA J. Comp. 3(3), 213–225 (1991)CrossRefMATHGoogle Scholar
  37. 37.
    Poggi de Aragão, M., Ribeiro, C.C., Uchoa, E., Werneck, R.F.: Hybrid local search for the Steiner problem in graphs. In: Ext. Abstracts of the 4th Metaheuristics International Conference, pp. 429–433. Porto (2001)Google Scholar
  38. 38.
    Poggi de Aragão, M., Uchoa, E., Werneck, R.F.: Dual heuristics on the exact solution of large Steiner problems. In: Proceedings of Brazilian Symposium on Graphs, Algorithms and Combinatorics (GRACO), Elec. Notes in Disc. Math. vol. 7 (2001)Google Scholar
  39. 39.
    Poggi de Aragão, M., Werneck, R.F.: On the implementation of MST-based heuristics for the Steiner problem in graphs. In: Mount, D.M., Stein, C., (eds.) Proceedings of 4th Workshop on Algorithm Engineering and Experiments (ALENEX), LNCS, vol. 2409, pp. 1–15. Springer (2002)Google Scholar
  40. 40.
    Polzin, T.: Algorithms for the Steiner problem in networks. Ph.D. thesis, Universität des Saarlandes (2003)Google Scholar
  41. 41.
    Polzin, T., Vahdati Daneshmand, S.: Improved algorithms for the Steiner problem in networks. Discrete Appl. Math. 112(1–3), 263–300 (2001)MathSciNetCrossRefMATHGoogle Scholar
  42. 42.
    Polzin, T., Vahdati Daneshmand, S.: The Steiner tree challenge: an updated study. In: Manuscript Contributed to the 11th DIMACS/ICERM Implementation Challenge. http://dimacs11.zib.de/downloads.html (2014)
  43. 43.
    Resende, M.G.C., Werneck, R.F.: A hybrid heuristic for the \(p\)-median problem. J. Heuristics 10(1), 59–88 (2004)CrossRefMATHGoogle Scholar
  44. 44.
    Ribeiro, C.C., Souza, M.C.: Tabu search for the Steiner problem in graphs. Networks 36, 138–146 (2000)MathSciNetCrossRefMATHGoogle Scholar
  45. 45.
    Ribeiro, C.C., Uchoa, E., Werneck, R.F.: A hybrid GRASP with perturbations for the Steiner problem in graphs. Informs J. Comput. 14(3), 228–246 (2002)MathSciNetCrossRefMATHGoogle Scholar
  46. 46.
    Robins, G., Zelikovsky, A.: Tighter bounds for graph Steiner tree approximation. SIAM J. Discrete Math. 19(1), 122–134 (2005)MathSciNetCrossRefMATHGoogle Scholar
  47. 47.
    Rosseti, I., Poggi de Aragão, M., Ribeiro, C.C., Uchoa, E., Werneck, R.F.: New benchmark instances for the Steiner problem in graphs. In: Ext. Abstracts of the 4th Metaheuristics International Conference, pp. 557–591. Porto (2001)Google Scholar
  48. 48.
    Spira, P.M., Pan, A.: On finding and updating spanning trees and shortest paths. SIAM J. Comput. 4(3), 375–380 (1975)MathSciNetCrossRefMATHGoogle Scholar
  49. 49.
    Takahashi, H., Matsuyama, A.: An approximate solution for the Steiner problem in graphs. Math. Japonica 24, 573–577 (1980)MathSciNetMATHGoogle Scholar
  50. 50.
    Tarjan, R.E.: Data Structures and Network Algorithms. SIAM, Philadelphia (1983)CrossRefMATHGoogle Scholar
  51. 51.
    Uchoa, E., Poggi de Aragão, M., Ribeiro, C.C.: Preprocessing Steiner problems from VLSI layout. Networks 40(1), 38–50 (2002)MathSciNetCrossRefMATHGoogle Scholar
  52. 52.
    Uchoa, E., Werneck, R.F.: Fast local search for the Steiner problem in graphs. ACM J. Exper. Algorithms 17(2), 2.2:1–2.2:22 (2012)MathSciNetMATHGoogle Scholar
  53. 53.
    Verhoeven, M.G.A., Severens, M.E.M., Aarts, E.H.L.: Local search for Steiner trees in graphs. In: Rayward-Smith, V.J., Osman, I.H., Reeves, C.R. (eds.) Modern Heuristic Search Methods. Wiley, New York (1996)Google Scholar
  54. 54.
    Voß, S.: Steiner’s problem in graphs: heuristic methods. Discrete Appl. Math. 40(1), 45–72 (1992)MathSciNetCrossRefMATHGoogle Scholar
  55. 55.
    Warme, D., Winter, P., Zachariasen, M.: Exact algorithms for plane Steiner tree problems: a computational study. In: Du, D., Smith, J., Rubinstein, J. (eds.) Advances in Steiner Trees, Combinatorial Optimization, vol. 6. Kluwer, Alphen aan den Rijn (2000)Google Scholar
  56. 56.
    Werneck, R.F.: Steiner problem in graphs: primal, dual, and exact algorithms (In Portuguese). Master’s thesis, Catholic University of Rio de Janeiro (2001)Google Scholar
  57. 57.
    Werneck, R.F., Rosseti, I., de Aragao, M.P., Ribeiro, C.C., Uchoa, E.: New benchmark instances for the Steiner problem in graphs. In: Resende, M.G.C., Souza, J. (eds.) Metaheuristics: Computer Decision-Making, pp. 601–614. Kluwer, Alphen aan den Rijn (2003)Google Scholar
  58. 58.
    Wong, R.: A dual ascent approach for Steiner tree problems on a directed graph. Math. Program. 28, 271–287 (1984)MathSciNetCrossRefMATHGoogle Scholar
  59. 59.
    Zachariasen, M., Rohe, A.: Rectilinear group Steiner trees and applications in VLSI design. Tech. Rep. 00906, Institute for Discrete Mathematics, University of Bonn (2000)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany and The Mathematical Programming Society 2017

Authors and Affiliations

  • Thomas Pajor
    • 1
  • Eduardo Uchoa
    • 2
  • Renato F. Werneck
    • 3
  1. 1.Microsoft ResearchNew York CityUSA
  2. 2.Universidade Federal FluminenseNiteróiBrazil
  3. 3.San FranciscoUSA

Personalised recommendations