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

### Similar content being viewed by others

## References

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)

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)

Imielińska, C., Kalantari, B., Khachiyan, L.: A greedy heuristic for a minimum-weight forest problem. Oper. Res. Lett.

**14**, 65–71 (1993)Bazgan, C., Couëtoux, B., Tuza, Z.: Complexity and approximation of the constrained forest problem. Theor. Comput. Sci.

**412**, 4081–4091 (2011)Kruskal, J.: On the shortest spanning subtree of a graph and the traveling salesman problem. Proc. Am. Math. Soc.

**7**, 48–50 (1956)Laszlo, M., Mukherjee, S.: Another greedy heuristic for the constrained forest problem. Oper. Res. Lett.

**33**, 629–633 (2005)Laszlo, M., Mukherjee, S.: A class of heuristics for the constrained forest problem. Discret. Appl. Math.

**154**, 6–14 (2006)Goemans, M.X., Williamson, D.P.: Approximating minimum-cost graph problems with spanning tree edges. Oper. Res. Lett.

**16**, 183–189 (1994)Laszlo, M., Mukherjee, S.: An approximation algorithm for network design problems with downwards-monotone demand functions. Optim. Lett.

**2**, 171–175 (2008)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)

Byrka, J., Grandoni, F., Rothvoß, T., Sanità, L.: Steiner tree approximation via iterative randomized rounding. J. ACM

**60**, Art no. 6 (2013)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)Goemans, M.X., Williamson, D.P.: A general approximation technique for constrained forest problems. SIAM J. Comput.

**24**, 296–317 (1995)

## Acknowledgments

We thank anonymous reviewers of this paper for useful comments.

## Author information

### Authors and Affiliations

### Corresponding author

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

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

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.

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.

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.

## Rights 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

Received:

Accepted:

Published:

Issue Date:

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