Solving 3-SAT with Linear Programming?

464 Views Asked by At

Suppose we have a set of indices $I = \{1, \dots, n\}$ and a corresponding set of boolean variables $\{X_1, \dots, X_n\}$. Suppose further that we have a 3-CNF expression with $m$ clauses, with indices $J = \{1, \dots, m\}$, where the $j$th clause is \begin{equation} \left ( \bigvee_{i \in P(j)}X_i \right) \vee \left ( \bigvee_{i \in N(j)} \neg X_i \right). \end{equation} The sets $P(j)$ and $N(j)$ describe the variables that appear in the $j$th clause, and they satisfy the property $|P(j)| + |N(j)| \leq 3$ for each $j \in J$.

Now, suppose we solve the following linear program: \begin{equation} \begin{aligned} \rho=\max_{\substack{x_i, \ \forall i \in I \\ z_j, \ \forall j \in J}} & && \sum_{j\in J} z_j \\ \text{s.t.}\ \ & && z_j \geq x_i, \ \ \ \forall i \in P(j), \forall j \in J, \\ & && z_j \geq 1- x_i, \ \ \ \forall i \in N(j), \forall j \in J, \\ & && z_j \leq \sum_{i \in P(j)} x_i + \sum_{i \in N(j)} (1 - x_i), \ \ \ \forall j \in J, \\ & && 0 \leq x_i \leq 1, \ \ \ \forall i \in I, \\ & && 0 \leq z_j \leq 1, \ \ \ \forall j \in J. \\ \end{aligned} \end{equation}

We know that the optimal value $\rho$ satisfies $\rho \leq m$.

Will it ever be true that the 3-CNF is not satisfiable but the optimal value of the corresponding linear program is $m$?

If yes, can you provide an example of such a 3-CNF?

1

There are 1 best solutions below

0
On

I believe I've found my example. Consider the following 3-CNF with $n = 3$ and $m = 8$: \begin{equation} (X_1 \vee X_2 \vee X_3) \wedge (X_1 \vee X_2 \vee \neg X_3) \wedge (X_1 \vee \neg X_2 \vee X_3) \wedge (X_1 \vee \neg X_2 \vee \neg X_3) \wedge (\neg X_1 \vee X_2 \vee X_3) \wedge (\neg X_1 \vee X_2 \vee \neg X_3) \wedge (\neg X_1 \vee \neg X_2 \vee X_3) \wedge (\neg X_1 \vee \neg X_2 \vee \neg X_3) \end{equation} This 3-CNF is not satisfiable. However, for the corresponding linear program, the solution $z_1 = \dots = z_8 = 1$ and $x_1 = x_2 = x_3 = 0.5$ is feasible, with an objective value of $\rho = 8 = m$.

I would still be interested in a simpler example, if someone can provide one.