z3中的最大极小值

z3中的最大极小值,z3,z3py,Z3,Z3py,我想在整数空间中找到满足某些性质的n维点(x1…xn),同时最大化x和m(预定义/常量)n维点集合的任何元素之间的最小距离(z11…z1n,z21…z2n…zm1…zmn)。有没有办法用Z3做到这一点?当然。见: 上面的链接讨论了SMTLib接口,但Python接口也提供了同样的功能。(以及从大多数其他绑定到Z3。) 请注意,优化主要针对线性特性。如果您有非线性项,您可能希望对它们进行公式化,以便可以优化线性计数器部件。即使使用非线性项,您也可能会得到很好的结果,不尝试也无法知道。谢谢您的提示!

我想在整数空间中找到满足某些性质的n维点
(x1…xn)
,同时最大化x和m(预定义/常量)n维点集合的任何元素之间的最小距离
(z11…z1n,z21…z2n…zm1…zmn)
。有没有办法用Z3做到这一点?

当然。见:

上面的链接讨论了SMTLib接口,但Python接口也提供了同样的功能。(以及从大多数其他绑定到Z3。)


请注意,优化主要针对线性特性。如果您有非线性项,您可能希望对它们进行公式化,以便可以优化线性计数器部件。即使使用非线性项,您也可能会得到很好的结果,不尝试也无法知道。

谢谢您的提示!我想我困惑的是,我有一个最小化的层次,它本质上是一个约束:
minDist=minimum([dist(x,z1),dist(x,z2)…dist(x,zm)]
,其中x是一个变量,z是常数,然后我想做
优化程序。minDist(minDist)
。我如何指定Mindsist必须等于所有这些距离中的最小值才能使最小值最大化?@lightning这是一个最大-最小问题,你想要的是最小化一个新的
obj
变量s.t。对于
[1,N]
中的所有
I
,它认为
obj\I Patrick的建议听起来不错。如果您发布了您尝试过的代码以及遇到的问题,那么理解您试图做的事情就会容易得多。