z3 - Efficiency of constraint strengthening in SMT solvers -
one way solve optimisation problems use smt solver ask whether (bad) solution exists, progressively add tighter cost constraints until proposition no longer satisfiable. approach discussed in, example, http://www.lsi.upc.edu/~oliveras/espai/papers/sat06.pdf , http://isi.uni-bremen.de/agra/doc/konf/08_isvlsi_optprob.pdf.
is approach efficient, though? i.e. solver re-use information previous solutions when attempting solve additional constraints?
the solver can reuse lemmas learned when trying solve previous queries. keep in mind in z3 whenever execute pop
lemmas (created since corresponding push
) forgotten. so, accomplish must avoid push
, pop
commands , use "assumptions" if need retract assertions. in following question, describe how use "assumptions" in z3: soft/hard constraints in z3
regarding efficiency, approach not efficient 1 every problem domain. on other hand, can implemented on top of smt solvers. moreover, pseudo-boolean solvers (solver 0-1 integer problems) use similar approach solving optimization problems.
Comments
Post a Comment