## Constraint Reasoning, Pseudo-Boolean Style

Jo Devriendt

KU Leuven

Acknowledgment:

MIAO group headed by Jakob Nordström

Lund University, Sweden

University of Copenhagen, Denmark

slides @ slides.com/jod/kaho

## Constraint Reasoning, Pseudo-Boolean Style

PB solvers

• Input: 0-1 IL program
(integer coefficients and rhs)
• Output: either
• (optimal) solution
• proof that no solution exists
• generalizes
Boolean satisfiability (SAT) solving

## Constraint Reasoning, Pseudo-Boolean Style

Talk outline

• PB constraint learning
• intermezzo: proof complexity I
• PB cut generation
• intermezzo: proof complexity II
• PB lower bound derivation
• Outro: selected experimental results

## PB constraint learning

(example-driven)

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1 \\
x,y,z,v,w \mapsto \{0,1\}
• Input: 0-1 IL program (integer coefficients and rhs)
• Output: either
• (optimal) solution
• proof that no solution exists
• Search state:
• set of constraints φ
• partial assignment α
• Initial state:
• φ = input
• α = {}
• Depth-first search loop
• "learning" an implied constraint from failure

## PB constraint learning

Unit propagation

\alpha=\{\}
+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

## PB constraint learning

• Under α, if a constraint c ∈ φ would be falsified by assuming x=0 (resp. x=1), extend α with x=1 (resp. x=0)
• Propagate until fixpoint

Unit propagation

Conflict?

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
• Conflict: some c ∈ φ falsified by α

## PB constraint learning

\alpha=\{\}

Unit propagation

Conflict?

Decide unassigned variable

no

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
• Only if unit propagation did not lead to a conflict
• If no unassigned variable left, return solution
• Resume unit propagation

## PB constraint learning

\alpha=\{\}

Unit propagation

Conflict?

Decide unassigned variable

no

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
• Only if unit propagation did not lead to a conflict
• If no unassigned variable left, return solution
• Resume unit propagation

## PB constraint learning

\alpha=\{\underline{x=0}\}

Unit propagation

Conflict?

Decide unassigned variable

no

+0+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -0+y+w \geq 1

## PB constraint learning

\alpha=\{\underline{x=0}\}

Unit propagation

Conflict?

Decide unassigned variable

no

+0+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -0+y+w \geq 1

## PB constraint learning

\alpha=\{\underline{x=0}\}

Unit propagation

Conflict?

Decide unassigned variable

no

+0+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -0+y+w \geq 1

## PB constraint learning

\alpha=\{\underline{x=0},\\ \underline{y=1}\}

Unit propagation

Conflict?

Decide unassigned variable

no

+0+1-z \geq 0 \\ -1+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -0+1+w \geq 1

## PB constraint learning

\alpha=\{\underline{x=0},\\ \underline{y=1}\}

Unit propagation

Conflict?

Decide unassigned variable

no

+0+1-z \geq 0 \\ -1+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -0+1+w \geq 1

## PB constraint learning

\alpha=\{\underline{x=0},\\ \underline{y=1},\\z=1, v=0\}

Unit propagation

Conflict?

Decide unassigned variable

no

+0+1-1 \geq 0 \\ -1+1-0 \geq 0 \\ -1+0-w \geq 0 \\ -0+1+w \geq 1

## PB constraint learning

\alpha=\{\underline{x=0},\\ \underline{y=1},\\z=1, v=0\}

Unit propagation

Conflict?

Decide unassigned variable

no

+0+1-1 \geq 0 \\ -1+1-0 \geq 0 \\ -1+0-w \geq 0 \\ -0+1+w \geq 1
• Conflict: some c ∈ φ falsified by α

## PB constraint learning

\alpha=\{\underline{x=0},\\ \underline{y=1},\\z=1, v=0\}

Unit propagation

Conflict?

Learn constraint

Decide unassigned variable

yes

no

+0+1-1 \geq 0 \\ -1+1-0 \geq 0 \\ -1+0-w \geq 0 \\ -0+1+w \geq 1
• From falsified constraint and reasons, construct learned constraint
• implied by φ, should prevent conflict
• Add learned constraint to φ
• learned constraint database

## PB constraint learning

\alpha=\{\underline{x=0},\\ \underline{y=1},\\z=1, v=0\}

Unit propagation

Conflict?

Learn constraint

Decide unassigned variable

yes

no

-2y+z-w \geq 0
+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\textcolor{red}{2\times}
\textcolor{red}{1\times}
\textcolor{red}{+}
• From falsified constraint and reasons, construct learned constraint
• implied by φ, should prevent conflict
• Add learned constraint to φ
• learned constraint database

## PB constraint learning

\alpha=\{\underline{x=0},\\ \underline{y=1},\\z=1, v=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
• Backtrack based on learned constraint
• Resume unit propagation

## PB constraint learning

-2y+z-w \geq 0
\alpha=\{\underline{x=0},\\ \underline{y=1},\\z=1, v=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
• Backtrack based on learned constraint
• Resume unit propagation

## PB constraint learning

-2y+z-w \geq 0
\alpha=\{\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

## PB constraint learning

-2y+z-w \geq 0
\alpha=\{\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

## PB constraint learning

-2y+z-w \geq 0
\alpha=\{y=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+0-z \geq 0 \\ -0+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+0+w \geq 1

## PB constraint learning

-0+z-w \geq 0
\alpha=\{y=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+0+0-z \geq 0 \\ -0+z-v \geq 0 \\ -z+2v-1 \geq 0 \\ -0+0+1 \geq 1

## PB constraint learning

-0+z-1 \geq 0
\alpha=\{y=0,\\w=1,x=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+0+0-0 \geq 0 \\ -0+0-v \geq 0 \\ -0+2v-1 \geq 0 \\ -0+0+1 \geq 1

## PB constraint learning

-0+0-1 \geq 0
\alpha=\{y=0,\\w=1,x=0,\\z=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+0+0-0 \geq 0 \\ -0+0-v \geq 0 \\ -0+2v-1 \geq 0 \\ -0+0+1 \geq 1

## PB constraint learning

-0+0-1 \geq 0
\alpha=\{y=0,\\w=1,x=0,\\z=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

0 \geq 1
+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\textcolor{red}{+}
\textcolor{red}{+}

## PB constraint learning

\alpha=\{y=0,\\w=1,x=0,\\z=0\}
-2y+z-w \geq 0

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

0 \geq 1

Unsatisfiable!

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\textcolor{red}{+}
\textcolor{red}{+}

## PB constraint learning

\alpha=\{y=0,\\w=1,x=0,\\z=0\}
-2y+z-w \geq 0

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

• Learning constraints pushes search forward
• Thousands of conflicts per second
• Originates from Boolean satisfiability (SAT) [MS96,BS97,MMZZM01]
• Generalized to pseudo-Boolean (PB) solving [CK05,SS06,LP10,EN18]
• many variations possible

here be dragons

## Proof complexity I

• Study of proof systems
(== syntactic derivation rules == operations on the dual)
• Proof: syntactic derivation of new formulas leading to inconsistency
• Given an unsatisfiable formula
(== program == set of constraints)
how to derive an inconsistency?
• What are the lower/upper bounds on proof length for certain formulas?
• What are the relations between proof systems?

## Proof complexity I

-2y+z-w \geq 0
+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\textcolor{red}{2\times}
\textcolor{red}{1\times}
\textcolor{red}{+}
(c \geq 0)

## Proof complexity I

0 \geq 1
-2y+z-w \geq 0
+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\textcolor{red}{+}
\textcolor{red}{+}

## Proof complexity I

In our example

• Multiplication and addition were sufficient
• We could also have used variable axioms

• Multiplication, addition, axioms: essentially positive linear combinations of the ILP and the 0-1 bound constraints

Farkas' lemma:

There exists a positive linear combination of constraints that is clearly inconsistent
iff

The ILP is rationally infeasible

## Another look at our example...

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1 \\
x,y,z,v,w \mapsto \{0,1\}
• It's rationally infeasible!
• How does a PB constraint reasoning work if it is rationally feasible, but 0-1 infeasible (unsatisfiable)?
• Still derive 0 1
• From non-empty to empty polytope...
• Cut generation!

## PB cut generation

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+y-z \geq 0 \\ -y+z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+y-z \geq 0 \\ -\textcolor{red}{2}y+\textcolor{red}{2}z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

## PB cut generation

Rational solution:
x = y = 0.5
z = v = w = 1

but still unsatisfiable

\alpha=\{\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

## PB cut generation

\alpha=\{\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0}\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0}\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0},\\y=0,v=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0},\\y=0,v=0\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0},\\y=0,v=0,\\x=0,w=1\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0},\\y=0,v=0,\\x=0,w=1\}

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0},\\y=0,v=0,\\x=0,w=1\}
-2y+2z-2v \geq -1
-y+z-v \geq 0

add variable axiom 1 ≥ v

divide by 2, round up rhs

\textcolor{red}{+2\times}
\textcolor{red}{+}
-x-y+z \geq 1

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{z=0},\\y=0,v=0,\\x=0,w=1\}
-x-y+z \geq 1

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\}
-x-y+z \geq 1

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\}
-x-y+z \geq 1

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{x=0,\\y=0,z=1\}
-x-y+z \geq 1

Unit propagation

Conflict?

Learn constraint

Backjump

Decide unassigned variable

yes

no

## PB cut generation

+x+y-z \geq 0 \\ -2y+2z-v \geq 0 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{x=0,\\y=0,z=1\}
-x-y+z \geq 1
0 \geq 1

Unsatisfiable!

\textcolor{red}{+}

## Proof complexity II

Fourth rule: division (with rounding)

(c \geq 0)

Together: cutting planes proof system

## Proof complexity II

cutting planes proof system

• Alternatives to Division rule:
• Saturation
• MIR inequality
• ?
• Implicationally complete
• Machine-verifiable
• Theoretical foundation
for PB solvers
• Strictly stronger than
resolution proof system
(c \geq 0)

## Proof complexity II

Resolution:

• Propositional clauses

• A clause is a 0-1 IL constraint:

• Resolution rule

• In 0-1 ILP formalism
\frac{x \bigvee_i y_i \;\;\;\; \overline{x} \bigvee_j z_j }{\bigvee_i y_i \bigvee_j z_j}
\overline{x} \vee \overline{y} \vee z
\overline{x} + \overline{y} + z \geq 1\\ \overline{x} = 1-x
\frac{x+\sum_i y_i \geq 1 \;\;\;\; \overline{x} + \sum_j z_j \geq 1}{\sum_i y_i + \sum_j z_j \geq 1}

## Proof complexity II

• Simple!
• Implicationally complete (for clauses)
• Resolution underpins SAT, CP, ASP, SMT, ...
• learn clauses instead of cutting planes
• Cutting planes polynomially simulates resolution
• For some important ILPs the shortest resolution proof is exponential and the shortest cutting planes proof is polynomial
• Exponential running time shows up in practice
\frac{x+\sum_i y_i \geq 1 \;\;\;\; \overline{x} + \sum_j z_j \geq 1}{\sum_i y_i + \sum_j z_j \geq 1}

## Proof complexity II

• Theoretically much stronger proof systems exist
• Not known how to use them effectively in practice
• Weakest proof system (resolution) is most widely employed!
• Only recently, effective cutting planes (PB) solvers are being developed
• My work: Exact PB solver
gitlab.com/jod/exact

## PB lower bound derivation

• Based on "core-guided optimization" from MaxSAT [FM06]
• core == learned constraint
• Central observation:
• given objective

• and constraint

• then A is a lower bound to O
• Force solver to learn such constraints
O \equiv \sum_i o_ix_i
\sum_i a_ix_i \geq A~\text{~s.t.}\\ \forall a_i \colon 0 \leq a_i \leq o_i

## PB lower bound derivation

Modified PB solver

• Input:
• 0-1 IL program
• set of assumptions (== variable fixings) β
• Output: either
• SAT: solution consistent with β
• UNSAT: learned constraint inconsistent with β (core)

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq \textcolor{red}{-1} \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\}

Simple solution:
x = y = z = v = w = 1

Optimal rational solution:

x = z = 0, y = v = 1/3, w = 2/3

\textcolor{red}{Minimize~~~y+2v+w}

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\}
Min~~~y+2v+w

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{y=0},\\\underline{v=0},\underline{w=0}\}
Min~~~y+2v+w

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{y=0},\\\underline{v=0},\underline{w=0}\}
Min~~~y+2v+w

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{y=0},\\\underline{v=0},\underline{w=0}\}
Min~~~y+2v+w
y+w \geq 1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{y=0},\\\underline{v=0},\underline{w=0}\}
Min~~~y+2v+w
y+w \geq 1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

\textcolor{red}{y+w = u+1}
\textcolor{red}{\text{introduce}~u}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{y=0},\\\underline{v=0},\underline{w=0}\}
Min~~~\textcolor{red}{2v+u+1}
y+w \geq 1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

\textcolor{red}{y+w = u+1}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
\alpha=\{\underline{v=0},\underline{u=0}\}
Min~~~2v+u+1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
Min~~~2v+u+1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{v=0},\underline{u=0},\\\underline{w=0}\}
\textcolor{red}{\text{decision}}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
Min~~~2v+u+1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{v=0},\underline{u=0},\\\underline{w=0},y=1\}
\textcolor{red}{\text{propagates}~y=1}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
Min~~~2v+u+1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{v=0},\underline{u=0},\\\underline{w=0},y=1,z=0\}
\textcolor{red}{\text{propagates}~z=0}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
Min~~~2v+u+1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{v=0},\underline{u=0},\\\underline{w=0},y=1,z=0\}
\textcolor{red}{\text{conflict!}}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1
Min~~~2v+u+1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{v=0},\underline{u=0},\\ \underline{w=0},y=1,z=0\}
3v \geq 2u+1
\textcolor{red}{\text{division}}
3v \geq 1
v \geq1
\textcolor{red}{+2\times u\geq0}
v= 1
\textcolor{red}{+2\times}
\textcolor{red}{+2\times}
\textcolor{red}{+}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{v=0},\underline{u=0},\\ \underline{w=0},y=1,z=0\}
v= 1
Min~~~\textcolor{red}{u+3}

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{u=0}\}
v= 1
Min~~~u+3

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{u=0}\}
v= 1
Min~~~u+3
x=0,y=0,z=0,\\ v=1,w=1,u=0

## PB lower bound derivation

+x+y-z \geq 0 \\ -2y+2z-v \geq -1 \\ -z+2v-w \geq 0 \\ -x+y+w \geq 1

Assume best case objective

PB call yields SAT?

Extract core

Reformulate objective,

increase lower bound

Optimal

no

yes

y+w = u+1
\alpha=\{\underline{u=0}\}
v= 1
Min~~~u+3
x=0,y=0,z=0,\\ v=1,w=1,u=0

## PB lower bound derivation

• Learned constraints yield objective bounds
• Fully automatic procedure
• "Dual" optimization method

## Conclusion

• PB solvers learn full-blown cutting planes
• Theoretically superior to resolution
• and hence, to SAT/CP/ASP/SMT/...
• They perform cut generation using the division rule
• Constraint learning allows lower-bound optimization
• Efficient implementation: gitlab.com/JoD/exact

What use cases do you see for this kind of technology?

[MS96] GRASP - a new search algorithm for satisfiability - Marques-Silva, Sakallah

[MMZZM01] Chaff: Engineering an efficient SAT solver - Moskewicz, Madigan, Zhao, Zhang, Malik

[P04] Where are the hard knapsack problems? - Pisinger

[CK05] A fast pseudo-Boolean constraint solver - Chai, Kuehlmann

[SS06] Pueblo: A hybrid pseudo-Boolean SAT solver - Sheini, Sakallah

[ABKW08] Constraint Integer Programming: A New Approach to Integrate CP and MIP - Achterberg, Berthold, Koch, Wolter

[LP10] The Sat4j library, release 2.2 - Le Berre, Parrain

[EN18] Divide and conquer: Towards faster pseudo-boolean solving - Elffers, Nordström

[EGNV18] Using Combinatorial Benchmarks to Probe the Reasoning Power of pseudo-Boolean Solvers - Elffers, Giráldez-Cru, Nordström, Vinyals

[DGN20] Learn to Relax: Integrating 0-1 Integer Linear Programming with Pseudo-Boolean Conflict-Driven Search - Devriendt, Gleixner, Nordström

[D20] Watched Propagation for 0-1 Integer Linear Constraints - Devriendt

[JGDNS21] Cutting to the Core of Pseudo-­Boolean Optimization: Combining Core-Guided Search with Cutting Planes Reasoning - Devriendt, Gocht, Demirovć, Nordström, Stuckey

[ZIB] SoPlex - soplex.zib.de

[PBCOMP] Latest PB competition - www.cril.univ-artois.fr/PB16/

[MIPLIB] The Mixed Integer Programming Library - miplib.zib.de

## References

By Romain Wallon (CRIL, Univ Artois & CNRS)