Advertisement

Mathematical Programming Computation

, Volume 9, Issue 2, pp 231–296 | Cite as

SCIP-Jack—a solver for STP and variants with parallelization extensions

  • Gerald Gamrath
  • Thorsten Koch
  • Stephen J. Maher
  • Daniel Rehfeldt
  • Yuji Shinano
Full Length Paper

Abstract

The Steiner tree problem in graphs is a classical problem that commonly arises in practical applications as one of many variants. While often a strong relationship between different Steiner tree problem variants can be observed, solution approaches employed so far have been prevalently problem-specific. In contrast, this paper introduces a general-purpose solver that can be used to solve both the classical Steiner tree problem and many of its variants without modification. This versatility is achieved by transforming various problem variants into a general form and solving them by using a state-of-the-art MIP-framework. The result is a high-performance solver that can be employed in massively parallel environments and is capable of solving previously unsolved instances.

Mathematics Subject Classification

90C10 90C27 

Notes

Acknowledgements

The work for this article has been conducted within the Research Campus Modal funded by the German Federal Ministry of Education and Research (fund number 05M14ZAM). It has been further supported by a Google Faculty Research Award. The authors would like to thank the referees for constructive criticism and helpful comments on the paper. We are thankful to The Institute of Statistical Mathematics (ISM), Tokyo, and the HLRN-III facility at ZIB, Berlin, for providing supercomputing resources and their respective staff for their helpful support. Furthermore, we are thankful to Cees Duin for sending us a hard copy of his PhD thesis. This research used resources of the Oak Ridge Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC05-00OR22725.

References

  1. 1.
    Karp, R.: Reducibility among combinatorial problems. In: Miller, R., Thatcher, J. (eds.) Complexity of Computer Computations, pp. 85–103. Springer, Boston, MA (1972)CrossRefGoogle Scholar
  2. 2.
    Leitner, M., Ljubić, I., Luipersbeck, M., Prossegger, M., Resch, M.: New real-world instances for the Steiner tree problem in graphs. Technical report, ISOR, Uni Wien (2014)Google Scholar
  3. 3.
    Chowdhury, S.A., Shackney, S., Heselmeyer-Haddad, K., Ried, T., Schffer, A.A., Schwartz, R.: Phylogenetic analysis of multiprobe fluorescence in situ hybridization data from tumor cell populations. Bioinformatics 29(13), 189–198 (2013)CrossRefGoogle Scholar
  4. 4.
    Ljubić, I.: Exact and memetic algorithms for two network design problems. PhD thesis, Technische Universität Wien (2004)Google Scholar
  5. 5.
    Dittrich, M.T., Klau, G.W., Rosenwald, A., Dandekar, T., Müller, T.: Identifying functional modules in protein–protein interaction networks: an integrated exact approach. Bioinformatics 24(13), 223–231 (2008)CrossRefGoogle Scholar
  6. 6.
    Liers, F., Martin, A., Pape, S.: Steiner trees with degree constraints: structural results and an exact solution approach. Technical report, Department Mathematik (2014)Google Scholar
  7. 7.
    Koch, T., Martin, A.: Solving Steiner tree problems in graphs to optimality. Networks 32, 207–232 (1998)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Gamrath, G., Fischer, T., Gally, T., Gleixner, A.M., Hendel, G., Koch, T., Maher, S.J., Miltenberger, M., Müller, B., Pfetsch, M.E., Puchert, C., Rehfeldt, D., Schenker, S., Schwarz, R., Serrano, F., Shinano, Y., Vigerske, S., Weninger, D., Winkler, M., Witt, J.T., Witzig, J.: The SCIP Optimization Suite 3.2. Technical Report 15-60, ZIB, Takustr.7, 14195 Berlin (2016)Google Scholar
  10. 10.
    Borndörfer, R., Hoàng, N.D., Karbstein, M., Koch, T., Martin, A.: How many Steiner terminals can you connect in 20 years? In: Jünger, M., Reinelt, G. (eds.) Facets of Combinatorial Optimization, pp. 215–244. Springer, Berlin, Heidelberg (2013)CrossRefGoogle Scholar
  11. 11.
    Koch, T., Martin, A., Pfetsch, M.E.: Progress in academic computational integer programming. In: Jünger, M., Reinelt, G. (eds.) Facets of Combinatorial Optimization, pp. 483–506. Springer, Berlin, Heidelberg (2013)CrossRefGoogle Scholar
  12. 12.
    Rosseti, I., de Aragão, M., Ribeiro, C., Uchoa, E., Werneck, R.: New benchmark instances for the Steiner problem in graphs. In: Extended Abstracts of the 4th Metaheuristics International Conference (MIC’2001), pp. 557–561, Porto (2001)Google Scholar
  13. 13.
    Duin, C.: Steiner problems in graphs. PhD thesis, University of Amsterdam (1993)Google Scholar
  14. 14.
    Polzin, T.: Algorithms for the Steiner problem in networks. PhD thesis, Saarland University (2004)Google Scholar
  15. 15.
    Daneshmand, S.V.: Algorithmic approaches to the Steiner problem in networks. PhD thesis, Universität Mannheim (2004)Google Scholar
  16. 16.
    Rehfeldt, D.: A generic approach to solving the Steiner tree problem and variants. Master’s thesis, Technische Universität Berlin (2015)Google Scholar
  17. 17.
    Applegate, D.L., Bixby, R.E., Chvátal, V., Cook, W.J.: On the solution of traveling salesman problems. Documenta Mathematica Journal der Deutschen Mathematiker-Vereinigung Extra Volume ICM III, 645–656 (1998)MathSciNetMATHGoogle Scholar
  18. 18.
    Mittelmann, H.: Benchmarks for optimization software. http://plato.asu.edu/bench.html. Last accessed 9 March 2015
  19. 19.
    Beasley, J.E.: An algorithm for the Steiner problem in graphs. Networks 14(1), 147–159 (1984)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Hwang, F., Richards, D.S., Winter, P.: The Steiner tree problem. Annals of Descrete Mathematics, vol. 53. Elsevier, AmsterdamGoogle Scholar
  21. 21.
    Achterberg, T.: Constraint integer programming. PhD thesis, Technische Universität Berlin (2007)Google Scholar
  22. 22.
    de Aragao, M.P., Werneck, R.F.: On the implementation of MST-based heuristics for the Steiner problem in graphs. In: Proceedings of the 4th International Workshop on Algorithm Engineering and Experiments, pp. 1–15. Springer, Berlin, Heidelberg (2002)Google Scholar
  23. 23.
    Uchoa, E., Werneck, R.F.F.: Fast local search for Steiner trees in graphs. In: Blelloch, G.E., Halperin, D. (eds.) ALENEX, pp. 1–10. SIAM, Society for Industrial and Applied Mathematics, Philadelphia, PA (2010)Google Scholar
  24. 24.
    Wong, R.: A dual ascent approach for Steiner tree problems on a directed graph. Math. Program. 28, 271–287 (1984)MathSciNetCrossRefMATHGoogle Scholar
  25. 25.
    Pajor, T., Uchoa, E., Werneck, R.F: A Robust and Scalable Algorithm for the Steiner Problem in Graphs. Preprint, arXiv:1412.2787
  26. 26.
    Takahashi, H.: An approximate solution for the Steiner problem in graphs. Math. Jpn. 24, 573–577 (1980)MathSciNetMATHGoogle Scholar
  27. 27.
    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
  28. 28.
    Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. PhD thesis, Technische Universität Berlin (1996)Google Scholar
  29. 29.
    Beasley, J.: An SST-based algorithm for the Steiner problem in graphs. Networks 19, 1–16 (1989)MathSciNetCrossRefMATHGoogle Scholar
  30. 30.
    Gamrath, G., Koch, T., Maher, S.J., Rehfeldt, D., Shinano, Y.: SCIP-Jack—a solver for STP and variants with parallelization extensions. 11th DIMACS Competition workshop paper (2014)Google Scholar
  31. 31.
    Polzin, T., Vahdati-Daneshmand, S.: The Steiner tree challenge: an updated study (2014). Unpublished manuscript at http://dimacs11.zib.de/downloads.html
  32. 32.
    Johnston, J., Kelley, R., Crawford, T., Morton, D., Agarwala, R., Koch, T., Schäffer, A., Francomano, C., Biesecker, L.: A novel nemaline myopathy in the Amish caused by a mutation in troponin T1. Am. J. Hum. Genet. 67(4), 814–821 (2000)Google Scholar
  33. 33.
    Garey, M., Johnson, D.: The rectilinear Steiner tree problem is NP-complete. SIAM J. Appl. Math. 32, 826–834 (1977)MathSciNetCrossRefMATHGoogle Scholar
  34. 34.
    Warme, D., Winter, P., Zachariasen, M.: Exact algorithms for plane Steiner tree problems: a computational study. In: Du, D.Z., Smith, J., Rubinstein, J. (eds.) Advances in Steiner Trees, pp. 81–116. Kluwer, Dordrecht (2000)Google Scholar
  35. 35.
    Zachariasen, M., Rohe, A.: Rectilinear group Steiner trees and applications in VLSI design. Technical Report 00906, Institute for Discrete Mathematics (2000)Google Scholar
  36. 36.
    Emanet, N.: The Rectilinear Steiner Tree Problem. Lambert Academic Publishing (2010)Google Scholar
  37. 37.
    Hanan, M.: On Steiner’s problem with rectilinear distance. SIAM J. Appl. Math. 14(2), 255–265 (1966)MathSciNetCrossRefMATHGoogle Scholar
  38. 38.
    Snyder, T.L.: On the exact location of Steiner points in general dimension. SIAM J. Comput. 21(1), 163–180 (1992)MathSciNetCrossRefMATHGoogle Scholar
  39. 39.
    Rehfeldt, D., Koch, T.: Transformations for the prize-collecting Steiner tree problem and the maximum-weight connected subgraph problem to SAP. Technical Report 16-36, ZIB, Takustr.7, 14195 Berlin (2016)Google Scholar
  40. 40.
    Vo, S.: A survey on some generalizations of Steiner’s problem. In: 1st Balkan Conference on Operational Research Proceedings, vol. 1, pp. 41–51 (1988)Google Scholar
  41. 41.
    Duin, C.W., Volgenant, A., Vo, S.: Solving group Steiner problems as Steiner problems. Eur. J. Oper. Res. 154(1), 323–329 (2004)MathSciNetCrossRefMATHGoogle Scholar
  42. 42.
    Ferreira, C.E., de Oliveira Filho, F.M.: New reduction techniques for the group Steiner tree problem. SIAM J. Optim. 17(4), 1176–1188 (2006)MathSciNetCrossRefMATHGoogle Scholar
  43. 43.
    Voß, S.: The Steiner tree problem with hop constraints. Ann. Oper. Res. 86, 321–345 (1999)MathSciNetCrossRefMATHGoogle Scholar
  44. 44.
    Shinano, Y., Achterberg, T., Berthold, T., Heinz, S., Koch, T.: ParaSCIP: a parallel extension of SCIP. In: Bischof, C., Hegering, H.G., Nagel, W., Wittum, G. (eds.) Competence in High Performance Computing 2010, pp. 135–148. Springer, Berlin, Heidelberg (2012)Google Scholar
  45. 45.
    Shinano, Y., Heinz, S., Vigerske, S., Winkler, M.: FiberSCIP—a shared memory parallelization of SCIP. Technical Report 13–55, ZIB, Takustr.7, 14195 Berlin (2013)Google Scholar
  46. 46.
    Shinano, Y., Achterberg, T., Berthold, T., Heinz, S., Koch, T., Winkler, M.: Solving open MIP instances with ParaSCIP on supercomputers using up to 80,000 cores. In: 2016 IEEE International Parallel and Distributed Processing Symposium, pp. 770–779 (2016)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg and The Mathematical Programming Society 2016

Authors and Affiliations

  • Gerald Gamrath
    • 1
  • Thorsten Koch
    • 1
  • Stephen J. Maher
    • 1
  • Daniel Rehfeldt
    • 1
  • Yuji Shinano
    • 1
  1. 1.Zuse Institute BerlinBerlinGermany

Personalised recommendations