2016-12-27 69 views
1

嗨我试图优化一个函数,涉及变量s(L)的索引集L/1 * 10 /;GAMS索引查询

我创建的集合L的子集利文涉及的偶数(利文/ 2,4,6,8,10 /)

欲写下其设定S的偶数分量的方程式( L)为奇数分量值的两倍。

我应该如何编写这样的等式?

我打算写为

方程(利文).. S(利文)= E = S(利文-1)* 2;

上述然而是错误的,因为例如,对于利文= 4,S(利文-1)被解释为s(2),而不是为s(3)..

非常感谢

回答

1

您可以用一元钱条件限制的公式,你的子集,像这样:

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

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

(我不是用来定义上述子集语法的100%肯定,因为我在休假和Don”没有GAMS与我,但你应该明白了。)