我正在使用Z3来解决优化问题。目标是最大化变量的值,称之为X,X是以下的总和:
X = x1+x2+x3+x4+...+xi
每个术语形式x1到xi表示非线性等式。所以,我不能使用优化API。相反,我首先获得X的值并开始循环。在每次迭代中,我添加另一个约束以使X大于先前生成的X值。
我注意到第一个值是最大值,并且在每次程序进入循环时,我等待很长时间才能获得另一个更大的值,但它从不生成新值。我改变了输入的值,每次都会发生这种情况。
这是巧合吗?或者Z3是否设计为产生最大值。这些公式的值?