Integer programming formulation of satisfiability
ID: integer-programming-formulation-of-satisfiability
Encode each truth value by . A positive Boolean literal has value and its negation has value . The sum of literal values in a clause is at least one exactly when that clause is true. Thus the displayed inequalities, with objective zero, express Boolean satisfiability as a binary integer programming feasibility problem. For maximum satisfiability, introduce with and maximize . False clauses force zero indicators; true clauses permit indicators one, and maximization selects all of them. Hence the optimal objective equals the maximum number of true clauses.
New to topics? Read the docs here!