Wolsey’s generalization of the greedy Set-Cover algorithm to a large class of problems.
It is natural to ask what general classes of problems the greedy Set-Cover algorithm generalizes to. Here we describe one such class, due to Wolsey (1982), that captures many, but not all, such problems.
Minimizing a linear cost subject to a submodular constraint
The class is called choosing a subset to minimize a linear cost function subject to a submodular constraint. It contains all problems of the form
where is a universe of elements and is a monotone submodular function (mapping subsets to reals).1
The generalized algorithm starts with , then repeatedly chooses an element to add to , where maximizes , stopping when achieves the maximum possible value .
Wolsey proves a number of performance guarantees for the algorithm [3, 2]. The most satisfactory guarantee holds only when the submodular function is integer-valued. In this case, the approximation ratio is , where is , the largest possible increase in from adding a single element. The proof is primal-dual, based on an abstract linear-program relaxation of the problem.
For more general submodular functions, Wolsey bounds the approximation ratio (somewhat weakly) by , where
-
is
where contains the first elements chosen by the algorithm and ranges over . This generalizes Wolsey’s result for integer-valued . -
, where is the number of iterations and is the value of the quantity that is maximized in iteration of the algorithm (that is, ).
-
is .
These latter bounds aren’t fully satisfying.
Examples
The class of problems is somewhat abstract. Here are some examples:
-
Set Partial Cover: Given an integer and a collection of sets over a universe , where each set has a cost , choose a minimum-cost collection of the sets so that their union contains at least elements. The approximation ratio is , where is the maximum size of any single set .
-
Set Multicover: Given a collection of sets, where each set has a cost , and an integer requirement for each element , choose a minimum-cost collection of the sets so that each element is contained in at least of the chosen sets. Each set can only be chosen once. The approximation ratio is , where is the maximum size of any single set .
-
Given a collection of sets of vectors of , where each set has a cost , choose a minimum-cost collection of the sets so that their union spans . The approximation ratio is , where is the maximum rank of any single set .
-
Given a collection of sets of edges in a graph , choose a minimum-cost collection of the sets so that their union connects the graph. The approximation ratio is , where is the maximum size of any set . If the problem is MST, the algorithm gives 1-approximation (it reduces to Kruskal’s algorithm).
An open problem
One of the most natural generalizations of Set Cover is Integer Covering with upper bounds on the variables, that is, where each . (To model a more general constraint for a variable , just replace each variable with copies.)
A nice open question is whether the approximation ratio (or perhaps a ratio) can be shown for any natural greedy algorithm for this problem, where is the maximum number of constraints in which any variable appears. An -approximation algorithm is known for the problem, but it is not a greedy algorithm [1].
For this problem, it is natural to define the underlying submodular function by or . But for these functions, none of Wolsey’s three quantities above are bounded independent of and .
The question is resolved positively for for two slightly easier problems:
-
(no upper bounds on the variables), and
-
where . (This one is Set Multicover, mentioned previously, for which the function above is integer-valued, so Wolsey’s result applies.)
Related
-
The set-cover problem (wikipedia)
-
Submodular functions (wikipedia)
Bibliography
Footnotes
- is submodular if for any and . That is, adding to the current set gives at least as much benefit as would adding after adding . Intuitively, adding cannot make it better to add . The key property for the analysis of the greedy algorithm is the following: if adding a set of elements would increase by at least , then there must be at least one element in that, if added by itself, would increase by at least .