如何在 GAMS 中表达条件?

How to express a condition in GAMS?

我是 GAMS 的新用户,我想写一个条件,但我不知道如何表达它。

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

有什么表达方式吗?

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

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

注:$Loc(l,pl)可以理解为“如果Loc(l,pl)不等于0,如果想更明确一点,也可以写成下面的(其实和上面的一样) GAMS 的第一个版本):

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