algorithmgraphlinear-programmingvertex-cover

How to perform a relaxation of an integer linear programming formulation of graph vertex cover?


I'm implementing the optimization algorithms from Kernelization Algorithms for the Vertex Cover Problem: Theory and Experiments (PDF).

I'm a bit stuck at chapter 2.3: Kernelization by linear programming.

The idea of this technique (in ILP formulation) is to assign a weight X_u \in \left\{ 0,1 \right\} to each vertex u (also denoted as v) of the input graph G=\left\( V,E \right\) to satisfy the following constraints:

So, as output I get a set of vertices having X_v of 1 and the rest, having X_v of 0. The paper says that the relaxation is based on replacing X_u \in \left \{ 0,1 \right \} by X_u \geq 0. (S. Khuller (PDF) points out that in this case X_u \in \left \{ 0,0.5,1 \right \}). That relaxation would lead to having 3 groups of vertices with weights of 1, 0.5 and 0.

My problem is that I am not quite sure how to approach the weight assignment.

From what I was able to understand, to minimize the sum of weights it would be best to (for each edge) focus on the vertices with the highest degrees first, and when their weight is already greater than zero, add the value to vertex on the second end of analyzed edge.

This leads me (correctly?) to the situation where actually X_v \in \left \{ 0,1 \right \} for each vertex in the basic formulation. When I'm thinking of relaxing the integer constraint, that just changes to X_v \in \left \{ 0,0.5 \right \}.

What's the flaw in my logic?

How would I need to approach the relaxation to have vertices with weight 1 and 0 as well as 0.5?


Solution

  • As you've noticed, the constraint X_v in {0, 1/2, 1} is not amenable to formulation as a (fractional) linear program. What's going on here is that, if you set the weaker constraint X_v >= 0, then there exists some optimal solution where X_v in {0, 1/2, 1} holds for all v, though in general not every optimal solution has this property. Section 6 of the paper that you linked presents an algorithm that finds such an optimal solution for the vertex cover LP.