【发布时间】:2020-01-16 09:49:45
【问题描述】:
我正在尝试使用变量来记录对象的本地时间。由于我找不到在 Cplex 中定义变量的任何方法,我尝试使用“dvar float”来定义变量。但是,Cplex 说该算法不支持“dvar float”。我尝试将变量简单地定义为 float Z[i][r][k] 并尝试使用 CP,两者都没有解决问题。请问我可以提供一些帮助或指导吗?
i = 0..3;
r = 0..1;
j = 0..3;
s = 0..1;
k = 1;
float U[1..3][1..1] = ...;
float T[i][r][j][s] = ...;
float M[1..3][1..1] = ...;
dvar boolean X[i][r][j][s][k];
dvar boolean Y[1..N][1..H][k];
dvar float Z[i][r][k];
forall(ci in i:ci!=0, cr in r:cr!=0, cj in j, cs in s: (ci!=cj)||(cr!=cs), ck in k)
TimeRecord1:
Z[cj][cs][ck] == X[ci][cr][cj][cs][ck] * (T[ci][cr][cj][cs] + (U[ci][cr] + (M[ci][cr] - Z[ci][cr][ck])) * Y[ci][cr][ck]);
【问题讨论】:
-
您使用的是 CPLEX 还是 CP?我问是因为 CPLEX 确实允许 dvar 浮动。查看一些 OPL 示例,例如混合。
-
我想我正在使用 CP。抱歉,我对 CPLEX 工作室真的很陌生。我认为 CPLEX 可以使用 dvar float 但 CP 不能。
标签: cplex