Optimization Modulo Theories with Linear Rational Costs

In the contexts of automated reasoning (AR) and formal verification (FV), important decision problems are effectively encoded into Satisfiability Modulo Theories (SMT). In the last decade, efficient SMT solvers have been developed for several theories of practical interest (e.g., linear arithmetic, arrays, and bit vectors). Surprisingly, little work has been done to extend SMT to deal with optimization problems; in particular, we are not aware of any previous work on SMT solvers able to produce solutions that minimize cost functions over arithmetical variables. This is unfortunate, since some problems of interest require this functionality. In the work described in this article we start filling this gap. We present and discuss two general procedures for leveraging SMT to handle the minimization of linear rational cost functions, combining SMT with standard minimization techniques. We have implemented the procedures within the MathSAT SMT solver. Due to the absence of competitors in the AR, FV, and SMT domains, we have experimentally evaluated our implementation against state-of-the-art tools for the domain of Linear Generalized Disjunctive Programming (LGDP), which is closest in spirit to our domain, on sets of problems that have been previously proposed as benchmarks for the latter tools. The results show that our tool is very competitive with, and often outperforms, these tools on these problems, clearly demonstrating the potential of the approach.

[1]  Felip Manyà,et al.  MaxSAT, Hard and Soft Constraints , 2021, Handbook of Satisfiability.

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

[3]  Andrea Lodi,et al.  Mixed Integer Programming Computation , 2010, 50 Years of Integer Programming.

[4]  Isil Dillig,et al.  Minimum Satisfying Assignments for SMT , 2012, CAV.

[5]  R. Raman,et al.  Modelling and computational techniques for logic based integer programming , 1994 .

[6]  Inês Lynce,et al.  On Computing Minimum Unsatisfiable Cores , 2004, SAT.

[7]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[8]  I. Grossmann,et al.  COMPUTATIONAL EXPERIENCE WITH LOGMIP SOLVING LINEAR AND NONLINEAR DISJUNCTIVE PROGRAMMING PROBLEMS , 2004 .

[9]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[10]  Daniel S. Weld,et al.  The LPSAT Engine & Its Application to Resource Planning , 1999, IJCAI.

[11]  Marco Roveri,et al.  Computing Predicate Abstractions by Integrating BDDs and SMT Solvers , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[12]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[13]  Serdar Kadioglu,et al.  Dichotomic Search Protocols for Constrained Optimization , 2008, CP.

[14]  Panagiotis Manolios,et al.  ILP Modulo Theories , 2012, CAV.

[15]  David Kendrick,et al.  GAMS, a user's guide , 1988, SGNM.

[16]  Ignacio E. Grossmann,et al.  A cutting plane method for solving linear generalized disjunctive programming problems , 2005, Comput. Chem. Eng..

[17]  Roberto Sebastiani,et al.  Optimization in SMT with LA(Q) Cost Functions , 2012 .

[18]  Alberto Griggio,et al.  Efficient generation of craig interpolants in satisfiability modulo theories , 2009, TOCL.

[19]  Mary Sheeran,et al.  Checking Safety Properties Using Induction and a SAT-Solver , 2000, FMCAD.

[20]  Theo Tryfonas,et al.  Frontiers in Artificial Intelligence and Applications , 2009 .

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

[22]  Thorsten Koch,et al.  Constraint Integer Programming: A New Approach to Integrate CP and MIP , 2008, CPAIOR.

[23]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[24]  Felix Schlenk,et al.  Proof of Theorem 3 , 2005 .

[25]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[26]  Alberto Griggio,et al.  Satisfiability Modulo the Theory of Costs: Foundations and Applications , 2010, TACAS.

[27]  Ignacio E. Grossmann,et al.  A hierarchy of relaxations for linear generalized disjunctive programming , 2012, Eur. J. Oper. Res..

[28]  Vasco M. Manquinho,et al.  Pseudo-Boolean and Cardinality Constraints , 2021, Handbook of Satisfiability.

[29]  E. Balas Disjunctive programming and a hierarchy of relaxations for discrete optimization problems , 1985 .

[30]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[31]  Cesare Tinelli,et al.  A New Correctness Proof of the {Nelson-Oppen} Combination Procedure , 1996, FroCoS.

[32]  Marco Bozzano,et al.  Verifying Industrial Hybrid Systems with MathSAT , 2005, BMC@CAV.

[33]  Albert Oliveras,et al.  On SAT Modulo Theories and Optimization Problems , 2006, SAT.

[34]  Youssef Hamadi,et al.  A Concurrent Portfolio Approach to SMT Solving , 2009, CAV.

[35]  Egon Balas,et al.  New Variants of Lift-and-Project Cut Generation from the LP Tableau: Open Source Implementation and Testing , 2007, IPCO.

[36]  David L. Dill,et al.  A Generalization of Shostak's Method for Combining Decision Procedures , 2002, FroCoS.

[37]  Marco Bozzano,et al.  Efficient theory combination via boolean search , 2006, Inf. Comput..

[38]  Alberto Griggio,et al.  The MathSAT 5 SMT Solver ⋆ , 2012 .

[39]  Alberto Griggio,et al.  A Modular Approach to MaxSAT Modulo Theories , 2013, SAT.

[40]  Alberto Griggio,et al.  Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories , 2014, J. Artif. Intell. Res..

[41]  Carlos Ansótegui,et al.  Satisfiability Modulo Theories: An Efficient Approach for the Resource-Constrained Project Scheduling Problem , 2011, SARA.

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

[43]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[44]  Egon Balas,et al.  programming: Properties of the convex hull of feasible points * , 1998 .

[45]  Bernd Becker,et al.  Exploiting Different Strategies for the Parallelization of an SMT Solver , 2010, MBMV.

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

[47]  Ignacio E. Grossmann,et al.  A cutting plane method for solving linear generalized disjunctive programming problems , 2003 .

[48]  David A. Plaisted,et al.  A Structure-Preserving Clause Form Translation , 1986, J. Symb. Comput..

[49]  Alberto Griggio,et al.  A Simple and Flexible Way of Computing Small Unsatisfiable Cores in SAT Modulo Theories , 2007, SAT.

[50]  Toby Walsh,et al.  Handbook of satisfiability , 2009 .

[51]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[52]  Alessandro Cimatti,et al.  SAT-Based Bounded Model Checking for Timed Systems , 2002 .

[53]  Alberto Griggio,et al.  A Practical Approach to Satisability Modulo Linear Integer Arithmetic , 2012, J. Satisf. Boolean Model. Comput..

[54]  Inês Lynce,et al.  Conflict-Driven Clause Learning SAT Solvers , 2009, Handbook of Satisfiability.