我正在从事非线性编程工作,并遇到了一些问题,这些问题解释了我在使用求解器CP时不能在CPLEX中使用浮点决策变量。如果有某种方法或其他方法可以解决这个问题,请帮助我。谢谢
我刚刚尝试在 CPLEX studio 中使用 CP:
通过 CPOptimizer,您可以使用浮点表达式,这样您就可以使用十进制决策变量。
参见 https://github.com/AlexFleischerParis/zooopl/blob/master/zoodecimalcpo.mod
using CP;
int nbKids=310;
float costBus40=500;
float costBus30=400;
int scale=100;
dvar int+ scalenbBus40;
dvar int+ scalenbBus30;
dexpr float nbBus40=scalenbBus40/scale;
dexpr float nbBus30=scalenbBus30/scale;
minimize
costBus40*nbBus40 +nbBus30*costBus30;
subject to
{
40*nbBus40+nbBus30*30>=nbKids;
}
execute
{
writeln("nbBus40 = ",nbBus40);
writeln("nbBus30 = ",nbBus30);
}