我想我需要一些关于OPL语言的帮助:/我的代码如下:
using CP;
int NbMchs = ...;
range Mchs = 0..NbMchs-1;
tuple Mode {
int opId;
int mch;
int pt;
};
{Mode} Modes = ...;
// Not Working...
int test[m in Mchs] = all(md in Modes: md.mch == m) md.opId;我想做的是从只包含元组的opId字段的Modes结构中提取m个一维数组。每个test[m]数组都必须包含其对应的元素:即元组md where md.mch =m的opId字段。
我从上面的代码中得到的错误是“不能将类型int[]用于整型”。上面函数的右侧似乎返回一个整数,但我认为all()运算符是我可以用来完成这项工作的运算符。
提前感谢
发布于 2018-08-01 17:17:32
在一般情况下,opId的数量取决于机器m,因此在这里您不能真正拥有一个二维数组。我将使用一个集合数组:
{int} test[m in Mchs] = { md.opId | md in Modes: md.mch == m };请注意,它假定每个opId只有一种模式,即mch。
https://stackoverflow.com/questions/51115762
复制相似问题