gpt4 book ai didi

java - Gurobi - 构建约束时出现问题(Java)

转载 作者:行者123 更新时间:2023-12-01 17:52:06 25 4
gpt4 key购买 nike

我目前在实现约束时遇到问题。我有两组(s1 和 s2)特定的 GRBVar,并尝试实现以下约束:

Sum(s1) - Sum(s2) + 常数值 <= someValue

我的实现(为了便于阅读而修改):

GRBVar[][] vars;
....

GRBLinExpr expr1 = new GRBLinExpr();
GRBLinExpr expr2 = new GRBLinExpr();

for (Edge edge : s1) {
expr1.addTerm(1.0, vars[edge.getVertex1][edge.getVertex2]);
}

for (Edge edge : s2) {
expr2.addTerm(-1.0, vars[edge.getVertex1][edge.getVertex1]);
}

expr1 += expr2 + 50;

最后一行 expr1 += expr2 + 50 被标记为错误,没有任何有用的信息。根据文档(https://www.gurobi.com/documentation/9.0/refman/cs_lex.html),这应该是可能的。我缺少什么?有没有更好的方法来实现这个约束?

致以诚挚的问候

最佳答案

expr1 += expr2 + 50 这样的表达式只有编程语言支持,它支持运算符重载,如 the documentation 所示。 :

In .NET languages that support operator overloading, you generally build linear expressions using overloaded operators. [...]

链接https://www.gurobi.com/documentation/9.0/refman/cs_lex.html正在引用 .NET API Details对于 .NET 语言。您想看https://www.gurobi.com/documentation/9.0/refman/java_lex.html这是Java API Details 。那里有文档,您可以使用 add*() 方法添加两个表达式/术语。

关于java - Gurobi - 构建约束时出现问题(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60778631/

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