gpt4 book ai didi

java - Choco 中的约束

转载 作者:行者123 更新时间:2023-12-01 12:57:00 34 4
gpt4 key购买 nike

我找到了巧克力 solver作为使用 Java 的约束编程软件。我想了解更多。我做了一些基本的例子。但现在我想尝试一些更复杂的东西(Pritsker 项目调度算法),我需要你的帮助。为了取得进展,我必须了解如何对矩阵变量的行施加约束。确切地说,我需要保持行总和等于 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]);
}
}

最佳答案

您应该首先将变量定义为

那么,您可以使用this文档以继续。像这样的东西可能会有所帮助:

IntegerVariable[][] rows;
int n; //number of rows
for(int i=0; i<n; i++)
model.addConstraint(eq(sum(rows[i], 1));

关于java - Choco 中的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23794115/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com