我正在尝试向中添加一个常量值 IloNumExpr 但是 obj.addTerm() 不接受一个 double 键入,但找不到要添加的函数 double 值到 IloNumExpr .例如:如果我的目标是 min p + some variables . 我怎样才能加上,p型 double ,到那个 IloLinearNumExpr obj = cplex.linearNumExpr() ?
IloNumExpr
obj.addTerm()
double
min p + some variables
IloLinearNumExpr obj = cplex.linearNumExpr()
du7egjpx1#
这对解算器/解决方案没有影响(假设我们讨论的是目标偏移!)我们可以跳过它,然后通过将偏移量重新添加到最终目标值来对其进行后期处理。如果有人有兴趣在模型中加入这个变量(出于某些原因),那么总是有可能在目标中添加一个额外的变量并加以修正(例如,通过设置下限=上限=偏移量)。但根据文档,cplex似乎有一些专门的功能:参见ILO目标和setconstant设定目标有不同的方法,但您需要:创建 IloObjective 对象(链接到模型)调用上面的函数来设置常量添加线性项从未使用过我期望的类似java接口(代码可能已损坏):
IloObjective
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);
1条答案
按热度按时间du7egjpx1#
这对解算器/解决方案没有影响(假设我们讨论的是目标偏移!)我们可以跳过它,然后通过将偏移量重新添加到最终目标值来对其进行后期处理。
如果有人有兴趣在模型中加入这个变量(出于某些原因),那么总是有可能在目标中添加一个额外的变量并加以修正(例如,通过设置下限=上限=偏移量)。
但根据文档,cplex似乎有一些专门的功能:
参见ILO目标
和setconstant
设定目标有不同的方法,但您需要:
创建
IloObjective
对象(链接到模型)调用上面的函数来设置常量
添加线性项
从未使用过我期望的类似java接口(代码可能已损坏):