我找到了一个 Choco求解器作为使用 Java 的约束编程软件。我想了解更多。我做了一些基本的例子。但是现在我想尝试一些更复杂的东西(Pritsker project scheduling alg),我需要你的帮助。为了取得进展,我必须了解如何对矩阵变量的行施加约束。确切地说,我需要保持行总和等于 1(任务只启动一次)。我已经尝试过了,但没有成功。你能帮忙吗?我确实使用 Choco 2.1.5 我的矩阵如下:
int n = 10; // projects
int m = 12; // time horizon in months
IntegerVariable[][] x = new IntegerVariable[n][m];
int i, j;
for (i = 0; i < n; i++){
for (j = 0; j < m; j++){
x[i][j] = Choco.makeIntVar("x_" + i +"_" + j, 0, 1, Options.V_ENUM);
model.addVariable(x[i][j]);
}
}