向ilonumexpr中添加常量

rn0zuynd  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(418)

我正在尝试向中添加一个常量值 IloNumExpr 但是 obj.addTerm() 不接受一个 double 键入,但找不到要添加的函数 double 值到 IloNumExpr .
例如:
如果我的目标是 min p + some variables . 我怎样才能加上,p型 double ,到那个 IloLinearNumExpr obj = cplex.linearNumExpr() ?

du7egjpx

du7egjpx1#

这对解算器/解决方案没有影响(假设我们讨论的是目标偏移!)我们可以跳过它,然后通过将偏移量重新添加到最终目标值来对其进行后期处理。
如果有人有兴趣在模型中加入这个变量(出于某些原因),那么总是有可能在目标中添加一个额外的变量并加以修正(例如,通过设置下限=上限=偏移量)。
但根据文档,cplex似乎有一些专门的功能:
参见ILO目标
和setconstant
设定目标有不同的方法,但您需要:
创建 IloObjective 对象(链接到模型)
调用上面的函数来设置常量
添加线性项
从未使用过我期望的类似java接口(代码可能已损坏):

IloCplex cplex = new IloCplex();

double constant = 1.0;          // your objective offset constant
IloNumExpr obj_expr = ...       // your linear objective

IloObjective obj = cplex.addMinimize();
obj.setConstant(constant);
obj.setExpr(obj_expr);

相关问题