已经在SO上提出了一个非常相似的问题,但我无法找到以下问题的答案。 使用for-all量词可以很容易地说明线性最大化问题:
obj = f(x) AND \forall x . Ax <= b => f(x) <= obj
上面的查询可以提交给z3。 因此,我想问一下z3是否足够聪明,当它看到一个问题时能够识别LP问题,并且它是否应用单纯形法来消除一个全面的量词?
我做了一些实验,似乎有效,但我还没有尝试过更复杂的例子。
谢谢!
答案 0 :(得分:1)
Z3不承认它是LP优化问题。它最有可能首先将量化消除应用于普遍量化的公式,然后结果是无量词的线性算法,并且出来的模型将为目标提供最大值。 这当然不是解决优化问题的有效方法。 如果你有勇气进行实验,那么该分支称为&#34; opt&#34;在z3.codeplex.com下包含Z3的扩展,可以让你制定 Z3的优化目标。有关如何使用它的说明即将推出。