在 Cplex 中调用变量

Call Variables in Cplex

我想调用一个参数属于另一个参数的 Cplex 变量:

{string} part = ...; // job indexed by n or p 
tuple Tpart
{
    int Demand;
    int Lotsize;
    int Maxsublots;
}
Tpart partCriteria[part] = ...;

然后我创建一个变量jobC属于partpartCriteria[part].Maxsublots

但不正确

dvar float+ jobC[i in part, 1..partCriteria[part].Maxsublots];

OPL 数组的维度不能依赖于先前的维度。

你可以写

{string} part = {"A","B"}; // job indexed by n or p 
tuple Tpart
{
    int Demand;
    int Lotsize;
    int Maxsublots;
}
Tpart partCriteria[part] = [<1,1,1>,<2,2,2>];

int maxsublots=max(i in part) partCriteria[i].Maxsublots;

dvar float+ jobC[i in part, j in 1..maxsublots];

subject to
{

}