Abstract
We give better approximation ratios for two Steiner Tree variants by combining known algorithms: the optimum \(\mathbf{3}\)decomposition and iterative randomized rounding. The first problem is Steiner Tree with minimum number of Steiner points and bounded edge length problem (\({\varvec{SMTMSP}}\)). The input consists of a set of terminals \({\varvec{R}}\) in the Euclidean space \({\mathbb {R}}^{\mathbf{2}}\). A feasible solution is a Steiner tree \({\varvec{\tau }}\) spanning \({\varvec{R}}\) with Steiner points \({\varvec{S}}\) such that every edge in \({\varvec{\tau }}\) has length at most \(\mathbf{1}\). The objective is to minimize \(\mathtt{S}\). Previously, the best approximation ratio for \({\varvec{SMTMSP}}\) was \(\mathbf{1} +\)ln\((\mathbf{4}) + {\varvec{\epsilon }} \approx \mathbf{2.386}\). We present a polynomial time algorithm with ratio \(\mathbf{2.277}\). The second problem is Steiner Tree in quasibipartite graphs. It is a Steiner Tree problem on graph \({\varvec{G}}=({\varvec{V}},{\varvec{E}},{\varvec{c}})\) with terminal set \({\varvec{R}}\) when the edge set \({\varvec{E}}\) does not include any edge between two vertices in \({\varvec{V}} \setminus {\varvec{R}}\). The bestknown approximation ratio for this problem is \( \frac{\mathbf{73}}{\mathbf{60}}\), We improve this ratio to \(\frac{\mathbf{298}}{\mathbf{245}}\).
This is a preview of subscription content, access via your institution.
References
Jarník, V., Kössler, M.: O minimálních grafech, obsahujících \( n \) danỳch bodů. Časopis pro pěstování matematiky a fysiky 63(8), 223–235 (1934)
Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of Computer Computations, pp. 85–103. Springer, New York (1972)
Dreyfus, S.E., Wagner, R.A.: The Steiner problem in graphs. Networks 1(3), 195–207 (1971)
Hakimi, S.L.: Steiner’s problem in graphs and its implications. Networks 1(2), 113–133 (1971)
Kou, L., Markowsky, G., Berman, L.: A fast algorithm for Steiner trees. Acta Informatica 15(2), 141–145 (1981)
Zelikovsky, A.: An 11/6approximation algorithm for the network Steiner problem. Algorithmica 9(5), 463–470 (1993). https://doi.org/10.1007/BF01187035
Berman, P., Ramaiyer, V.: Improved approximations for the Steiner tree problem. JALG 17, 381–408 (1994)
Karpinski, M., Zelikovsky, A.: New approximation algorithms for the Steiner tree problems. Electronic Colloquium on Computational Complexity (ECCC) 2(030) (1995)
Prömel, H.J., Steger, A.: A new approximation algorithm for the Steiner tree problem with performance ratio 5/3. J. Algorithms 36, 89–101 (2000)
Hougardy, S., Prömel, H.J.: A 1.598 approximation algorithm for the Steiner problem in graphs. In: Proceedings of the Tenth Annual ACMSIAM Symposium on Discrete Algorithms, pp. 448–453 (1999)
Robins, G., Zelikovsky, A.: Tighter bounds for graph Steiner tree approximation. SIAM J. Discret. Math. 19(1), 122–134 (2005)
Byrka, J., Grandoni, F., Rothvoss, T., Sanità, L.: Steiner tree approximation via iterative randomized rounding. J. ACM 60(1), 6–1633 (2013). https://doi.org/10.1145/2432622.2432628
Zelikovsky, A.: A series of approximation algorithms for the acyclic directed Steiner tree problem. Algorithmica 18(1), 99–110 (1997)
Charikar, M., Chekuri, C., Cheung, T.Y., Dai, Z., Goel, A., Guha, S., Li, M.: Approximation algorithms for directed Steiner problems. J. Algorithms 33(1), 73–91 (1999)
Klein, P., Ravi, R.: A nearly bestpossible approximation algorithm for nodeweighted Steiner trees. J. Algorithms 19, 104–115 (1995)
Guha, S., Khuller, S.: Improved Methods for Approximating Node Weighted Steiner Trees and Connected Dominating Sets. Inf. Comput. 150, 57–74 (1999)
Garg, N., Konjevod, G., Ravi, R.: A polylogarithmic approximation algorithm for the group Steiner tree problem. J. Algorithms 37(1), 66–84 (2000)
Chekuri, C., Even, G., Kortsarz, G.: A greedy approximation algorithm for the group Steiner problem. Discret. Appl. Math. 154(1), 15–34 (2006)
Iwata, S., Kobayashi, Y.: A weighted linear matroid parity algorithm. SIAM J. Comput. 51(2), 238–280 (2022)
Camerini, P.M., Galbiati, G., Maffioli, F.: Random pseudopolynomial algorithms for exact matroid problems. JALG 13, 258–273 (1992)
Wolsey, L.A.: Analysis of the greedy algorithm for the submodular set covering problem. Combinatorica 2, 385–392 (1982)
Baudis, G., Gropl, C., Hougardy, S., Nierhoff, T., Prömel, H.J.: Approximating minimum spanning sets in hypergraphs and polymatroids. In: ICALP (2000)
Zelikovsky, A.: Better approximation bounds for the network and Euclidean Steiner tree problems. Technical Report CS9606, Department of Computer Science, University of Virginia (1996)
Goemans, M.X., Olver, N., Rothvoß, T., Zenklusen, R.: Matroids and integrality gaps for hypergraphic Steiner tree relaxations. In: STOC, pp. 1161–1176 (2012)
Lin, G.H., Xue, G.: Steiner tree problem with minimum number of Steiner points and bounded edgelength. Inf. Process. Lett. 69(2), 53–57 (1999). https://doi.org/10.1016/S00200190(98)002014
Mandoiu, I.I., Zelikovsky, A.Z.: A note on the MST heuristic for bounded edgelength Steiner trees with minimum number of Steiner points. Inf. Process. Lett. 75(4), 165–167 (2000). https://doi.org/10.1016/S00200190(00)000958
Chen, D., Du, D.Z., Hu, X.D., Lin, G.H., Wang, L., Xue, G.: Approximations for Steiner trees with minimum number of Steiner points. Theoret. Comput. Sci. 262(1–2), 83–99 (2001). https://doi.org/10.1016/S03043975(00)001821
Cheng, X., Du, D.Z., Wang, L., Xu, B.: Relay sensor placement in wireless sensor networks. Wireless Netw. 14(3), 347–355 (2008). https://doi.org/10.1007/s1127600607248
Cohen, N., Nutov, Z.: Approximating Steiner trees and forests with minimum number of Steiner points. J. Comput. Syst. Sci. 98, 53–64 (2018)
Nutov, Z., Yaroshevitch, A.: Wireless network design via 3decompositions. Inf. Process. Lett. 109(19), 1136–1140 (2009). https://doi.org/10.1016/j.ipl.2009.07.013
Rajagopalan, S., Vazirani, V.V.: On the bidirected cut relaxation for the metric Steiner tree problem. In: SODA, vol. 99, pp. 742–751 (1999)
Du, D.Z., Zhang, Y.: On better heuristics for Steiner minimum trees. Math. Program. 57(1), 193–202 (1992). https://doi.org/10.1007/BF01581080
Borchers, A., Du, D.Z.: The kSteiner ratio in graphs. SIAM J. Comput. 26(3), 857–869 (1997)
Goemans, M.X., Williamson, D.P.: New \(3/4\)approximation algorithms for the maximum satisfiability problem. SIAM J. on Discrete Mathematics 7, 656–666 (1994)
Lawler, E.L.: Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York (1976)
Gabow, H.N.: Implementation of algorithms for maximum matching on nonbipartite graphs. PhD thesis, Stanford, CA, USA (1974). AAI7413628
Edmonds, J., Johnson, E.L.: Matching: A wellsolved class of integer linear programs, Combinatorial Structures and their Applications (Proc. Calgary Internat., Calgary, Alta., 1969). Gordon and Breach, New York (1970)
Lovász, L., Plummer, M.D.: Matching Theory. NorthHolland, AmsterdamNew York (1986)
Grandoni, F.: On minpower Steiner tree. In: European Symposium on Algorithms, pp. 527–538 (2012). Springer
Acknowledgements
Gruia would like to thank Neil Olver for discussions on the IRR method.
Funding
No funding was received for conducting this study.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no financial interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix A Proof of Lemma 11
Appendix A Proof of Lemma 11
We prove Lemma 11 by contradiction, and we want to show that there is always at least one terminal within Euclidean distance 1 to both Steiner points or within Euclidean distance 1 to another terminal (which makes this full component not cheerful anymore). For intuition, look at the following extreme case with 8 terminals and 2 Steiner points in Fig. 1. Each terminal is at distance exactly 1 to the Steiner point it is connected to, and at distance exactly 1 to two other terminals (so it is not cheerful). Our proof modifies any given cheerful component with 8 terminals and 2 Steiner points towards this extreme case while keeping the component being cheerful.
Assume that we have a cheerful component as in Fig. 2, it has 8 terminals \((t_1\) to \(t_8\)) and 2 Steiner points \((s_1\) and \(s_2)\). More precisely, if we traverse counterclockwise the embedding of this cheerful component we will have the following closed trail: \(t_1, s_1, t_2, s_1, s_2,t_3,s_2,t_4,s_2,t_5,s_2,t_6,s_2,s_1,t_7,s_1,t_8,s_1,t_1\).
An edge between points a and b in Fig. 2 represents that distance \(d(a,b) \le 1\); and distance \(d(a,b)>1\) if there is no edge between points a and b. For each pair of terminals \(t_i, t_j\) adjacent to the same Steiner point s, by applying law of cosines to triangle \(\triangle t_ist_j\) with \(d(s,t_i) \le 1\), \(d(s,t_j) \le 1\) and \(d(t_1,t_j) > 1\), we have \(\angle t_i s t_j > 60^\circ \). Note that, any angle \(\angle abc\) mentioned in this paper is referred to the one that formed by line segment \(\overline{b,a}\) rotating around b to meet line segment \(\overline{b,c}\). An angle is positive if the rotation of line segment \(\overline{b,a}\) to \(\overline{b,c}\) is clockwise, and is negative if this rotation is counter clockwise; and \( \vert \angle abc \vert \le 180^\circ \). We say a point c is on the right (left) side of oriented line segment \(\overline{b,a}\) if and only if \(\angle abc >0\) (\(\angle abc <0\)).
For Steiner point \(s_1\), if at least 3 terminals adjacent to it are on the same side of straight line \(s_1s_2\) and let t be the one closest to \(s_2\) among these terminals, then \(\angle s_2s_1t < 60^\circ \); and by law of cosines applied to triangle \(\triangle ts_2s_1\) with \(d(s_1,s_2) \le 1\),\(d(s_1,t) \le 1\) and \(\angle s_2s_1t < 60^\circ \), we have \(d(s_2, t) \le 1\), then we finish the proof. So from here on, we only consider the situation that there are exactly 2 terminals adjacent to each Steiner point on each side of straight line \(s_1s_2\).
We can modify the locations of some points by modifying some of the edges as follows, while the Euclidean distance between any pair of points without an edge is still greater than 1.

Extend edge \((s_1,s_2)\) so that \(d(s_1,s_2) = 1\) while the location of \(s_1\) is fixed and the embedding of subgraph induced by \(s_2\) and all terminals adjacent to \(s_2\) is fixed.

Extend edges \((s_1,t_1), (s_1,t_8), (s_2,t_4),\) and \((s_2,t_5)\) so that the length of each of these edges is exactly 1.
We get a graph as in Fig. 3 after the modification. Denote two points on straight line \(s_1s_2\) as a and b such that line segment \(\overline{s_1,s_2} \subset \overline{a,b}\). Since \(\angle t_1s_1t_8\) and \(\angle t_5s_2t_4\) are both greater than \(60^\circ \), at least one of the following two values is greater than \(60^\circ \): \(\angle t_1s_1a + \angle bs_2t_4\) and \(\angle as_1t_8 + \angle t_5s_2b\). Without loss of generality, we assume that \(\angle t_1s_1a + \angle bs_2t_4 > 60^\circ \). A special case is that \(\angle t_1s_1a \ge 60^\circ \) or \(\angle bs_2t_4\ge 60^\circ \). If \(\angle t_1s_1a \ge 60^\circ \), then \(\angle s_2s_1t_1 \le 120^\circ \). Since point \(t_2\) is in the angle \(\angle s_2s_1t_1\), and \(\angle t_2s_1t_1 > 60^\circ \), we have that \(\angle s_2s_1t_2 < 60^\circ \). Applying law of cosines to triangle \(\triangle s_2s_1t_2\) with \(d(s_1,s_2) = 1\), \(d(s_1,t_2) \le 1\), we have \(d(t_2,s_2) \le 1\), and then we finish the proof. Similarly, if \(\angle bs_2t_4 \ge 60^\circ \), we can also finish the proof. So from here on, we only consider that case that \(\angle t_1s_1a < 60^\circ \) and \(\angle bs_2t_4 < 60^\circ \). Remind that, \(\angle t_2s_1t_1 > 60^\circ \) and \(\angle t_4s_2t_3 > 60^\circ \). Thus, in this case, we have that \(\angle s_2s_1t_2 + \angle t_3s_2s_1 = (180^\circ  \angle t_1s_1a  \angle t_2s_1t_1) + (180^\circ  \angle bs_2t_4  \angle t_4s_2t_3)= 360^\circ  \angle t_2s_1t_1  \angle t_4s_2t_3  (\angle t_1s_1a + \angle bs_2t_4)< 360^\circ  60^\circ 60^\circ 60^\circ = 180^\circ \).
We further modify the graph by extending the length of one of the edges \((s_1,t_2)\) and \((s_2, t_3)\) to exactly 1. To make sure that we will not shorten the distance between \(t_2\) and \(t_3\) by this modification, we look at the relation between these two terminals. Note that, \(\angle s_2s_1t_2 > 60^\circ \) and \(\angle t_3s_2s_1 > 60^\circ \). Otherwise, applying law of cosines to triangles \(\triangle s_2s_1t_2\) and \(\triangle t_3s_2s_1\) respectively, we have that \(d(s_2, t_2) \le 1\) or \(d(s_1,t_3) \le 1\), then we finish the proof. With \(d(s_1,t_2) \le 1\) and \(d(s_2,t_3) \le 1\), we do not have a case that line segments \(\overline{s_1,t_2}\) and \(\overline{s_2,t_3}\) intersect.
Let \(p_2\) be the projection of \(t_2\) on straight line \(s_2t_3\), and let \(p_3\) be the projection of \(t_3\) on straight line \(s_1t_2\). If either \(p_2\) and \(t_2\) are on different sides of straight line \(s_1s_2\) or \(p_3\) and \(t_3\) are on different sides of straight line \(s_1s_2\), then we show that either \(d(s_1,t_3) <1\) or \(d(s_2,t_2) <1\), and we can finish the proof. Without loss of generality, let \(t_3\) and \(p_3\) be on different sides of straight line \(s_1s_2\) (as shown in Fig. 4), then we show that \(d(s_1,t_3) <1\). In this case, we have \(\angle t_3s_1t_2 \ge 90^\circ \) or else \(p_3\) and \(t_3\) will be on the same side of straight line \(s_1s_2\). Since \(\angle s_2s_1t_2 + \angle t_3s_2s_1 < 180^\circ \), we have that \(\angle t_3s_2s_1 + \angle s_2s_1t_3 < 180^\circ  90^\circ = 90^ \circ \) and \(\angle s_1t_3s_2 >90^\circ \). Applying law of sines to triangle \(\triangle s_2s_1t_3\) with \(\angle s_1t_3s_2 > \angle t_3s_2s_1\), we have \(d(s_1,t_3) < d(s_1,s_2) = 1\). From here on, we only consider the case that both \(p_2, p_3\) are on the same side of straight line \(s_1s_2\) as \(t_2\) and \(t_3\).
If \(s_1\), \(t_2\) are on the same side of \(p_3\) on straight line \(s_1t_2\), and \(s_2\), \(t_3\) are on the same side of \(p_2\) on straight line \(s_2t_3\) (as shown in Fig. 5), then we show that \(d(t_2,t_3) \le 1\), and we can finish the proof. Through each of point \(s_1\) and point \(s_2\) draw straight lines parallel to straight line \(t_2t_3\). At least one of these two straight lines intersects both line segments \(\overline{s_1,t_2}\) and \(\overline{s_2,t_3}\). Without loss of generality, we assume that straight line \(ss_2\) intersects \(\overline{s_1,t_2}\) at s and intersects \(\overline{s_2,t_3}\) at \(s_2\). Since \(\angle s_2s_1t_2 + \angle t_3s_2s_1<180^\circ \) and line segments \(\overline{s_1,t_2}\), \(\overline{s_2,t_3}\) do not intersect, we have \(d(s,s_2) \ge d(t_2,t_3)\). Let p be the projection of \(s_2\) on straight line \(s_1t_2\). Since line segments \(\overline{s_2,p}\), \(\overline{t_3,p_3}\) are parallel, and line segments \(\overline{s_2,s}\), \(\overline{t_3,t_2}\) are parallel, it is easy to see that \(s_1\) and s are on the same side of p on straight line \(s_1t_2\), and \(d(p,s) \le d(p,s_1)\). Therefore \(d(s,s_2) \le d(s_1,s_2)\). Thus, we have \(1 = d(s_1,s_2) \ge d(s,s_2) \ge d(t_2,t_3)\). From here on, we only consider the case that either \(s_1\) and \(t_2\) are on different sides of \(p_3\) on straight line \(s_1t_2\) or \(s_2\) and \(t_3\) are on different sides of \(p_2\) on straight line \(s_2t_3\).
Without loss of generality, we assume that \(s_2\) and \(t_3\) are on different sides of \(p_2\) on straight line \(s_2t_3\) (as shown in Fig. 6). We extend edge \((s_2,t_3)\) so that \(d(s_2,t_3) =1\). Since we move \(t_3\) farther from \(p_2\) along line \(s_2t_3\), the distance between \(t_2\) and \(t_3\) does not get smaller. Remind that, \(\angle t_4s_2t_3 > 60^\circ \) and \(\angle t_3s_2s_1 > 60^\circ \). Applying law of cosines to triangle \(\triangle t_4s_2t_3\) with \(d(s_2,t_3) = d(s_2,t_4) = 1\) and \(\angle t_4s_2t_3 > 60^\circ \), and applying law of cosines to triangle \(\triangle t_3s_2s_1\) with \(d(s_2,t_3) = d(s_1,t_2) = 1\) and \(\angle t_3s_2s_1 > 60^\circ \), we still have that \(d(t_3,t_4) >1\) and \(d(s_1,t_3) > 1\).
In the rest of this proof, we will show that at least one of the three following distances is within 1: \(d(t_2, s_2), d(t_1,t_2)\), and \(d(t_2,t_3)\). Here we list some information of the graph that we already proved in the current case. We can use this information in the rest of the proof.

\(d(s_1,s_2) = d(s_1,t_1) = d(s_2,t_3) = d(s_2,t_4) = 1\).

\(d(s_1,t_2) \le 1\).

\(\angle t_2s_1t_1 > 60^\circ \) and \(\angle t_4s_2t_3 > 60^\circ \).

\(\angle s_2s_1t_2 > 60^\circ \) and \(\angle t_3s_2s_1 > 60^\circ \).

\(\angle t_1s_1a + \angle bs_2t_4 > 60^\circ \).

\(\angle t_1s_1a < 60^\circ \) and \(\angle bs_2t_4 < 60^\circ \).

\(\angle s_2s_1t_2 + \angle t_3s_2s_1<180^\circ \).
Denote the circle centered at point d with radius 1 as C(d). Let \(C(s_2)\) and \(C(t_3)\) intersect on the left of line segment \(\overline{t_3,s_2}\) at point z, then triangle \(\triangle zt_3s_2\) is an equilateral triangle. Let point x be on the right side of line segment \(\overline{s_1,s_2}\) with \(\overline{s_1,x}\) parallel with \(\overline{s_2,t_3}\) and \(d(s_1,x)\) = 1. The locations of points z and x are illustrated in Fig. 7. Since \(d(s_1,x) = d(s_1,s_2) = d(s_2,t_3)\) and line segments \(\overline{s_1,x}\) and \(\overline{s_2,t_3}\) are parallel, the quadrilateral \(s_1xt_3s_2\) is a rhombus. Remind that \(\angle s_2s_1t_2 + \angle t_3s_2s_1<180^\circ \). Since \(\angle s_2s_1x + \angle t_3s_2s_1 = 180^\circ \), we have that \(t_2\) is in the angle \(\angle s_2s_1x\). Since \(t_2\) is outside of circles \(C(t_3)\) and \(C(s_2)\), we have that \(t_2\) is inside of triangle \(\triangle xzs_1\).
In the rest of this proof, we will show that \(d(t_1,x) \le 1\) and \(d(t_1,z) \le 1\). Since \(t_2\) is a convex combination of \(s_1, x\) and z, after this proof, together with the fact that \(d(t_1,s_1) = 1\), we have that \(d(t_1,t_2) \le 1\), and then we can finish the proof of Lemma 11.
Firstly, in this paragraph we show that \(d(t_1,x) \le 1\). Remind that, \(\angle t_4s_2t_3 > 60^\circ \), \(\angle t_1s_1a + \angle bs_2t_4 > 60^\circ \) and \(\angle s_2s_1x + \angle t_3s_2s_1 = 180^\circ \). We have that, \(\angle xs_1t_1 = 180^\circ \angle t_1s_1a  \angle s_2s_1x = 360^\circ  (\angle t_1s_1a + \angle bs_2t_4)  (\angle s_2s_1x + \angle t_3s_2s_1)  \angle t_4s_2t_3 < 360^\circ 60^\circ  180^\circ  60^\circ = 60^\circ \). Applying law of cosines to triangle \(\triangle s_1t_1x\) with \(d(s_1,t_1) = d(s_1,x) = 1\) and \(\angle xs_1t_1 < 60^\circ \), we have that \(d(t_1,x) \le 1\).
Last, in this paragraph we show that \(d(t_1,z) \le 1\). Let y be a point such that \(d(s_1,y) = 1\) and \(\angle xs_1y = 60^\circ \). The location of point y is illustrated in Fig. 8. Since \(d(s_1,x) = d(s_1,y) = 1\) and \(\angle xs_1y = 60^\circ \), the triangle \(\triangle s_1yx\) is an equilateral triangle. Remind that line segments \(\overline{s_1,x}\) and \(\overline{s_2,t_3}\) are parallel, and triangle \(\triangle zt_3s_2\) is an equilateral triangle, so line segments \(\overline{s_1,y}\) and \(\overline{s_2,z}\) are parallel. Since \(d(s_1,y) = d(s_1,s_2) = d(s_2,z) = 1\) and line segments \(\overline{s_1,y}\), \(\overline{s_2,z}\) are parallel, the quadrilateral \(s_1yzs_2\) is a rhombus and \(d(y,z) = 1\). Remind that \(\angle xs_1t_1 < 60^\circ \), we have \(\angle zs_1t_1 < \angle zs_1y\). Since \(f(x) = \cos {x}, x\in [0,\pi ]\) is monotone decreasing, by law of cosines applied to triangles \(\triangle s_1yz\) and \(\triangle s_1t_1z\), we have that \(d(t_1,z) = \sqrt{d(s_1,z)^2 + 1  2d(s_1,z)\cos {\angle zs_1t_1}} < \sqrt{d(s_1,z)^2 + 1  2d(s_1,z)\cos {\angle zs_1y}} = d(y,z) = 1\). Till here, we finish the proof that \(d(t_1,t_2) \le 1\). \(\square \)
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author selfarchiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Călinescu, G., Wang, X. Combination Algorithms for Steiner Tree Variants. Algorithmica (2022). https://doi.org/10.1007/s00453022010098
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s00453022010098
Keywords
 Approximation ratio
 Steiner tree
 Euclidean space
 Quasibipartite graph