Skip to main content

Advertisement

Log in

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

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

Notes

  1. http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/.

References

  1. Karp, R.: Reducibility among combinatorial problems. In: Miller, R., Thatcher, J. (eds.) Complexity of Computer Computations, pp. 85–103. Springer, Boston, MA (1972)

    Chapter  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  4. Ljubić, I.: Exact and memetic algorithms for two network design problems. PhD thesis, Technische Universität Wien (2004)

  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)

    Article  Google Scholar 

  6. Liers, F., Martin, A., Pape, S.: Steiner trees with degree constraints: structural results and an exact solution approach. Technical report, Department Mathematik (2014)

  7. Koch, T., Martin, A.: Solving Steiner tree problems in graphs to optimality. Networks 32, 207–232 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  8. Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

  13. Duin, C.: Steiner problems in graphs. PhD thesis, University of Amsterdam (1993)

  14. Polzin, T.: Algorithms for the Steiner problem in networks. PhD thesis, Saarland University (2004)

  15. Daneshmand, S.V.: Algorithmic approaches to the Steiner problem in networks. PhD thesis, Universität Mannheim (2004)

  16. Rehfeldt, D.: A generic approach to solving the Steiner tree problem and variants. Master’s thesis, Technische Universität Berlin (2015)

  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)

    MathSciNet  MATH  Google Scholar 

  18. Mittelmann, H.: Benchmarks for optimization software. http://plato.asu.edu/bench.html. Last accessed 9 March 2015

  19. Beasley, J.E.: An algorithm for the Steiner problem in graphs. Networks 14(1), 147–159 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  20. Hwang, F., Richards, D.S., Winter, P.: The Steiner tree problem. Annals of Descrete Mathematics, vol. 53. Elsevier, Amsterdam

  21. Achterberg, T.: Constraint integer programming. PhD thesis, Technische Universität Berlin (2007)

  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)

  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)

  24. Wong, R.: A dual ascent approach for Steiner tree problems on a directed graph. Math. Program. 28, 271–287 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  25. Pajor, T., Uchoa, E., Werneck, R.F: A Robust and Scalable Algorithm for the Steiner Problem in Graphs. Preprint, arXiv:1412.2787

  26. Takahashi, H.: An approximate solution for the Steiner problem in graphs. Math. Jpn. 24, 573–577 (1980)

    MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  28. Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. PhD thesis, Technische Universität Berlin (1996)

  29. Beasley, J.: An SST-based algorithm for the Steiner problem in graphs. Networks 19, 1–16 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  31. Polzin, T., Vahdati-Daneshmand, S.: The Steiner tree challenge: an updated study (2014). Unpublished manuscript at http://dimacs11.zib.de/downloads.html

  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)

  33. Garey, M., Johnson, D.: The rectilinear Steiner tree problem is NP-complete. SIAM J. Appl. Math. 32, 826–834 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  35. Zachariasen, M., Rohe, A.: Rectilinear group Steiner trees and applications in VLSI design. Technical Report 00906, Institute for Discrete Mathematics (2000)

  36. Emanet, N.: The Rectilinear Steiner Tree Problem. Lambert Academic Publishing (2010)

  37. Hanan, M.: On Steiner’s problem with rectilinear distance. SIAM J. Appl. Math. 14(2), 255–265 (1966)

    Article  MathSciNet  MATH  Google Scholar 

  38. Snyder, T.L.: On the exact location of Steiner points in general dimension. SIAM J. Comput. 21(1), 163–180 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  41. Duin, C.W., Volgenant, A., Vo, S.: Solving group Steiner problems as Steiner problems. Eur. J. Oper. Res. 154(1), 323–329 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  43. Voß, S.: The Steiner tree problem with hop constraints. Ann. Oper. Res. 86, 321–345 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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)

  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)

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Rehfeldt.

Additional information

The work done for this article was supported by the BMBF Research Campus Modal SynLab and by a Google Faculty Research Award.

Appendices

Appendix A: Proofs

This section provides proofs to the lemmata stated in the course of this paper. For the respective transformation corresponding to each of these lemmata a one-to-one correspondence between the solution sets of the original and the transformed problem is proven as well as the linear relation between the respective solutions values. This implies that all these problems can be solved on their transformed solution spaces.

1.1 A.1: Proof of Lemma 1 (NWSTP to SAP)

Proof

To see the one-to-one correspondence let \(S = (V_S,E_S) \in \mathcal {S}\) and proceed as follows:

Surjective. Initially set \(V'_{S'} := V_S\) and \(A'_{S'} := \emptyset \). Traverse \((V_S,E_S)\), e.g. using breadth-first search, starting from \(r'\) and add for each \(w \in V_S\) visited from \(v \in V_S\) the arc (vw) to \(A'_{S'}\). \(S' := (V'_{S'}, A'_{S'})\) is a solution to \(P'\) and by applying (9) and (10), S is obtained.

Injective. \(S'\) is the only solution to \(P'\) that is mapped by (9) and (10) to S: Each \(\tilde{S}' \in \mathcal {S'}\), \(\tilde{S}' \ne S'\) contains at least one arc (vw) such that \((v,w) \notin A'_{S'}\) and \((w,v) \notin A'_{S'}\), since only substituting arcs in \(A'_{S'}\) by there anti-parallel counterparts would not allow directed paths from the root to all vertices. Therefore, \(\tilde{S}'\) is not mapped onto S.

To acknowledge (11) one readily observes that for each node of \(S'\) except for the root there is exactly one incoming arc, so:

$$\begin{aligned} \sum _{(v,w) \in A'_{S'}} c'_{(v,w)} = \sum _{(v,w) \in A'_{S'}} \left( c_{\{ v,w\} } + p_w\right) = \sum _{\{ v,w\} \in E_S} c_{\{ v,w\} } + \sum _{w \in V_S} p_w - p_{r'}, \end{aligned}$$

which implies (11).

1.2 A.2: Proof of Lemma 2 (RPCSTP to SAP)

Proof

To acknowledge that (14) and (15) constitute a mapping \(\mathcal {S'} \rightarrow \mathcal {S}\) it can be observed that first the root node is conserved and second the set of all arcs corresponding to edges in the original graph (VE) forms a tree. To prove that a bijection is given, let \(S = (V_S,E_S) \in \mathcal {S}\) and \(T = \{ t_1,\ldots ,t_s\}\) as defined in Transformation 2.

Surjective Initially, set \(V'_{S'} := V_S\) and \(A'_{S'} := \emptyset \). Analogously to the proof of Lemma 1, add for each edge in \(E_S\) an arc to \(A'_{S'}\) in such a way that finally there is for each \(v' \in V'_{S'}\) a directed path from \(r'\) to \(v'\). Next, for each \(i \in \{ 1,\ldots s \}\) set \(a_i:= (t_i, t_i' )\) if \(t_i \in V_S\), otherwise \(a_i:=(r', t_i' )\) and add \(a_i\) to \(A'_{S'}\). Thereupon, \(S' := (V'_{S'}, A'_{S'})\) is a solution to \(P'\) and by applying (14) and (15), we obtain S.

Injective Define the set of all arcs of \(P'\) corresponding to the edges of P as \(A := \{ (v,w) \in A' :~ \{v,w \} \in E \}\) and accordingly \(A_{S'} := A'_{S'} \cap A\). Since (13) has been assumed, it holds that: \((t_i, t_i') \in A'_{S'} \Leftrightarrow t_i \in V_S'\) and \((r', t_i') \in A'_{S'} \Leftrightarrow t_i \notin V_S'\). This implies that \(A'_{S'}\) is already determined by \(A_{S'}\). Now let \(\tilde{S}' =(\tilde{V}_{S}',\tilde{A}_{S}') \in \mathcal {S'}\), \(\tilde{S}' \ne S'\). Consequently, there is at least one arc \((v,w) \in \tilde{A}_{S}'\) such that \((w,v) \notin A_{S'}\) and \((w,v) \notin A_{S'}\) and therefore is \(\tilde{S}'\) not mapped to S.

Finally, using the above notation one observes that:

$$\begin{aligned} \sum _{a \in {A}_{S'}'} c_a' = \sum _{a \in A_{S'}} c_a'+ \sum _{a \in {A}_{S'}' {\setminus } A_{S'}} c_a' = \sum _{e \in E_S} c_e + \sum _{v \in V {\setminus } V_S } p_v, \end{aligned}$$

so the costs of \(S'\) and S are equal.

1.3 A.3: Proof of Lemma 3 (PCSTP to rcSAP)

Proof

Likewise to the proof of Lemma 2 one observes that (18) and (19) constitute a mapping \(\mathcal {S'} \rightarrow \mathcal {S}\). Let \(S = (V_S,E_S) \in \mathcal {S}\) and \(T = \{ t_1,\ldots ,t_s\}\) defined as in Transformation 3.

Surjective. Initially, define \(V'_{S'} := V_S\), \(A'_{S'} := \{ (r,t_{i_0}) \}\), with \(i_0 := \min {\{ i ~|~ t_i \in V_{S'}' \} }\). Then extend \(A'_{S'}\) analogously to the proof of Lemma 2. The so constructed \(S' := (V'_{S'}, A'_{S'})\) is a solution to \(P'\) and applying (18) and (19) S is obtained.

Injective Parallelly to the proof of Lemma 2 it can be shown that for a solution \(\tilde{S}' \ne S'\) to \(P'\) there must be at least one arc \((v,w) \in A_{\tilde{S}'}\) such that \((v,w) \notin A_{S'}\) and \((w,v) \notin A_{S'}\) with A defined as in the proof of Lemma 2. Therefore it follows that \(\tilde{S}'\) is not mapped to S.

The equality of the solution values of S and \(S'\) can be seen likewise.

1.4 A.4: Proof of Lemma 4 (MWCS to rcSAP)

Proof

The one-to-one correspondence between the sets of solutions to P and \(P''\) can be seen analogously to the proof of Lemma 3.

To prove (22) let \(S = (V_S,E_S)\) be a solution to P and \(S'' = (V''_{S''},A''_{S''})\) the corresponding solution to \(P''\), obtained by applying (20) and (21). Further, define \(A := \{ (v,w) \in A'' :~ \{v,w \} \in E \}\) and \(A_{S''} = A \cap A''_{S''}\). First, one observes that for each \(v \in S\) such that \(p_v \le 0\) there is exactly one incoming arc \(a \in A_{S''}\), so:

$$\begin{aligned} \sum _{v \in V_S: p_v \le 0} p_v = - \sum _{a \in A_{S''}} c_a''. \end{aligned}$$
(23)

Second:

$$\begin{aligned} \sum _{v \in V_S: p_v> 0} p_v = \sum _{v \in V: p_v> 0} p_v - \sum _{v \in V {\setminus } V_S: p_v> 0} p_v = \sum _{v \in V: p_v > 0} p_v - \sum _{a \in {A''}_{S''} {\setminus } A_{S''}} c_a''. \end{aligned}$$
(24)

Finally, by adding (23) and (24) the equation:

$$\begin{aligned} \sum _{v \in V_S} p_v = \sum _{v \in V: p_v > 0} p_v - \sum _{a \in {A''}_{S''}} c_a'' \end{aligned}$$
(25)

is obtained, which coincides with (22).

Appendix B: Abbreviations of reduction methods

This section provides the names for all reduction methods used by SCIP-Jack, which are listed in Table 2 in abbreviated form. All methods are described in detail in [16]. Note that several methods can be used for several variants, see Table 2, but in this case almost always require (considerable) adaptations. These adaptations can likewise be found in [16].

Table 14 lists in the first column the respective abbreviation of each reduction method used by SCIP-Jack. The second column provides the full name of the method, while the third and last column states all Steiner problem variants that use this particular reduction method (in adapted form).

Table 14 Abbrevitations of reduction methods

Appendix C: Detailed computational results

This section presents detailed instance-wise results from the experiments performed in this paper for all test sets discussed in Sects. 2 and 3. The tables list the original and the presolved problem size, i.e., number of nodes | V |, arcs | A |, and terminals | T | as well as the preprocessing time (column t [s] in the Presolved columns). Moreover, the tables show the Dual and Primal bound upon termination and the corresponding Gap in percent. If an instance was solved to optimality, the optimal value is printed instead of primal and dual bound, and the gap is omitted. Similarly, “–” is printed if no primal bound was present at the time of termination. Additionally, the number of branch-and-bound nodes (N), and the total solving time in seconds (last column) is listed. The total solving time includes the preprocessing time. A timeout is marked by “>” before the termination time. In case of the DCSTP for which SCIP-Jack does not perform preprocessing, the statistics about the presolved model are omitted (Tables 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40).

Table 15 Detailed computational results for the STP, test set X
Table 16 Detailed computational results for the STP, test set E
Table 17 Detailed computational results for the STP, test set ALUE
Table 18 Detailed computational results for the STP, test set I640
Table 19 Detailed computational results for the STP, test set PUC
Table 20 Detailed computational results for the STP, test set vienna-i-simple
Table 21 Detailed computational results for the SAP, test set gene
Table 22 Detailed computational results for the SAP, test set gene2002
Table 23 Detailed computational results for the RSMTP, test set estein40
Table 24 Detailed computational results for the RSMTP, test set estein50
Table 25 Detailed computational results for the RSMTP, test set estein60
Table 26 Detailed computational results for the RSMTP, test set solids
Table 27 Detailed computational results for the RSMTP, test set cancer
Table 28 Detailed computational results for the PCSTP, test set JMP
Table 29 Detailed computational results for the PCSTP, test set CRR
Table 30 Detailed computational results for the PCSTP, test set PUCNU
Table 31 Detailed computational results for the RPCSTP, test set cologne1
Table 32 Detailed computational results for the RPCSTP, test set cologne2
Table 33 Detailed computational results for the MWCSP, test set ACTMOD
Table 34 Detailed computational results for the MWCSP, test set JMPALMK
Table 35 Detailed computational results for the STP, test set TreeFam
Table 36 Detailed computational results for the GSTP, test set GSTP1
Table 37 Detailed computational results for the GSTP, test set GSTP2
Table 38 Detailed computational results for the STP, test set gr12
Table 39 Detailed computational results for the STP, test set gr14
Table 40 Detailed computational results for the HCDSTP, test set gr16

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gamrath, G., Koch, T., Maher, S.J. et al. SCIP-Jack—a solver for STP and variants with parallelization extensions. Math. Prog. Comp. 9, 231–296 (2017). https://doi.org/10.1007/s12532-016-0114-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-016-0114-x

Mathematics Subject Classification

Navigation