我正在尝试使用 JaCop 库在 Java 中编写二进制拼图以进行约束编程,并且正在努力使行不相等。标准 XneqY 约束仅适用于单个变量,并且 IntVar[] 没有等效约束。我尝试使用 LexOrder 作为替代方案,但它限制太多,因为它强制一行在字典上大于另一行,我不能使用 or 约束来允许它更大或更小,因为它只能用于LexOrder 不是原始约束。有谁知道这样做的好方法?我目前正在尝试创建一个新的约束来修改 XneqY 并通过将其转换为二进制并将二进制转换回整数来为行/列分配一个数值,但我会很感激任何新想法。