νZ - An Optimizing SMT Solver

  • Nikolaj BjørnerEmail author
  • Anh-Dung Phan
  • Lars Fleckenstein
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9035)


νZ is a part of the SMT solver Z3. It allows users to pose and solve optimization problems modulo theories. Many SMT applications use models to provide satisfying assignments, and a growing number of these build on top of Z3 to get optimal assignments with respect to objective functions. νZ provides a portfolio of approaches for solving linear optimization problems over SMT formulas, MaxSMT, and their combinations. Objective functions are combined as either Pareto fronts, lexicographically, or each objective is optimized independently. We describe usage scenarios of νZ, outline the tool architecture that allows dispatching problems to special purpose solvers, and examine use cases.


Pareto Front Soft Constraint Cardinality Constraint Satisfying Assignment Linear Optimization Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Abío, I., Nieuwenhuis, R., Oliveras, A., Carbonell, E.R.: A parametric approach for smaller and better encodings of cardinality constraints. In: CP (2013)Google Scholar
  2. 2.
    Becker, K., Schätz, B., Armbruster, M., Buckl, C.: A formal model for constraint-based deployment calculation and analysis for fault-tolerant systems. In: SEFM, pp. 205–219 (2014)Google Scholar
  3. 3.
    Bjørner, N., Phan, A.-D.: νZ - Maximal Satisfaction with Z3. In: SCSS (2014)Google Scholar
  4. 4.
    Chai, D., Kuehlmann, A.: A fast pseudo-boolean constraint solver. IEEE Trans. on CAD of Integrated Circuits and Systems 24(3), 305–317 (2005)CrossRefGoogle Scholar
  5. 5.
    Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R., Stenico, C.: Satisfiability modulo the theory of costs: Foundations and applications. In: TACAS (2010)Google Scholar
  6. 6.
    Davies, J., Bacchus, F.: Postponing optimization to speed up MAXSAT solving. In: CP, pp. 247–262 (2013)Google Scholar
  7. 7.
    de Moura, L.M., Bjørner, N.: Z3: An Efficient SMT Solver. In: TACAS (2008)Google Scholar
  8. 8.
    Larraz, D., Nimkar, K., Oliveras, A., Rodríguez-Carbonell, E., Rubio, A.: Proving Non-termination Using Max-SMT. In: CAV, pp. 779–796 (2014)Google Scholar
  9. 9.
    Li, Y., Albarghouthi, A., Kincaid, Z., Gurfinkel, A., Chechik, M.: Symbolic optimization with SMT solvers. In: POPL, pp. 607–618 (2014)Google Scholar
  10. 10.
    Morgado, A., Heras, F., Marques-Silva, J.: Improvements to Core-Guided Binary Search for MaxSAT. In: SAT, pp. 284–297 (2012)Google Scholar
  11. 11.
    Narodytska, N., Bacchus, F.: Maximum Satisfiability Using Core-Guided MaxSAT Resolution. In: AAAI, pp. 2717–2723 (2014)Google Scholar
  12. 12.
    Nieuwenhuis, R., Oliveras, A.: On SAT Modulo Theories and Optimization Problems. In: SAT, pp. 156–169 (2006)Google Scholar
  13. 13.
    Ranise, S., Tinelli, C.: The SMT Library, SMT-LIB (2006),
  14. 14.
    Rayside, D., Estler, H.-C., Jackson, D.: The Guided Improvement Algorithm. Technical Report MIT-CSAIL-TR-2009-033. MIT (2009)Google Scholar
  15. 15.
    Sebastiani, R., Tomasi, S.: Optimization in SMT with \(\mathcal{{LA}}({\bf{Q}})\) Cost Functions. In: IJCAR, pp. 484–498 (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Nikolaj Bjørner
    • 1
    Email author
  • Anh-Dung Phan
    • 2
  • Lars Fleckenstein
    • 3
  1. 1.Microsoft ResearchRedmondUSA
  2. 2.DTU ComputeTechnical University of DenmarkKgs. LyngbyDenmark
  3. 3.Microsoft DynamicsVedbækDenmark

Personalised recommendations