Abstract
We consider the \(k\)-Prize-Collecting Steiner Tree Problem. An instance is composed of an integer k and a graph G with costs on edges and penalties on vertices. The objective is to find a tree spanning at least k vertices which minimizes the cost of the edges in the tree plus the penalties of vertices not in the tree. This is one of the most fundamental network design problems and is a common generalization of the Prize-Collecting Steiner Tree Problem and the \(k\)-Minimum Spanning Tree Problem. Our main result is a 2-approximation algorithm, which improves on the currently best known approximation factor of 3.96 and has a faster running time. The algorithm builds on a modification of the primal-dual framework of Goemans and Williamson, and reveals interesting properties that can be applied to other similar problems.
Similar content being viewed by others
References
Archer, A., Bateni, M., Hajiaghayi, M., Karloff, H.: Improved approximation algorithms for prize-collecting steiner tree and tsp. SIAM J. Comput. 40(2), 309–332 (2011). https://doi.org/10.1137/090771429
Arora, S., Karakostas, G.: A 2 + \(\varepsilon \) approximation algorithm for the \(k\)-mst problem. Math. Program. 107(3), 491–504 (2006). https://doi.org/10.1007/s10107-005-0693-1
Arya, S., Ramesh, H.: A 2.5-factor approximation algorithm for the \(k\)-mst problem. Inf. Process. Lett. 65(3), 117–118 (1998). https://doi.org/10.1016/S0020-0190(98)00010-6
Awerbuch, B., Azar, Y., Blum, A., Vempala, S.: New approximation guarantees for minimum-weight \(k\)-trees and prize-collecting salesmen. SIAM J. Comput. 28(1), 254–262 (1998)
Bienstock, D., Goemans, M.X., Simchi-Levi, D., Williamson, D.: A note on the prize collecting traveling salesman problem. Math. Program. 59(1), 413–420 (1993). https://doi.org/10.1007/BF01581256
Blum, A., Ravi, R., Vempala, S.: A constant-factor approximation algorithm for the \(k\)-mst problem. J. Comput. Syst. Sci. 58(1), 101–108 (1999). https://doi.org/10.1006/jcss.1997.1542
Byrka, J., Grandoni, F., Rothvoss, T., Sanità, L.: Steiner tree approximation via iterative randomized rounding. J. ACM 60(1), 6:1–6:33 (2013). https://doi.org/10.1145/2432622.2432628.
Chudak, F.A., Roughgarden, T., Williamson, D.P.: Approximate \(k\)-msts and \(k\)-Steiner trees via the primal-dual method and Lagrangean relaxation. Math. Program. 100(2), 411–421 (2004). https://doi.org/10.1007/s10107-003-0479-2
Feofiloff, P., Fernandes, C.G., Ferreira, C.E., de Pina, J.C.: A note on Johnson, Minkoff and Phillips’ algorithm for the prize-collecting steiner tree problem. CoRR abs/1004.1437 (2010). arXiv:1004.1437
Garg, N.: A 3-approximation for the minimum tree spanning k vertices. In: Proceedings of the 37th Annual Symposium on Foundations of Computer Science, FOCS ’96, p. 302. IEEE Computer Society, Washington, DC, USA (1996). http://dl.acm.org/citation.cfm?id=874062.875522
Garg, N.: Saving an epsilon: A 2-approximation for the \(k\)-mst problem in graphs. In: Proceedings of the Thirty-seventh Annual ACM Symposium on Theory of Computing, STOC ’05, pp. 396–402. ACM, New York, NY, USA (2005). https://doi.org/10.1145/1060590.1060650. http://doi.acm.org/10.1145/1060590.1060650
Goemans, M., Williamson, D.: A general approximation technique for constrained forest problems. SIAM J. Comput. 24(2), 296–317 (1995). https://doi.org/10.1137/S0097539793242618
Han, L., Xu, D., Du, D., Wu, C.: A 5-approximation algorithm for the \(k\)-prize-collecting Steiner tree problem. Optim. Lett. (2017). https://doi.org/10.1007/s11590-017-1135-8
Johnson, D.S., Minkoff, M., Phillips, S.: The prize collecting Steiner tree problem: theory and practice. In: Proceedings of the Eleventh Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’00, pp. 760–769. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA (2000). http://dl.acm.org/citation.cfm?id=338219.338637
Matsuda, Y., Takahashi, S.: A 4-approximation algorithm for \(k\)-prize collecting Steiner tree problems. Optim. Lett. 13(2), 341–348 (2019). https://doi.org/10.1007/s11590-018-1367-2
Oshiro, M.T.I.: \(k\)-Árvores de custo mínimo. Master’s thesis, Universidade de São Paulo, Instituto de Matemática e Estatística (2010)
Ravi, R., Sundaram, R., Marathe, M.V., Rosenkrantz, D.J., Ravi, S.S.: Spanning trees–short or small. SIAM J. Discret. Math. 9(2), 178–200 (1996)
Williamson, D.P., Shmoys, D.B.: The Design of Approximation Algorithms, 1st edn. Cambridge University Press, New York (2011)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supported by São Paulo Research Foundation (FAPESP) grant #2015/11937-9 and National Council for Scientific and Technological Development (CNPq) grants #425340/2016-3, #422829/2018-8, #140552/2019-7, and #312186/2020-7.
Proof of Lemma 7
Proof of Lemma 7
In this appendix, we prove Lemma 7. We show that, if \(\mathtt {GW}(0,\emptyset )\) returns a tree T with at least k vertices, then T is a 2-approximation. The proof is adapted from [9].
Let \((T,{\mathcal {B}})\) be the tuple returned by \(\mathtt {GP}(0,\emptyset )\), and remember that the growth-phase computes a corresponding laminar collection \({\mathcal {L}}\) associated with vector y. Also, let be the output of \(\mathtt {GW}(0,\emptyset )\), and observe that is the tree returned by \(\mathtt {PP}(T,{\mathcal {B}})\).
Recall that \({\mathcal {L}}(S)\) denotes the collection of subsets in \({\mathcal {L}}\) which contain some but not all vertices of a subset S, and that \({{\mathcal {L}}_v}\) denote the collection of subsets in \({\mathcal {L}}\) which contain a vertex v. Thus, \({\mathcal {L}}_r(S)\) is the collection of subsets in \({\mathcal {L}}(S)\) which contain the root r.
We bound the cost of into two steps. Lemma 1 bounds the cost of edges of , and Lemma 2 bounds the penalty of vertices not in .
Lemma 1
Let be the tree returned by \(\mathtt {GW}(0,\emptyset )\), then
Proof
Since every edge in is tight for (y, 0), we have
We prove by induction that, at the beginning of each iteration of \(\mathtt {GP}(0,\emptyset )\),
At the beginning of the growth-phase, \(y = 0\), then the inequality holds. Thus, assume that the inequality holds at the beginning of an iteration. Consider the laminar collection \({\mathcal {L}}\) at the beginning of this iteration, let \({\mathcal {A}}\) be the collection of active maximal subsets in \({\mathcal {L}}^*\) which contain some vertex of , and let \({\mathcal {I}}\) be the collection of non-active maximal subsets in \({\mathcal {L}}^*\) which contain some vertex of .
If some maximal subset in \({\mathcal {L}}^*\) contains , then neither side of the inequality changes, thus assume that no maximal subset contains . Suppose that the variable \(y_L\) of each active subset L is increased by \(\varDelta \) in this iteration. Hence, the left side of the inequality increases by , and the right side increases by \(2 |{\mathcal {A}}\setminus {\mathcal {A}}_r|\varDelta \). We claim that
and thus the inequality is maintained at the end of the iteration.
Note that \({\mathcal {A}}\cup {\mathcal {I}}\) partition . Thus, we can create a graph \(T'\) from by contracting each subset in \({\mathcal {A}}\cup {\mathcal {I}}\). As is a tree and a subgraph of T, it follows that the graph \(T'\) is a tree because T is \({\mathcal {L}}\)-connected by invariant (gp3). Let S be a non-active subset in \({\mathcal {I}}\), and observe that S is in \({\mathcal {B}}\). Since is pruned with \({\mathcal {B}}\), Corollary 2 implies that the degree of S on is not one. Therefore, the degree of each vertex of \(T'\) corresponding a subset in \({\mathcal {I}}\) is at least 2. It follows that
Since the subset containing the root r is always active, exactly one subset in \({\mathcal {A}}\) contains r, hence \({|{\mathcal {A}}\setminus {\mathcal {A}}_r| = |{\mathcal {A}}|-1}\), and thus , which shows the claim. \(\square \)
Lemma 2
Let be the tree returned by \(\mathtt {GW}(0,\emptyset )\), then
Proof
By Corollary 1, every vertex not spanned by T is contained in a subset in \({\mathcal {B}}\), and since \(\mathtt {PP}(T,{\mathcal {B}})\) only deletes from T subsets in \({\mathcal {B}}\), we have that every vertex not spanned by is contained in a subset in \({\mathcal {B}}\). Since \({\mathcal {B}}\) is laminar, there is a collection \(\{B_1,\cdots ,B_m\}\) of subsets in \({\mathcal {B}}\) which partitions the vertices in . Because every subset in \({\mathcal {B}}\) is tight for (y, 0),
\(\square \)
Now, we can prove Lemma 7.
Lemma 7 Let be the tree returned by \(\mathtt {GW}(0,\emptyset )\), and \(T^*\) be an optimal solution. Then,
Proof
Let \(L^*\) be the minimal subset in \({\mathcal {L}}\) containing all the vertices of \(T^*\). Also, let \({\mathcal {P}}\) be the collection of subsets in \({\mathcal {L}}\) which contain all the vertices of \(L^*\). Observe that \(\{{\mathcal {L}}(L^*),{\mathcal {L}}[V \setminus L^*],{\mathcal {P}}\}\) partitions \({\mathcal {L}}\). Also, since \(L^*\) contains r, it follows that \({{\mathcal {P}}\subseteq {\mathcal {L}}_r}\).
Combining Lemmas 1 and 2 we have
Observe that the subsets considered in the terms are disjoint. Thus, we can simplify the indices of the summation as
Now, since y respects \(c\) and \(\pi ^0\), using Lemma 1 for \({\lambda }= 0\),
\(\square \)
Rights and permissions
About this article
Cite this article
Pedrosa, L.L.C., Rosado, H.K.K. A 2-Approximation for the k-Prize-Collecting Steiner Tree Problem. Algorithmica 84, 3522–3558 (2022). https://doi.org/10.1007/s00453-021-00919-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-021-00919-3