【问题标题】:Cplex Studio Does not support dvar floatCplex Studio 不支持 dvar 浮点数
【发布时间】: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


【解决方案1】:

对于 CP,不允许浮动决策变量。 您可以做的是使用变量更改来模拟十进制决策变量。 您在

中有一个示例

CPLEX_Studio1210\opl\examples\opl\floateexpr

另见CPLEX OPL using decision variable as float in constraint programming algorithm

在stackoverflow中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多