36 Chapter 2. Randomized Algorithms
RANDOMIZED ROUNDING FOR MAXSAT
1. For an instance ff of MAXSAT formulate an integer linear program L~.
The integer program Lr has following variables. For each variable xi, i E
{1,... ,n}, of 9 let yi be an indicator variable which is 1 when xi assumes
the value TRUE and 0 otherwise. Also, for each clause Ca, j E 1,... ,m of r
we introduce an indicator variable zj. z i has the value 1 if Cj is satisfied,
otherwise 0. For each clause Cj let C + be the set of indices of variables
that appear uncomplemented in Cj and let C~- be the set of indices of
variables that appear complemented in Cj. Then MAXSAT can be formulated
as follows:
m
maximize Z zj,
j----1
where yi, zj E {0,1) for all i E {1,...,n}, j E {1,...,m),
subject to Z Yi + Z (1- Yi) >l zj for alljE{1,...,m}.
~ec? ~ec;
(2.1)
Note that the right-hand side of the jth constraint for Lr may take the
value 1 only if one of the uncomplemented variables in Cj takes the value
TRUE or if one of the complemented variables in Cj takes the value FALSE.
In other words, zj -- 1 if and only if Cj is satisfied.
2. Relax the program Lr allowing the variables Yl,...,Yn and zl,..., Zm to
take the values in [0, 1].
3. Solve this relaxed program. Denote the value of the variable yi in the solution
m
as ~)i and the value of zj in the solution as s Note that ~-~j=l 2j bounds
from above the number of clauses which can be simultaneously satisfied in ~,
as the value of the objective function for the relaxed linear program bounds
from above the value of the objective function for L~.
4. In this step the actual randomized rounding takes place: we obtain the so-
lution vector ~ for the program Lv by setting ~ independently to 1 with
probability ~)~, for each i E {1,... ,n}.
For the remainder of this section, we put t3k = 1 -- (1 -- l/k) k.
What is the expected number of clauses satisfied by the algorithm RANDOMIZED
ROUNDING FOR MAXSAT. 7 To calculate this value, we show in Lemma 2.6 that
for a clause Cj with k literals, the probability that Cj is satisfied is at least ~kZj.
Furthermore, for every k/> 1 we have 1-1/e < ~k- By linearity of expectation the
expected number of satisfied clauses is at least (t - l/e) ~=1 zJ- It follows that
the expected performance ratio of the considered algorithm is at most 1/(1 - l/e).