Conflict analysis has been successfully generalized from Boolean
satisfiability (SAT) solving to mixed integer programming (MIP)
solvers, but although MIP solvers operate with general linear
inequalities, the conflict analysis in MIP has been limited to
reasoning with the more restricted class of clausal constraint.
This is in contrast to how conflict analysis is performed in
so-called pseudo-Boolean solving, where solvers can reason directly
with 0-1 integer linear inequalities rather than with
clausal constraints extracted from such inequalities.
In this work, we investigate how pseudo-Boolean conflict analysis
can be integrated in MIP solving, focusing on 0-1
integer linear programs (0-1 ILPs). Phrased in MIP
terminology, conflict analysis can be understood as a sequence of
linear combinations and cuts. We leverage this perspective to design
a new conflict analysis algorithm based on mixed integer rounding
(MIR) cuts, which theoretically dominates the state-of-the-art
division-based method in pseudo-Boolean solving.
We also report results from a first proof-of-concept implementation
of different pseudo-Boolean conflict analysis methods in the
open-source MIP solver SCIP. When evaluated on a large and
diverse set of 0-1 ILP instances from MIPLIB 2017,
our new MIR-based conflict analysis outperforms both previous
pseudo-Boolean methods and the clause-based method used in MIP.
Our conclusion is that pseudo-Boolean conflict analysis in MIP is a
promising research direction that merits further study, and that it
might also make sense to investigate the use of such conflict
analysis to generate stronger no-goods in constraint programming.