суммирование с индексами "i" и "i + 1" в GAMS - PullRequest
0 голосов
/ 29 июня 2018

Я не знаю, как я могу закодировать это суммирование в GAMS, потому что оно имеет индекс с разностью один.

Я имею в виду, у меня есть индекс i и i + 1 . это суммирование должно быть вычислено `для i = 1, .., 54;

i, j - наборы, a (i), b (i), c - параметры, а x, y - переменные

sum(j, a(i)*x(i,j))-b(i)*y(i)+ c * (sum(j, a(i+1)*x(i+1,j))-b(i+1)*y(i)) <= 136

Другими словами, я хочу иметь

 sum(j, a(1)*x(1,j))-b(1)*y(1)+ c * (sum(j, a(2)*x(2,j))-b(2)*y(2) )<= 136

 sum(j, a(3)*x(3,j))-b(3)*y(3)+ c * (sum(j, a(4)*x(4,j))-b(4)*y(4) )<= 136
 .
 .
 .


 sum(j, a(53)*x(53,j))-b(53)*y(53)+ c * (sum(j, a(54)*x(54,j))-b(54)*y(54) )<= 136

1 Ответ

0 голосов
/ 03 июля 2018

Как насчет этого?

eq1(i)$mod(ord(i),2).. sum(j, a(i)*x(i,j))-b(i)*y(i)+ c * (sum(j, a(i+1)*x(i+1,j))-b(i+1)*y(i)) =L= 136;
...