problem in if statement Topic is solved

Problems with syntax of GAMS
garvisgarg
User
Posts: 5
Joined: 3 years ago

problem in if statement

hello, I am new to GAMS and I have started coding in GAMS with some small problems. Currently, in one problem I am using 'if' statement as follow:
if (a(t) <=b(t),
p(i,t)=a(t);
else
p(i,t)=b(t);
);
in this code error_119(related to primary number) is occurred.
Thanks in advance for help in future.

Renger
Posts: 585
Joined: 3 years ago

Re: problem in if statement

Hi

You have to loop over t as Gams doesn't allow this kind of direct assignment in an if-statement:

Code: Select all

``````loop(t,
if (a(t) <=b(t),
p(i,t)=a(t);
else
p(i,t)=b(t);
);
);
``````
You could do this, however using the dollar sign

Code: Select all

``````p(i,t)\$(a(t) < b(t)) = a(t);
p(i,t)\$(a(t) > b(t)) = b(t);
``````
p(i,t)\$... is pronounced as p(i,t) such that my condition is equal to

Cheers
Renger
____________________________________
Enjoy modeling even more: Read my blog on modeling at The lazy economist