我遇到以下问题:
我在 GAMS 中有一个名为“construct”的二元变量,它代表构建一个植物(然后二元变量= 1)或不构建(= 0)。我还有一套 30 个不同年份的套装,从第 1 年到第 30 年。
设置‘年’/1*30/;
二元变量 Construction(a) '决定建造工厂 1=是,0=否'
我希望模型知道,例如,工厂是否是在 a1 年建造的,因此,construct(1) = 1,那么从逻辑上讲,集合中的所有后续变量也必须至少为 1,因为工厂不能再次被拆除。所以从数学上来说:
构造('1')<= construct('2') <= ..... <= construct('30'); This is how i also wrote in the code but I get following error code: *** Error 36 '=' or '..' or ':=' or '$=' operator expected rest of statement ignored
如何在 GAMS 中正确执行此操作?非常感谢!
我尝试了不同的语法,例如 =L= 或 .l 对于行中的变量,但我要么收到其他错误,要么仍然无法工作。有什么解决办法吗?
以下应该有效:
Equation e(a);
e(a).. construct(a) =g= construct(a-1);