Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Optimization Z3优化中的最大努力(最大|最小)最小化_Optimization_Z3_Smt - Fatal编程技术网

Optimization Z3优化中的最大努力(最大|最小)最小化

Optimization Z3优化中的最大努力(最大|最小)最小化,optimization,z3,smt,Optimization,Z3,Smt,我对Z3给我一个模型感兴趣,同时,如果它试图将目标函数作为一种启发式考虑,我会很高兴,但我不想为找到实际(最大|最小)imum而付出性能代价 这在Z3中是可能的吗?这在Z3中已经是可能的,具有软超时,请参见以下答案: 实现目标的方法是使用增量求解: 坚持你所有的硬约束。(即需要满足的要求) 执行检查sat并获取模型 断言所有“优化”约束 使用软超时,如下所述: 在最后一步中,您可以调整您希望等待的时间,即您愿意支付的罚金 相关说明:您可能还希望使用软约束,解算器可以选择性地“满足”软约束,如

我对Z3给我一个模型感兴趣,同时,如果它试图将目标函数作为一种启发式考虑,我会很高兴,但我不想为找到实际(最大|最小)imum而付出性能代价


这在Z3中是可能的吗?

这在Z3中已经是可能的,具有软超时,请参见以下答案:

实现目标的方法是使用增量求解:

  • 坚持你所有的硬约束。(即需要满足的要求)
  • 执行
    检查sat
    并获取模型
  • 断言所有“优化”约束
  • 使用软超时,如下所述:
在最后一步中,您可以调整您希望等待的时间,即您愿意支付的罚金


相关说明:您可能还希望使用软约束,解算器可以选择性地“满足”软约束,如果不满足软约束,将受到惩罚。也许这更适合您的用例。请参见此处的操作方法:

Uuh,我站在正确的位置!我也会试试这个功能,谢谢。如何使用smtlib语法设置软超时?我不明白你为什么只提到assert-soft,它不符合标准目标吗?@PatrickTrentin完全正确;我认为它也应该与常规约束一起工作。请参阅我编辑的答案。