Example: min-weight fractional vertex cover
- Minimize ∑v c(v) x(v) subject to:
- x(v) ≥ 0 for each vertex v ∈ V.
- x(u)+x(v) ≥ 1 for each edge (u,v) ∈ E.
Dual: maximum edge packing:
- Maximize ∑e y(e) subject to
- y(e) ≥ 0 for each edge ∈ E.
- ∑e ∋ w y(e) ≤ c(v) for each vertex w.
Using duality to bound OPT integer solution:
cost(OPT vertex cover) ≥ cost(any feasible solution to the dual)
(follows from weak duality.)
linear-time 2-approximation algorithm for min-cost vertex cover using dual
An edge packing y is maximal if there is no other feasible edge packing y' such that y ≤ y'.
(In other words, no edge weight can be increased without violating some constraint in the dual.)
algorithm
- find a maximal feasible edge packing y
- return all vertices v whose packing constraint is tight
prove: the algorithm is a 2-approximation algorithm
References: