Jump to content

Covering problems

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Giftlite (talk | contribs) at 17:53, 11 March 2009 (LP Formulation: +.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In combinatorics and computer science, covering problems are computational problems that ask whether a certain structure 'covers' another, or how large the structure has to be to do that. Covering problems are usually dual to packing problems. Important covering problems are the Set cover problem, which is equivalent to the Hitting Set Problem, and its special cases, the Vertex cover problem and the Edge cover problem. The set cover problem is dual to the set packing problem.

LP Formulation

In the context of linear programming, one can think of any linear program as a covering problem if the coefficients in the constraint matrix, the objective function, and right-hand side are nonnegative.[1] Let be vectors and be a matrix, all with no negative entries. Then one can see the following integer linear program as the most general covering problem:

minimize
subject to

The th entry of the vector tells us, whether we take object into our cover or not. The constraints tell us, what it means for to cover all object. Finally the cost function defines what we consider to be a 'cheap' cover.

Other uses

For Petri nets, for example, 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.

Notes

References

  • V. Vazirani, Vijay (2001). Approximation Algorithms. Springer-Verlag. ISBN 3-540-65367-8. {{cite book}}: Cite has empty unknown parameter: |coauthors= (help)