根据严格约束优化实际值(例如max x s.t. x < 4
)会在调用epsilon
时生成Z3_optimize_get_upper
值。
在上面的示例中,返回的值为4 - epsilon
。
有没有办法摆脱epsilon,即将其实例化为任何特定值?例如。将其设置为0
,或1
或0.1
?
谢谢!
编辑:
在opt_context.cpp
的代码中,我看到创建了名为epsilon
的常量:
if (!eps.is_zero()) {
expr* ep = m.mk_const(symbol("epsilon"), m_arith.mk_int());
答案 0 :(得分:0)
实际上,我已经弄明白了:使用substitute
进一步调用simplify
似乎可以解决问题。