b(l) = sum(pl$Loc(l,pl), Pcost(pl));
$
является знаком условия.pl
нужно контролировать справа.Таким образом, sum
используется.Предполагая, что есть только один pl
для каждого l
с Loc(l,pl)>0
, вышеприведенное задание будет делать то, что вы просили.
Примечание: $Loc(l,pl)
можно прочитать как "если Loc(l,pl)
не равно нулю. Если вы хотите быть более явным, вы также можете написать следующее (что на самом деле совпадает с первой версией дляGAMS):
b(l) = sum(pl$(Loc(l,pl)<>0), Pcost(pl));