Una restricción pseudobooleana es una restricción de la forma, donde wi son los pesos, xi las variables booleanas, k algún valor de comparación y # algún operador de comparación:
n∑i=1wixi#k
Dado que la disyunción x1∨..∨xn corresponde a la restricción pseudobooleana 1x1+...+1xn≥1 y tomando la negación de una variable booleana x equivale a computar 1−x podemos traducir su fórmula booleana en múltiples pseudo-restricciones booleanas.
Ya que en forma normal conjuntiva su fórmula booleana (a∧b)⟺c equivale a la fórmula booleana (¬a∨¬b∨c)∧(¬c∨a)∧(¬c∨b) podemos traducir cada cláusula y obtener
(1−a)+(1−b)+c≥1
(1−c)+a≥1
(1−c)+b≥1
O bien, se ha de utilizar la forma de la suma ponderada:
−1a+−1b+1c≥−1
1a+−1c≥0
1b+−1c≥0
No sé si la forma alternativa, la forma normal disyuntiva, sería útil en absoluto.