java - CPLEX 目标函数错误

标签 java cplex

我将变量 linObj 声明为 IloNumExpr,并且我有 4 个循环(循环元素 i、j、k 和 l),每次我向该变量添加 a其他两个变量的总和,例如:

linObj = cplex.sum(linObj, cplex.sum(s[i][j][j][k],s[i][j][l][k])

当循环关闭时,我将 linObj 声明为目标函数。

现在,我遇到了一个名为 ilog.cplex.MultiObjectiveException 的错误。

最佳答案

除了这个异常(exception),您可能会在循环中执行类似的操作:

linObj = cplex.sum(linObj, cplex.sum(s[i][j][j][k],s[i][j][l][k]);
cplex.addMinimize(linObj);

从而获得多个目标。 仅在循环后调用 cplex.addMinimize(linObj);,您应该只能获得一个目标。

此外,您应该考虑将代码更改为:

IloLinearNumExpr linObj = cplex.linearNumExpr();
/*loops*/

linObj.addTerm(1, cplex.sum(s[i][j][j][k],s[i][j][l][k]);

/*after loops*/
cplex.addMinimize(linObj);

希望这有帮助

关于java - CPLEX 目标函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26115036/

相关文章:

Java:存储为字符串时服务器响应被切断?

java - 访问本地类中的阴影变量

c++ - 具有相对间隙的 CPLEX MIP 提前终止,getBestObjValue 与 getObjValue

java - 拉格朗日松弛 Cplex 和 Java

java - 使用模式对 GraphQL 响应进行类型保留反序列化

java - Spring多个@Configuration类

java - 使用 JBoss 6 时,我的 pom.xml 中的 JTA jar 应该设置为什么?

routes - 车辆路径的线性规划

cplex - 使用 MIP 接送车辆的车辆路线

c++ - 将 CSV 中的二维数组读入 Map c++