Reputation: 447
I have to do a function where for all i inside my objects I have to do a sum depending of the index the pseudo code would look like this:
Objects
Sets NUM_OBJECTS 7
i objects / o1*o7 /;
Equations
diasCon .. if(i<4)
then ((sum from i to i+5 ,value(i)) =g= value(i)*5),
else ((sum i ,value(i)) + (sum from 1 to 5-(8-i) ,value(i)) =g= value(i)*5);
But I have no idea hwo to implement this.
Upvotes: 0
Views: 130
Reputation: 219
Assuming that value(i) is a variable, I think this is how you can do it
SET i /o1*o7/;
ALIAS(i,ii);
EQUATION EqName1(i), EqName2(i);
EqName1(i)$(ord(i) lt 4).. SUM(ii$((ord(ii) ge ord(i)) AND (ord(ii) le (ord(i)+5))),value(ii) =g= 5*value(i)
EqName2(i)$(ord(i) ge 4).. SUM(ii,value(ii)) + SUM(ii$(ord(ii) le (ord(i) - 3)),value(ii)) =g= 5*value(i)
Upvotes: 1