Linear Programming Relaxations and Rounding
Many important optimization problems are NP-hard. A prominent example is the Integer Linear Programming (ILP) problem, which is defined as follows:
One advantage of ILPs is that they can model a wide range of combinatorial optimization problems. However, this very same property makes them computationally intractable in general. But we do know how to solve linear programming (LP) problems efficiently. So, a natural question is: can we get good solutions when we relax the integrality constraints from an ILP and solve the corresponding LP instead? Can we round the solution we obtained from the LP to get a good solution for the ILP?
If we manage to do the above, we would be getting “pretty good” solutions for a wide range of combinatorial optimization problems. This is the idea behind the method of linear programming relaxations and rounding: we are content with approximately optimal solutions that we can find efficiently.
Here is a high-level overview of the method:
-
Formulate the combinatorial optimization problem as an ILP. (say by minimizing some objective function)
-
Relax the integrality constraints to get an LP. (This is called the linear programming relaxation of the ILP.)
2.1. We are still minimizing the same objective function, but over a (potentially) larger feasible region. Hence
-
Solve the LP to get a fractional solution. This can be done efficiently.
3.1. If the fractional solution is already integral, we are done, as it will be a solution to the ILP.
3.2. Otherwise, we need to round the fractional solution to get an integral solution. This is the tricky part. In this case, we need to design a rounding algorithm that transforms the fractional solution into an integral solution while preserving the objective function value as much as possible. Thus, we would like to find a rounding algorithm and a value
such that
Example: Vertex Cover
Given a weighted graph
Following our strategy, we can formulate the problem as an ILP:
We can interpret the above ILP as follows:
The linear programming relaxation of the above ILP is obtained by relaxing the integrality constraints on
Now we use an efficient LP solver to solve the above LP. Let
In this case, we can use the following simple rounding algorithm: round each
Finally, we can analyze the approximation guarantee of the above rounding algorithm.
The cost of the solution given by
Thus, we have obtained a 2-approximation algorithm for the vertex cover problem using linear programming relaxations and rounding.
Main Example: Set Cover
The set cover problem is a classic combinatorial optimization problem, generalizing the vertex cover problem.
- Input: A finite set
(the universe) and a collection of subsets of . - Output: A minimum-size subcollection
such that
We could also have a weighted version of the set cover problem, where each set
Let us now formulate the weighted set cover problem as an ILP:
The above ILP can be interpreted as follows:
Now we can proceed with our method of linear programming relaxations and rounding.
The linear programming relaxation of the above ILP is obtained by relaxing the integrality constraints on
Can we just round each
Instead, we can think of
Algorithm 1: Random Pick
- Input: A fractional solution
to the LP relaxation of the weighted set cover problem. - Output: A subcollection
of sets in . (which hopefully covers )
- Set
. - For
:- Pick set
with probability . - If
is picked, add it to .
- Pick set
- Return
.
Note that the expected weight of the subcollection
Let us consider the Random Pick algorithm from the perspective of an element
The following lemma gives us a bound on the probability that an element
Lemma 1 (Probability of covering an element): in a sequence of
Proof: The probability that no experiment succeeds is
Thus, the probability that at least one experiment succeeds is at least
By the above lemma, we see that the probability that an element
Algorithm 2: Randomized Rounding
- Input: A fractional solution
to the LP relaxation of the weighted set cover problem. - Output: A subcollection
of sets in that covers .
- Set
. - While there is an uncovered element
: .
- Return
.
The Randomized Rounding algorithm repeatedly applies the Random Pick algorithm until all elements in
Lemma 2 (Probability decay): Let
Proof: The probability that the Randomized Rounding algorithm executes the Random Pick algorithm more than
Let
By the union bound, the probability that there is an uncovered element after
Now that we know that we wil cover
At each implementation of the Random Pick process, the expected weight of the subcollection
After
We are now ready to get a bound on the cost of the solution output by the Randomized Rounding algorithm:
Lemma 3 (Cost of Rounding): Given a fractional solution
Proof: Let
Thus, with probability