Ответ Рафаэльцидада нуждается в некоторых исправлениях, т.е. вместо
eqn2.. sum(i, X('shomal', i)) =e= 90;
должно быть
eqn2.. sum(j, X('shomal', j)) =e= 90;
и вместо
eqn3.. X('jonub', 'shiraz') + X('jonub', 'shiraz') =le= H('p1') * Y('shomal','shiraz') + ... ;
должно быть
eqn3.. sum(i,x(i,'shiraz') =le= sum(k,H(k)*Y(k,'shiraz'));
другой вариант - определить набор уравнений на множестве i, определяя первые два уравнения как
Parameter val(i) = /55,90/;
Equations eqn_block1(i) 'first block of equations';
eqn_block1(i).. sum(j,X(i,j)) =e= val(i);
Другое замечание по этому вопросу заключается в том, что вы определили Y как параметр и переменную.Вы также определили два значения для параметра, который я не уверен, что это неправильно, но в случае, если это не так, остальные значения будут равны нулю.Возможно, вы хотели определить параметр Y (i), а не Y (k, j)
В любом случае, если значения Y известны, вам не следует определять его как переменную.Вы можете найти другой пример с суммой и более подробной информацией в следующем уроке http://www.gams.com/dd/docs/gams/Tutorial.pdf