gpt4 book ai didi

Java Choco CSP 使用变量总和进行优化

转载 作者:行者123 更新时间:2023-11-30 08:51:25 24 4
gpt4 key购买 nike

我正在使用 Choco解决CSP。我想做这样的事情:

BoolVar[] badRow = getBadRow();
solver.findOptimalSolution(ResolutionPolicy.MINIMIZE, sum(badRow));

换句话说,我希望系统找到一个解决方案,其中 badRow 中的真值最少。我不希望这是一个“约束”,因为那样系统就会失败,我想避免失败。但是我找不到任何方法来创建一个 IntVar 作为其他变量的总和。

我该如何实现?

最佳答案

我完全是从错误的角度来看这个的。我没有尝试将变量构建为其他变量的总和,而是创建了一个普通变量,然后约束它成为其他变量的总和,如下所示:

IntVar overflows = VariableFactory.integer("overflows", 0, maxOverflows, solver);
Constraint tracker = IntConstraintFactory.sum(badRow, overflows);
solver.post(tracker);
solver.findAllOptimalSolutions(ResolutionPolicy.MINIMIZE, overflows, true);

然后就解决了。我现在因为没有看到它而感到愚蠢。

关于Java Choco CSP 使用变量总和进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30552733/

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