Skip to main content
Log in

A 2-Approximation for the k-Prize-Collecting Steiner Tree Problem

  • Published:
Algorithmica Aims and scope Submit manuscript

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.

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
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

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

    Article  MathSciNet  MATH  Google Scholar 

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

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

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

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

    Article  MathSciNet  MATH  Google Scholar 

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

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

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

    Article  MathSciNet  MATH  Google Scholar 

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

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

    Article  MathSciNet  MATH  Google Scholar 

  18. Williamson, D.P., Shmoys, D.B.: The Design of Approximation Algorithms, 1st edn. Cambridge University Press, New York (2011)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hugo Kooki Kasuya Rosado.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-021-00919-3

Keywords

Navigation