所以我想运行这段代码:
constraint ctMachine[Machine];
subject to{
forall(i in Machine)
forall (k in Week)
ctMachine[i]: sum(j in Product)
ResourceConsumption[i][j] * Units[j][k] <= Capacity[i];
但是如果我这样做,我会得到 ctMachine[1] 已分配的错误,这是有道理的。所以我尝试将第二个 for 循环放在 sum 函数之后,如下所示:
constraint ctMachine[Machine];
subject to{
forall(i in Machine)
ctMachine[i]: sum(j in Product)
forall(k in Week)
ResourceConsumption[i][j] * Units[j][k] <= Capacity[i];
但后来我收到语法错误,出乎意料。但那我该怎么办。我需要所有 k 的约束。我对线性规划和 OPL 相当陌生,所以我现在不知道如何解决这个问题。顺便说一句,我不能只删除约束标签,因为我也需要它。