## Abstract

This paper describes a simple greedy *Δ*-approximation algorithm for any covering problem whose objective function is submodular and non-decreasing, and whose feasible region can be expressed as the intersection of arbitrary (closed upwards) covering constraints, each of which constrains at most *Δ* variables of the problem. (A simple example is Vertex Cover, with *Δ*=2.) The algorithm generalizes previous approximation algorithms for fundamental covering problems and online paging and caching problems.

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

## Notes

- 1.
Formally,

*c*(*x*)+*c*(*y*)≥*c*(*x*∧*y*)+*c*(*x*∨*y*), where*x*∧*y*(and*x*∨*y*) are the component-wise minimum (and maximum) of*x*and*y*. Intuitively, there is no positive synergy between the variables: let*∂*_{ j }*c*(*x*) denote the rate at which increasing*x*_{ j }would increase*c*(*x*); then, increasing*x*_{ i }(for*i*≠*j*) does not increase*∂*_{ j }*c*(*x*). Any separable function*c*(*x*)=∑_{ j }*c*_{ j }(*x*_{ j }) is submodular, the product*c*(*x*)=∏_{ j }*x*_{ j }is not. The maximum*c*(*x*)=max_{ j }*x*_{ j }is submodular, the minimum*c*(*x*)=min_{ j }*x*_{ j }is not. - 2.
If

*y*≥*x*and*x*∈*S*, then*y*∈*S*, perhaps the minimal requirement for a constraint to be called a “covering” constraint. - 3.
One way to extend

*c*from*U*to \(\bar{\mathbb{R}}_{\ge0}\): take the cost of \(x\in\bar{\mathbb{R}}_{\ge0}^{n}\) to be the expected cost of \(\tilde{x}\), where \(\tilde{x}_{j}\) is rounded up or down to its nearest elements*a*,*b*in*U*_{ j }such that*a*≤*x*_{ j }≤*b*: take \(\tilde{x}_{j} = b\) with probability \(\frac{b-x_{j}}{b-a}\), otherwise take \(\tilde{x}_{j} = a\). If*a*or*b*doesn’t exist, let \(\tilde{x}_{j}\) be the one that does. As long as*c*is non-decreasing, sub-modular, and (where appropriate) continuous over*U*, this extension will have these properties over \(\bar{\mathbb{R}}_{\ge0}^{n}\). - 4.
Changed from “Monotone Covering” in the conference version [44] due to name conflicts.

- 5.
Set Multicover is CIP-UB restricted to

*A*_{ ij }∈{0,1}; Set Cover is Set Multicover restricted to*b*_{ i }=1; Vertex Cover is Set Cover restricted to*Δ*=2. - 6.
- 7.
If some

*c*_{ j }=0, then*x*_{ j }is raised instantaneously to ∞ at cost 0, after which the cost of*x*increases at rate less than \(|\operatorname{\mathsf{vars}}(S)|\). - 8.
Readers may recognize a similarity to the local-ratio method. This is explored in Sect. 5.

- 9.
To see this, consider the variables

*x*_{ j }for \(j\in\operatorname{\mathsf{vars}}(S)\) one at a time, in at most*Δ*steps; by submodularity of*c*, in a step that increases a given*x*_{ j }, the increase in*c*(*x*) is at most what it would have been if*x*_{ j }had been increased first, i.e., at most*β*. - 10.
If the cost function is linear, in responding to

*S*this algorithm needs to know only*S*and the values of variables in*S*and their cost coefficients. In general, the algorithm needs to know*S*, the entire cost function, and all variables’ values. - 11.
We assume the last request must stay cached. If not, don’t subtract

*r*_{ t }from*Q*in each constraint. The competitive ratio is*k*+1. - 12.
This definition assumes that the request sequence and cacheability requirements are independent of the responses of the algorithm. In practice, even for standard paging, this assumption might not hold. For example, a fault incurred by one process may cause another process’s requests to come earlier. In this case, the optimal offline strategy would choose responses that take into account the effects on inputs at subsequent times (possibly leading to a lower cost). Modeling this accurately seems difficult.

- 13.
Here is one of many ways to modify Algorithm 3 to handle arbitrary closed

*U*_{ j }’s. In each step, take*β*small enough so that for each \(j\in\operatorname {\mathsf{vars}}(S)\), either*U*_{ j }contains the entire interval [*x*_{ j },*x*_{ j }+*β*], or*U*_{ j }contains just*x*_{ j }from that interval. For the latter type of*j*, take*β*_{ j }and \(\hat{x}_{j}\) as described in Algorithm 3. For the former type of*j*, take*β*_{ j }=*β*and take \(\hat{x}_{j}\) to be the smallest value such that increasing*x*_{ j }to \(\hat{x}_{j}\) would increase*c*(*x*) by*β*. Then proceed as above. (Taking*β*infinitesimally small gives the following process. For each \(j\in \operatorname{\mathsf{vars}}(S)\) simultaneously,*x*_{ j }increases continuously at rate inversely proportional to its contribution to the cost, if it is possible to do so while maintaining*x*_{ j }∈*U*_{ j }, and otherwise*x*_{ j }increases to its next allowed value randomly according to a Poisson process whose intensity is inversely proportional to the resulting expected increase in the cost.) - 14.
The online solution is not

*x*, but rather*x*′≤*x*defined from*x*by \(x'_{j} = \max\{\alpha\in U_{j}\mid\alpha\le x_{j}\}\) or something similar, so the algorithms maintain state other than the current online solution*x*′. For example, for paging problems, the algorithms maintain*x*_{ t }∈[0,1] as they proceed, where a requested item*r*_{ s }is currently evicted only once*x*_{ s }=1. To be stateless, they should maintain each*x*_{ t }∈{0,1}, where*x*_{ s }=0 iff page*r*_{ s }is still in the cache. - 15.
If

*x*∈*S*and \(y\in\overline{S}^{*}\), then*y*is the limit of some sequence {*y*^{t}} of points in \(\overline{S}\). Each*y*^{t}has \(x^{t}_{j(t)} \ge y^{t}_{j(t)}\) for some \(j(t)\in \operatorname{\mathsf{vars}}(S)\). Since \(|\operatorname{\mathsf{vars}}(S)|\) is finite, for some \(j\in \operatorname{\mathsf{vars}}(S)\), the infinite subsequence {*y*^{t}∣*j*(*t*)=*j*} also has*y*as a limit point. Then*y*_{ j }is the limit of the \(y^{t}_{j}\)’s in this subsequence, each of which is at most*x*_{ j }, so*y*_{ j }is at most*x*_{ j }. - 16.
The relaxation gap is the maximum, over all instances \((c,\mathcal{C})\) of Linear-Cost Covering, of the ratio \([\mbox{\textit{optimal cost for}}\ (c,\mathcal{C})]/[\mbox{\textit{optimal cost for its relaxation}}\ (c,\mathcal{R}^{1})]\).

- 17.
Briefly, run the ellipsoid method to solve \((c,\mathcal{R}^{1})\) using a separation oracle that, given

*x*, checks whether*Δ**x*∈*S*for all \(S\in\mathcal{C}\), and, if not, returns an inequality that*x*violates for \(\mathcal{R}^{1}\) (from the proof of Observation 5). Either the oracle finds, for some*x*, that*Δx*∈*S*for all*S*, in which case*x*′=*Δ**x*is a*Δ*-approximate solution for \((c,\mathcal{C})\), or the oracle returns to the ellipsoid method a sequence of violated inequalities that, collectively, prove that \((c,\mathcal{R}^{1})\) (and thus \((c,\mathcal{C})\)) is infeasible. - 18.
The instance \((c,\mathcal{C})\) defined by \(\min\{x_{1} + x_{2} \mid x\in\mathbb{R}_{\ge0}^{2}; x_{1}+x_{2} \ge1\}\) has optimum cost 1. In its first relaxation \((c,\mathcal{R}^{1})\),

*x*_{1}=*x*_{2}=1/4 with cost 1/2 is feasible. But one can show (via duality) that \((c',\mathcal{R}^{2})\) has optimal cost at least 1. - 19.
In fact this dual variable must be 0 before this, because \(x'_{j}>x_{j}\) for some

*j*, so this dual variable has not been raised before. - 20.
Here is an example in ℝ

^{2}. For*v*∈ℝ^{2}, let |*v*| denote the 1-norm ∑_{ i }|*v*_{ i }|. For each \(v\in\mathbb{R}_{\ge0}^{2}\) such that |*v*|=1, define constraint set \(S_{v} = \{ x\in\mathbb{R}_{\ge0}^{2} : (\exists j) x_{j} \ge v_{j}\}\). Consider the covering problem min{|*x*|:(∀*v*)*x*∈*S*_{ v }}.Each constraint

*x*∈*S*_{ v }excludes points dominated by*v*, so the intersection of all*S*_{ v }’s is \(\{x \in\mathbb{R}_{\ge0}^{2} :|x| \ge1\}\). On the other hand, since*S*_{ v }contains the points (*v*_{1},0) and (0,*v*_{2}), \(\operatorname{\mathsf{conv}}(S_{v})\) must contain*x*=*v*_{2}(*v*_{1},0)+*v*_{1}(0,*v*_{1})=(*v*_{1}*v*_{2},*v*_{1}*v*_{2}), where*v*_{1}*v*_{2}≤(1/2)^{2}=1/4. Thus, each \(\operatorname{\mathsf{conv}}(S_{v})\) contains*x*=(1/4,1/4), with |*x*|=1/2. Thus, the relaxation gap of \((c,\mathcal{L})\) for this instance is at least 2.Another example with

*Δ*=2, this time in \(\mathbb{R}_{\ge0}^{n}\). Consider the sets \(S_{ij} = \{x\in\mathbb{R}_{\ge0}^{n} : \max (x_{i},x_{j}) \ge1\}\). Consider the covering problem min{|*x*|:(∀*i*,*j*)*x*∈*S*_{ ij }}. Each point*x*∈⋂_{ ij }*S*_{ ij }has |*x*^{∗}|≥(*n*−1)/*n*, but*x*=(1/2,1/2,1/2,…,1/2) is in each \(\operatorname{\mathsf {conv}}(S)\), and |*x*|=*n*/2, so the relaxation gap of \((c,\mathcal{L})\) is at least 2.

## References

- 1.
Albers, S.: On generalized connection caching. Theory Comput. Syst.

**35**(3), 251–267 (2002) - 2.
Bansal, N., Buchbinder, N., Naor, J.S.: A primal-dual randomized algorithm for weighted paging. In: The Forty-third IEEE Symposium on Foundations of Computer Science, pp. 507–517 (2007)

- 3.
Bansal, N., Buchbinder, N., Naor, J.S.: Randomized competitive algorithms for generalized caching. In: The Fourtieth ACM Symposium on Theory of Computing, pp. 235–244 (2008)

- 4.
Bar-Yehuda, R.: One for the price of two: A unified approach for approximating covering problems. Algorithmica

**27**(2), 131–144 (2000) - 5.
Bar-Yehuda, R., Even, S.: A linear-time approximation algorithm for the Weighted Vertex Cover problem. J. Algorithms

**2**(2), 198–203 (1981) - 6.
Bar-Yehuda, R., Even, S.: A local-ratio theorem for approximating the weighted vertex cover problem. Ann. Discrete Math.

**25**(27–46), 50 (1985) - 7.
Bar-Yehuda, R., Rawitz, D.: Efficient algorithms for integer programs with two variables per constraint. Algorithmica

**29**(4), 595–609 (2001) - 8.
Bar-Yehuda, R., Rawitz, D.: On the equivalence between the primal-dual schema and the local-ratio technique. SIAM J. Discrete Math.

**19**(3), 762–797 (2005) - 9.
Bar-Yehuda, R., Bendel, K., Freund, A., Rawitz, D.: Local ratio: a unified framework for approximation algorithms. ACM Comput. Surv.

**36**(4), 422–463 (2004) - 10.
Bertsimas, D., Vohra, R.: Rounding algorithms for covering problems. Math. Program.

**80**(1), 63–89 (1998) - 11.
Borodin, A., Cashman, D., Magen, A.: How well can primal-dual and local-ratio algorithms perform? In: The Thirty-Second International Colloquium on Automata, Languages and Programming (2005)

- 12.
Borodin, A., Cashman, D., Magen, A.: How well can primal-dual and local-ratio algorithms perform? ACM Trans. Algorithms

**7**(3), 29 (2011). - 13.
Buchbinder, N., Naor, J.S.: Online primal-dual algorithms for covering and packing problems. In: The Thirteenth European Symposium on Algorithms. Lecture Notes in Computer Science, vol. 3669, pp. 689–701 (2005)

- 14.
Buchbinder, N., Naor, J.S.: Online primal-dual algorithms for covering and packing problems. Math. Oper. Res.

**34**(2), 270–286 (2009) - 15.
Cao, P., Irani, S.: Cost-aware www proxy caching algorithms. In: The 1997 USENIX Symposium on Internet Technology and Systems, pp. 193–206 (1997)

- 16.
Carr, R.D., Fleischer, L.K., Leung, V.J., Phillips, C.A.: Strengthening integrality gaps for capacitated network design and covering problems. In: The Eleventh ACM-SIAM Symposium on Discrete Algorithms, pp. 106–115 (2000)

- 17.
Chrobak, M., Karloff, H., Payne, T., Vishwanathan, S.: New results on server problems. SIAM J. Discrete Math.

**4**(2), 172–181 (1991) - 18.
Chudak, F.A., Nagano, K.: Efficient solutions to relaxations of combinatorial problems with submodular penalties via the Lovász extension and non-smooth convex optimization. In: The Eighteenth ACM-SIAM Symposium on Discrete Algorithms, pp. 79–88 (2007)

- 19.
Chvátal, V.: A greedy heuristic for the set-covering problem. Math. Oper. Res.

**4**, 233–235 (1979) - 20.
Cohen, E., Kaplan, H., Zwick, U.: Connection caching. In: The Thirty-First ACM Symposium on Theory of Computing, pp. 612–621 (1999)

- 21.
Cohen, E., Kaplan, H., Zwick, U.: Connection caching under various models of communication. In: The Twelfth ACM Symposium on Parallel Algorithms and Architectures, pp. 54–63 (2000)

- 22.
Cohen, E., Kaplan, H., Zwick, U.: Connection caching: Model and algorithms. J. Comput. Syst. Sci.

**67**(1), 92–126 (2003) - 23.
Dilley, J., Arlitt, M., Perret, S.: Enhancement and validation of Squid’s cache replacement policy. In: Fourth International Web Caching Workshop (1999)

- 24.
Dinur, I., Safra, S.: On the hardness of approximating minimum vertex cover. Ann. Math.

**162**, 439–485 (2005) - 25.
Fiat, A., Karp, R.M., Luby, M., McGeoch, L.A., Sleator, D.D., Young, N.E.: Competitive paging algorithms. J. Algorithms

**12**, 685–699 (1991) - 26.
Gonzales, T. (ed.): Approximation Algorithms and Metaheuristics (Greedy Methods). Taylor & Francis, London (2007)

- 27.
Hall, N.G., Hochbaum, D.S.: A fast approximation algorithm for the multicovering problem. Discrete Appl. Math.

**15**(1), 35–40 (1986) - 28.
Halldórsson, M.M., Radhakrishnan, J.: Greed is good: Approximating independent sets in sparse and bounded-degree graphs. In: The Twenty-Sixth ACM Symposium on Theory of Computing, pp. 439–448 (1994)

- 29.
Halldórsson, M.M., Radhakrishnan, J.: Greed is good: Approximating independent sets in sparse and bounded-degree graphs. Algorithmica

**18**(1), 145–163 (1997) - 30.
Halperin, E.: Improved approximation algorithm for the Vertex Cover problem in graphs and hypergraphs. SIAM J. Comput.

**31**(5), 1608–1623 (2002) - 31.
Hȧstad, J.: Some optimal inapproximability results. J. ACM

**48**(4), 798–859 (2001) - 32.
Hayrapetyan, A., Swamy, C., Tardos, E.: Network design for information networks. In: The Sixteenth ACM-SIAM Symposium on Discrete Algorithms, pp. 933–942 (2005)

- 33.
Hochbaum, D.S.: Approximation algorithms for the Set Covering and Vertex Cover problems. SIAM J. Comput.

**11**, 555–556 (1982) - 34.
Hochbaum, D.S.: Efficient bounds for the Stable Set, Vertex Cover, and Set Packing problems. Discrete Appl. Math.

**6**, 243–254 (1983) - 35.
Hochbaum, D.S.: Approximation Algorithms for NP-hard Problems. PWS Publishing, Boston (1996)

- 36.
Iwata, S., Nagano, K.: Submodular function minimization under covering constraints. In: The Fiftieth IEEE Symposium on Foundations of Computer Science, pp. 671–680 (2009)

- 37.
Johnson, D.S.: Approximation algorithms for combinatorial problems. In: The Fifth ACM Symposium on Theory of Computing, pp. 38–49 (1973)

- 38.
Johnson, D.S.: Approximation algorithms for combinatorial problems. J. Comput. Syst. Sci.

**9**(3), 256–278 (1974) - 39.
Karlin, A.R., Manasse, M.S., Rudolph, L., Sleator, D.D.: Competitive snoopy caching. Algorithmica

**3**, 77–119 (1988) - 40.
Khot, S., Regev, O.: Vertex Cover might be hard to approximate to within 2-

*ε*. J. Comput. Syst. Sci.**74**, 335–349 (2008) - 41.
Kolliopoulos, S.G., Young, N.E.: Approximation algorithms for covering/packing integer programs. J. Comput. Syst. Sci.

**71**(4), 495–505 (2005) - 42.
Koufogiannakis, C., Young, N.E.: Distributed and parallel algorithms for weighted vertex cover and other covering problems. In: The Twenty-Eighth ACM Symposium on Principles of Distributed Computing, pp. 171–179 (2009)

- 43.
Koufogiannakis, C., Young, N.E.: Distributed fractional packing and maximum weighted b-matching via tail-recursive duality. In: The Twenty-Third International Symposium on Distributed Computing, pp. 221–238 (2009)

- 44.
Koufogiannakis, C., Young, N.E.: Greedy

*δ*-approximation algorithm for covering with arbitrary constraints and submodular cost. In: The Thirty-Sixth International Colloquium on Automata, Languages, and Programming. Lecture Notes in Computer Science, vol. 5555, pp. 634–652 (2009) - 45.
Koufogiannakis, C., Young, N.E.: Distributed algorithms for covering, packing and maximum weighted matching. Distrib. Comput.

**24**, 45–63 (2011) - 46.
Kuhn, F., Moscibroda, T., Wattenhofer, R.: The price of being near-sighted. In: The Seventeenth ACM-SIAM Symposium on Discrete Algorithm, pp. 980–989 (2006)

- 47.
Lotker, Z., Patt-Shamir, B., Rawitz, D.: Rent, lease or buy: Randomized algorithms for multislope ski rental. In: The Twenty-Fifth Symposium on Theoretical Aspects of Computer Science, pp. 503–514 (2008)

- 48.
Lovász, L.: On the ratio of optimal integral and fractional covers. Discrete Math.

**13**(4), 383–390 (1975) - 49.
McGeoch, L.A., Sleator, D.D.: A strongly competitive randomized paging algorithm. Algorithmica

**6**(1), 816–825 (1991) - 50.
Monien, B., Speckenmeyer, E.: Ramsey numbers and an approximation algorithm for the Vertex Cover problem. Acta Inform.

**22**, 115–123 (1985) - 51.
Orlin, J.B.: A faster strongly polynomial time algorithm for submodular function minimization. In: The Twelfth Conference on Integer Programming and Combinatorial Optimization, pp. 240–251 (2007)

- 52.
Orlin, J.B.: A faster strongly polynomial time algorithm for submodular function minimization. Math. Program.

**118**(2), 237–251 (2009) - 53.
Papadimitriou, C.H., Yannakakis, M.: Linear programming without the matrix. In: The Twenty-Fifth ACM Symposium on Theory of Computing, pp. 121–129 (1993)

- 54.
Pritchard, D.: Approximability of sparse integer programs. In: The Seventeenth European Symposium on Algorithms. Lecture Notes in Computer Science, vol. 5757, pp. 83–94 (2009)

- 55.
Pritchard, D., Chakrabarty, D.: Approximability of sparse integer programs. Algorithmica

**61**(1), 75–93 (2011) - 56.
Raghavan, P., Snir, M.: Memory versus randomization in on-line algorithms. IBM J. Res. Dev.

**38**(6), 683–707 (1994) - 57.
Ravi, R., Sinha, A.: Hedging uncertainty: Approximation algorithms for stochastic optimization problems. Math. Program.

**108**(1), 97–114 (2006) - 58.
Shmoys, D., Swamy, C.: Stochastic optimization is (almost) as easy as deterministic optimization. In: The Forty-Fifth IEEE Symposium on Foundations of Computer Science, pp. 228–237 (2004)

- 59.
Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Commun. ACM

**28**(2), 202–208 (1985) - 60.
Srinivasan, A.: Improved approximation guarantees for packing and covering integer programs. SIAM J. Comput.

**29**, 648–670 (1999) - 61.
Srinivasan, A.: New approaches to covering and packing problems. In: The Twelfth ACM-SIAM Symposium on Discrete Algorithms, pp. 567–576 (2001)

- 62.
Vazirani, V.V.: Approximation Algorithms. Springer, Berlin (2001)

- 63.
Young, N.E.: On-line caching as cache size varies. In: The Second ACM-SIAM Symposium on Discrete Algorithms, pp. 241–250 (1991)

- 64.
Young, N.E.: The k-server dual and loose competitiveness for paging. Algorithmica

**11**, 525–541 (1994) - 65.
Young, N.E.: On-line file caching. In: The Twelfth ACM-SIAM Symposium on Discrete Algorithms, pp. 82–86 (1998)

- 66.
Young, N.E.: On-line file caching. Algorithmica

**33**(3), 371–383 (2002)

## Acknowledgements

The authors gratefully acknowledge Marek Chrobak for useful discussions, and two anonymous reviewers for careful and constructive reviews that helped improve the presentation.

This work was partially supported by National Science Foundation (NSF) grants CNS-0626912 and CCF-0729071.

## Author information

### Affiliations

### Corresponding author

Correspondence to Neal E. Young.

## Appendix

### Appendix

### Proof of Observation 1 (reduction to canonical form)

Here is the reduction: Let \((c,U,\mathcal{C})\) be any instance of Submodular-Cost Covering. Construct its canonical form \((c,\mathcal{C}')\) as follows. First, assume without loss of generality that min*U*
_{
j
}=0 for each *j*. (If not, let *ℓ*
_{
j
}=min*U*
_{
j
}, then apply the translation *x*↔*x*′+*ℓ* to the cost and feasible region: rewrite the cost *c*(*x*) as *c*′(*x*′)=*c*(*x*′+*ℓ*); rewrite each constraint “*x*∈*S*” as “*x*′∈*S*−*ℓ*”; replace each domain *U*
_{
j
} by \(U'_{j} = U_{j} - \ell_{j}\).)

Next, define *μ*
_{
j
}(*x*)=max{*α*∈*U*
_{
j
}∣*α*≤*x*
_{
j
}} (that is, *μ*(*x*) is *x* with each coordinate lowered into *U*
_{
j
}). For each constraint *S* in \(\mathcal{C}\), put a corresponding constraint “*μ*(*x*)∈*S*” in \(\mathcal{C}'\). The new constraint is closed upwards and closed under limit because *S* is and *μ* is non-decreasing. It is not hard to verify that any solution *x* to the canonical instance \((c,\mathcal{C}')\) gives a corresponding solution *μ*(*x*) to the original instance \((c,U,\mathcal{C})\), and that this reduction preserves *Δ*-approximation. □

## Rights and permissions

## About this article

### Cite this article

Koufogiannakis, C., Young, N.E. Greedy *Δ*-Approximation Algorithm for Covering with Arbitrary Constraints and Submodular Cost.
*Algorithmica* **66, **113–152 (2013). https://doi.org/10.1007/s00453-012-9629-3

Received:

Accepted:

Published:

Issue Date:

### Keywords

- Covering
- Linear programming
- Approximation algorithms
- Local ratio
- Primal-dual
- Vertex cover
- Set cover
- Integer linear programming
- Online algorithms
- Competitive analysis
- Submodular cost
- Paging
- Caching