A Optimization Modulo Theories with Linear Rational Costs
ROBERTO SEBASTIANI and SILVIA TOMASI, DISI, University of Trento, ItalyIn 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, 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 which minimize cost functions over arithmetical variables. This is unfortunate, since some problems of interest require this functionality.In the work described in this paper 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 which 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.
INTRODUCTIONIn the contexts of automated reasoning (AR) and formal verification (FV), important decision problems are effectively encoded into and solved as Satisfiability Modulo Theories (SMT) problems. In the last decade efficient SMT solvers have been developed, that combine the power of modern conflict-driven clause-learning (CDCL) SAT solvers with dedicated decision procedures (TSolvers) for several first-order theories of practical interest like, e.g., those of equality with uninterpreted functions (EUF ), of linear arithmetic over the rationals (LA(Q)) or the integers (LA(Z)), of arrays (AR), of bit-vectors (BV), and their combinations. We refer the reader to [Sebastiani 2007;Barrett et al. 2009] for an overview.Many SMT-encodable problems of interest, however, may require also the capability of finding models that are optimal wrt. some cost function over continuous arithmetical variables. For example, in (SMT-based) planning with resources [Wolfman and Weld 1999] a plan for achieving a certain goal must be found which not only fulfills some resource constraints (e.g. on time, gasoline consumption, among others) but that also minimizes the usage of some of such resources; in SMT-based model checking with timed or hybrid systems (e.g. [Audemard et al. 2002;Audemard et al. 2005]) you may want to find executions which minimize some parameter (e.g. Authors' addresses: Roberto Sebastiani (roberto.sebastiani@unitn.it), Silvia Tomasi (silvia.t...