Optimization in Z3: removing the epsilons -
optimizing real value subject strict constraints (e.g. max x s.t. x < 4
) produces epsilon
value in call z3_optimize_get_upper
.
in example above, returned value 4 - epsilon
.
is there way rid of epsilon, is, instantiate particular value? e.g. set 0
, or 1
or 0.1
?
thanks!
edit:
in code of opt_context.cpp
, see constant called epsilon
created:
if (!eps.is_zero()) { expr* ep = m.mk_const(symbol("epsilon"), m_arith.mk_int());
actually, have figured out: using substitute
further call simplify
seems trick.
Comments
Post a Comment