0

我尝试创建一个依赖于 OPL (CPLEX) 中的范围的集合,但遇到以下 4 个错误:

  1. 未定义数据元素“a”。
  2. 元素“a”的初始化表达式无效。
  3. OPL 无法提取表达式:H[j]。
  4. 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]]];

谢谢,这对我有帮助

4

0 回答 0