【问题标题】:Reading 3 dim from excel into ilog将 3 dim 从 excel 读入 ilog
【发布时间】:2019-08-06 10:04:25
【问题描述】:

如何将 excel 中的 1 个 dim 数据读取到 ILOG CPLEX 中的 3 个 dim 数据?

通过使用 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]

      ]#

   ]#;

【问题讨论】:

  • 提前感谢您的帮助!

标签: excel cplex ilog


【解决方案1】:

您可以先将所有内容读入一个平面数组,然后从该平面数据中填充一个 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]]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-09
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    相关资源
    最近更新 更多