在我的数据输入文件中,有参数Input [j] [n] [a] [b] [c] [d] [e] [f] [g] [h] [i] [k]对于j,n,a,b,c,d,e,f,g,h,i,k的所有值。
我的模型计算一些布尔决策变量(从dv1到dv10)(目标是最小化成本)。然后,我需要计算Value [j] [n],它等于输入中的相应值,具体取决于决策变量。但错误是'Indexing array "Input" with type dvar boolean not supported by this algorithm'
因此我想做以下事情:
forall(j in J, n in N) {
Value[j][n] == Input[j][n][dv1][dv2][dv3][dv4][dv5][dv6][dv7][dv8][dv9][dv10][dv11][dv12];
}
如何在CPLEX中计算?提前致谢!
答案 0 :(得分:1)
您还可以查看
你可以阅读
range r=1..5;
float value[r]=[2,3,4.5,1,0];
dvar int i in 1..5;
maximize sum(k in r) value[k]*(k==i);
subject to
{
}
execute
{
writeln("i=",i);
}
答案 1 :(得分:0)
如果你想使用决策变量作为索引,你可以尝试使用Constraint Programming。
在OPL中,只需编写
即可using CP;
模型顶部
问候