如何在GAMS中表达条件?

时间:2019-02-28 12:46:06

标签: gams-math

我是GAMS的新用户,我想写一个条件,但我想不出表达它的正确方法。

b(l)不为零时,我希望Pcost(pl)等于Loc(l,pl)

有什么表达方式吗?

1 个答案:

答案 0 :(得分:1)

b(l) = sum(pl$Loc(l,pl), Pcost(pl));

$是条件符号。 pl需要在右侧进行控制。因此,使用sum。假设每个pll只有一个Loc(l,pl)>0,则上面的分配将完成您所要求的。

注意:$Loc(l,pl)可以读作“如果Loc(l,pl)不等于零。如果要更明确,也可以编写以下内容(实际上与第一个版本相同对于GAMS):

b(l) = sum(pl$(Loc(l,pl)<>0), Pcost(pl));