OPL CPLEX でタプルの 2D 配列を作成しました。配列を .dat ファイルから直接初期化することはできますが、Excel シートから初期化すると、「 N:int,a:float 2 次元はシートではサポートされていません」というエラーが表示されます。シートからタプルの 2D 配列を初期化する機能がないようです。これは事実ですか、それとも何か間違っていますか?また、これについて何か他の方法はありますか?以下にコードのスニペットを添付します。
/*mod file*/
int M=...;
range m=1..M;
int B=...;
range b=1..B;
int T=...;
range t=1..T;
tuple data{
int N;
float a;
}
data d[m][b]=...;
dvar boolean x[b][m][t];
/*dat file for direct initialization*/
M=2;
B=3;
T=2;
d=[[<1,1.5>,<2,1>,<7,5.6>],
[<8,2.7>,<0,5.9>,<9,9.2>]];
/*dat file for initialization from excel*/
M=2;
B=3;
T=2;
SheetConnection sheet("B2.xlsx");
d from SheetRead(sheet,"d");
/*Excel sheet*/
Named Range of d in excel
1 1.5
2 1
7 5.6
8 2.7
0 5.9
9 9.2