Advertisement

OptiMathSAT: A Tool for Optimization Modulo Theories

  • Roberto Sebastiani
  • Patrick Trentin
Article
  • 19 Downloads

Abstract

Optimization Modulo Theories (\(\text {OMT}\)) is an extension of SMT which allows for finding models that optimize given objectives. OptiMathSAT is an OMT solver which allows for solving a list of optimization problems on SMT formulas with linear objective functions—on the Boolean, the rational and the integer domains, and on their combination thereof—including (partial weighted) MaxSMT . Multiple and heterogeneous objective functions can be combined together and handled either independently, or lexicographically, or in linear or min–max /max–min combinations. OptiMathSAT provides an incremental interface, it supports both an extended version of the SMT-LIBv2 language and a subset of the FlatZinc language, and can be interfaced via an API. In this paper we describe OptiMathSAT and its usage in full detail.

Keywords

OptiMathSAT Optimization Modulo Theories OMT MaxSMT Sorting networks Multi-objective optimization 

Notes

References

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
    Abío, I., Nieuwenhuis, R., Oliveras, A., Rodríguez-Carbonell, E.: A parametric approach for smaller and better encodings of cardinality constraints. In: 19th International Conference on Principles and Practice of Constraint Programming, CP’13 (2013)Google Scholar
  12. 12.
    Achterberg, T.: Scip: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Achterberg, T., Berthold, T., Koch, T., Wolter, K.: Constraint integer programming: a new approach to integrate CP and MIP. In: Proceedings of CPAIOR’08, LNCS, pp. 6–20. Springer (2008)Google Scholar
  14. 14.
    Ansótegui, C., Bofill, M., Palahí, M., Suy, J., Villaret, M.: Satisfiability modulo theories: an efficient approach for the resource-constrained project scheduling problem. In: SARA (2011)Google Scholar
  15. 15.
    Balas, E.: Disjunctive programming: properties of the convex hull of feasible points. Discrete Appl. Math. 89(1–3), 3–44 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Barrett, C., Ranise, S., Stump, A., Tinelli, C.: The satisfiability modulo theories library (smt-lib) (2010). http://www.smtlib.org
  17. 17.
    Barrett, C., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories, chapter 26. In: Biere, A., et al. (eds.) Handbook of Satisfiability, pp. 825–885. IOS Press, Amsterdam (2009)Google Scholar
  18. 18.
    Bian, Z., Chudak, F., Israel, R., Lackey, B., Macready, W.G., Roy, A.: Discrete optimization using quantum annealing on sparse Ising models. Front. Phys. 2, 56 (2014)CrossRefGoogle Scholar
  19. 19.
    Bian, Z., Chudak, F., Macready, W., Roy, A., Sebastiani, R., Varotti, S.: Solving SAT and MaxSAT with a quantum annealer: foundations and a preliminary report. In: Dixon, C., Finger, M. (eds.) Frontiers of Combining Systems, LNCS, vol. 10483, pp. 153–171. Springer, Berlin (2017)CrossRefGoogle Scholar
  20. 20.
    Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. IOS Press, Amsterdam (2009)Google Scholar
  21. 21.
    Bjorner, N.: Personal communication, 02 (2016)Google Scholar
  22. 22.
    Bjorner, N., Phan, A.-D.: \(\nu {}Z\)—Maximal satisfaction with Z3. In: Proceedings of International Symposium on Symbolic Computation in Software Science, Gammart, Tunisia, December 2014. EasyChair Proceedings in Computing (EPiC). http://www.easychair.org/publications/?page=862275542
  23. 23.
    Bjorner, N., Phan, A.-D., Fleckenstein, L.: Z3—an optimizing SMT solver. In: Proceedings of TACAS, LNCS, vol. 9035. Springer, Berlin (2015)Google Scholar
  24. 24.
    Bofill, M., Palahı, M., Suy, J., Villaret, M.: Simply: a compiler from a csp modeling language to the smt-lib format. In: Proceedings of the 8th International Workshop on Constraint Modelling and Reformulation, pp. 30–44 (2009)Google Scholar
  25. 25.
    Bofill, M., Palahí, M., Suy, J., Villaret, M.: Solving constraint satisfaction problems with SAT modulo theories. Constraints 17(3), 273–303 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Bofill, M., Palahı, M., Villaret, M.: A system for CSP solving through satisfiability modulo theories. IX Jornadas sobre Programación y Lenguajes (PROLE09), pp. 303–312 (2009)Google Scholar
  27. 27.
    Bofill, M., Suy, J., Villaret, M.: A system for solving constraint satisfaction problems with SMT. In: Theory and Applications of Satisfiability Testing-SAT 2010, pp. 300–305 (2010)Google Scholar
  28. 28.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., Ranise, S., van Rossum, P., Sebastiani, R.: Efficient theory combination via Boolean search. Inf. Comput. 204(10), 1493–1525 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Brain, M., D’Silva, V., Griggio, A., Haller, L., Kroening, D.: Interpolation-based verification of floating-point programs with abstract CDCL. In: SAS, pp. 412–432 (2013)Google Scholar
  30. 30.
    Brain, M., D’Silva, V., Griggio, A., Haller, L., Kroening, D.: Deciding floating-point logic with abstract conflict driven clause learning. Form. Methods Syst. Des. 45(2), 213–245 (2014)CrossRefzbMATHGoogle Scholar
  31. 31.
    Byrd, R.H., Goldman, A.J., Heller, M.: Technical note–recognizing unbounded integer programs. Oper. Res. 35(1), 140–142 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R., Stenico, C.: Satisfiability modulo the theory of costs: Foundations and applications. In: TACAS, LNCS, vol. 6015, pp. 99–113. Springer, Berlin (2010)Google Scholar
  33. 33.
    Cimatti, A., Griggio, A., Irfan, A., Roveri, M., Sebastiani, R.: Invariant Checking of NRA Transition Systems via Incremental Reduction to LRA with EUF, pp. 58–75. Springer, Berlin (2017)Google Scholar
  34. 34.
    Cimatti, A., Griggio, A., Irfan, A., Roveri, M., Sebastiani, R.: Satisfiability modulo transcendental functions via incremental linearization. In: Proceedings of International Conference on Automated Deduction, CADE-26, LNCS. Springer, Berlin (2017)Google Scholar
  35. 35.
    Cimatti, A., Griggio, A., Schaafsma, B.J., Sebastiani, R.: A modular approach to maxsat modulo theories. In: International Conference on Theory and Applications of Satisfiability Testing, SAT, LNCS, vol. 7962 (2013)Google Scholar
  36. 36.
    Cimatti, A., Griggio, A., Schaafsma, B.J., Sebastiani, R.: The MathSAT 5 SMT solver. In: Tools and Algorithms for the Construction and Analysis of Systems, TACAS’13., LNCS, vol. 7795, pp. 95–109. Springer, Berlin (2013)Google Scholar
  37. 37.
    Cimatti, A., Griggio, A., Sebastiani, R.: Efficient generation of craig interpolants in satisfiability modulo theories. ACM Trans. Comput. Logics TOCL 12(1), 7 (2010)MathSciNetzbMATHGoogle Scholar
  38. 38.
    Cimatti, A., Griggio, A., Sebastiani, R.: Computing small unsatisfiable cores in SAT modulo theories. J. Artif. Intell. Res. JAIR 40, 701–728 (2011)zbMATHGoogle Scholar
  39. 39.
    Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: CAV, LNCS, vol. 4144 (2006)Google Scholar
  40. 40.
    Dutertre, B., de Moura, L.: System description: Yices 1.0. In: Proceedings on 2nd SMT competition, SMT-COMP’06 (2006). https://www.yices.csl.sri.com/papers/yices-smtcomp06.pdf
  41. 41.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Theory and Applications of Satisfiability Testing (SAT 2003), LNCS, vol. 2919, pp. 502–518. Springer, Berlin (2004)Google Scholar
  42. 42.
    Feydy, T., Stuckey, P.J.: Lazy clause generation reengineered. In: Proceedings of the 15th International Conference on Principles and Practice of Constraint Programming, CP’09, pp. 352–366. Springer, Berlin (2009)Google Scholar
  43. 43.
    Griggio, A.: A practical approach to satisfiability modulo linear integer arithmetic. J. Satisf. Boolean Model. Comput. JSAT 8, 1–27 (2012)MathSciNetzbMATHGoogle Scholar
  44. 44.
    Haller, L., Griggio, A., Brain, M., Kroening, D.: Deciding floating-point logic with systematic abstraction. In: Proceedings of FMCAD (2012) (to appear)Google Scholar
  45. 45.
    Henry, J., Asavoae, M., Monniaux, D., Maïza, C.: How to compute worst-case execution time by optimization modulo theory and a clever encoding of program semantics. SIGPLAN Not. 49(5), 43–52, 06 (2014)CrossRefGoogle Scholar
  46. 46.
    Johnson, M.W., Amin, M.H.S., Gildert, S., Lanting, T., Hamze, F., Dickson, N., Harris, R., Berkley, A.J., Johansson, J., Bunyk, P., Chapple, E.M., Enderud, C., Hilton, J.P., Karimi, K., Ladizinsky, E., Ladizinsky, N., Oh, T., Perminov, I., Rich, C., Thom, M.C., Tolkacheva, E., Truncik, C.J.S., Uchaikin, S., Wang, J., Wilson, B., Rose, G.: Quantum annealing with manufactured spins. Nature 473(7346), 194–198 (2011)CrossRefGoogle Scholar
  47. 47.
    Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: Proceedings of CAV, LNCS 4144. Springer, Berlin (2006)Google Scholar
  48. 48.
    Larraz, D., Oliveras, A., Rodríguez-Carbonell, E., Rubio, A.: Minimal-model-guided approaches to solving polynomial constraints and extensions. In: SAT (2014)Google Scholar
  49. 49.
    Laumanns, M., Thiele, L., Zitzler, E.: An adaptive scheme to generate the pareto front based on the epsilon-constraint method. In: Branke, J., Deb, K., Miettinen, K., Steuer, R.E.: (eds.), Practical Approaches to Multi-Objective Optimization, number 04461 in Dagstuhl Seminar Proceedings, Dagstuhl, Germany, (2005). Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, GermanyGoogle Scholar
  50. 50.
    Legriel, J., Le Guernic, C., Cotton, S., Maler, O.: Approximating the pareto front of multi-criteria optimization problems. In: Esparza, J., Majumdar, R. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, LNCS, vol. 6015, pp. 69–83. Springer, Berlin (2010)Google Scholar
  51. 51.
    Li, Y., Albarghouthi, A., Kincad, Z., Gurfinkel, A., Chechik, M.: Symbolic Optimization with SMT Solvers. In: POPL (2014)Google Scholar
  52. 52.
    Lodi, A.: Mixed integer programming computation. In: Jünger, M., et al. (eds.) 50 Years of Integer Programming 1958–2008, pp. 619–645. Springer, Berlin (2009)Google Scholar
  53. 53.
    Manolios, P., Papavasileiou, V.: Ilp modulo theories. In: CAV, pp. 662–677 (2013)Google Scholar
  54. 54.
    Marques-Silva, J., Argelich, J., Graa, A., Lynce, I.: Boolean lexicographic optimization: algorithms & applications. Ann. Math. Artif. Intell. 62(3–4), 317–343 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  55. 55.
    Marques-Silva, J.P., Lynce, I., Malik, S.: Conflict-driven clause learning SAT solvers, chapter 4. In: Biere, M., et al. (eds.) Handbook of Satisfiability, pp. 131–153. Springer, Berlin (2009)Google Scholar
  56. 56.
    MiniZinc. www.minizinc.org
  57. 57.
    Nadel, A., Ryvchin, V.: Bit-vector optimization. In: Chechik, M., Raskin, J.F. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2016, LNCS, vol. 9636. Springer, Berlin (2016)Google Scholar
  58. 58.
    Narodytska, N., Bacchus, F.: Maximum satisfiability using core-guided maxsat resolution. In: Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence, July 27–31, 2014, Québec City, Québec, Canada, pp. 2717–2723. AAAI Press (2014)Google Scholar
  59. 59.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Multi-object reasoning with constrained goal models. Requirements Engineering, 2016. In print. Published online (24 December 2016).  https://doi.org/10.1007/s00766-016-0263-5
  60. 60.
    Nguyen, C.M., Sebastiani, R., Giorgini, P., Mylopoulos, J.: Requirements evolution and evolution requirements with constrained goal models. In: Proceedings of the 37nd International Conference on Conceptual Modeling-ER16, LNCS. Springer (2016)Google Scholar
  61. 61.
    Nieuwenhuis, R., Oliveras, A.: On SAT modulo theories and optimization problems. In: Proceedings of Theory and Applications of Satisfiability Testing-SAT 2006, LNCS, vol. 4121. Springer (2006)Google Scholar
  62. 62.
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT modulo theories: from an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(T). J. ACM 53(6), 937–977 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  63. 63.
    Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation = Lazy Clause Generation, pp. 544–558. Springer, Berlin (2007)zbMATHGoogle Scholar
  64. 64.
    Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  65. 65.
    Raman, R., Grossmann, I.: Modelling and computational techniques for logic based integer programming. Comput. Chem. Eng. 18(7), 563–578 (1994)CrossRefGoogle Scholar
  66. 66.
    Rayside, D., Estler, H.-C., Jackson, D.: The guided improvement algorithm for exact, general-purpose, many-objective combinatorial optimization. Technical Report, Massachusetts Institute of Technology, Cambridge, 07 (2009)Google Scholar
  67. 67.
    Sawaya, N.W., Grossmann, I.E.: A cutting plane method for solving linear generalized disjunctive programming problems. Comput. Chem. Eng. 29(9), 1891–1913 (2005)CrossRefGoogle Scholar
  68. 68.
    Sawaya, N.W., Grossmann, I.E.: A hierarchy of relaxations for linear generalized disjunctive programming. Eur. J. Oper. Res. 216(1), 70–82 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  69. 69.
    Sebastiani, R.: Lazy satisfiability modulo theories. J. Satisf. Boolean Model. Comput. JSAT 3(3–4), 141–224 (2007)MathSciNetzbMATHGoogle Scholar
  70. 70.
    Sebastiani, R., Tomasi, S.: Optimization in SMT with LA(Q) cost functions. In: IJCAR, LNAI, vol. 7364, pp. 484–498. Springer (2012)Google Scholar
  71. 71.
    Sebastiani, R., Tomasi, S.: Optimization modulo theories with linear rational costs. ACM Trans. Comput. Logics 16(2), 12 (2015)MathSciNetzbMATHGoogle Scholar
  72. 72.
    Sebastiani, R., Trentin, P.: OptiMathSAT: a tool for optimization modulo theories. In: Proceedings of International Conference on Computer-Aided Verification, CAV 2015, LNCS, vol. 9206. Springer (2015)Google Scholar
  73. 73.
    Sebastiani, R., Trentin, P.: Pushing the envelope of optimization modulo theories with linear-arithmetic cost functions. In: Proceedings of International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’15, LNCS, vol. 9035. Springer (2015)Google Scholar
  74. 74.
    Sebastiani, R., Trentin, P.: On optimization modulo theories, maxsmt and sorting networks. In: Proceedings of International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’17, LNCS, vol. 10205. Springer (2017)Google Scholar
  75. 75.
    Sinz, C.: Towards an optimal CNF encoding of Boolean cardinality constraints. In: van Beek, P. (ed.) Principles and Practice of Constraint Programming, CP, LNCS, vol. 3709, pp. 827–831. Springer, Berlin (2005)Google Scholar
  76. 76.
    Teso, S., Sebastiani, R., Passerini, A.: Structured learning modulo theories. Artif. Intell. 244, 166–187 (2017)MathSciNetCrossRefzbMATHGoogle Scholar
  77. 77.
    Van Lamsweerde, A.: Goal-oriented requirements engineering: a guided tour. In: Proceedings of the Fifth IEEE International Conference on Requirements Engineering, RE’01, pp. 249. IEEE Computer Society (2001)Google Scholar
  78. 78.
    Vecchietti, A., Grossmann, I.: Computational experience with logmip solving linear and nonlinear disjunctive programming problems. In: Proceedings of FOCAPD, pp. 587–590 (2004)Google Scholar

Copyright information

© Springer Nature B.V. 2018

Authors and Affiliations

  1. 1.DISIUniversity of TrentoTrentoItaly

Personalised recommendations