下限/上限误差AMPL中的变量

时间:2015-10-29 07:48:45

标签: ampl

当我执行时,当我尝试使用可变限制进行求和时,我遇到了问题 在AMPL中,它返回错误"下限变量"和#34;上界变量"在最后一行,但我真的没有得到它,这就是使用min和max的确切想法! WTF 非常感谢

var Y{i in Dias,j in Bloques} binary;
var B{i in Dias,j in Bloques}= Y[i,j]*j;
var L{i in Dias}=min{n in Bloques}if B[i,n]>0 then B[i,n];
var M{i in Dias}=max{n in Bloques}if B[i,n]>0 then B[i,n];

#this line gives error
var V{i in Dias}= sum{z in (L[i]..M[i])}1-Y[i,z];

1 个答案:

答案 0 :(得分:0)

您无法使用决策变量在a(代码中为b)中指定范围界限a..bL[i]..M[i]。如果预先知道范围界限而不是优化过程的结果,那么您应该使用参数而不是变量。

param L{i in Dias} = ...
param M{i in Dias} = ...

否则你将不得不重新制定你的模型。