Skip to main content
Log in

OptiMathSAT: A Tool for Optimization Modulo Theories

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. In the famous Zeno’s paradox, Achilles never reaches the tortoise for a similar reason.

  2. This observation is empirical and based on our experience with \(\text {OMT}\) (\(\mathcal {LIRA}\)) (see, e.g., [70, 71, 73]).

  3. As in [31], by “continuous relaxation”—henceforth simply “relaxation”—we mean that the integrality constraints on the integer variables are relaxed, so that they can take fractional values.

  4. Notice that the Linear, Max–Min and Min–Max combinations of objectives are handled instead by the Optimization Context block because this consists in a simple encoding, see Sect. 2.5.

  5. This is a purely syntactic sugar extension for easiness of use.

  6. Notice that SMT-LIBv2 makes available the define-fun command, which can be used to achieve similar goals. The “id” attribute was introduced over arbitrary objectives for consistency with the case of MaxSMT/PB goals defined with assert-soft. It also makes it simpler to identify objectives recombination at the implementation level, which may allow for introducing new techniques exploiting this knowledge in the future.

References

  1. CGM-Tool. http://www.cgm-tool.eu

  2. D-wave 2x tecnology overview. https://www.dwavesys.com/sites/default/files/D-Wave

  3. Experimental data. http://disi.unitn.it/trentin/resources/jar2017.tar.gz

  4. FlatZinc 1.6. http://www.minizinc.org/downloads/doc-1.6/flatzinc-spec.pdf

  5. LMT. http://disi.unitn.it/~teso/lmt/lmt.tgz

  6. MiniZinc 1.6. http://www.minizinc.org/downloads/doc-1.6/zinc-spec.pdf

  7. OptiMathSAT. http://optimathsat.disi.unitn.it

  8. PyLMT. http://www.bitbucket.org/stefanoteso/pylmt

  9. FlatZinc support in OptiMathSAT. http://optimathsat.disi.unitn.it/pages/fznreference.html

  10. WCET OMT. https://github.com/PatrickTrentin88/wcet_omt

  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. Achterberg, T.: Scip: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)

    MathSciNet  MATH  Google Scholar 

  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)

  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)

  15. Balas, E.: Disjunctive programming: properties of the convex hull of feasible points. Discrete Appl. Math. 89(1–3), 3–44 (1998)

    MathSciNet  MATH  Google Scholar 

  16. Barrett, C., Ranise, S., Stump, A., Tinelli, C.: The satisfiability modulo theories library (smt-lib) (2010). http://www.smtlib.org

  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. 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)

    Google Scholar 

  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)

    Google Scholar 

  20. Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. IOS Press, Amsterdam (2009)

  21. Bjorner, N.: Personal communication, 02 (2016)

  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. Bjorner, N., Phan, A.-D., Fleckenstein, L.: Z3—an optimizing SMT solver. In: Proceedings of TACAS, LNCS, vol. 9035. Springer, Berlin (2015)

  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)

  25. Bofill, M., Palahí, M., Suy, J., Villaret, M.: Solving constraint satisfaction problems with SAT modulo theories. Constraints 17(3), 273–303 (2012)

    MathSciNet  MATH  Google Scholar 

  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)

  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. 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)

    MathSciNet  MATH  Google Scholar 

  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. 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)

    MATH  Google Scholar 

  31. Byrd, R.H., Goldman, A.J., Heller, M.: Technical note–recognizing unbounded integer programs. Oper. Res. 35(1), 140–142 (1987)

    MathSciNet  MATH  Google Scholar 

  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)

  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. 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. 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. 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)

    MATH  Google Scholar 

  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)

    MathSciNet  MATH  Google Scholar 

  38. Cimatti, A., Griggio, A., Sebastiani, R.: Computing small unsatisfiable cores in SAT modulo theories. J. Artif. Intell. Res. JAIR 40, 701–728 (2011)

    MATH  Google Scholar 

  39. Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: CAV, LNCS, vol. 4144 (2006)

  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. 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. 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. Griggio, A.: A practical approach to satisfiability modulo linear integer arithmetic. J. Satisf. Boolean Model. Comput. JSAT 8, 1–27 (2012)

    MathSciNet  MATH  Google Scholar 

  44. Haller, L., Griggio, A., Brain, M., Kroening, D.: Deciding floating-point logic with systematic abstraction. In: Proceedings of FMCAD (2012) (to appear)

  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)

    Google Scholar 

  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)

    Google Scholar 

  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. Larraz, D., Oliveras, A., Rodríguez-Carbonell, E., Rubio, A.: Minimal-model-guided approaches to solving polynomial constraints and extensions. In: SAT (2014)

  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, Germany

  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)

    MATH  Google Scholar 

  51. Li, Y., Albarghouthi, A., Kincad, Z., Gurfinkel, A., Chechik, M.: Symbolic Optimization with SMT Solvers. In: POPL (2014)

  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. Manolios, P., Papavasileiou, V.: Ilp modulo theories. In: CAV, pp. 662–677 (2013)

    Google Scholar 

  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)

    MathSciNet  MATH  Google Scholar 

  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. MiniZinc. www.minizinc.org

  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. 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)

  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

    Google Scholar 

  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)

  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)

  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)

    MathSciNet  MATH  Google Scholar 

  63. Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation = Lazy Clause Generation, pp. 544–558. Springer, Berlin (2007)

    MATH  Google Scholar 

  64. Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)

    MathSciNet  MATH  Google Scholar 

  65. Raman, R., Grossmann, I.: Modelling and computational techniques for logic based integer programming. Comput. Chem. Eng. 18(7), 563–578 (1994)

    Google Scholar 

  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)

  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)

    Google Scholar 

  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)

    MathSciNet  MATH  Google Scholar 

  69. Sebastiani, R.: Lazy satisfiability modulo theories. J. Satisf. Boolean Model. Comput. JSAT 3(3–4), 141–224 (2007)

    MathSciNet  MATH  Google Scholar 

  70. Sebastiani, R., Tomasi, S.: Optimization in SMT with LA(Q) cost functions. In: IJCAR, LNAI, vol. 7364, pp. 484–498. Springer (2012)

  71. Sebastiani, R., Tomasi, S.: Optimization modulo theories with linear rational costs. ACM Trans. Comput. Logics 16(2), 12 (2015)

    MathSciNet  MATH  Google Scholar 

  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)

  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)

  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)

  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)

    MATH  Google Scholar 

  76. Teso, S., Sebastiani, R., Passerini, A.: Structured learning modulo theories. Artif. Intell. 244, 166–187 (2017)

    MathSciNet  MATH  Google Scholar 

  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)

  78. Vecchietti, A., Grossmann, I.: Computational experience with logmip solving linear and nonlinear disjunctive programming problems. In: Proceedings of FOCAPD, pp. 587–590 (2004)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrick Trentin.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This paper describes OptiMathSAT 1.4.2, which is the latest version available when it was submitted.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sebastiani, R., Trentin, P. OptiMathSAT: A Tool for Optimization Modulo Theories. J Autom Reasoning 64, 423–460 (2020). https://doi.org/10.1007/s10817-018-09508-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-018-09508-6

Keywords

Navigation