对于给定的 CSP,我使用了多种观点,其中之一是一个更奇特的布尔模型,它使用一个可变的 size 数组NxNxN
。然后我用这个片段强制各种子数组的不等式:
(foreach(X, List1),
foreach(Y, List2),
foreach((X #\= Y), Constraints)
do true),
1 #=< sum(Constraints).
该模型的性能很差,所以我很想知道更多关于幕后发生的事情。这是确保两个给定列表不同的正确方法吗?我是否正确理解列表X #\= Y
中的每个约束()都Constraints
需要在计算总和之前实例化,这意味着所有相应的变量也需要实例化?