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.
Similar content being viewed by others
Notes
In the famous Zeno’s paradox, Achilles never reaches the tortoise for a similar reason.
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.
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.
This is a purely syntactic sugar extension for easiness of use.
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
CGM-Tool. http://www.cgm-tool.eu
D-wave 2x tecnology overview. https://www.dwavesys.com/sites/default/files/D-Wave
Experimental data. http://disi.unitn.it/trentin/resources/jar2017.tar.gz
FlatZinc 1.6. http://www.minizinc.org/downloads/doc-1.6/flatzinc-spec.pdf
MiniZinc 1.6. http://www.minizinc.org/downloads/doc-1.6/zinc-spec.pdf
OptiMathSAT. http://optimathsat.disi.unitn.it
FlatZinc support in OptiMathSAT. http://optimathsat.disi.unitn.it/pages/fznreference.html
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)
Achterberg, T.: Scip: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)
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)
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)
Balas, E.: Disjunctive programming: properties of the convex hull of feasible points. Discrete Appl. Math. 89(1–3), 3–44 (1998)
Barrett, C., Ranise, S., Stump, A., Tinelli, C.: The satisfiability modulo theories library (smt-lib) (2010). http://www.smtlib.org
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)
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)
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)
Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. IOS Press, Amsterdam (2009)
Bjorner, N.: Personal communication, 02 (2016)
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
Bjorner, N., Phan, A.-D., Fleckenstein, L.: Z3—an optimizing SMT solver. In: Proceedings of TACAS, LNCS, vol. 9035. Springer, Berlin (2015)
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)
Bofill, M., Palahí, M., Suy, J., Villaret, M.: Solving constraint satisfaction problems with SAT modulo theories. Constraints 17(3), 273–303 (2012)
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)
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)
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)
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)
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)
Byrd, R.H., Goldman, A.J., Heller, M.: Technical note–recognizing unbounded integer programs. Oper. Res. 35(1), 140–142 (1987)
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)
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)
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)
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)
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)
Cimatti, A., Griggio, A., Sebastiani, R.: Efficient generation of craig interpolants in satisfiability modulo theories. ACM Trans. Comput. Logics TOCL 12(1), 7 (2010)
Cimatti, A., Griggio, A., Sebastiani, R.: Computing small unsatisfiable cores in SAT modulo theories. J. Artif. Intell. Res. JAIR 40, 701–728 (2011)
Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: CAV, LNCS, vol. 4144 (2006)
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
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)
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)
Griggio, A.: A practical approach to satisfiability modulo linear integer arithmetic. J. Satisf. Boolean Model. Comput. JSAT 8, 1–27 (2012)
Haller, L., Griggio, A., Brain, M., Kroening, D.: Deciding floating-point logic with systematic abstraction. In: Proceedings of FMCAD (2012) (to appear)
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)
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)
Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: Proceedings of CAV, LNCS 4144. Springer, Berlin (2006)
Larraz, D., Oliveras, A., Rodríguez-Carbonell, E., Rubio, A.: Minimal-model-guided approaches to solving polynomial constraints and extensions. In: SAT (2014)
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
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)
Li, Y., Albarghouthi, A., Kincad, Z., Gurfinkel, A., Chechik, M.: Symbolic Optimization with SMT Solvers. In: POPL (2014)
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)
Manolios, P., Papavasileiou, V.: Ilp modulo theories. In: CAV, pp. 662–677 (2013)
Marques-Silva, J., Argelich, J., Graa, A., Lynce, I.: Boolean lexicographic optimization: algorithms & applications. Ann. Math. Artif. Intell. 62(3–4), 317–343 (2011)
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)
MiniZinc. www.minizinc.org
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)
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)
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
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)
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)
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)
Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation = Lazy Clause Generation, pp. 544–558. Springer, Berlin (2007)
Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)
Raman, R., Grossmann, I.: Modelling and computational techniques for logic based integer programming. Comput. Chem. Eng. 18(7), 563–578 (1994)
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)
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)
Sawaya, N.W., Grossmann, I.E.: A hierarchy of relaxations for linear generalized disjunctive programming. Eur. J. Oper. Res. 216(1), 70–82 (2012)
Sebastiani, R.: Lazy satisfiability modulo theories. J. Satisf. Boolean Model. Comput. JSAT 3(3–4), 141–224 (2007)
Sebastiani, R., Tomasi, S.: Optimization in SMT with LA(Q) cost functions. In: IJCAR, LNAI, vol. 7364, pp. 484–498. Springer (2012)
Sebastiani, R., Tomasi, S.: Optimization modulo theories with linear rational costs. ACM Trans. Comput. Logics 16(2), 12 (2015)
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)
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)
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)
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)
Teso, S., Sebastiani, R., Passerini, A.: Structured learning modulo theories. Artif. Intell. 244, 166–187 (2017)
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)
Vecchietti, A., Grossmann, I.: Computational experience with logmip solving linear and nonlinear disjunctive programming problems. In: Proceedings of FOCAPD, pp. 587–590 (2004)
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-018-09508-6