skip to main content
research-article

Optimization Modulo Theories with Linear Rational Costs

Published:17 February 2015Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. Egon Balas. 1998. Disjunctive programming: Properties of the convex hull of feasible points. Discr. Appl. Math. 89, 1--3 (1998), 3--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Biere, A. Cimatti, E. M. Clarke, and Yunshan Zhu. 1999. Symbolic model checking without BDDs. In Proc. TACAS’99. 193--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Armin Biere, Marijn J. H. Heule, Hans van Maaren, and Toby Walsh (Eds.). 2009. Handbook of Satisfiability. IOS Press. 980 pages.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Brooke, D. Kendrick, A. Meeraus, and R. Raman. 2011. GAMS—A User’s Guide. GAMS Development Corporation, Washington, DC.Google ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Isil Dillig, Thomas Dillig, Kenneth L. McMillan, and Alex Aiken. 2012. Minimum satisfying assignments for SMT. In CAV. 394--409. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle Scholar
  25. Alberto Griggio. 2012. A practical approach to satisfiability modulo linear integer arithmetic. J. Satis., Boolean Model. Comput. 8 (2012), 1--27.Google ScholarGoogle Scholar
  26. IBM. 2010. IBM ILOG CPLEX Optimizer. Retrieved from http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/.Google ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle Scholar
  29. Andrea Lodi. 2009. Mixed integer programming computation. In 50 Years of Integer Programming 1958-2008. Springer-Verlag, 619--645.Google ScholarGoogle Scholar
  30. 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 ScholarGoogle Scholar
  31. Panagiotis Manolios and Vasilis Papavasileiou. 2013. ILP modulo theories. In CAV. 662--677. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. J. P. Marques-Silva and K. A. Sakallah. 1996. GRASP—A new search algorithm for satisfiability. In Proc. ICCAD’96. 220--227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. C. G. Nelson and D. C. Oppen. 1979. Simplification by cooperating decision procedures. TOPLAS 1, 2 (1979), 245--257. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. D. A. Plaisted and S. Greenbaum. 1986. A structure-preserving clause form translation. J. Symbol. Comput. 2 (1986), 293--304. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarCross RefCross Ref
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarCross RefCross Ref
  42. 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 ScholarGoogle ScholarCross RefCross Ref
  43. Roberto Sebastiani. 2007. Lazy satisfiability modulo theories. J. Sat., Boolean Model. Comput. 3, 3--4 (2007), 141--224.Google ScholarGoogle Scholar
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. Meinolf Sellmann and Serdar Kadioglu. 2008. Dichotomic search protocols for constrained optimization. In CP. Lecture Notes in Computer Science, Vol. 5202. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle Scholar
  48. A. Vecchietti. 2011. (2011). Personal communication.Google ScholarGoogle Scholar
  49. 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 ScholarGoogle Scholar
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. S. Wolfman and D. Weld. 1999. The LPSAT engine & its application to resource planning. In Proc. IJCAI. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Optimization Modulo Theories with Linear Rational Costs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Computational Logic
        ACM Transactions on Computational Logic  Volume 16, Issue 2
        March 2015
        260 pages
        ISSN:1529-3785
        EISSN:1557-945X
        DOI:10.1145/2737801
        Issue’s Table of Contents

        Copyright © 2015 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 February 2015
        • Accepted: 1 December 2014
        • Revised: 1 September 2014
        • Received: 1 January 2014
        Published in tocl Volume 16, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader