Maximum coverage problem
The maximum coverage problem is a classical question in computer science and complexity theory. It is a problem whose widely taught in approximation algorithms.
As input you are given several sets and a number . The sets may have some elements in common. You must select at most of these sets such that the maximum number of elements are covered, i.e. the union of the selected sets has maximal size.
Formally, (unweighted) Maximum Coverage
- Instance: A number and a collection of sets , where .
- Objective: Find a subset of sets, such that and the number of covered elements is maximized.
The maximum coverage problem is NP-hard, and cannot be approximated within under standard assumptions. This result essentially matches the approximation ratio achieved by the greedy algorithm.
ILP formulation
The maximum coverage problem can be formulated as the following integer linear program.
- maximize . (maximizing the sum of covered elements).
- subject to ; (no more than sets are selected).
- ; (if then at least one set is selected).
- ; (if then is covered)
- (if then is selected for the cover).
Greedy algorithm
The greedy algorithm for maximum coverage chooses sets according to one rule: at each stage, choose a set which contains the largest number of uncovered elements. It can be shown that this algorithm achieves an approximation ratio of . Inapproximability results show that the greedy algorithm is essentially the best-possible polynomial time approximation algorithm for maximum coverage.
Known Extensions
The inapproximability results apply to all extension all maximum coverage since they hold maximum coverage as a special case.
Weighted version
In the weighted version every element has a weight a weight . The task is to find a maximum coverage which has maximum weight. The basic version is a special case when all weights are .
- maximize . (maximizing the weighted sum of covered elements).
- subject to ; (no more than sets are selected).
- ; (if then at least one set is selected).
- ; (if then is covered)
- (if then is selected for the cover).
The greedy algorithm for the weighted maximum coverage at each stage chooses a set which contains the maximum weight of uncovered elements. This algorithm achieves an approximation ratio of .
Budgeted Maximum Coverage
In the budgeted maximum coverage version not only every element has a weight , but also every set has a cost . Instead of that limits the number of sets in the cover a budget is given. This budget limits the weight of the cover that can be chosen.
- maximize . (maximizing the weighted sum of covered elements).
- subject to ; (the cost of the selected sets cannot exceed ).
- ; (if then at least one set is selected).
- ; (if then is covered)
- (if then is selected for the cover).
A greedy algorithm will no longer produce solutions with a performance guarantee. Namely, the worst case behavior of this algorithm might be very far from the optimal solution. The approximation algorithm is extended by the following way: First find a solution using greedy algorithm. In each iteration of the greedy algorithm the tentative solution adds the set which contains the maximum weight of uncovered elements divided by the cost of the set. Second compare the solution gained by the first step to the best solution which uses a small number of sets. Third return the best out of all examined solutions. This algorithm achieves an approximation ratio of .
Generalized Maximum Coverage
In the generalized maximum coverage version every set has a cost , element has a different weight and cost depending on which set covers it. Namely, if is covered by set the weight of is and its cost is . A budget is given for the total cost of the solution.
- maximize . (maximizing the weighted sum of covered elements in the sets in which they are covered).
- subject to ; (the cost of the selected sets cannot exceed ).
- ; (element can only be covered by at most one set).
- ; (if then at least one set is selected).
- ; (if then is covered by set )
- (if then is selected for the cover).
Generalized Maximum Coverage Algorithm
The algorithm uses the concept of residual cost/weight. The residual cost/weight is measured against a tentative solution and its the difference of the cost/weight from the cost/weight gained by a tentative solution.
The algorithm has several stages. First find a solution using greedy algorithm. In each iteration of the greedy algorithm the tentative solution is added the set which contains the maximum residual weight of elements divided by the residual cost of these elements along with the residual cost of the set. Second compare the solution gained by the first step to the best solution which uses a small number of sets. Third return the best out of all examined solutions. This algorithm achieves an approximation ratio of .
Related problems
- Set cover problem is to cover all elements with as fewer set as possible.
References
- Vazirani, Vijay V. (2001). Approximation Algorithms. Springer-Verlag. ISBN 3-540-65367-8.
- A Threshold of ln for Approximating Set Cover. Uriel Feige. Journal of the ACM (JACM), v.45 n.4, p.634 - 652, July 1998.
- The budgeted maximum coverage problem Samir Khuller, Anna Moss, and Joseph (Seffi) Naor. Information Processing Letters, Vol. 70, Issue 1, pp. 39-45, 1999.
- The generalized maximum coverage Reuven Cohen and Liran Katzir. Information Processing Letters, Vol. 108, Issue 1, pp. 15-22, September 2008.