Skip to main content
Log in

A 3/2-approximation algorithm for some minimum-cost graph problems

  • Full Length Paper
  • Series B
  • Published:
Mathematical Programming Submit manuscript

Abstract

We consider a class of graph problems introduced in a paper of Goemans and Williamson that involve finding forests of minimum edge cost. This class includes a number of location/routing problems; it also includes a problem in which we are given as input a parameter \(k\), and want to find a forest such that each component has at least \(k\) vertices. Goemans and Williamson gave a 2-approximation algorithm for this class of problems. We give an improved 3/2-approximation algorithm.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. Couëtoux, B.: A 3/2 approximation for a constrained forest problem. In: Demetrescu, C., Halldórsson, M.M. (eds.) Algorithms—ESA 2011, 19th Annual European Symposium, no. 6942 in Lecture Notes in Computer Science, pp. 652–663. Springer (2011)

  2. Davis, J.M., Williamson, D.P.: A dual-fitting 3/2-approximation algorithm for some minimum-cost graph problems. In: Epstein, L., Ferragina, P. (eds.) Algorithms—ESA 2012, 20th Annual European Symposium, no. 7501 in Lecture Notes in Computer Science, pp. 373–382. Springer (2012)

  3. Imielińska, C., Kalantari, B., Khachiyan, L.: A greedy heuristic for a minimum-weight forest problem. Oper. Res. Lett. 14, 65–71 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bazgan, C., Couëtoux, B., Tuza, Z.: Complexity and approximation of the constrained forest problem. Theor. Comput. Sci. 412, 4081–4091 (2011)

    Article  MATH  Google Scholar 

  5. Kruskal, J.: On the shortest spanning subtree of a graph and the traveling salesman problem. Proc. Am. Math. Soc. 7, 48–50 (1956)

    Article  MATH  MathSciNet  Google Scholar 

  6. Laszlo, M., Mukherjee, S.: Another greedy heuristic for the constrained forest problem. Oper. Res. Lett. 33, 629–633 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  7. Laszlo, M., Mukherjee, S.: A class of heuristics for the constrained forest problem. Discret. Appl. Math. 154, 6–14 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  8. Goemans, M.X., Williamson, D.P.: Approximating minimum-cost graph problems with spanning tree edges. Oper. Res. Lett. 16, 183–189 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  9. Laszlo, M., Mukherjee, S.: An approximation algorithm for network design problems with downwards-monotone demand functions. Optim. Lett. 2, 171–175 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  10. Goemans, M.X., Williamson, D.P.: The primal-dual method for approximation algorithms and its application to network design problems. In: Hochbaum, D.S. (ed.) Approximation Algorithms for NP-Hard Problems, Chap. 4. PWS Publishing, Boston, MA (1996)

  11. Byrka, J., Grandoni, F., Rothvoß, T., Sanità, L.: Steiner tree approximation via iterative randomized rounding. J. ACM 60, Art no. 6 (2013)

  12. Archer, A., Bateni, M., Hajiaghayi, M., Karloff, H.: Improved approximation algorithms for prize-collecting Steiner tree and TSP. SIAM J. Comput. 40, 309–332 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  13. Goemans, M.X., Williamson, D.P.: A general approximation technique for constrained forest problems. SIAM J. Comput. 24, 296–317 (1995)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Acknowledgments

We thank anonymous reviewers of this paper for useful comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David P. Williamson.

Additional information

This paper is the merger of two extended abstracts, the first due to the first author (which appeared in ESA 2011 [1]) and the second due to the second and third authors (which appeared in ESA 2012 [2]). The second author is supported by the National Science Foundation under Grant No. DGE-0707428. The third author is supported in part by NSF Grant CCF-1115256.

Appendix

Appendix

We illustrate a run of Algorithm 1 on the problem in which we want to find a minimum-cost set of edges such that each component has at least four vertices. We give an instance of the problem in which the graph contains edges of cost 0, 1, 2, or \(2+\varepsilon \) to keep things simple.

The instance is described in the Fig. 3; we give an optimal solution and a solution produced by the algorithm. We draw good edges with a double line.

Fig. 3
figure 3

The graph on the left gives an optimal solution of cost \(6+\varepsilon \) and the graph on the right gives a solution produced by the algorithm of cost 8

In Fig. 4, in the first four iterations, the algorithm picks all four edges of cost 0. In the next iteration, the cheapest good edge (\(e_{5}\)) has cost 2, and the remaining bad edges all have cost 1, so the algorithm chooses the good edge \(e_5\).

Fig. 4
figure 4

The first four iterations of the algorithm pick the four edges of cost 0 (shown on the left). On the right, in the next iteration the algorithm picks \(e_5\) as a good edge

In Fig. 5, the algorithm now picks a bad edge of cost 1, \(e_6\), since this is less than half the cost of the cheapest good edge (\(e_{12}\), of cost \(2+\varepsilon \)). Adding this edge to the solution makes the edge \(e_7\) a good edge. Since \(e_7\) is of cost 1, the algorithm adds it as a good edge. After this, \(e_{12}\) is no longer a good edge.

Fig. 5
figure 5

The algorithm adds \(e_6\) and \(e_7\) to the partial solution

In Fig. 6, there are only bad edges; the algorithm picks \(e_8\), which is of cost 1. The addition of \(e_8\) makes \(e_{13}\) a good edge. Then the algorithm picks \(e_9\), after which \(e_{13}\) is no longer a good edge.

Fig. 6
figure 6

The algorithm adds \(e_8\) and \(e_9\) to the partial solution

In Fig. 7, edge \(e_{10}\) is the last bad edge of cost 1 and, when it is examined, its addition would link two big components, therefore it isn’t added to the partial solution. Edge \(e_{11}\) is one of the bad edges of cost \(2\) remaining; the algorithm adds it to the solution. Now edge \(e_{12}\) would form a cycle with the partial solution and edge \(e_{13}\) would link two big components, so neither of them are added to the solution. The algorithm returns the indicated set of edges, and each component has at least 4 vertices in it.

Fig. 7
figure 7

On the left, \(e_{10}\) and \(e_{11}\) has been examined. On the right the two last edges \(e_{12}\) and \(e_{13}\) has been examined and removed

Rights and permissions

Reprints and permissions

About this article

Cite this article

Couëtoux, B., Davis, J.M. & Williamson, D.P. A 3/2-approximation algorithm for some minimum-cost graph problems. Math. Program. 150, 19–34 (2015). https://doi.org/10.1007/s10107-013-0727-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10107-013-0727-z

Mathematics Subject Classification

Navigation