A concrete instantiation of the feasibility framework 1:08:48.
The LP relaxation
minimize Σ_S x_S
s.t. Σ_{S ∋ e} x_S ≥ 1 for every element e (★)
x_S ≥ 0 for every set S
- In the integer program,
x_S ∈ {0, 1}marks whether setSis taken; the LP relaxes this to a linear constraint1:10:32.
Turning optimization into feasibility
- Guess
α ∈ ℝwithα ≥ OPT1:09:301:10:49. - Set the convex body
P = { x : x ≥ 0, Σ_S x_S ≤ α }— the objective becomes a constraint insideP1:11:08. - Ask MW whether the
(★)constraints are feasible overP1:11:42.
Recovering the optimum without knowing it
Fixing the ε-violation by rescaling
- MW returns an
xthat only guaranteesΣ_{S ∋ e} x_S ≥ 1 − ε— not feasible for the relaxation1:13:081:13:44. - Fix: rescale to
x / (1 − ε), which is feasible1:14:17. - Its cost: since
x ∈ PgaveΣ x_S ≤ α, the rescaled cost is at mostα/(1 − ε) = (1 + O(ε))·α1:14:171:15:08.
Why solve this LP at all
- The standard set-cover approximation solves the LP relaxation, then does randomized rounding, picking each set with probability
x_S— yielding alog napproximation1:13:441:15:29. - Feeding the MW solution into that pipeline gives a
log n · (1 + ε)approximation, but with a fast algorithm instead of ellipsoid or interior point1:15:291:15:42.
flowchart TD
A["Guess α ≥ OPT<br/>(binary search over 1..#sets)"] --> B["P = {x ≥ 0, Σ x_S ≤ α}"]
B --> C["MW feasibility on (★)"]
C --> D["x with Σ_{S∋e} x_S ≥ 1 − ε<br/>(infeasible!)"]
D --> E["Rescale: x/(1−ε)<br/>cost ≤ (1+O(ε))·α"]
E --> F["Randomized rounding<br/>→ log n·(1+ε) approximation"]