fbpx
Wikipedia

Steiner tree problem

In combinatorial mathematics, the Steiner tree problem, or minimum Steiner tree problem, named after Jakob Steiner, is an umbrella term for a class of problems in combinatorial optimization. While Steiner tree problems may be formulated in a number of settings, they all require an optimal interconnect for a given set of objects and a predefined objective function. One well-known variant, which is often used synonymously with the term Steiner tree problem, is the Steiner tree problem in graphs. Given an undirected graph with non-negative edge weights and a subset of vertices, usually referred to as terminals, the Steiner tree problem in graphs requires a tree of minimum weight that contains all terminals (but may include additional vertices). Further well-known variants are the Euclidean Steiner tree problem and the rectilinear minimum Steiner tree problem.

Steiner tree for three points A, B, and C (note there are no direct connections between A, B, C). The Steiner point S is located at the Fermat point of the triangle ABC.
Solution for four points—there are two Steiner points, S1 and S2

The Steiner tree problem in graphs can be seen as a generalization of two other famous combinatorial optimization problems: the (non-negative) shortest path problem and the minimum spanning tree problem. If a Steiner tree problem in graphs contains exactly two terminals, it reduces to finding the shortest path. If, on the other hand, all vertices are terminals, the Steiner tree problem in graphs is equivalent to the minimum spanning tree. However, while both the non-negative shortest path and the minimum spanning tree problem are solvable in polynomial time, the decision variant of the Steiner tree problem in graphs is NP-complete (which implies that the optimization variant is NP-hard); in fact, the decision variant was among Karp's original 21 NP-complete problems. The Steiner tree problem in graphs has applications in circuit layout or network design. However, practical applications usually require variations, giving rise to a multitude of Steiner tree problem variants.

Most versions of the Steiner tree problem are NP-hard, but some restricted cases can be solved in polynomial time. Despite the pessimistic worst-case complexity, several Steiner tree problem variants, including the Steiner tree problem in graphs and the rectilinear Steiner tree problem, can be solved efficiently in practice, even for large-scale real-world problems.[1][2]

Euclidean Steiner tree

 
Minimum Steiner trees of vertices of regular polygons with N = 3 to 8 sides. The lowest network length L for N > 5 is the circumference less one side. Squares represent Steiner points.

The original problem was stated in the form that has become known as the Euclidean Steiner tree problem or geometric Steiner tree problem: Given N points in the plane, the goal is to connect them by lines of minimum total length in such a way that any two points may be interconnected by line segments either directly or via other points and line segments. It may be shown that the connecting line segments do not intersect each other except at the endpoints and form a tree, hence the name of the problem.

The problem for N = 3 has long been considered, and quickly extended to the problem of finding a star network with a single hub connecting to all of the N given points, of minimum total length. However, although the full Steiner tree problem was formulated in a letter by Gauss, its first serious treatment was in a 1934 paper written in Czech by Vojtěch Jarník and Miloš Kössler [cs]. This paper was long overlooked, but it already contains "virtually all general properties of Steiner trees" later attributed to other researchers, including the generalization of the problem from the plane to higher dimensions.[3]

For the Euclidean Steiner problem, points added to the graph (Steiner points) must have a degree of three, and the three edges incident to such a point must form three 120 degree angles (see Fermat point). It follows that the maximum number of Steiner points that a Steiner tree can have is N − 2, where N is the initial number of given points.

For N = 3 there are two possible cases: if the triangle formed by the given points has all angles which are less than 120 degrees, the solution is given by a Steiner point located at the Fermat point; otherwise the solution is given by the two sides of the triangle which meet on the angle with 120 or more degrees.

For general N, the Euclidean Steiner tree problem is NP-hard, and hence it is not known whether an optimal solution can be found by using a polynomial-time algorithm. However, there is a polynomial-time approximation scheme (PTAS) for Euclidean Steiner trees, i.e., a near-optimal solution can be found in polynomial time.[4] It is not known whether the Euclidean Steiner tree problem is NP-complete, since membership to the complexity class NP is not known.

Rectilinear Steiner tree

The rectilinear Steiner tree problem is a variant of the geometric Steiner tree problem in the plane, in which the Euclidean distance is replaced with the rectilinear distance. The problem arises in the physical design of electronic design automation. In VLSI circuits, wire routing is carried out by wires that are often constrained by design rules to run only in vertical and horizontal directions, so the rectilinear Steiner tree problem can be used to model the routing of nets with more than two terminals.[5]

Steiner tree in graphs and variants

Steiner trees have been extensively studied in the context of weighted graphs. The prototype is, arguably, the Steiner tree problem in graphs. Let G = (VE) be an undirected graph with non-negative edge weights c and let S ⊆ V be a subset of vertices, called terminals. A Steiner tree is a tree in G that spans S. There are two versions of the problem: in the optimization problem associated with Steiner trees, the task is to find a minimum-weight Steiner tree; in the decision problem the edge weights are integers and the task is to determine whether a Steiner tree exists whose total weight does not exceed a predefined natural number k. The decision problem is one of Karp's 21 NP-complete problems; hence the optimization problem is NP-hard. Steiner tree problems in graphs are applied to various problems in research and industry,[6] including multicast routing[7] and bioinformatics.[8]

A special case of this problem is when G is a complete graph, each vertex v ∈ V corresponds to a point in a metric space, and the edge weights w(e) for each e ∈ E correspond to distances in the space. Put otherwise, the edge weights satisfy the triangle inequality. This variant is known as the metric Steiner tree problem. Given an instance of the (non-metric) Steiner tree problem, we can transform it in polynomial time into an equivalent instance of the metric Steiner tree problem; the transformation preserves the approximation factor.[9]

While the Euclidean version admits a PTAS, it is known that the metric Steiner tree problem is APX-complete, i.e., unless P = NP, it is impossible to achieve approximation ratios that are arbitrarily close to 1 in polynomial time. There is a polynomial-time algorithm that approximates the minimum Steiner tree to within a factor of  ;[10] however, approximating within a factor   is NP-hard.[11] For the restricted case of Steiner Tree problem with distances 1 and 2, a 1.25-approximation algorithm is known.[12] Karpinski and Alexander Zelikovsky constructed PTAS for the dense instances of Steiner Tree problems.[13]

In a special case of the graph problem, the Steiner tree problem for quasi-bipartite graphs, S is required to include at least one endpoint of every edge in G.

The Steiner tree problem has also been investigated in higher dimensions and on various surfaces. Algorithms to find the Steiner minimal tree have been found on the sphere, torus, projective plane, wide and narrow cones, and others.[14]

Other generalizations of the Steiner tree problem are the k-edge-connected Steiner network problem and the k-vertex-connected Steiner network problem, where the goal is to find a k-edge-connected graph or a k-vertex-connected graph rather than any connected graph. A further well-studied[15] generalization is the survivable network design problem (SNDP) where the task is to connect each vertex pair with a given number (possibly 0) of edge- or vertex-disjoint paths.

The Steiner problem has also been stated in the general setting of metric spaces and for possibly infinitely many points.[16]

Approximating the Steiner tree

The general graph Steiner tree problem can be approximated by computing the minimum spanning tree of the subgraph of the metric closure of the graph induced by the terminal vertices, as first published in 1981 by Kou et al.[17] The metric closure of a graph G is the complete graph in which each edge is weighted by the shortest path distance between the nodes in G. This algorithm produces a tree whose weight is within a 2 − 2/t factor of the weight of the optimal Steiner tree where t is the number of leaves in the optimal Steiner tree; this can be proven by considering a traveling salesperson tour on the optimal Steiner tree. This approximate solution is computable in O(|S| |V|²) polynomial time by first solving the all-pairs shortest paths problem to compute the metric closure, then by solving the minimum spanning tree problem.

Another popular algorithm to approximate the Steiner tree in graphs was published by Takahashi and Matsuyama in 1980.[18] Their solution incrementally builds up the Steiner tree by starting from an arbitrary vertex, and repeatedly adding the shortest path from the tree to the nearest vertex in S that has not yet been added. This algorithm also has O(|S| |V|²) running time, and produces a tree whose weight is within 2 − 2/|S| of optimal.

In 1986, Wu et al.[19] improved dramatically on the running time by avoiding precomputation of the all-pairs shortest paths. Instead, they take a similar approach to Kruskal's algorithm for computing a minimum spanning tree, by starting from a forest of |S| disjoint trees, and "growing" them simultaneously using a breadth-first search resembling Dijkstra's algorithm but starting from multiple initial vertices. When the search encounters a vertex that does not belong to the current tree, the two trees are merged into one. This process is repeated until only one tree remains. By using a Heap (data structure) to implement the priority queue and a disjoint-set data structure to track to which tree each visited vertex belongs, this algorithm achieves O(|E| log |V|) running time, although it does not improve on the 2 − 2/t cost ratio from Kou et al.

A series of papers provided approximation algorithms for the minimum Steiner tree problem with approximation ratios that improved upon the 2 − 2/t ratio. This sequence culminated with Robins and Zelikovsky's algorithm in 2000 which improved the ratio to 1.55 by iteratively improving upon the minimum cost terminal spanning tree. More recently, however, Byrka et al. proved an   approximation using a linear programming relaxation and a technique called iterative, randomized rounding.[10]

Parameterized complexity of Steiner tree

The general graph Steiner tree problem is known to be fixed-parameter tractable, with the number of terminals as a parameter, by the Dreyfus-Wagner algorithm.[20][21] The running time of the Dreyfus-Wagner algorithm is  , where   is the number of vertices of the graph and   is the set of terminals. Faster algorithms exist, running in   time for any   or, in the case of small weights,   time, where   is the maximum weight of any edge.[22][23] A disadvantage of the aforementioned algorithms is that they use exponential space; there exist polynomial-space algorithms running in   time and   time.[24][25]

It is known that the general graph Steiner tree problem does not have a parameterized algorithm running in   time for any  , where   is the number of edges of the optimal Steiner tree, unless the Set cover problem has an algorithm running in   time for some  , where   and   are the number of elements and the number of sets, respectively, of the instance of the set cover problem.[26] Furthermore, it is known that the problem does not admit a polynomial kernel unless  , even parameterized by the number of edges of the optimal Steiner tree and if all edge weights are 1.[27]

Parameterized approximation of Steiner tree

While the graph Steiner tree problem does not admit a polynomial kernel unless   parameterized by the number of terminals, it does admit a polynomial-sized approximate kernelization scheme (PSAKS): for any   it is possible to compute a polynomial-sized kernel, which looses only a   factor in the solution quality.[28]

When parameterizing the graph Steiner tree problem by the number   of non-terminals (Steiner vertices) in the optimum solution, the problem is W[1]-hard (in contrast to the parameterization by the number of terminals, as mentioned above). At the same time the problem is APX-complete and thus does not admit a PTAS, unless P = NP. However, a parameterized approximation scheme exists, which for any   computes a  -approximation in   time.[29] Also a PSAKS exists for this parameterization.[29]

Steiner ratio

The Steiner ratio is the supremum of the ratio of the total length of the minimum spanning tree to the minimum Steiner tree for a set of points in the Euclidean plane.[30]

In the Euclidean Steiner tree problem, the Steiner ratio is conjectured to be  , the ratio that is achieved by three points in an equilateral triangle with a spanning tree that uses two sides of the triangle and a Steiner tree that connects the points through the centroid of the triangle. Despite earlier claims of a proof,[31] the conjecture is still open.[32] The best widely accepted upper bound for the problem is 1.2134, by Chung & Graham (1985).

For the rectilinear Steiner tree problem, the Steiner ratio is exactly  , the ratio that is achieved by four points in a square with a spanning tree that uses three sides of the square and a Steiner tree that connects the points through the center of the square.[33] More precisely, for   distance the square should be tilted at   with respect to the coordinate axes, while for   distance the square should be axis-aligned.

See also

Notes

  1. ^ "Report by Polzin and Vahdati Daneshmand" (PDF). Retrieved 11 November 2016.
  2. ^ Juhl et al. (2014).
  3. ^ Korte, Bernhard; Nešetřil, Jaroslav (2001), "Vojtěch Jarnik's work in combinatorial optimization", Discrete Mathematics, 235 (1–3): 1–17, doi:10.1016/S0012-365X(00)00256-9, hdl:10338.dmlcz/500662, MR 1829832.
  4. ^ Crescenzi et al. (2000).
  5. ^ Sherwani (1993), p. 228.
  6. ^ Ljubić, Ivana (2021). "Solving Steiner trees: Recent advances, challenges, and perspectives". Networks. 77 (2): 177–204. doi:10.1002/net.22005. ISSN 1097-0037. S2CID 229458488.
  7. ^ Novak, Roman; Rugelj, Joz̆e; Kandus, Gorazd (1 October 2001). "A note on distributed multicast routing in point-to-point networks". Computers & Operations Research. 28 (12): 1149–1164. doi:10.1016/S0305-0548(00)00029-0. ISSN 0305-0548.
  8. ^ Klimm, Florian; Toledo, Enrique M.; Monfeuga, Thomas; Zhang, Fang; Deane, Charlotte M.; Reinert, Gesine (2 November 2020). "Functional module detection through integration of single-cell RNA sequencing data with protein–protein interaction networks". BMC Genomics. 21 (1): 756. doi:10.1186/s12864-020-07144-2. ISSN 1471-2164. PMC 7607865. PMID 33138772.
  9. ^ Vazirani (2003), pp. 27–28.
  10. ^ a b Byrka et al. (2010).
  11. ^ Chlebík & Chlebíková (2008).
  12. ^ Berman, Karpinski & Zelikovsky (2009).
  13. ^ Karpinski & Zelikovsky (1998).
  14. ^ Smith & Winter (1995), p. 361.
  15. ^ Kerivin, Hervé; Mahjoub, A. Ridha (2005). "Design of Survivable Networks: A survey". Networks. 46 (1): 1–21. doi:10.1002/net.20072. ISSN 0028-3045.
  16. ^ Paolini & Stepanov (2012).
  17. ^ Kou, Markowsky & Berman (1981).
  18. ^ Takahashi & Matsuyama (1980).
  19. ^ Wu, Widmayer & Wong (1986).
  20. ^ Dreyfus & Wagner (1971).
  21. ^ Levin (1971).
  22. ^ Fuchs et al. (2007).
  23. ^ Björklund et al. (2007).
  24. ^ Lokshtanov & Nederlof (2010).
  25. ^ Fomin et al. (2015).
  26. ^ Cygan et al. (2016).
  27. ^ Dom, Lokshtanov & Saurabh (2014).
  28. ^ Lokshtanov, Daniel; Panolan, Fahad; Ramanujan, M. S.; Saurabh, Saket (19 June 2017). "Lossy kernelization". Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing. STOC 2017. New York, NY, USA: Association for Computing Machinery: 224–237. doi:10.1145/3055399.3055456. ISBN 978-1-4503-4528-6.
  29. ^ a b Dvořák, Pavel; Feldmann, Andreas E.; Knop, Dušan; Masařík, Tomáš; Toufar, Tomáš; Veselý, Pavel (1 January 2021). "Parameterized Approximation Schemes for Steiner Trees with Small Number of Steiner Vertices". SIAM Journal on Discrete Mathematics. 35 (1): 546–574. doi:10.1137/18M1209489. ISSN 0895-4801.
  30. ^ Ganley (2004).
  31. ^ The New York Times, 30 Oct 1990, reported that a proof had been found, and that Ronald Graham, who had offered $500 for a proof, was about to mail a check to the authors.
  32. ^ Ivanov & Tuzhilin (2012).
  33. ^ Hwang (1976).

References

  • Berman, Piotr; Karpinski, Marek; Zelikovsky, Alexander (2009). "1.25-approximation algorithm for Steiner tree problem with distances 1 and 2". Algorithms and Data Structures: 11th International Symposium, WADS 2009, Banff, Canada, August 21–23, 2009, Proceedings. Lecture Notes in Computer Science. Vol. 5664. pp. 86–97. arXiv:0810.1851. doi:10.1007/978-3-642-03367-4_8.
  • Bern, Marshall W.; Graham, Ronald L. (1989). "The shortest-network problem". Scientific American. 260 (1): 84–89. Bibcode:1989SciAm.260a..84B. doi:10.1038/scientificamerican0189-84.
  • Björklund, Andreas; Husfeldt, Thore; Kaski, Petteri; Koivisto, Mikko (2007). "Fourier Meets Möbius: Fast Subset Convolution". Proceedings of the 39th ACM Symposium on Theory of Computing. pp. 67–74. arXiv:cs/0611101. doi:10.1145/1250790.1250801.
  • Byrka, J.; Grandoni, F.; Rothvoß, T.; Sanita, L. (2010). "An improved LP-based approximation for Steiner tree". Proceedings of the 42nd ACM Symposium on Theory of Computing. pp. 583–592. CiteSeerX 10.1.1.177.3565. doi:10.1145/1806689.1806769.
  • Chlebík, Miroslav; Chlebíková, Janka (2008). "The Steiner tree problem on graphs: Inapproximability results". Theoretical Computer Science. 406 (3): 207–214. doi:10.1016/j.tcs.2008.06.046.
  • Chung, F. R. K.; Graham, R. L. (1985). "A new bound for Euclidean Steiner minimal trees". Discrete geometry and convexity (New York, 1982). Annals of the New York Academy of Science. Vol. 440. New York: New York Academy of Science. pp. 328–346. Bibcode:1985NYASA.440..328C. doi:10.1111/j.1749-6632.1985.tb14564.x. MR 0809217.
  • Cieslik, Dietmar (1998). Steiner Minimal Trees. p. 319. ISBN 0-7923-4983-0.
  • Crescenzi, Pierluigi; Kann, Viggo; Halldórsson, Magnús; Karpinski, Marek; Woeginger, Gerhard (2000). "Minimum geometric Steiner tree". A Compendium of NP Optimization Problems.
  • Cygan, Marek; Dell, Holger; Lokshtanov, Daniel; Marx, Dániel; Nederlof, Jesper; Okamoto, Yoshio; Paturi, Ramamohan; Saurabh, Saket; Wahlström, Magnus (2016). "On Problems as Hard as CNF-SAT". ACM Transactions on Algorithms. 12 (3): 41:1–41:24. doi:10.1145/2925416. S2CID 7320634.
  • Dom, Michael; Lokshtanov, Daniel; Saurabh, Saket (2014). "Kernelization Lower Bounds Through Colors and IDs". ACM Transactions on Algorithms. 11 (2): 13:1–13:20. doi:10.1145/2650261. S2CID 13570734.
  • Dreyfus, S.E.; Wagner, R.A. (1971). "The Steiner problem in graphs". Networks. 1 (3): 195–207. doi:10.1002/net.3230010302.
  • Fomin, Fedor V.; Kaski, Petteri; Lokshtanov, Daniel; Panolan, Fahad; Saurabh, Saket (2015). "Parameterized Single-Exponential Time Polynomial Space Algorithm for Steiner Tree". Automata, Languages, and Programming – 42nd International Colloquium, ICALP 2015, Proceedings, Part I. pp. 494–505. doi:10.1007/978-3-662-47672-7_40.
  • Fuchs, Benjamin; Kern, Walter; Mölle, Daniel; Richter, Stefan; Rossmanith, Peter; Wang, Xinhui (2007). "Dynamic Programming for Minimum Steiner Trees" (PDF). Theory of Computing Systems. 41 (3): 493–500. doi:10.1007/s00224-007-1324-4. S2CID 7478978.
  • Ganley, Joseph L. (2004). "Steiner ratio". In Black, Paul E. (ed.). Dictionary of Algorithms and Data Structures. U.S. National Institute of Standards and Technology. Retrieved 24 May 2012.
  • Garey, Michael R.; Johnson, David S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, ISBN 0-7167-1045-5, pp. 208–209, problems ND12 and ND13.
  • Hwang, F. K. (1976). "On Steiner minimal trees with rectilinear distance". SIAM Journal on Applied Mathematics. 30 (1): 104–114. doi:10.1137/0130013.
  • Hwang, F. K.; Richards, D. S.; Winter, P. (1992). The Steiner Tree Problem. Annals of Discrete Mathematics. Vol. 53. North-Holland: Elsevier. ISBN 0-444-89098-X.
  • Ivanov, Alexander; Tuzhilin, Alexey (1994). Minimal Networks: The Steiner Problem and Its Generalizations. N.W., Boca Raton, Florida: CRC Press. ISBN 978-0-8493-8642-8.
  • Ivanov, Alexander; Tuzhilin, Alexey (2000). Branching solutions to one-dimensional variational problems. Singapore-New Jersey-London-Hong Kong: World Scientific. ISBN 978-981-02-4060-8.
  • Ivanov, Alexander; Tuzhilin, Alexey (2003). Extreme Networks Theory (in Russian). Moscow-Izhevsk: Institute of Computer Investigations. ISBN 5-93972-292-X.
  • Ivanov, Alexander; Tuzhilin, Alexey (2012). "The Steiner ratio Gilbert–Pollak conjecture is still open: Clarification statement". Algorithmica. 62 (1–2): 630–632. doi:10.1007/s00453-011-9508-3. S2CID 7486839.
  • Ivanov, Alexander; Tuzhilin, Alexey (2015). "Branched coverings and Steiner ratio". International Transactions in Operational Research. 23 (5): 875–882. arXiv:1412.5433. doi:10.1111/itor.12182. S2CID 3386263.
  • Juhl, D.; Warme, D.M.; Winter, P.; Zachariasen, M. (2014). "The GeoSteiner Software Package for computing Steiner trees in the plane: an updated computational study". Proceedings of the 11th DIMACS Implementation Challenge (PDF).
  • Karpinski, Marek; Zelikovsky, Alexander (1998). "Approximating dense cases of covering problems". Proceedings of the DIMACS Workshop on Network Design: Connectivity and Facilities Location. DIMACS Series in Discrete Mathematics and Theoretical Computer Science. Vol. 40. American Mathematical Society. pp. 169–178.
  • Korte, Bernhard; Vygen, Jens (2006). "Section 20.1". Combinatorial Optimization: Theory and Algorithms (3rd ed.). Springer. ISBN 3-540-25684-9.
  • Kou, L.; Markowsky, G.; Berman, L. (1 June 1981). "A fast algorithm for Steiner trees". Acta Informatica. 15 (2): 141–145. doi:10.1007/BF00288961. S2CID 21057232.
  • Levin, A. Yu. (1971). "Algorithm for the shortest connection of a group of graph vertices". Soviet Mathematics Doklady. 12: 1477–1481.
  • Lokshtanov, Daniel; Nederlof, Jesper (2010). "Saving space by algebraization". Proceedings of the 42nd ACM Symposium on Theory of Computing. pp. 321–330. doi:10.1145/1806689.1806735.
  • Paolini, E.; Stepanov, E. (2012). "Existence and regularity results for the Steiner problem" (PDF). Calc. Var. Partial Diff. Equations. 46 (3–4): 837–860. doi:10.1007/s00526-012-0505-4. hdl:2158/600141. S2CID 55793499.
  • Robins, Gabriel; Zelikovsky, Alexander (2000). "Improved Steiner Tree Approximation in Graphs". Proceedings of the Eleventh Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '00). Philadelphia, PA, USA: Society for Industrial and Applied Mathematics. pp. 770–779. ISBN 0-89871-453-2.
  • Sherwani, Naveed A. (1993). Algorithms for VLSI Physical Design Automation. Kluwer Academic Publishers. ISBN 9781475722192.
  • Smith, J. M.; Winter, P. (1995). "Computational geometry and topological network design". In Du, Ding-Zhu; Hwang, Frank (eds.). Computing in Euclidean geometry. Lecture Notes Series on Computing. Vol. 4 (2nd ed.). River Edge, NJ: World Scientific Publishing Co. pp. 351–451. ISBN 981-02-1876-1.
  • Takahashi, Hiromitsu; Matsuyama, Akira (1980). "An approximate solution for the Steiner problem in graphs". Math. Japonica. 24 (6): 573–577.
  • Vazirani, Vijay V. (2003). Approximation Algorithms. Berlin: Springer. ISBN 3-540-65367-8.
  • Wu, Bang Ye; Chao, Kun-Mao (2004). "Chapter 7". Spanning Trees and Optimization Problems. Chapman & Hall/CRC. ISBN 1-58488-436-3.
  • Wu, Y. F.; Widmayer, P.; Wong, C. K. (May 1986). "A faster approximation algorithm for the Steiner problem in graphs". Acta Informatica. 23 (2): 223–229. doi:10.1007/bf00289500. S2CID 7772232.

External links

  • Hazewinkel, M. (2001) [1994], "Steiner tree problem", Encyclopedia of Mathematics, EMS Press
  • M. Hauptmann, M. Karpinski (2013): A Compendium on Steiner Tree Problems
  • GeoSteiner (Euclidean and rectilinear Steiner tree solver; Source available, for non commercial use)
  • SCIP-Jack (Solver for the Steiner tree problem in graphs and 14 variants, e.g., prize-collecting Steiner tree problem; Source available, free for academic use)
  • https://archive.org/details/RonaldLG1988 (Movie: Ronald L Graham: The Shortest Network Problem (1988)
  • Fortran subroutine for finding the Steiner vertex of a triangle (i.e., Fermat point), its distances from the triangle vertices, and the relative vertex weights.
  • Phylomurka (Solver for small-scale Steiner tree problems in graphs)
  • https://www.youtube.com/watch?v=PI6rAOWu-Og (Movie: solving the Steiner tree problem with water and soap)
  • Noormohammadpour, Mohammad; Raghavendra, Cauligi S.; Rao, Sriram; Kandula, Srikanth (2017), "Using Steiner Trees to Minimize Average Completion Times of Bulk Data Transfers", DCCast: Efficient Point to Multipoint Transfers Across Datacenters, USENIX Association, arXiv:1707.02096

steiner, tree, problem, combinatorial, mathematics, minimum, named, after, jakob, steiner, umbrella, term, class, problems, combinatorial, optimization, while, formulated, number, settings, they, require, optimal, interconnect, given, objects, predefined, obje. In combinatorial mathematics the Steiner tree problem or minimum Steiner tree problem named after Jakob Steiner is an umbrella term for a class of problems in combinatorial optimization While Steiner tree problems may be formulated in a number of settings they all require an optimal interconnect for a given set of objects and a predefined objective function One well known variant which is often used synonymously with the term Steiner tree problem is the Steiner tree problem in graphs Given an undirected graph with non negative edge weights and a subset of vertices usually referred to as terminals the Steiner tree problem in graphs requires a tree of minimum weight that contains all terminals but may include additional vertices Further well known variants are the Euclidean Steiner tree problem and the rectilinear minimum Steiner tree problem Steiner tree for three points A B and C note there are no direct connections between A B C The Steiner point S is located at the Fermat point of the triangle ABC Solution for four points there are two Steiner points S1 and S2 The Steiner tree problem in graphs can be seen as a generalization of two other famous combinatorial optimization problems the non negative shortest path problem and the minimum spanning tree problem If a Steiner tree problem in graphs contains exactly two terminals it reduces to finding the shortest path If on the other hand all vertices are terminals the Steiner tree problem in graphs is equivalent to the minimum spanning tree However while both the non negative shortest path and the minimum spanning tree problem are solvable in polynomial time the decision variant of the Steiner tree problem in graphs is NP complete which implies that the optimization variant is NP hard in fact the decision variant was among Karp s original 21 NP complete problems The Steiner tree problem in graphs has applications in circuit layout or network design However practical applications usually require variations giving rise to a multitude of Steiner tree problem variants Most versions of the Steiner tree problem are NP hard but some restricted cases can be solved in polynomial time Despite the pessimistic worst case complexity several Steiner tree problem variants including the Steiner tree problem in graphs and the rectilinear Steiner tree problem can be solved efficiently in practice even for large scale real world problems 1 2 Contents 1 Euclidean Steiner tree 2 Rectilinear Steiner tree 3 Steiner tree in graphs and variants 4 Approximating the Steiner tree 5 Parameterized complexity of Steiner tree 6 Parameterized approximation of Steiner tree 7 Steiner ratio 8 See also 9 Notes 10 References 11 External linksEuclidean Steiner tree Edit Minimum Steiner trees of vertices of regular polygons with N 3 to 8 sides The lowest network length L for N gt 5 is the circumference less one side Squares represent Steiner points The original problem was stated in the form that has become known as the Euclidean Steiner tree problem or geometric Steiner tree problem Given N points in the plane the goal is to connect them by lines of minimum total length in such a way that any two points may be interconnected by line segments either directly or via other points and line segments It may be shown that the connecting line segments do not intersect each other except at the endpoints and form a tree hence the name of the problem The problem for N 3 has long been considered and quickly extended to the problem of finding a star network with a single hub connecting to all of the N given points of minimum total length However although the full Steiner tree problem was formulated in a letter by Gauss its first serious treatment was in a 1934 paper written in Czech by Vojtech Jarnik and Milos Kossler cs This paper was long overlooked but it already contains virtually all general properties of Steiner trees later attributed to other researchers including the generalization of the problem from the plane to higher dimensions 3 For the Euclidean Steiner problem points added to the graph Steiner points must have a degree of three and the three edges incident to such a point must form three 120 degree angles see Fermat point It follows that the maximum number of Steiner points that a Steiner tree can have is N 2 where N is the initial number of given points For N 3 there are two possible cases if the triangle formed by the given points has all angles which are less than 120 degrees the solution is given by a Steiner point located at the Fermat point otherwise the solution is given by the two sides of the triangle which meet on the angle with 120 or more degrees For general N the Euclidean Steiner tree problem is NP hard and hence it is not known whether an optimal solution can be found by using a polynomial time algorithm However there is a polynomial time approximation scheme PTAS for Euclidean Steiner trees i e a near optimal solution can be found in polynomial time 4 It is not known whether the Euclidean Steiner tree problem is NP complete since membership to the complexity class NP is not known Rectilinear Steiner tree EditMain article Rectilinear Steiner tree The rectilinear Steiner tree problem is a variant of the geometric Steiner tree problem in the plane in which the Euclidean distance is replaced with the rectilinear distance The problem arises in the physical design of electronic design automation In VLSI circuits wire routing is carried out by wires that are often constrained by design rules to run only in vertical and horizontal directions so the rectilinear Steiner tree problem can be used to model the routing of nets with more than two terminals 5 Steiner tree in graphs and variants EditSteiner trees have been extensively studied in the context of weighted graphs The prototype is arguably the Steiner tree problem in graphs Let G V E be an undirected graph with non negative edge weights c and let S V be a subset of vertices called terminals A Steiner tree is a tree in G that spans S There are two versions of the problem in the optimization problem associated with Steiner trees the task is to find a minimum weight Steiner tree in the decision problem the edge weights are integers and the task is to determine whether a Steiner tree exists whose total weight does not exceed a predefined natural number k The decision problem is one of Karp s 21 NP complete problems hence the optimization problem is NP hard Steiner tree problems in graphs are applied to various problems in research and industry 6 including multicast routing 7 and bioinformatics 8 A special case of this problem is when G is a complete graph each vertex v V corresponds to a point in a metric space and the edge weights w e for each e E correspond to distances in the space Put otherwise the edge weights satisfy the triangle inequality This variant is known as the metric Steiner tree problem Given an instance of the non metric Steiner tree problem we can transform it in polynomial time into an equivalent instance of the metric Steiner tree problem the transformation preserves the approximation factor 9 While the Euclidean version admits a PTAS it is known that the metric Steiner tree problem is APX complete i e unless P NP it is impossible to achieve approximation ratios that are arbitrarily close to 1 in polynomial time There is a polynomial time algorithm that approximates the minimum Steiner tree to within a factor of ln 4 e 1 386 displaystyle ln 4 varepsilon approx 1 386 10 however approximating within a factor 96 95 1 0105 displaystyle 96 95 approx 1 0105 is NP hard 11 For the restricted case of Steiner Tree problem with distances 1 and 2 a 1 25 approximation algorithm is known 12 Karpinski and Alexander Zelikovsky constructed PTAS for the dense instances of Steiner Tree problems 13 In a special case of the graph problem the Steiner tree problem for quasi bipartite graphs S is required to include at least one endpoint of every edge in G The Steiner tree problem has also been investigated in higher dimensions and on various surfaces Algorithms to find the Steiner minimal tree have been found on the sphere torus projective plane wide and narrow cones and others 14 Other generalizations of the Steiner tree problem are the k edge connected Steiner network problem and the k vertex connected Steiner network problem where the goal is to find a k edge connected graph or a k vertex connected graph rather than any connected graph A further well studied 15 generalization is the survivable network design problem SNDP where the task is to connect each vertex pair with a given number possibly 0 of edge or vertex disjoint paths The Steiner problem has also been stated in the general setting of metric spaces and for possibly infinitely many points 16 Approximating the Steiner tree EditThe general graph Steiner tree problem can be approximated by computing the minimum spanning tree of the subgraph of the metric closure of the graph induced by the terminal vertices as first published in 1981 by Kou et al 17 The metric closure of a graph G is the complete graph in which each edge is weighted by the shortest path distance between the nodes in G This algorithm produces a tree whose weight is within a 2 2 t factor of the weight of the optimal Steiner tree where t is the number of leaves in the optimal Steiner tree this can be proven by considering a traveling salesperson tour on the optimal Steiner tree This approximate solution is computable in O S V polynomial time by first solving the all pairs shortest paths problem to compute the metric closure then by solving the minimum spanning tree problem Another popular algorithm to approximate the Steiner tree in graphs was published by Takahashi and Matsuyama in 1980 18 Their solution incrementally builds up the Steiner tree by starting from an arbitrary vertex and repeatedly adding the shortest path from the tree to the nearest vertex in S that has not yet been added This algorithm also has O S V running time and produces a tree whose weight is within 2 2 S of optimal In 1986 Wu et al 19 improved dramatically on the running time by avoiding precomputation of the all pairs shortest paths Instead they take a similar approach to Kruskal s algorithm for computing a minimum spanning tree by starting from a forest of S disjoint trees and growing them simultaneously using a breadth first search resembling Dijkstra s algorithm but starting from multiple initial vertices When the search encounters a vertex that does not belong to the current tree the two trees are merged into one This process is repeated until only one tree remains By using a Heap data structure to implement the priority queue and a disjoint set data structure to track to which tree each visited vertex belongs this algorithm achieves O E log V running time although it does not improve on the 2 2 t cost ratio from Kou et al A series of papers provided approximation algorithms for the minimum Steiner tree problem with approximation ratios that improved upon the 2 2 t ratio This sequence culminated with Robins and Zelikovsky s algorithm in 2000 which improved the ratio to 1 55 by iteratively improving upon the minimum cost terminal spanning tree More recently however Byrka et al proved an ln 4 e 1 39 displaystyle ln 4 varepsilon leq 1 39 approximation using a linear programming relaxation and a technique called iterative randomized rounding 10 Parameterized complexity of Steiner tree EditThe general graph Steiner tree problem is known to be fixed parameter tractable with the number of terminals as a parameter by the Dreyfus Wagner algorithm 20 21 The running time of the Dreyfus Wagner algorithm is 3 S poly n displaystyle 3 S text poly n where n displaystyle n is the number of vertices of the graph and S displaystyle S is the set of terminals Faster algorithms exist running in c S poly n displaystyle c S text poly n time for any c gt 2 displaystyle c gt 2 or in the case of small weights 2 S poly n W displaystyle 2 S text poly n W time where W displaystyle W is the maximum weight of any edge 22 23 A disadvantage of the aforementioned algorithms is that they use exponential space there exist polynomial space algorithms running in 2 S poly n W displaystyle 2 S text poly n W time and 7 97 S poly n log W displaystyle 7 97 S text poly n log W time 24 25 It is known that the general graph Steiner tree problem does not have a parameterized algorithm running in 2 ϵ t poly n displaystyle 2 epsilon t text poly n time for any ϵ lt 1 displaystyle epsilon lt 1 where t displaystyle t is the number of edges of the optimal Steiner tree unless the Set cover problem has an algorithm running in 2 ϵ n poly m displaystyle 2 epsilon n text poly m time for some ϵ lt 1 displaystyle epsilon lt 1 where n displaystyle n and m displaystyle m are the number of elements and the number of sets respectively of the instance of the set cover problem 26 Furthermore it is known that the problem does not admit a polynomial kernel unless coNP NP poly displaystyle text coNP subseteq text NP poly even parameterized by the number of edges of the optimal Steiner tree and if all edge weights are 1 27 Parameterized approximation of Steiner tree EditWhile the graph Steiner tree problem does not admit a polynomial kernel unless coNP NP poly displaystyle text coNP subseteq text NP poly parameterized by the number of terminals it does admit a polynomial sized approximate kernelization scheme PSAKS for any e gt 0 displaystyle varepsilon gt 0 it is possible to compute a polynomial sized kernel which looses only a 1 e displaystyle 1 varepsilon factor in the solution quality 28 When parameterizing the graph Steiner tree problem by the number p displaystyle p of non terminals Steiner vertices in the optimum solution the problem is W 1 hard in contrast to the parameterization by the number of terminals as mentioned above At the same time the problem is APX complete and thus does not admit a PTAS unless P NP However a parameterized approximation scheme exists which for any e gt 0 displaystyle varepsilon gt 0 computes a 1 e displaystyle 1 varepsilon approximation in 2 O p 2 e 4 n O 1 displaystyle 2 O p 2 varepsilon 4 n O 1 time 29 Also a PSAKS exists for this parameterization 29 Steiner ratio EditThe Steiner ratio is the supremum of the ratio of the total length of the minimum spanning tree to the minimum Steiner tree for a set of points in the Euclidean plane 30 In the Euclidean Steiner tree problem the Steiner ratio is conjectured to be 2 3 1 1547 displaystyle tfrac 2 sqrt 3 approx 1 1547 the ratio that is achieved by three points in an equilateral triangle with a spanning tree that uses two sides of the triangle and a Steiner tree that connects the points through the centroid of the triangle Despite earlier claims of a proof 31 the conjecture is still open 32 The best widely accepted upper bound for the problem is 1 2134 by Chung amp Graham 1985 For the rectilinear Steiner tree problem the Steiner ratio is exactly 3 2 displaystyle tfrac 3 2 the ratio that is achieved by four points in a square with a spanning tree that uses three sides of the square and a Steiner tree that connects the points through the center of the square 33 More precisely for L 1 displaystyle L 1 distance the square should be tilted at 45 displaystyle 45 circ with respect to the coordinate axes while for L displaystyle L infty distance the square should be axis aligned See also EditOpaque forest problem Travelling salesman problemNotes Edit Report by Polzin and Vahdati Daneshmand PDF Retrieved 11 November 2016 Juhl et al 2014 Korte Bernhard Nesetril Jaroslav 2001 Vojtech Jarnik s work in combinatorial optimization Discrete Mathematics 235 1 3 1 17 doi 10 1016 S0012 365X 00 00256 9 hdl 10338 dmlcz 500662 MR 1829832 Crescenzi et al 2000 Sherwani 1993 p 228 Ljubic Ivana 2021 Solving Steiner trees Recent advances challenges and perspectives Networks 77 2 177 204 doi 10 1002 net 22005 ISSN 1097 0037 S2CID 229458488 Novak Roman Rugelj Joz e Kandus Gorazd 1 October 2001 A note on distributed multicast routing in point to point networks Computers amp Operations Research 28 12 1149 1164 doi 10 1016 S0305 0548 00 00029 0 ISSN 0305 0548 Klimm Florian Toledo Enrique M Monfeuga Thomas Zhang Fang Deane Charlotte M Reinert Gesine 2 November 2020 Functional module detection through integration of single cell RNA sequencing data with protein protein interaction networks BMC Genomics 21 1 756 doi 10 1186 s12864 020 07144 2 ISSN 1471 2164 PMC 7607865 PMID 33138772 Vazirani 2003 pp 27 28 a b Byrka et al 2010 Chlebik amp Chlebikova 2008 Berman Karpinski amp Zelikovsky 2009 Karpinski amp Zelikovsky 1998 Smith amp Winter 1995 p 361 Kerivin Herve Mahjoub A Ridha 2005 Design of Survivable Networks A survey Networks 46 1 1 21 doi 10 1002 net 20072 ISSN 0028 3045 Paolini amp Stepanov 2012 Kou Markowsky amp Berman 1981 Takahashi amp Matsuyama 1980 sfnp error no target CITEREFTakahashiMatsuyama1980 help Wu Widmayer amp Wong 1986 sfnp error no target CITEREFWuWidmayerWong1986 help Dreyfus amp Wagner 1971 Levin 1971 Fuchs et al 2007 Bjorklund et al 2007 Lokshtanov amp Nederlof 2010 Fomin et al 2015 Cygan et al 2016 Dom Lokshtanov amp Saurabh 2014 Lokshtanov Daniel Panolan Fahad Ramanujan M S Saurabh Saket 19 June 2017 Lossy kernelization Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing STOC 2017 New York NY USA Association for Computing Machinery 224 237 doi 10 1145 3055399 3055456 ISBN 978 1 4503 4528 6 a b Dvorak Pavel Feldmann Andreas E Knop Dusan Masarik Tomas Toufar Tomas Vesely Pavel 1 January 2021 Parameterized Approximation Schemes for Steiner Trees with Small Number of Steiner Vertices SIAM Journal on Discrete Mathematics 35 1 546 574 doi 10 1137 18M1209489 ISSN 0895 4801 Ganley 2004 The New York Times 30 Oct 1990 reported that a proof had been found and that Ronald Graham who had offered 500 for a proof was about to mail a check to the authors Ivanov amp Tuzhilin 2012 Hwang 1976 References EditBerman Piotr Karpinski Marek Zelikovsky Alexander 2009 1 25 approximation algorithm for Steiner tree problem with distances 1 and 2 Algorithms and Data Structures 11th International Symposium WADS 2009 Banff Canada August 21 23 2009 Proceedings Lecture Notes in Computer Science Vol 5664 pp 86 97 arXiv 0810 1851 doi 10 1007 978 3 642 03367 4 8 Bern Marshall W Graham Ronald L 1989 The shortest network problem Scientific American 260 1 84 89 Bibcode 1989SciAm 260a 84B doi 10 1038 scientificamerican0189 84 Bjorklund Andreas Husfeldt Thore Kaski Petteri Koivisto Mikko 2007 Fourier Meets Mobius Fast Subset Convolution Proceedings of the 39th ACM Symposium on Theory of Computing pp 67 74 arXiv cs 0611101 doi 10 1145 1250790 1250801 Byrka J Grandoni F Rothvoss T Sanita L 2010 An improved LP based approximation for Steiner tree Proceedings of the 42nd ACM Symposium on Theory of Computing pp 583 592 CiteSeerX 10 1 1 177 3565 doi 10 1145 1806689 1806769 Chlebik Miroslav Chlebikova Janka 2008 The Steiner tree problem on graphs Inapproximability results Theoretical Computer Science 406 3 207 214 doi 10 1016 j tcs 2008 06 046 Chung F R K Graham R L 1985 A new bound for Euclidean Steiner minimal trees Discrete geometry and convexity New York 1982 Annals of the New York Academy of Science Vol 440 New York New York Academy of Science pp 328 346 Bibcode 1985NYASA 440 328C doi 10 1111 j 1749 6632 1985 tb14564 x MR 0809217 Cieslik Dietmar 1998 Steiner Minimal Trees p 319 ISBN 0 7923 4983 0 Crescenzi Pierluigi Kann Viggo Halldorsson Magnus Karpinski Marek Woeginger Gerhard 2000 Minimum geometric Steiner tree A Compendium of NP Optimization Problems Cygan Marek Dell Holger Lokshtanov Daniel Marx Daniel Nederlof Jesper Okamoto Yoshio Paturi Ramamohan Saurabh Saket Wahlstrom Magnus 2016 On Problems as Hard as CNF SAT ACM Transactions on Algorithms 12 3 41 1 41 24 doi 10 1145 2925416 S2CID 7320634 Dom Michael Lokshtanov Daniel Saurabh Saket 2014 Kernelization Lower Bounds Through Colors and IDs ACM Transactions on Algorithms 11 2 13 1 13 20 doi 10 1145 2650261 S2CID 13570734 Dreyfus S E Wagner R A 1971 The Steiner problem in graphs Networks 1 3 195 207 doi 10 1002 net 3230010302 Fomin Fedor V Kaski Petteri Lokshtanov Daniel Panolan Fahad Saurabh Saket 2015 Parameterized Single Exponential Time Polynomial Space Algorithm for Steiner Tree Automata Languages and Programming 42nd International Colloquium ICALP 2015 Proceedings Part I pp 494 505 doi 10 1007 978 3 662 47672 7 40 Fuchs Benjamin Kern Walter Molle Daniel Richter Stefan Rossmanith Peter Wang Xinhui 2007 Dynamic Programming for Minimum Steiner Trees PDF Theory of Computing Systems 41 3 493 500 doi 10 1007 s00224 007 1324 4 S2CID 7478978 Ganley Joseph L 2004 Steiner ratio In Black Paul E ed Dictionary of Algorithms and Data Structures U S National Institute of Standards and Technology Retrieved 24 May 2012 Garey Michael R Johnson David S 1979 Computers and Intractability A Guide to the Theory of NP Completeness W H Freeman ISBN 0 7167 1045 5 pp 208 209 problems ND12 and ND13 Hwang F K 1976 On Steiner minimal trees with rectilinear distance SIAM Journal on Applied Mathematics 30 1 104 114 doi 10 1137 0130013 Hwang F K Richards D S Winter P 1992 The Steiner Tree Problem Annals of Discrete Mathematics Vol 53 North Holland Elsevier ISBN 0 444 89098 X Ivanov Alexander Tuzhilin Alexey 1994 Minimal Networks The Steiner Problem and Its Generalizations N W Boca Raton Florida CRC Press ISBN 978 0 8493 8642 8 Ivanov Alexander Tuzhilin Alexey 2000 Branching solutions to one dimensional variational problems Singapore New Jersey London Hong Kong World Scientific ISBN 978 981 02 4060 8 Ivanov Alexander Tuzhilin Alexey 2003 Extreme Networks Theory in Russian Moscow Izhevsk Institute of Computer Investigations ISBN 5 93972 292 X Ivanov Alexander Tuzhilin Alexey 2012 The Steiner ratio Gilbert Pollak conjecture is still open Clarification statement Algorithmica 62 1 2 630 632 doi 10 1007 s00453 011 9508 3 S2CID 7486839 Ivanov Alexander Tuzhilin Alexey 2015 Branched coverings and Steiner ratio International Transactions in Operational Research 23 5 875 882 arXiv 1412 5433 doi 10 1111 itor 12182 S2CID 3386263 Juhl D Warme D M Winter P Zachariasen M 2014 The GeoSteiner Software Package for computing Steiner trees in the plane an updated computational study Proceedings of the 11th DIMACS Implementation Challenge PDF Karpinski Marek Zelikovsky Alexander 1998 Approximating dense cases of covering problems Proceedings of the DIMACS Workshop on Network Design Connectivity and Facilities Location DIMACS Series in Discrete Mathematics and Theoretical Computer Science Vol 40 American Mathematical Society pp 169 178 Korte Bernhard Vygen Jens 2006 Section 20 1 Combinatorial Optimization Theory and Algorithms 3rd ed Springer ISBN 3 540 25684 9 Kou L Markowsky G Berman L 1 June 1981 A fast algorithm for Steiner trees Acta Informatica 15 2 141 145 doi 10 1007 BF00288961 S2CID 21057232 Levin A Yu 1971 Algorithm for the shortest connection of a group of graph vertices Soviet Mathematics Doklady 12 1477 1481 Lokshtanov Daniel Nederlof Jesper 2010 Saving space by algebraization Proceedings of the 42nd ACM Symposium on Theory of Computing pp 321 330 doi 10 1145 1806689 1806735 Paolini E Stepanov E 2012 Existence and regularity results for the Steiner problem PDF Calc Var Partial Diff Equations 46 3 4 837 860 doi 10 1007 s00526 012 0505 4 hdl 2158 600141 S2CID 55793499 Robins Gabriel Zelikovsky Alexander 2000 Improved Steiner Tree Approximation in Graphs Proceedings of the Eleventh Annual ACM SIAM Symposium on Discrete Algorithms SODA 00 Philadelphia PA USA Society for Industrial and Applied Mathematics pp 770 779 ISBN 0 89871 453 2 Sherwani Naveed A 1993 Algorithms for VLSI Physical Design Automation Kluwer Academic Publishers ISBN 9781475722192 Smith J M Winter P 1995 Computational geometry and topological network design In Du Ding Zhu Hwang Frank eds Computing in Euclidean geometry Lecture Notes Series on Computing Vol 4 2nd ed River Edge NJ World Scientific Publishing Co pp 351 451 ISBN 981 02 1876 1 Takahashi Hiromitsu Matsuyama Akira 1980 An approximate solution for the Steiner problem in graphs Math Japonica 24 6 573 577 Vazirani Vijay V 2003 Approximation Algorithms Berlin Springer ISBN 3 540 65367 8 Wu Bang Ye Chao Kun Mao 2004 Chapter 7 Spanning Trees and Optimization Problems Chapman amp Hall CRC ISBN 1 58488 436 3 Wu Y F Widmayer P Wong C K May 1986 A faster approximation algorithm for the Steiner problem in graphs Acta Informatica 23 2 223 229 doi 10 1007 bf00289500 S2CID 7772232 External links Edit Wikimedia Commons has media related to Steiner tree problem Hazewinkel M 2001 1994 Steiner tree problem Encyclopedia of Mathematics EMS Press M Hauptmann M Karpinski 2013 A Compendium on Steiner Tree Problems GeoSteiner Euclidean and rectilinear Steiner tree solver Source available for non commercial use SCIP Jack Solver for the Steiner tree problem in graphs and 14 variants e g prize collecting Steiner tree problem Source available free for academic use https archive org details RonaldLG1988 Movie Ronald L Graham The Shortest Network Problem 1988 Fortran subroutine for finding the Steiner vertex of a triangle i e Fermat point its distances from the triangle vertices and the relative vertex weights Phylomurka Solver for small scale Steiner tree problems in graphs https www youtube com watch v PI6rAOWu Og Movie solving the Steiner tree problem with water and soap Noormohammadpour Mohammad Raghavendra Cauligi S Rao Sriram Kandula Srikanth 2017 Using Steiner Trees to Minimize Average Completion Times of Bulk Data Transfers DCCast Efficient Point to Multipoint Transfers Across Datacenters USENIX Association arXiv 1707 02096 Retrieved from https en wikipedia org w index php title Steiner tree problem amp oldid 1134375331, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.