【发布时间】:2019-12-11 14:52:19
【问题描述】:
我们可以在 z3 中以增量方式使用 MaxSMT 求解器(优化)的先前解决方案吗?另外,有没有办法在优化器上打印出软断言?
【问题讨论】:
-
这在 OptiMathSAT 中通过 API 是可能的,我猜对于 z3 也是一样的。评估最优模型上的每个软子句,然后“使用它”。 - 这是一个相当通用的答案,因此我将其作为评论。你能稍微提炼一下这个问题,以便更好地定义它的范围并理解手头的问题吗?
-
例如,如果我从一小组软约束开始,检查模型,然后添加另一小组软约束并重复此过程,直到某些停止标准。我的问题是,Is 比同时执行所有软约束更好吗?
-
您是否在学习以前的软约束一样难? (或其中的一个子集)新的软约束是同一个 MaxSMT 目标的一部分吗? (相同的 ID)
-
我不知道你的意思是“以前的软约束一样硬”。是的,新的软约束是同一目标的一部分。模型中没有硬性约束。
-
如果软约束在先前最优解中的值被断言固定,那么它就会变得困难。在您的应用程序中,软约束是完全独立的,还是具有更高权重的新软约束会导致与早期软约束不同的最优分配?
标签: z3 smt optimathsat