College of Computer & Information Science Fall 2007 Northeastern University 5 October 2007 CS G399: Algorithmic Power Tools I Scribe: Jian Wen

Lecture Outline:

• Primal-dual schema

• Primal-dual for set cover

This lecture describes the primal-dual schema, and also an application of this method to design approximation algorithms.

1 Primal-dual schema

In a previous lecture we have introduced the concept of duality for LP problems. A common form of the LP problem with its duality is showed below:

P rimal  Duality
min ∑_{i} c_{i}x_{i}  max ∑_{j} b_{j}y_{j}
s.t. ∑_{i} a_{ij}x_{i} ≥ b_{j}  s.t. ∑_{j} a_{ij}y_{j} ≤ c_{i}
x_{i} ≥ 0  y_{j} ≥ 0

From the principle of duality, a feasible solution of the dual in fact sets a lower bound for the primal problem. We here use a concept of complementary slackness to help us illustrate the connection between the two solutions of the primal and duality problem:

Definition 1. The complementary slackness condition is as follows:

P rimal : x_{i} > 0 ⇒ ∑_{j} a_{ij}y_{j} = c_{i}
Dual : y_{j} > 0 ⇒ ∑_{i} a_{ij}x_{i} = b_{j}

Then the following theorem will show this connection:

Theorem 1. If (x, y) satisfies complementary slackness, then x and y are optimal solutions for primal and dual problems, respectively.

Proof: From the forms of the primal and duality, if complementary slackness is satisfied, we will have

∑_{i} c_{i}x_{i} = ∑_{i}(∑_{j} a_{ij}y_{j}) ∗ x_{i}
∑_{j} b_{j}y_{j} = ∑_{j}(∑_{i} a_{ij}x_{i}) ∗ y_{j}

It is easy to see that the RHS of the two inequations are equal. So we have

∑_{i} c_{i}x_{i} = ∑_{j} b_{j}y_{j}

implying that x and y are both optimal by duality.

So we can use the complementary slackness to solve LP problems for an optimal solution. While for integer LP, since it is NP-Hard, we need to get an approximately optimal solution in polynomial time. In order to apply the complementary slackness theorem into the approximate situation, we define a relaxed slackness as follows:

Definition 2.

P rimal : x_{i} > 0 ⇒ \frac{c_{i}}{α} ≤ ∑_{j} a_{ij}y_{j} ≤ c_{i}
Dual : y_{j} > 0 ⇒ b_{j} ≥ ∑_{i} a_{ij}x_{i} ≥ βb_{j}

And accordingly, we will fit 1 into the approximate situation with the description below:

Theorem 2. If (x, y) satisfies relaxed complementary slackness, then x and y are αβ-optimal for both primal and dual problem.

Proof: Based on the definition of relaxed complementary slackness, we will have

∑_{i} c_{i}x_{i} ≤ α ∑_{i}(∑_{j} a_{ij}y_{j}) ∗ x_{i}  (1)

∑_{j} b_{j}y_{j} ≥ \frac{1}{β} ∑_{j}(∑_{i} a_{ij}x_{i}) ∗ y_{j}  (2)

Then we can get

\frac{cost of x}{cost of y} = \frac{∑_{i} c_{i}x_{i}}{∑_{j} b_{j}y_{j}} ≤ αβ

which indicates that the duality yields a αβ-approximation solution.

Based on the property of the relaxed complementary slackness, the primal-dual schema for LP solution can be done in an iterative process: start with a dual feasible solution, then we try to improve this dual problem, until the improved solution reaches satisfied the relaxed complementary slack conditions.

2 Primal-dual for set cover

In this section we will apply the primal-dual schema to the set cover problem. Recall the primal problem of set cover with universe U of elements and collection C of sets, and its dual:

P rimal  Duality
min ∑_{S∈C} c(S)x_{S}  max ∑_{e∈U} y_{e}
s.t. ∑_{S: e∈S} x_{S} ≥ 1, ∀e ∈ U  s.t. ∑_{e∈s} y_{e} ≤ c(S), ∀S ∈ C
x_{j} ≥ 0, ∀j  y_{e} ≥ 0, ∀e

As mentioned above, we will take an iterative process to get the approximate solution. First of all, we start with a primal unfeasible but dual feasible solution

x = 0, y = 0

The iterative algorithm is as following:

- While any element is uncovered

1. Pick any uncovered elements e

2. Increase y_{e} until some set S become tight, i.e., ∑_{e∈S} y_{e} = c(S).

3. Add S to solution.

According to the definition of the relaxed complementary slackness, we will have

x_{S} > 0 ⇒ ∑_{e∈S} y_{e} = c(S)  α = 1  (3)
y_{e} > 0 ⇒ ∑_{S: e∈S} x_{S} ≤ f_{e}  β = max_{e} f_{e}  (4)

Here we let f_{e} be the number of the sets that contain e. So from the above analysis we see that the primal-dual algorithm will get a f-approximate solution, where f is the maximum frequency of any element.