我尝试创建一个依赖于 OPL (CPLEX) 中的范围的集合,但遇到以下 4 个错误:
- 未定义数据元素“a”。
- 元素“a”的初始化表达式无效。
- OPL 无法提取表达式:H[j]。
- OPL 无法提取模型:IntCollections[j] 中超出范围索引 j 超出范围。
我认为数字 3 是重大错误。
代码初始化如下:
/ .mod /
int n=...;
int m=...;
range I=1..m;
range J=1..n;
int h[J]=...;
int k[I]=...;
{int} H[j in J]={e|e in 1..h[j]};
{int} K[i in I]={e|e in 1..k[i]};
int a[I][j in J][H[j]]=...;
int p[I][j in J][H[j]]=...;
int L=...;
/.dat/ _ _
n=2;
m=3;
h=[2 3];
k=[4 3 3];
a=[[[1 0][1 1 1]]
[[1 1][0 0 1]]
[[0 1][1 0 1]]];
L=1000;
p=[[[10 L][20 25 30]]
[[15 12][L L 15]]
[[L 18][25 L 25]]];
谢谢,这对我有帮助