smt/z3优化中哪个非线性断言是完整的?

smt/z3优化中哪个非线性断言是完整的?,z3,smt,nonlinear-optimization,Z3,Smt,Nonlinear Optimization,我列出了一些关于二次函数的断言: (declare-fun H () Int) (assert (>= H 8000)) (assert (<= H 12000)) (minimize (- (^ H 2) H)) (check-sat) (声明fun H()Int) (断言(>=H 8000)) (assert(通常,z3不能处理非线性项。(如果将两个变量相乘,则项是非线性的。在您的情况下,这就是(^h2)) 优化引擎尤其如此:整数上的非线性约束很可能无法实现。但你很幸运:你的公

我列出了一些关于二次函数的断言:

(declare-fun H () Int)
(assert (>= H 8000))
(assert (<= H 12000))
(minimize (- (^ H 2) H))
(check-sat)
(声明fun H()Int)
(断言(>=H 8000))

(assert(通常,z3不能处理非线性项。(如果将两个变量相乘,则项是非线性的。在您的情况下,这就是
(^h2)

优化引擎尤其如此:整数上的非线性约束很可能无法实现。但你很幸运:你的公式相当简单,因此可以很好地处理。使用乘法重写它:

(declare-fun H () Int)
(assert (>= H 8000))
(assert (<= H 12000))
(minimize (- (* H H) H))
(check-sat)
(get-model)

一般来说,z3不能处理非线性项。(如果将两个变量相乘,则项是非线性的。在您的情况下,这就是
(^h2)

优化引擎尤其如此:整数上的非线性约束很可能无法实现。但你很幸运:你的公式相当简单,因此可以很好地处理。使用乘法重写它:

(declare-fun H () Int)
(assert (>= H 8000))
(assert (<= H 12000))
(minimize (- (* H H) H))
(check-sat)
(get-model)

对不起,我没有说清楚,代码不是java编译的,而是从java编译的SMT格式的结果。对不起,我没有说清楚,代码不是java编译的,而是从java编译的SMT格式的结果。