Jo Devriendt †*, Ambros Gleixner ‡, Jakob Nordström *°
Acknowledgement: Jan Elffers †*
† Lund University, Sweden
‡ Zuse Institut Berlin, Germany
* University of Copenhagen, Denmark
° KTH Royal Institute of Technology, Sweden
jo.devriendt@cs.lth.se
Slides by Jo Devriendt
2019-12-10
an example-driven intro
Unit propagation
currently no unit propagation
Unit propagation
Conflict?
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Decide unassigned variable
no
Unit propagation
Conflict?
Learn constraint
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
UNSAT!
Unit propagation
Conflict?
Learn constraint
Backjump
Decide unassigned variable
yes
no
here be dragons
our work
with LP solver call
Unit Propagation
Conflict?
Backjump
Decide unassigned variable
no
Rational infeasibility?
Query LP solver
yes
no
Learn constraint
Extract Farkas multipliers
yes
Learn Farkas constraint
Farkas multipliers
Compare state-of-the-art
to implementations
[PBCOMP]
[PBCOMP]
[PBCOMP]
[PBCOMP]
[P04]
[P04]
[MIPLIB]
[MIPLIB]
[MIPLIB]
[MIPLIB]
Conflict-driven search for 0-1 ILPs
Experiments approach best of both worlds
[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
[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