Please help with a loop

Archive of Gamsworld Google Group
Archiver
User
User
Posts: 7876
Joined: 9 months ago

Please help with a loop

Postby Archiver » 2 years ago


Hello!

I am trying to do a simple example and I am New to GAMS.
I want to do a simple Power flow example in order to expand it later, i want GAMS to minimize the cost by choosing the cheapest generators.
My problem is that I want the load to change for every hour for my system, here is a 3 hour example and the error is marked in red.

Can you please help me and explain what i must do different?

HERE IS MY CODE:

$TITLE pflow

Set t hours per day / t1, t2, t3 / ;
parameters
L(t) Load for each
/t1 3
t2 5
t3 8/ ;
Scalar
Cost_diesel in € per kWh / 2 /
Cost_pv in € / 1.1 /

VARIABLES
*L(t),
X_g Diesel generator,
X_pv Domestic PV generation ,
Z Total cost of grid operation in € per kWh for on hour;

EQUATIONS
Load_Balance Maintane a stable grid,
OBJ Objective equation total cost of grid operation in € per kWh ;

Load_balance.. X_g + X_pv -L(t) =E= 0 ;
149 Uncontrolled set entered as constant
OBJ.. Z =E= (X_g*Cost_diesel) + (X_pv*Cost_pv);

* Upper bounds
X_g.UP = 10 ;
X_pv.UP = 2 ;
* Lower bounds
X_g.lo = 0 ;
X_pv.lo = 0 ;
* Initial point
X_g.l = 0 ;
X_pv.l = 0 ;
* Load(s).l = 0 ;

MODEL pflow / ALL / ;
OPTION LIMROW = 100;
OPTION LIMCOL = 100;

loop(t, SOLVE pflow USING LP MINIMIZING Z) ;

--
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/d/optout.

Archiver
User
User
Posts: 7876
Joined: 9 months ago

Re: Please help with a loop

Postby Archiver » 2 years ago


Hi,

the programming problem was very basic, see new equation definition
and alias for the loop.

Still the problem as defined is unfeasible, you might want to check
its rational definition.



$TITLE pflow

Set t hours per day / t1, t2, t3 / ;
parameters
L(t) Load for each
/t1 3
t2 5
t3 8/ ;
Scalar
Cost_diesel in € per kWh / 2 /
Cost_pv in € / 1.1 /

alias(t,tt);
VARIABLES
*L(t),
X_g Diesel generator,
X_pv Domestic PV generation ,
Z Total cost of grid operation in € per kWh for on hour;

EQUATIONS
Load_Balance(t) Maintane a stable grid,
OBJ Objective equation total cost of grid operation in € per kWh ;

Load_balance(t).. X_g + X_pv -L(t) =E= 0 ;
*149 Uncontrolled set entered as constant
OBJ.. Z =E= (X_g*Cost_diesel) + (X_pv*Cost_pv);

* Upper bounds
X_g.UP = 10 ;
X_pv.UP = 2 ;
* Lower bounds
X_g.lo = 0 ;
X_pv.lo = 0 ;
* Initial point
X_g.l = 0 ;
X_pv.l = 0 ;
* Load(s).l = 0 ;

MODEL pflow / ALL / ;
OPTION LIMROW = 100;
OPTION LIMCOL = 100;

loop(tt, SOLVE pflow USING LP MINIMIZING Z) ;

hope this helps,
Roger
http://fnu.zmaw.de/index.php?id=7179&L=3

2014-10-16 12:44 GMT+02:00 Ivan Nordnes Dahlberg :
> > Hello!
> >
> > I am trying to do a simple example and I am New to GAMS.
> > I want to do a simple Power flow example in order to expand it later, i want
> > GAMS to minimize the cost by choosing the cheapest generators.
> > My problem is that I want the load to change for every hour for my system,
> > here is a 3 hour example and the error is marked in red.
> >
> > Can you please help me and explain what i must do different?
> >
> > HERE IS MY CODE:
> >
> > $TITLE pflow
> >
> > Set t hours per day / t1, t2, t3 / ;
> > parameters
> > L(t) Load for each
> > /t1 3
> > t2 5
> > t3 8/ ;
> > Scalar
> > Cost_diesel in € per kWh / 2 /
> > Cost_pv in € / 1.1 /
> >
> > VARIABLES
> > *L(t),
> > X_g Diesel generator,
> > X_pv Domestic PV generation ,
> > Z Total cost of grid operation in € per kWh for on hour;
> >
> > EQUATIONS
> > Load_Balance Maintane a stable grid,
> > OBJ Objective equation total cost of grid operation in € per kWh ;
> >
> > Load_balance.. X_g + X_pv -L(t) =E= 0 ;
> > 149 Uncontrolled set entered as constant
> > OBJ.. Z =E= (X_g*Cost_diesel) + (X_pv*Cost_pv);
> >
> > * Upper bounds
> > X_g.UP = 10 ;
> > X_pv.UP = 2 ;
> > * Lower bounds
> > X_g.lo = 0 ;
> > X_pv.lo = 0 ;
> > * Initial point
> > X_g.l = 0 ;
> > X_pv.l = 0 ;
> > * Load(s).l = 0 ;
> >
> > MODEL pflow / ALL / ;
> > OPTION LIMROW = 100;
> > OPTION LIMCOL = 100;
> >
> > loop(t, SOLVE pflow USING LP MINIMIZING Z) ;
> >
> > --
> > "gamsworld" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to gamsworld+unsubscribe@googlegroups.com.
> > To post to this group, send email to gamsworld@googlegroups.com.
> > Visit this group at http://groups.google.com/group/gamsworld.
> > For more options, visit https://groups.google.com/d/optout.



Rofice
User
User
Posts: 4
Joined: 1 month ago

Re: Please help with a loop

Postby Rofice » 1 month ago

Hi,
The problem with the equation is You have to enter constant here. You can do this by summing or specifying certain for example
1. Load_balance.. X_g + X_pv -sum(t,L(t)) =E= 0 ;
2. Load_balance.. X_g + X_pv -L('t1') =E= 0 ;

Otherwise GAMS dont know which element to select from the domain t until you specify function like sum,prod etc..

Regards


Return to “Archive Google Group”

Who is online

Users browsing this forum: No registered users and 1 guest