将 excel 二维数组导入元组而不转换为一维 CPLEX

Import excel 2D array to tuple without convert to 1D CPLEX

我在 excel 中有一个二维数组需要导入到 CPLEX。

通常,我使用:

{string} part = ...;
{string} operation = ...;
float runtime[part, operation] = ...;

但是,我可以将它导入为元组而不转换为 1D

tuple Trun
{
    string part;
    string operation;
}
{Trun} run = {<i, o> | i in part, o in operation};
float runtime[run] = ...;

或者有什么方法可以将 runtime[part, operation] 转换为 runtime[run]

是的,你可以

"将运行时间[部分,操作]转换为运行时间[运行]"

{string} part = {"A","B","C"};
{string} operation = {"1","2"};
float runtime[part, operation] = [[1,2],[3,4],[5,6]];

tuple Trun
{
string p;
string o;
}
{Trun} run = {<i, o> | i in part, o in operation};


float runtime2[r in run] = runtime[r.p,r.o];

execute
{
writeln(runtime);
writeln(runtime2);
}

这给了

[[1 2]
         [3 4]
         [5 6]]
 [1 2 3 4 5 6]