如何在java中使用sat4j将整数值赋值给布尔公式的变量?

时间:2015-11-17 15:39:31

标签: java satisfiability sat sat-solvers sat4j

我是sat4j求解器的新手,研究布尔可满足的问题;我被困了。我想制作一个解决整数变量的程序,它们是布尔公式,如;

x1< x2 + x3用户输入该公式,我的程序满足此公式(返回true),如x1 = 5,x2 = 3,x3 = 4.因此公式返回true,用户获得满足公式的整数值。是否可能在sat4j中创建它,因为我使用java在eclipse中工作。

1 个答案:

答案 0 :(得分:2)

不确定SAT4J是否能解决SMT ......您应该寻找支持线性算法的SMT求解器(您的情况似乎只有差异逻辑也可以)。您可以检查:Z3(Microsoft的SMT解算器),CVC4和Yices。更广泛的列表在这里:https://en.wikipedia.org/wiki/Satisfiability_modulo_theories

希望这会有所帮助......