326. Set Covering

Set Covering Location Problem (LSCP): minimize the number of facilities needed to cover every customer at least once. “Cover” = customer is within an acceptable distance 𝑑max of some facility.

326.1. Formulation

Let 𝑁𝑖={𝑗:𝑐𝑖𝑗𝑑max} — candidate facilities that can cover customer 𝑖.

min𝑗𝑦𝑗

s.t.:

𝑗𝑁𝑖𝑦𝑗1,𝑖(each customer covered by ≥ 1 facility)𝑦𝑗{0,1}

326.2. Picture

Each facility covers a disc of radius 𝑑max; every customer must fall inside at least one open disc.

326.3. The general Set Cover problem

LSCP is a special case of Set Cover: given a collection of subsets covering a universe, find the minimum number to use.

Set Cover is one of Karp’s 21 NP-complete problems — a foundational hard problem in complexity theory.

326.4. Greedy approximation

The natural greedy algorithm:

At each step: pick the facility that covers the most uncovered customers
Stop when all customers are covered

Achieves an 𝐻𝑛-approximation (where 𝐻𝑛ln𝑛 is the harmonic sum). And this is optimal — no polynomial algorithm achieves better than (1𝑜(1))ln𝑛 unless P = NP.

326.5. Linear programming relaxation

Drop 𝑦𝑗{0,1} to 𝑦𝑗[0,1]. Solve the LP:

326.6. Variants

326.7. Where it shows up

326.8. See also