2016-12-27 9 views
1

Привет Я пытаюсь оптимизировать функцию, включающую компоненты индексирования переменной s (L) с помощью набора L/1 * 10 /;Запрос индексации GAMS

Я создал подмножество Leven множества L с участием четных чисел (Leven/2,4,6,8,10 /)

Я хочу записать уравнение, которое устанавливает четные компоненты с (L) как двойное значение нечетных компонентов.

Как написать такое уравнение PLS?

я собирался написать его как

уравнения (Leven) .. ы (Левен) = E = S (Левен-1) * 2;

Однако выше является неправильным, как, например, для Левен = 4, с (Левен-1) интерпретируется как с (2), а не как S (3) ..

Большое спасибо

ответ

1

You можно использовать условие, доллар, чтобы ограничить уравнение для вашего подмножества следующим образом:

set Leven(L); 
Leven(L) = yes$(mod(ord(L),2) eq 0); 

equation(L)$Leven(L).. s(L) =E= s(L-1)*2; 

(я не уверен на 100% на синтаксис, используемый для определения подмножества выше, так как я нахожусь в отпуске и Дон» У меня есть GAMS, но вы должны получить эту идею.)