We just saw how the primal-dual schema permits sometimes designing efﬁcient combinatorial algorithms for solving certain problems. We will now see an example

of how a related technique can sometimes be used to

design efﬁcient approximation algorithms

The major tool that we will use will be the

RELAXED Complementary Slackness conditions

The problem we examine will again be

weighted set-cover.

1

Recall that given canonical primal

n

minimize

cj xj

subject to

j =1

a′ x ≥ bi,

i

xj ≥ 0,

i = 1, . . . , m

j = 1, . . . , n

the dual is

m

maximize

subject to

biπi

i=1

πAj ≤ cj ,

πi ≥ 0,

j = 1, . . . , n

i = 1, . . . , m

2

Theorem (Complementary Slackness):

Let x and π respectively be primal and dual feasible

solutions. Then x and π are both optimal if and only if

all of the following conditions are satisﬁed.

Primal Complementary Slackness conditions

∀1 ≤ j ≤ n : either xj = 0 or π ′Aj = cj

Dual Complementary Slackness conditions

∀1 ≤ i ≤ m : either πi = 0 or a′ x = bi

i

3

Theorem (RELAXED Complementary Slackness):

Let x and y respectively be primal and dual feasible solutions. Suppose further that for some α > 1, x and y satisfy all of

Primal Complementary Slackness conditions

∀1 ≤ j ≤ n : either xj = 0 or πAj = cj

RELAXED Dual C.S. conditions

∀1 ≤ i ≤ m : either πi = 0 or a′ x ≤ αbi

i

Then

m

n

cj xj ≤ α ·

j =1

biπi

i=1

Proof:

j =1

a′ x

i

(πAj ) xj = πAx =

cj xj =

j =1

m

m

n

n

i=1

πi ≤ α

biπi.

i=1

Given such an x, π we immediately know that x is

within α of OPT, the minimum cost optimum solution.

4

Recall Weighted Set Cover problem where each set

F has a weight Cost(F ) = C (F ), and the problem

is to ﬁnd a Set Cover of C of Minimum Weight,

Cost(C ) = F ∈C C (F ).

For example X = {1, 2, 3, 4, 5, 6} and F contains

the subsets

F1

F2

F3

F4

F5

=

=

=

=

=

{1, 3, 5};

{2, 3, 6};

{2, 5, 6};

{2, 3, 4, 6};

{1, 4};

C (F1) = 1

C (F2) = 1

C (F1) = 3

C (F1) = 5

C (F5) = 1

For example C = {F1, F4} is a minimal cardinality solution but not a minimum weight one. C = {F1, F2, F5} is a minimum weight solution.

5

We previously saw that weighted-set-cover is NP-Hard

but developed an Hn approximation algorithm where

n = |X | and Hn = n 1 ∼ ln n.

i=1 i

This means that, for every input, our algorithm generated a cover C such that Cost(C ) ≤ Hn · OP T

where OP T is the cost of the real optimal solution.

Duality theory was used in our proof to lower bound

OP T .

Now let the frequency of element e be

freq(e) = {F ∈ F : e ∈ F }.

Let f = maxe∈U freq(e) be the max number of sets

an element can appear in. We will now use a primaldual schema based on the relaxed complementaryslackness conditions to design a f -approximation algorithm for set-cover. 6

While an f -approximation algorithm for set-cover might

not appear interesting, consider following application.

Let G = (V, E ) be a graph.

A vertex cover of G is a subset V ′ ⊆ V such that

every edge in E has at least one endpoint in V ′. Finding a mimimum-cardinality vertex cover is an interesting and NP-hard problem. A straightforward generaliztion of the problem is to assign a cost C (v ) to every v ∈ V and set cost(V ′) = v∈V ′ c(v ). Finding a

min-weight vertex cover is also NP-hard.

Now create a weighed set cover problem with universe X = E and one set corresponding to each v ∈ V . For e ∈ E write e = (ex, ey ) and set

Fv = {e ∈ E : ex = v or ey = v },

C (Fv ) = c(v )

Then V ′ is a vertex cover of G iff ∪v∈V ′ {Fv } is a set cover of X . Furthermore, c(V ′) is equal to the

cost of the associated set-cover.

Finally, note that, since edge e appears in exactly two

sets Fv , f = 2.

So, an f -approximation algorithm for set-cover yields

a 2-approximation algorithm for vertex cover.

7

• Our general approach will be to start with some

primal-infeasible...