IEEE 6-bus system modeling

Problems with modeling
Post Reply
anan
User
User
Posts: 20
Joined: 5 years ago

IEEE 6-bus system modeling

Post by anan »

please I need help in modeling this I'm stuck at start-up cost equation number 12
startup cost func.pdf
(390.56 KiB) Downloaded 285 times

Code: Select all

* 24 bus system with 24 hours demand
set bus number of buses      /1*6/
    Gen   number of generators /g1*g3/
    t   number of hours      /t1*t24/
    k                        /1*100/
    nl       number of segment /1*3/
    slack(bus) / 1     /
    j start up cost intervals /j1*j8/
    n             /1*24/;
alias(t,tt);

Scalar
   Sbase /   100 /
   VOLL  / 10000 /
   VOLW  /    50 /;

Alias (bus,node);

Table GD(Gen,*) 'generating units characteristics'
        Pmax Pmin a      b     c     Scost  Dcost fuelc MU    MD   RU   RD
   g1   220  100  0.05   10    100   100    10    1     4     4    55   55
   g2   100  10   0.001  40.66 162   200    20    1     2     3    50   50
   g3   20   10   0.006  22.06 171   0      0     1                20   20 ;

       
Set GB(bus,Gen) 'connectivity index of each generating unit to each bus'
/
1.g1
2.g2
6.g3/;
   
Table branch(bus,node,*) line information
       x       limit
1.2    0.170   200
1.4    0.258   100
2.3    0.037   100
2.4    0.197   100
3.6    0.018   100
4.5    0.037   100
5.6    0.140   100;

Table WD(t,*) hourly load demand
        d
   t1   175
   t2   165
   t3   158
   t4   154
   t5   155
   t6   160
   t7   168
   t8   177
   t9   186
   t10  206
   t11  228
   t12  236
   t13  242
   t14  243
   t15  248
   t16  255
   t17  256
   t18  246
   t19  245
   t20  237
   t21  236
   t22  232
   t23  208
   t24  195;
   
Table BusData(bus,*) percent of hourly load of each bus
    pd
3   0.20
4   0.40
5   0.40 ;

branch(bus,node,'x')$(branch(bus,node,'x')=0)         =   branch(node,bus,'x');
branch(bus,node,'Limit')$(branch(bus,node,'Limit')=0) =   branch(node,bus,'Limit');
branch(bus,node,'bij')$branch(bus,node,'Limit')       = 1/branch(bus,node,'x');
branch(bus,node,'z')$branch(bus,node,'Limit')         = branch(bus,node,'x');
branch(node,bus,'z')                                  = branch(bus,node,'z');


binary variable u(Gen,t) status of unit i in period t;
Variable OF, Pg(Gen,t),pk(Gen,t,k);
positive variable suc(Gen,t);
Parameter conex(bus,node);
conex(bus,node)$(branch(bus,node,'limit') and branch(node,bus,'limit')) = 1;
conex(bus,node)$(conex(node,bus)) = 1;
Parameter data (k, Gen ,*) ;
data(k,Gen,'DP')=(GD(Gen ,"Pmax")-GD( Gen ,"Pmin")) / card ( k ) ;
data (k , Gen , 'Pini')= ( ord (k)-1)*data( k , Gen , 'DP' ) + GD( Gen , "Pmin" ) ;
data ( k , Gen , 'Pfin' ) = data( k , Gen , 'Pini' ) + data( k , Gen , 'DP' ) ;
data (k, Gen , 'Cini')=GD (Gen ,"a")*( data (k , Gen , 'Pini' ))*( data (k , Gen , 'Pini' ))
+GD (Gen ,"b")*data (k, Gen , 'Pini')+GD (Gen ,"c") ;
data (k, Gen , 'Cfin')=GD (Gen ,"a")*(data (k , Gen , 'Pfin' ))*(data(k , Gen , 'Pfin' ))
+GD (Gen ,"b")*data (k, Gen , 'Pfin')+GD (Gen ,"c") ;
data (k , Gen , 's') =( data (k , Gen , 'Cfin')-data( k , Gen , 'Cini' ) ) / data ( k , Gen , 'DP' ) ;

Pk.up ( Gen , t , k ) = data ( k , Gen , 'DP' ) ;
Pk.lo ( Gen , t , k ) =0;

Equation const1, const2, const3,const4,const5;

const1.. OF =e=sum ((bus,Gen,t)$GB(bus,Gen) , GD (Gen , 'a')*GD( Gen ,"Pmin")*GD( Gen ,"Pmin")
+GD (Gen , 'b')*GD ( Gen ,"Pmin") +GD ( Gen , 'c' )
+ sum (k, data (k, Gen , 's')*pk ( Gen , t , k) ) ) ;
*const1.. OF =e= sum((bus,Gen,t)$GB(bus,Gen), Pg(Gen,t)*Pg(Gen,t)*GD(Gen,'a')*Sbase+Pg(Gen,t)*GD(Gen,'b')*Sbase+GD(Gen,'c')) ;
const2(Gen,t).. pg(Gen,t+1) - pg(Gen,t) =l= GD(Gen,'RU')/Sbase;

const3(Gen,t).. pg(Gen,t-1) - pg(Gen,t) =l= GD(Gen,'RD')/Sbase;
const4(bus,t).. sum(Gen,pg(Gen,t)) =g= WD(t,'d')*BusData(bus,'pd')/Sbase;
const5(gen,t).. suc(Gen,t)=e= GD (Gen , 'Scost')*u(Gen,t);
*con5(Gen,t)$(ord(t)<=(24-GD(Gen,'MU'))).. sum(tt$(ord(tt)>=ord(t) and ord(tt)<=(ord(t)+GD(Gen,'MU')-1)),u(Gen,tt))=g=(GD(Gen,'MU')*(u(Gen,t)-u(Gen,t-1)));
*con6(Gen,t)$(ord(t)<=(24-GD(Gen,'MD'))).. sum(tt$(ord(tt)>=ord(t) and ord(tt)<=(ord(t)+GD(Gen,'MD')-1)),1-u(Gen,tt))=g=(GD(Gen,'MD')*(u(Gen,t-1)-u(Gen,t)));
*con7(Gen,t)$(ord(t)>(24-GD(Gen,'MU'))) .. sum(tt$(ord(tt)>ord(t)),u(Gen,tt)-(u(Gen,t)-u(Gen,t-1)))=g=0;
*con8(Gen,t)$(ord(t)>(24-GD(Gen,'MD'))) .. sum(tt$(ord(tt)>ord(t)),1-u(Gen,tt)-(u(Gen,t-1)-u(Gen,t)))=g=0;

Pg.lo(Gen,t) = GD(Gen,'Pmin')/Sbase;
Pg.up(Gen,t) = GD(Gen,'Pmax')/Sbase;


Model loadflow /all/;


Option LP = Cplex;
solve loadflow us mip min OF;
User avatar
bussieck
Moderator
Moderator
Posts: 1033
Joined: 7 years ago

Re: IEEE 6-bus system modeling

Post by bussieck »

Where is the problem. Try to put some code in and then we can see if we can help or describe where exactly the problem is.

-Michael
Post Reply