0

在我的数据输入文件中,所有值都有参数 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 中进行计算?提前致谢!

4

2 回答 2

1

你也可以看看

https://www.ibm.com/developerworks/community/forums/html/topic?id=2be2ec22-db4b-4a2c-b164-615b9f735dc9&ps=25

你可以在哪里阅读

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);
}
于 2017-07-17T07:34:18.447 回答
0

如果您想使用决策变量作为索引,您可以尝试使用约束编程。

在 OPL 中,只需编写

using CP;

你的模型顶部

问候

于 2017-05-02T18:58:25.580 回答