我必须使用Java Constraints Library解决CSP逻辑问题。现在我已经设法表示了问题的一些约束,其中大多数基于“等于”和“不等于”二元约束。我的疑问是,如何表示基于加法的约束?例子:
- variable1 属于 DomainA
- 变量2属于域B
- variable3 属于 DomainA
- 变量4属于域B
现在的约束:
- variable1 和 variable2 之和大于 variable3 和 variable4 之和。
观察:这些变量代表金钱,所以可以相加。
我必须使用Java Constraints Library解决CSP逻辑问题。现在我已经设法表示了问题的一些约束,其中大多数基于“等于”和“不等于”二元约束。我的疑问是,如何表示基于加法的约束?例子:
现在的约束:
观察:这些变量代表金钱,所以可以相加。
由于 Java 约束库仅使用一元或二元约束,因此我们必须对约束进行二值化以表示 n 元约束。我们还可以继承库中现有的关系类并定义新的兼容关系。
编辑:截至 2020 年,JCL 库链接已失效,这是该库的原始论文:https ://www.aaai.org/Papers/Workshops/1997/WS-97-05/WS97-05-004.pdf