在约束中使用 IntVar 作为 IntVar[] 数组的索引

Use IntVar as index of IntVar[] array in a constraint

我想使用 Choco 求解器将 IntVar 的值用作约束中另一个 IntVar 数组的索引。

我有一个 IntVar,它包含第 i 个任务之后的下一个任务 我还有另一个 IntVar,其中包含分配给任务的人。 我的约束是保证任务分配的连续性。

这是我已经尝试过的方法,但失败了:

model.distance(person[i], person[next[i].getValue()], "=", 0).post();

解决方法是使用IntConstraintFactory.element (IntVar value, int[] table, IntVar index, int offset).

就我而言:

model.element(person[i], person, next[i], 0).post();