Java Cplex目标函数误差

Java Cplex目标函数误差,java,cplex,Java,Cplex,我将一个变量linObj声明为IloNumExpr,并且我有4个循环(循环元素I、j、k和l),每次我向该变量添加两个其他变量的总和,如: linObj = cplex.sum(linObj, cplex.sum(s[i][j][j][k],s[i][j][l][k]) 当循环闭合时,我宣布linObj为目标函数 现在,我有一个名为ilog.cplex.MultiObjectiveException的错误 除此之外,您可能正在循环中执行类似操作: linObj = cplex.sum(linO

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

linObj = cplex.sum(linObj, cplex.sum(s[i][j][j][k],s[i][j][l][k])
当循环闭合时,我宣布
linObj
为目标函数


现在,我有一个名为
ilog.cplex.MultiObjectiveException
的错误

除此之外,您可能正在循环中执行类似操作:

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);
希望这对您有所帮助

正如您在这里所读到的:ilog.cplex.MultipleObjectiveException是通过尝试向模型添加多个目标而引发的。你能不能提供完整的代码,这样我们就可以弄清楚到底发生了什么?