在阅读了前面的问题Getting a "good" unsat core和getting new unsat core之后,我知道目前使用z3获得多个不同的不满核心是不可能的。
你有一些建议让不饱和核心更小吗?我正在使用z3 c ++ api来检查线性实数算法上约束的可满足性。我发现,当按照Getting a "good" unsat core中的建议添加这行代码p.set(":auto-config",false)
时,不满核心的大小会变小。
另一个问题是关于z3的基于单纯形的算法。在使用z3之前,我已经使用CPLEX来解决我的应用程序。 CPLEX支持提取IIS(不可减少的不可行集),这类似于z3中的不可靠核心。我们可以在CPLEX中将求解算法设置为'auto','primal','dual'。我发现在切换解析算法时,IIS CPLEX给出的可能会有所不同。当逻辑设置为QF_LRA时,z3是否支持设置不同的求解算法?