# Covering problems

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Covering_problems
> Markdown URL: https://mediated.wiki/source/Covering_problems.md
> Source: https://en.wikipedia.org/wiki/Covering_problems
> Source revision: 1320545516
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Type of computational problem

In [combinatorics](/source/Combinatorics) and [computer science](/source/Computer_science), **covering problems** are computational problems that ask whether a certain combinatorial structure 'covers' another, or how large the structure has to be to do that. Covering problems are [minimization problems](/source/Optimization_(mathematics)) and usually [integer linear programs](/source/Integer_linear_programs), whose [dual problems](/source/Dual_problem) are called [packing problems](/source/Packing_problems).

The most prominent examples of covering problems are the [set cover problem](/source/Set_cover_problem), which is equivalent to the [hitting set problem](/source/Hitting_set), and its special cases, the [vertex cover problem](/source/Vertex_cover_problem) and the [edge cover problem](/source/Edge_cover_problem).

Covering problems allow the covering primitives to overlap; the process of covering something with non-overlapping primitives is called [decomposition](/source/Decomposition_(disambiguation)).

Covering/packing-problem pairs Covering problems Packing problems Minimum set cover Maximum set packing Minimum edge cover Maximum matching Minimum vertex cover Maximum independent set Bin covering Bin packing Polygon covering Rectangle packing v t e

## General linear programming formulation

In the context of [linear programming](/source/Linear_programming), one can think of any minimization linear program as a covering problem if the coefficients in the constraint [matrix](/source/Matrix_(mathematics)), the objective function, and right-hand side are nonnegative.[1] More precisely, consider the following general [integer linear program](/source/Integer_linear_program):

minimize ∑ i = 1 n c i x i {\displaystyle \sum _{i=1}^{n}c_{i}x_{i}} subject to ∑ i = 1 n a j i x i ≥ b j for j = 1 , … , m {\displaystyle \sum _{i=1}^{n}a_{ji}x_{i}\geq b_{j}{\text{ for }}j=1,\dots ,m} x i ∈ { 0 , 1 , 2 , … } for i = 1 , … , n {\displaystyle x_{i}\in \left\{0,1,2,\ldots \right\}{\text{ for }}i=1,\dots ,n} .

Such an integer linear program is called a **covering problem** if a j i , b j , c i ≥ 0 {\displaystyle a_{ji},b_{j},c_{i}\geq 0} for all i = 1 , … , n {\displaystyle i=1,\dots ,n} and j = 1 , … , m {\displaystyle j=1,\dots ,m} .

**Intuition:** Assume having n {\displaystyle n} types of object and each object of type i {\displaystyle i} has an associated cost of c i {\displaystyle c_{i}} . The number x i {\displaystyle x_{i}} indicates how many objects of type i {\displaystyle i} we buy. If the constraints A x ≥ b {\displaystyle A\mathbf {x} \geq \mathbf {b} } are satisfied, it is said that *x {\displaystyle \mathbf {x} } is a covering* (the structures that are covered depend on the combinatorial context). Finally, an optimal solution to the above integer linear program is a covering of minimal cost.

## Kinds of covering problems

There are various kinds of covering problems in [graph theory](/source/Graph_theory), [computational geometry](/source/Computational_geometry) and more; see [Category:Covering problems](https://en.wikipedia.org/wiki/Category:Covering_problems). Other stochastic related versions of the problem can be found.[2]

The [covering problem of Rado](/source/Covering_problem_of_Rado), where a series of squares with parallel edges needs to cover an area of 1. For any set meeting these conditions, a subset of these squares is selected (indicated by the red coloring) in which no two squares overlap, and the total area is maximized. The goal is to make an arrangement of squares so that the total area of the optimal subset is *minimized*. The examples each have maximal areas of 1/4, but there are some which have slightly lower.  [3] [4]

The [disk covering problem](/source/Disk_covering_problem), which asks what the smallest real number

        r
        (
        n
        )

    {\displaystyle r(n)}

 is such that

        n

    {\displaystyle n}

 disks of radius

        r
        (
        n
        )

    {\displaystyle r(n)}

 can be arranged in such a way as to cover the unit disk.

### Covering in Petri nets

For [Petri nets](/source/Petri_net), the covering problem is defined as the question if for a given marking, there exists a run of the net, such that some larger (or equal) marking can be reached. *Larger* means here that all components are at least as large as the ones of the given marking and at least one is properly larger.

### Rainbow covering

In some covering problems, the covering should satisfy some additional requirements. In particular, in the **rainbow covering** problem, each of the original objects has a "color", and it is required that the covering contains exactly one (or at most one) object of each color. Rainbow covering was studied e.g. for covering points by [intervals](/source/Interval_(mathematics)):[5]

- There is a set *J* of *n* colored intervals on the [real line](/source/Real_line), and a set *P* of points on the real line.

- A [subset](/source/Subset) *Q* of *J* is called a *rainbow set* if it contains at most a single interval of each color.

- A set of intervals *J* is called a *covering* of *P* if each point in *P* is contained in at least one interval of *Q*.

- The *Rainbow covering problem* is the problem of finding a rainbow set *Q* that is a covering of *P*.

The problem is [NP-hard](/source/NP-hardness) (by reduction from [linear SAT](/source/Linear_SAT)).

### Conflict-free covering

A more general notion is **conflict-free covering**.[6] In this problem:

- There is a set *O* of *m* objects, and a conflict-graph *GO* on *O*.

- A subset *Q* of *O* is called *conflict-free* if it is an [independent set](/source/Independent_set_(graph_theory)) in *GO*, that is, no two objects in *Q* are connected by an edge in *GO*.

- A rainbow set is a conflict-free set in the special case in which *GO* is made of disjoint cliques, where each clique represents a color.

*Conflict-free set cover* is the problem of finding a conflict-free subset of *O* that is a covering of *P*. Banik, Panolan, Raman, Sahlot and Saurabh[7] [prove](/source/Mathematical_proof) the following for the special case in which the conflict-graph has bounded [arboricity](/source/Arboricity):

- If the geometric cover problem is [fixed-parameter](/source/Fixed-parameter_algorithm) tractable (FPT), then the conflict-free geometric cover problem is FPT.

- If the geometric cover problem admits an r-approximation algorithm, then the conflict-free geometric cover problem admits a similar approximation algorithm in FPT time.

## References

1. **[^](#cite_ref-1)** [Vazirani, Vijay V.](/source/Vijay_Vazirani) (2001). *Approximation Algorithms*. Springer-Verlag. [ISBN](/source/ISBN_(identifier)) [3-540-65367-8](https://en.wikipedia.org/wiki/Special:BookSources/3-540-65367-8).: 112

1. **[^](#cite_ref-2)** Douek-Pinkovich, Y., Ben-Gal, I., & Raviv, T. (2022). ["The Stochastic Test Collection Problem: Models, Exact and Heuristic Solution Approaches"](http://www.eng.tau.ac.il/~bengal/STCP.pdf) (PDF). European Journal of Operational Research, 299 (2022), 945–959}.{{[cite web](https://en.wikipedia.org/wiki/Template:Cite_web)}}: CS1 maint: multiple names: authors list ([link](https://en.wikipedia.org/wiki/Category:CS1_maint:_multiple_names:_authors_list)) CS1 maint: numeric names: authors list ([link](https://en.wikipedia.org/wiki/Category:CS1_maint:_numeric_names:_authors_list))

1. **[^](#cite_ref-3)** [Ajtai, Miklós](/source/Mikl%C3%B3s_Ajtai) (1973), "The solution of a problem of T. Radó", *Bulletin de l'Académie Polonaise des Sciences, Série des Sciences Mathématiques, Astronomiques et Physiques*, **21**: 61–63, [MR](/source/MR_(identifier)) [0319053](https://mathscinet.ams.org/mathscinet-getitem?mr=0319053)

1. **[^](#cite_ref-4)** Bereg, Sergey; Dumitrescu, Adrian; Jiang, Minghui (2010), "On covering problems of Rado", *Algorithmica*, **57** (3): 538–561, [doi](/source/Doi_(identifier)):[10.1007/s00453-009-9298-z](https://doi.org/10.1007%2Fs00453-009-9298-z), [MR](/source/MR_(identifier)) [2609053](https://mathscinet.ams.org/mathscinet-getitem?mr=2609053); preliminary announcement in [SWAT 2008](/source/SWAT_and_WADS_conferences), [doi](/source/Doi_(identifier)):[10.1007/978-3-540-69903-3_27](https://doi.org/10.1007%2F978-3-540-69903-3_27)

1. **[^](#cite_ref-5)** Arkin, Esther M.; Banik, Aritra; Carmi, Paz; Citovsky, Gui; Katz, Matthew J.; Mitchell, Joseph S. B.; Simakov, Marina (2018-12-11). ["Selecting and covering colored points"](https://doi.org/10.1016%2Fj.dam.2018.05.011). *Discrete Applied Mathematics*. **250**: 75–86. [doi](/source/Doi_(identifier)):[10.1016/j.dam.2018.05.011](https://doi.org/10.1016%2Fj.dam.2018.05.011). [ISSN](/source/ISSN_(identifier)) [0166-218X](https://search.worldcat.org/issn/0166-218X).

1. **[^](#cite_ref-6)** Banik, Aritra; Sahlot, Vibha; Saurabh, Saket (2020-08-01). ["Approximation algorithms for geometric conflict free covering problems"](http://www.sciencedirect.com/science/article/pii/S0925772119301324). *Computational Geometry*. **89** 101591. [doi](/source/Doi_(identifier)):[10.1016/j.comgeo.2019.101591](https://doi.org/10.1016%2Fj.comgeo.2019.101591). [ISSN](/source/ISSN_(identifier)) [0925-7721](https://search.worldcat.org/issn/0925-7721). [S2CID](/source/S2CID_(identifier)) [209959954](https://api.semanticscholar.org/CorpusID:209959954).

1. **[^](#cite_ref-7)** Banik, Aritra; Panolan, Fahad; Raman, Venkatesh; Sahlot, Vibha; Saurabh, Saket (2020-01-01). "Parameterized Complexity of Geometric Covering Problems Having Conflicts". *Algorithmica*. **82** (1): 1–19. [doi](/source/Doi_(identifier)):[10.1007/s00453-019-00600-w](https://doi.org/10.1007%2Fs00453-019-00600-w). [ISSN](/source/ISSN_(identifier)) [1432-0541](https://search.worldcat.org/issn/1432-0541). [S2CID](/source/S2CID_(identifier)) [254027914](https://api.semanticscholar.org/CorpusID:254027914).

---
Adapted from the Wikipedia article [Covering problems](https://en.wikipedia.org/wiki/Covering_problems) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Covering_problems?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
