This paper deals with approximation algorithms for the prize collecting generalized Steiner forest problem, defined as follows. The input is an undirected graph G = ( V , E ) , a collection T = { T 1 , … , T k } , each a subset of V of size at least 2, a weight function w : E → R + , and a penalty function p : T → R + . The goal is to find a forest F that minimizes the cost of the edges of F plus the penalties paid for subsets T i whose vertices are not all connected by F. Our main result is a ( 3 − 4 n ) -approximation for the prize collecting generalized Steiner forest problem, where n ⩾ 2 is the number of vertices in the graph. This obviously implies the same approximation for the special case called the prize collecting Steiner forest problem (all subsets T i are of size 2). The approximation algorithm is obtained by applying the local ratio method, and is much simpler than the best known combinatorial algorithm for this problem. Our approach gives a ( 2 − 1 n − 1 ) -approximation for the prize collecting Steiner tree problem (all subsets T i are of size 2 and there is some root vertex r that belongs to all of them). This latter algorithm is in fact the local ratio version of the primal-dual algorithm of Goemans and Williamson [M.X. Goemans, D.P. Williamson, A general approximation technique for constrained forest problems, SIAM Journal on Computing 24 (2) (April 1995) 296–317]. Another special case of our main algorithm is Bar-Yehuda's local ratio ( 2 − 2 n ) -approximation for the generalized Steiner forest problem (all the penalties are infinity) [R. Bar-Yehuda, One for the price of two: a unified approach for approximating covering problems, Algorithmica 27 (2) (June 2000) 131–144]. Thus, an important contribution of this paper is in providing a natural generalization of the framework presented by Goemans and Williamson, and later by Bar-Yehuda.
Read full abstract