max ∑e y[e] ce y[e] ≤ 1 y[e] ≤ ∑S∋ e x[S] ∑S x[S] cS ≤ k.
1. repeat until cost of chosen sets reaches k or more: 2. choose set S maximizing ∑e∈ S, e n.y.c. ce / cS. In the sum e ranges over the elements in S that are not yet covered by a chosen set. 3. return the chosen sets.
The algorithm maintains the invariant that
The invariant is initially true. If you choose a set S, then the LHS above increases by at most
Claim: If S is chosen randomly according to distribution defined by OPT, then the expectation of the above quantity is non-positive.
Assume for now the claim is true. Thus, there exists a set S that makes the quantity above non-positive. Rewriting, the above is non-positive iff
let (x*,y*) be an optimal solution. choose a set S from the distribution defined by x*(S)/|x*|.
Then E[cost(S)] = ∑S cS x*[S]/|x*| ≤ k/|x*|.
The probability that a given element e is in S is at least y*[e]/|x*|, so E[cost of elements newly covered by S] is at least