Abstract
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.
- Tobias Achterberg, Timo Berthold, Thorsten Koch, and Kati Wolter. 2008. Constraint integer programming: A new approach to integrate CP and MIP. In Proc. CPAIOR’08. Lecture Notes in Computer Science, Vol. 5015. Springer, 6--20. Google ScholarDigital Library
- Carlos Ansótegui, Miquel Bofill, Miquel Palahí, Josep Suy, and Mateu Villaret. 2011. Satisfiability modulo theories: An efficient approach for the resource-constrained project scheduling problem. In SARA.Google Scholar
- Gilles Audemard, Marco Bozzano, Alessandro Cimatti, and Roberto Sebastiani. 2005. Verifying industrial hybrid systems with MathSAT. In Proc. BMC 2004 (ENTCS), Vol. 119. Elsevier. Google ScholarDigital Library
- Gilles Audemard, Alessandro Cimatti, Arthur Kornilowicz, and Roberto Sebastiani. 2002. SAT-based bounded model checking for timed systems. In Proc. FORTE’02. Lecture Notes in Computer Science, Vol. 2529. Springer.Google Scholar
- Egon Balas. 1983. Disjunctive Programming and a Hierarchy of Relaxations for Discrete Optimization Problems. Technical Report DRC-7O-21-R3. Carnegie Mellon University. Retrieved from http://repository.cmu.edu/cgi/viewcontent.cgi?article=1949&cont ext=tepper.Google Scholar
- Egon Balas. 1998. Disjunctive programming: Properties of the convex hull of feasible points. Discr. Appl. Math. 89, 1--3 (1998), 3--44. Google ScholarDigital Library
- Egon Balas and Pierre Bonami. 2007. New variants of lift-and-project cut generation from the LP tableau: Open source implementation and testing. In IPCO. 89--103. Google ScholarDigital Library
- Clark Barrett, Roberto Sebastiani, Sanjit A. Seshia, and Cesare Tinelli. 2009. Satisfiabiity modulo theories. In Handbook of Satisfiability, Armin Biere, Marijn J. H. Heule, Hans van Maaren, and Toby Walsh (Eds.). IOS Press, 825--885.Google Scholar
- C. W. Barrett, D. L. Dill, and A. Stump. 2002. A generalization of Shostak’s method for combining decision procedures. In Frontiers of Combining Systems (FROCOS). Lecture Notes in Artificial Intelligence. Springer-Verlag. Santa Margherita Ligure, Italy. Google ScholarDigital Library
- A. Biere, A. Cimatti, E. M. Clarke, and Yunshan Zhu. 1999. Symbolic model checking without BDDs. In Proc. TACAS’99. 193--207. Google ScholarDigital Library
- Armin Biere, Marijn J. H. Heule, Hans van Maaren, and Toby Walsh (Eds.). 2009. Handbook of Satisfiability. IOS Press. 980 pages.Google Scholar
- Marco Bozzano, Roberto Bruttomesso, Alessandro Cimatti, Tommi A. Junttila, Silvio Ranise, Peter van Rossum, and Roberto Sebastiani. 2006. Efficient theory combination via boolean search. Inf. Comput. 204, 10 (2006), 1493--1525. Google ScholarDigital Library
- A. Brooke, D. Kendrick, A. Meeraus, and R. Raman. 2011. GAMS—A User’s Guide. GAMS Development Corporation, Washington, DC.Google Scholar
- Roberto Cavada, Alessandro Cimatti, Anders Franzén, Krishnamani Kalyanasundaram, Marco Roveri, and R. K. Shyamasundar. 2007. Computing predicate abstractions by integrating BDDs and SMT solvers. In FMCAD. IEEE Comput. Soc., 69--76. Google ScholarDigital Library
- Alessandro Cimatti, Anders Franzén, Alberto Griggio, Roberto Sebastiani, and Cristian Stenico. 2010. Satisfiability modulo the theory of costs: Foundations and applications. In TACAS. Lecture Notes in Computer Science, Vol. 6015. Springer, 99--113. Google ScholarDigital Library
- Alessandro Cimatti, Alberto Griggio, Bastiaan Joost Schaafsma, and Roberto Sebastiani. 2013a. A modular approach to MaxSAT modulo theories. In International Conference on Theory and Applications of Satisfiability Testing, SAT. Lecture Notes in Computer Science, Vol. 7962. Google ScholarDigital Library
- Alessandro Cimatti, Alberto Griggio, Bastiaan Joost Schaafsma, and Roberto Sebastiani. 2013b. The MathSAT 5 SMT solver. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS’13). Lecture Notes in Computer Science, Vol. 7795. Springer, 95--109. Google ScholarDigital Library
- Alessandro Cimatti, Alberto Griggio, and Roberto Sebastiani. 2010. Efficient generation of Craig interpolants in satisfiability modulo theories. ACM Trans. Comput. Logics 12, 1 (Oct. 2010). Google ScholarDigital Library
- Alessandro Cimatti, Alberto Griggio, and Roberto Sebastiani. 2011. Computing small unsatisfiable cores in SAT modulo theories. J. Artif. Intell. Res. 40 (April 2011), 701--728. Google ScholarDigital Library
- Leonardo Mendonça de Moura and Nikolaj Bjørner. 2008. Z3: An efficient SMT solver. In TACAS. Lecture Notes in Computer Science, Vol. 4963. Springer, 337--340. Google ScholarDigital Library
- Isil Dillig, Thomas Dillig, Kenneth L. McMillan, and Alex Aiken. 2012. Minimum satisfying assignments for SMT. In CAV. 394--409. Google ScholarDigital Library
- Bruno Dutertre and Leonardo de Moura. 2006. A fast linear-arithmetic solver for DPLL(T). In CAV. Lecture Notes in Computer Science, Vol. 4144. Google ScholarDigital Library
- Bruno Dutertre and Leonardo De Moura. 2006. The Yices SMT Solver. Technical Report. SRI International. Retrieved from http://yices.csl.sri.com/tool-paper.pdf.Google Scholar
- N. Eén and N. Sörensson. 2004. An extensible SAT-solver. In Theory and Applications of Satisfiability Testing (SAT’03). Lecture Notes in Computer Science, Vol. 2919. Springer, 502--518.Google Scholar
- Alberto Griggio. 2012. A practical approach to satisfiability modulo linear integer arithmetic. J. Satis., Boolean Model. Comput. 8 (2012), 1--27.Google Scholar
- IBM. 2010. IBM ILOG CPLEX Optimizer. Retrieved from http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/.Google Scholar
- Natalia Kalinnik, Erika Ábrahám, Tobias Schubert, Ralf Wimmer, and Bernd Becker. 2010. Exploiting different strategies for the parallelization of an SMT solver. In Proc. MBMV. 97--106.Google Scholar
- Chu Min Li and Felip Manyà. 2009. MaxSAT, hard and soft constraints. In Handbook of Satisfiability, Armin Biere, Marijn J. H. Heule, Hans van Maaren, and Toby Walsh (Eds.). IOS Press, 613--631.Google Scholar
- Andrea Lodi. 2009. Mixed integer programming computation. In 50 Years of Integer Programming 1958-2008. Springer-Verlag, 619--645.Google Scholar
- I. Lynce and J. P. Marques-Silva. 2004. On computing minimum unsatisfiable cores. In Proc. 7th International Conference on Theory and Applications of Satisfiability Testing.Google Scholar
- Panagiotis Manolios and Vasilis Papavasileiou. 2013. ILP modulo theories. In CAV. 662--677. Google ScholarDigital Library
- Joao P. Marques-Silva, Ines Lynce, and Sharad Malik. 2009. Conflict-Driven Clause Learning SAT Solvers, Chapter 4, 131--153. In Biere et al. {2009}.Google Scholar
- J. P. Marques-Silva and K. A. Sakallah. 1996. GRASP—A new search algorithm for satisfiability. In Proc. ICCAD’96. 220--227. Google ScholarDigital Library
- Matthew W. Moskewicz, Conor F. Madigan, Ying Zhao, Lintao Zhang, and Sharad Malik. 2001. Chaff: Engineering an efficient SAT solver. In DAC. 530--535. Google ScholarDigital Library
- C. G. Nelson and D. C. Oppen. 1979. Simplification by cooperating decision procedures. TOPLAS 1, 2 (1979), 245--257. Google ScholarDigital Library
- Robert Nieuwenhuis and Albert Oliveras. 2006. On SAT modulo theories and optimization problems. In Proc. Theory and Applications of Satisfiability Testing (SAT’06). Lecture Notes in Computer Science, Vol. 4121. Springer. Google ScholarDigital Library
- R. Nieuwenhuis, A. Oliveras, and C. Tinelli. 2006. Solving SAT and SAT modulo theories: From an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T). J. ACM 53, 6 (Nov. 2006), 937--977. Google ScholarDigital Library
- D. A. Plaisted and S. Greenbaum. 1986. A structure-preserving clause form translation. J. Symbol. Comput. 2 (1986), 293--304. Google ScholarDigital Library
- R. Raman and I. E. Grossmann. 1994. Modelling and computational techniques for logic based integer programming. Comput. Chem. Eng. 18, 7 (1994), 563--578.Google ScholarCross Ref
- Olivier Roussel and Vaso Manquinho. 2009. Pseudo-Boolean and Cardinality Constraints. In Handbook of Satisfiability, Armin Biere, Marijn J. H. Heule, Hans van Maaren, and Toby Walsh (Eds.). IOS Press, 695--733.Google Scholar
- Nicolas W. Sawaya and Ignacio E. Grossmann. 2005. A cutting plane method for solving linear generalized disjunctive programming problems. Comput. Chem. Eng. 29, 9 (2005), 1891--1913.Google ScholarCross Ref
- Nicolas W. Sawaya and Ignacio E. Grossmann. 2012. A hierarchy of relaxations for linear generalized disjunctive programming. Eur. J. Oper. Res. 216, 1 (2012), 70--82.Google ScholarCross Ref
- Roberto Sebastiani. 2007. Lazy satisfiability modulo theories. J. Sat., Boolean Model. Comput. 3, 3--4 (2007), 141--224.Google Scholar
- Roberto Sebastiani and Silvia Tomasi. 2012. Optimization in SMT with LA(Q) cost functions. In IJCAR. Lecture Notes in Artificial Intelligence, Vol. 7364. Springer, 484--498. Retrieved from http://disi.unitn.it/∼rseba/publist.html. Google ScholarDigital Library
- Meinolf Sellmann and Serdar Kadioglu. 2008. Dichotomic search protocols for constrained optimization. In CP. Lecture Notes in Computer Science, Vol. 5202. Springer. Google ScholarDigital Library
- Mary Sheeran, Satnam Singh, and Gunnar Stålmarck. 2000. Checking safety properties using induction and a SAT-solver. In FMCAD. Lecture Notes in Computer Science. Springer, 108--125. Google ScholarDigital Library
- C. Tinelli and M. T. Harandi. 1996. A new correctness proof of the Nelson--Oppen combination procedure. In Proc. Frontiers of Combining Systems (FroCoS’06) (Applied Logic). Kluwer.Google Scholar
- A. Vecchietti. 2011. (2011). Personal communication.Google Scholar
- A. Vecchietti and I. E. Grossmann. 2004. Computational experience with LogMIP solving linear and nonlinear disjunctive programming problems. In Proc. of FOCAPD. 587--590.Google Scholar
- Christoph M. Wintersteiger, Youssef Hamadi, and Leonardo Mendonça de Moura. 2009. A concurrent portfolio approach to SMT solving. In Proc. Computer Aided Verification, CAV. 715--720. DOI: http://dx.doi.org/10.1007/978-3-642-02658-4_60 Google ScholarDigital Library
- S. Wolfman and D. Weld. 1999. The LPSAT engine & its application to resource planning. In Proc. IJCAI. Google ScholarDigital Library
Index Terms
- Optimization Modulo Theories with Linear Rational Costs
Recommendations
Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T)
We first introduce Abstract DPLL, a rule-based formulation of the Davis--Putnam--Logemann--Loveland (DPLL) procedure for propositional satisfiability. This abstract framework allows one to cleanly express practical DPLL algorithms and to formally reason ...
Symbolic optimization with SMT solvers
POPL '14The rise in efficiency of Satisfiability Modulo Theories (SMT) solvers has created numerous uses for them in software verification, program synthesis, functional programming, refinement types, etc. In all of these applications, SMT solvers are used for ...
All-Solution Satisfiability Modulo Theories: Applications, Algorithms and Benchmarks
ARES '15: Proceedings of the 2015 10th International Conference on Availability, Reliability and SecuritySatisfiability Modulo Theories (SMT) is a decision problem for logical formulas over one or more first-order theories. In this paper, we study the problem of finding all solutions of an SMT problem with respect to a set of Boolean variables, henceforth ...
Comments