约束规划中的全局约束是什么?
What are Global Constraints in constraint programming?
我看到 ORTools 和 CpOptimizer 都使用全局约束。我知道它大大加快了搜索速度,但它实际上做了什么?就像我使用下面的(1)或(2)有什么区别;
AllDifferent 约束示例:
1) x1 != x2, x2 != x3, x1 != x3
和
2) AllDifferent(x1, x2, x3)
???
None。我们重建完全不同的派系。不过,如果您使用 AllDifferent 公式,预求解会更快。
现在,CP-SAT 是基于 SAT 求解器的,并且更喜欢布尔变量。
在您的情况下,您可以尝试删除整数变量,并使用带有 sum (boolvars) <= 1
.
的布尔变量数组
我看到 ORTools 和 CpOptimizer 都使用全局约束。我知道它大大加快了搜索速度,但它实际上做了什么?就像我使用下面的(1)或(2)有什么区别;
AllDifferent 约束示例:
1) x1 != x2, x2 != x3, x1 != x3
和
2) AllDifferent(x1, x2, x3)
???
None。我们重建完全不同的派系。不过,如果您使用 AllDifferent 公式,预求解会更快。
现在,CP-SAT 是基于 SAT 求解器的,并且更喜欢布尔变量。
在您的情况下,您可以尝试删除整数变量,并使用带有 sum (boolvars) <= 1
.