调整z3以先尝试降低数字

时间:2014-08-23 04:50:17

标签: parameters z3

我有一个带有几个整数的smt模型,所有这些都在0到N之间。虽然它们很可能是N或N,但它们几乎总是非常接近0。 80%的时间我需要它们为0,1或2 ......就像那样。

此外,如果某些键整数的值较低,可以忽略很多整数,所以在我看来,如果我可以调整z3从下限开始并首先尝试较小值的较小模型,可以改善我的执行时间。

我试图了解' z3 -p'中的选项。但是没有找到一种方法来定制解决策略以这种方式来处理我的查询。是否可以先调整z3以尝试降低数字?

1 个答案:

答案 0 :(得分:3)

在Z3的标准使用环境中,没有真正的解决方案。 我目前正在为Z3开发优化功能,它允许冒充查询获得最小/最大值。您可以通过多个目标实现此目标。 不幸的是,获得真正的优化可能非常昂贵,因此它不能取代简单的启发式旋钮。