objective 函数中的 CEIL CPLEX C++
CEIL in objective function CPLEX C++
据我所知,有一个教程显示 ILOG 可以使用 ceil 函数 (here)。但是,当我尝试实现它以在 CPLEX C++(音乐会)中计算我的 objective 函数时,它失败了。我正在寻找的是如下所示:
for (i=0; i<I; i++){
for (j=0; j<J; j++){
TO += ceil(DecisionVariable[i][j]/parameter[j]);
}
}
如有任何建议,我们将不胜感激。非常感谢。
此致,
在 OPL 中我们有 ceil,但在 C++ 中,等效函数是 IloCeil。
但是我们需要记住这个函数不是线性的。
在 How to with OPL ? we can read How to use ceil of a decision variable in a CPLEX constraint ?
range r=1..4;
float x[r]=[1.5,4.0,2.0001,5.9999];
dvar int y[r];
dvar float f[r] in 0..0.9999999;
subject to
{
forall(i in r) y[i]==x[i]+f[i];
}
execute
{
writeln(x," ==> ",y);
}
assert forall(i in r) y[i]==ceil(x[i]);
你提到的文档内容太多了。我无法快速找到您引用的内容。请指出他们的位置。但据我所知,ceil是一个舍入函数,请检查:
代码中是否包含ceil函数需要的头文件?
ceil函数的参数设置是否正确?
如果使用函数作为参数,请确保函数的return值为double。
据我所知,有一个教程显示 ILOG 可以使用 ceil 函数 (here)。但是,当我尝试实现它以在 CPLEX C++(音乐会)中计算我的 objective 函数时,它失败了。我正在寻找的是如下所示:
for (i=0; i<I; i++){
for (j=0; j<J; j++){
TO += ceil(DecisionVariable[i][j]/parameter[j]);
}
}
如有任何建议,我们将不胜感激。非常感谢。
此致,
在 OPL 中我们有 ceil,但在 C++ 中,等效函数是 IloCeil。
但是我们需要记住这个函数不是线性的。
在 How to with OPL ? we can read How to use ceil of a decision variable in a CPLEX constraint ?
range r=1..4;
float x[r]=[1.5,4.0,2.0001,5.9999];
dvar int y[r];
dvar float f[r] in 0..0.9999999;
subject to
{
forall(i in r) y[i]==x[i]+f[i];
}
execute
{
writeln(x," ==> ",y);
}
assert forall(i in r) y[i]==ceil(x[i]);
你提到的文档内容太多了。我无法快速找到您引用的内容。请指出他们的位置。但据我所知,ceil是一个舍入函数,请检查:
代码中是否包含ceil函数需要的头文件?
ceil函数的参数设置是否正确?
如果使用函数作为参数,请确保函数的return值为double。