如何在ILOG CPLEX中将Excel中的1个暗淡数据读取为3个暗淡数据?
通过使用具有2个dim数组的解决方法,我已经可以将3个dim数据从excel读取到ILOG中。
但是如何读取Excel数据,例如3; 4; 5; 6; 7 变成3种昏暗的ILOG格式,例如
x = #[
1: #[
1: [3]
2: [4]
3: [5]
4: [6]
5: [7]
]#
]#;
答案 0 :(得分:0)
您可以首先将所有内容读取到平面数组中,然后从该平面数据中填充3维数组。像这样:
range I = 0..1;
range J = 0..2;
range K = 0..3;
int flat[0..card(I) * card(J) * card(K)-1] = [
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24 ];
int dim3[i in I][j in J][k in K] = flat[i * card(J) * card(K) +
j * card(K) +
k];
execute { writeln(dim3); }
此打印
[[[1 2 3 4]
[5 6 7 8]
[9 10 11 12]]
[[13 14 15 16]
[17 18 19 20]
[21 22 23 24]]]