Simplex with sum of infeasibilities for SMT

The de facto standard for state-of-the-art real and integer linear reasoning within Satisfiability Modulo Theories (SMT) solvers is the Simplex for DPLL(T) algorithm given by Dutertre and de Moura. This algorithm works by performing a sequence of local optimization operations. While the algorithm is generally efficient in practice, its local pivoting heuristics lead to slow convergence on some problems. More traditional Simplex algorithms minimize a global criterion to determine the feasibility of the input constraints. We present a novel Simplex-based decision procedure for use in SMT that minimizes the sum of infeasibilities of the constraints. Experimental results show that this new algorithm is comparable with or outperforms Simplex for DPLL(T) on a broad set of benchmarks.

[1]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

[2]  David K. Smith Theory of Linear and Integer Programming , 1987 .

[3]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[4]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[5]  Alberto Griggio,et al.  The MathSAT5 SMT Solver , 2013, TACAS.

[6]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[7]  Albert Oliveras,et al.  SAT Modulo the Theory of Linear Arithmetic: Exact, Inexact and Commercial Solvers , 2008, SAT.

[8]  Bruno Dutertre,et al.  Integrating Simplex with DPLL(T ) , 2006 .

[9]  Roberto Bruttomesso,et al.  The OpenSMT Solver , 2010, TACAS.

[10]  Philip E. Gill,et al.  Numerical Linear Algebra and Optimization , 1991 .

[11]  Peter D. Karp,et al.  Construction and completion of flux balance models from pathway databases , 2012, Bioinform..

[12]  Alberto Griggio,et al.  An Effective SMT Engine for Formal Verification , 2009 .

[13]  David Monniaux,et al.  On using floating-point computations to help an exact linear arithmetic decision procedure , 2009, CAV.

[14]  Ulrich Junker Conflict Detection for Arbitrary Constraint Propagation Algorithms , 2001 .

[15]  David Monniaux,et al.  Experiments on the feasibility of using a floating-point simplex in an SMT solver , 2013, PAAR@IJCAR.

[16]  Peter J. Stuckey,et al.  The Cassowary linear arithmetic constraint solving algorithm , 2001, TCHI.

[17]  Jochen Hoenicke,et al.  SMTInterpol: An Interpolating SMT Solver , 2012, SPIN.

[18]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.