Page 1 of 1

Need help to programm j≠i

Posted: Wed Jul 03, 2019 2:37 am
by Bingo LI
Hello all,
I want to programm a formulation: sum(t, sum(j∈N & j≠i, P(i,j,t))). The code is as follows:

Code: Select all

set
     i    / 1,2,3 /
     t   / 1*24 /;
alias(i,j);
sum((t,j)$(t,j<>i), p(i,j,t))
However, the programm repor some errors:
148 Dimension different - The symbol is referenced with more/less indices as declared
Could someone can help me to correct it.
Thanks.
Li

Re: Need help to programm j≠i

Posted: Wed Jul 03, 2019 7:56 am
by Fred
Hi,

Your code snippet is obviously incomplete and if executed, it does not result in the error you describe.
- it does not declare p
- the sum() must be assigned to some other symbol
- the sum does not control i
- not sure what the t in the dollar condition is supposed to do
- j<>i is no valid GAMS syntax (if j and i are sets)

Maybe you want to do something like:

Code: Select all

set i    / 1,2,3 /
    t   / 1*24 /;
alias(i,j);
parameter p(i,j,t);
scalar x;
p(i,j,t) = uniformint(1,10);
x = sum((i,j,t)$(not sameas(i,j)), p(i,j,t));
display p,x;


I hope this helps!

Fred

Re: Need help to programm j≠i

Posted: Wed Jul 03, 2019 8:36 am
by Bingo LI
Hi Fred,
Thank you for your prompt reply. It solves my problem perfectly.
Just as you said, I misinterpret the GAMS syntax 'j ≠i ' as 'j<>i '.
Again, thank you!

Best,
Li