我有一个 IloCplex
对象,我想使用 Cplex Java API 获取 IloObjective
的系数。
通过此代码,我获得了 IloObjective
和 IloNumExpr
,但无法访问系数。
IloCplex cplex = new IloCplex();
cplex.importModel("model.lp");
IloObjective obj = cplex.getObjective();
IloNumExpr expr = obj.getExpr();
如何获取 IloObjective
或 IloNumExpr
的系数?
最佳答案
由于您的 model.lp
文件包含线性模型,expr
应该是 IloLinearNumExpr
的实例,您应该能够使用 linearIterator
迭代它方法:
if (expr instanceof IloLinearNumExpr) {
IloLinearNumExpr lexpr = (IloLinearNumExpr) expr;
IloLinearNumExprIterator it = lexpr.linearIterator();
while (it.hasNext()) {
IloNumVar var = it.nextNumVar();
double coeff = it.getValue();
System.out.println(var + " " + coeff);
}
}
关于java - CPLEX 得到目标函数的系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56325965/