Constraint Reasoning,
Pseudo-Boolean Style

Jo Devriendt

Technologiecampus Gent

 

Acknowledgment:

MIAO group headed by Jakob Nordström

Lund University, Sweden

University of Copenhagen, Denmark

jodevriendt.com    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=\{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=\{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=\{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=\{x=0,\\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=\{x=0,\\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=\{x=0,\\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=\{x=0,\\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=\{x=0,\\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=\{x=0,\\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=\{x=0,\\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=\{x=0,\\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

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

-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

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

-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

  • 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

PB constraint learning

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=\{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=\{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=\{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=\{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=\{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=\{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=\{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=\{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 \vee \bigvee_i y_i \;\;\;\; \neg x \vee \bigvee_j z_j }{\bigvee_i y_i \vee \bigvee_j z_j}
x \vee \neg y \vee z
x + \neg y + z \geq 1\\ \neg y = 1-y
\frac{x+\sum_i y_i \geq 1 \;\;\;\; \neg 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

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: RoundingSat PB solver
    (gitlab.com/miao_research/roundingsat)

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

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=\{y=0,\\v=0,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=\{y=0,\\v=0,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=\{y=0,\\v=0,w=0\}
Min~~~y+2v+w
y+w \geq 1
\textcolor{red}{\text{add}~x \geq 0}

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=\{y=0,\\v=0,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=\{y=0,\\v=0,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=\{v=0,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=\{v=0,u=0,\\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=\{v=0,u=0,\\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=\{v=0,u=0,\\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=\{v=0,u=0,\\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=\{v=0,u=0,\\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=\{v=0,u=0,\\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=\{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=\{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=\{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

Thanks for your attention!

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

RoundingSat performance

By Romain Wallon (CRIL, Univ Artois & CNRS)

RoundingSat performance

RoundingSat performance

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

[BS97] Using CSP lookback techniques to solve real-world SAT instances - Bayardo, Schrag

[WW00] Combining Linear Programming and Satisability Solving for Resource Planning - Wolfman, Weld

[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

[Dd06] A Fast Linear-Arithmetic Solver for DPLL(T) - Dutertre, de Moura

[FM06] On Solving the Partial MAX-SAT Problem - Fu, Malik

[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

[D16] Scheduling and rostering with learning constraint solvers - Downing

[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

[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

Constraint Reasoning, Pseudo-Boolean style

By Jo Devriendt

Constraint Reasoning, Pseudo-Boolean style

  • 248