在对this问题的回答中,莱昂纳多发布了“按需精确非线性优化”的链接。这听起来像vZ支持非线性优化(或者是?)。在论文“νZ - 优化SMT求解器”中,摘要说:
νZ 提供一系列解决方法 SMT公式,MaxSMT及其线性优化问题 组合
这再次听起来像非线性优化目前已超出范围。
我玩这个smt2代码:
(set-option :pp.decimal true)
(set-option :produce-models true)
(declare-fun x () Real)
(declare-fun y () Real)
(assert (= y (+ 1 (^ (- x 1) 2.0))))
(assert (and (<= (- 3.0) x) (< x 3.0)))
(assert (and (<= (- 3.0) y) (< y 3.0)))
(minimize y)
(check-sat)
(get-value (x y))
(exit)
作为答案,我得到了回应:
unknown
(objectives
(y ((* (- 1) oo) oo))
)
((x 0.0)
(y 2.0))
所以我想,vZ确实不支持非线性函数。
这样做有计划吗?