gpt4 book ai didi

java - choco 中的复杂变量

转载 作者:行者123 更新时间:2023-12-02 12:13:45 27 4
gpt4 key购买 nike

如何在 Choco 中检查复杂变量是否满足约束?例如,如果我有以下配置列表:

int[][] configurations = new int[][] {
{20, 24, 10, 3, 4},
{20, 13, 1, 3, 4}};

其中配置 1 = {20, 24, 10, 3, 4} 且配置 2 = {20, 13, 1, 3, 4}

int[] constraints = new int[]{21, 15, 2, 10, 10};

是一个约束列表,对于给定的配置,配置中的每个元素都需要高于(或低于)相应的约束。例如: 配置1 = {20, 24, 10, 3, 4} 约束 = {21, 15, 2, 10, 10}

check if config1[0] < constraints[0] AND config1[1] < constraints[1] AND ... 

如果满足所有约束,则将其标记为解决方案。这就是我所拥有的

// c = number of configurations
// q = number of elements in each configuration
// p = configurations matrix

for (int i = 0; i < c; i++) {
for (int j = 0; j < q; j++) {
model.arithm(model.intVar(p[i][j]), "<", model.intVar(k[j])).post();
}
}

最佳答案

CP 依赖于变量和约束。您应该首先创建变量,然后对它们施加约束。请不要将“约束”称为整数数组,它只是问题的一些输入。

您可以在这里找到一个简单的巧克力示例:-https://www.cosling.com/choco-solver/hello-world我认为这个问候语足以满足您的需求。如果您想更深入地了解,请阅读:http://choco-tuto.readthedocs.io/en/latest/

关于java - choco 中的复杂变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46347324/

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