economic dispatch

4
Inputdata3.m file % gno c b a pmin pmax 1 400 8.4 0.006 100 600 2 600 8.93 0.0042 60 300 3 650 6.78 0.004 300 650 Economic displatch with out losses load inputdata3.m A=inputdata3 n=length(A(:,1)) dellambda=0.0001 pd=input('total demand=') lambda=2*a(1)*(pd/3)+b(1) u=ones(n,1);delp=0.1;a=A(:,4);b=A(:,3);c=A(:,2);pmin=A(:,5);pmax=A(:,6); iter=0; while abs(delp)>=0.01 p=(lambda-b)./(2*a) for i=1:n if (p(i)<=pmin(i)|p(i)>=pmax(i)) if p(i)>=pmax(i) p(i)=pmax(i) else p(i)=pmin(i) end end end pg=0 for i=1:n pg=pg+p(i) end delp=pd-pg x=sign(delp) lambda=lambda+x*dellambda iter=iter+1 end p y=pg pd=820MW lambda =10.4790 iter =12012 p = 173.2417 184.3929 462.3625 y =819.9970MW Pd=1500MW lambda = 15.0000 iter = 6000 p = 549.9917 300.0000 650.0000

Upload: nandigamchandu

Post on 06-Feb-2016

4 views

Category:

Documents


0 download

DESCRIPTION

matlab program

TRANSCRIPT

Page 1: Economic Dispatch

Inputdata3.m file

% gno c b a pmin pmax 1 400 8.4 0.006 100 600 2 600 8.93 0.0042 60 300 3 650 6.78 0.004 300 650

Economic displatch with out lossesload inputdata3.mA=inputdata3n=length(A(:,1))dellambda=0.0001pd=input('total demand=')lambda=2*a(1)*(pd/3)+b(1)u=ones(n,1);delp=0.1;a=A(:,4);b=A(:,3);c=A(:,2);pmin=A(:,5);pmax=A(:,6);iter=0;while abs(delp)>=0.01 p=(lambda-b)./(2*a)for i=1:n if (p(i)<=pmin(i)|p(i)>=pmax(i)) if p(i)>=pmax(i) p(i)=pmax(i) else p(i)=pmin(i) end endendpg=0for i=1:n pg=pg+p(i)enddelp=pd-pgx=sign(delp)lambda=lambda+x*dellambdaiter=iter+1endpy=pg

pd=820MWlambda =10.4790iter =12012 p = 173.2417 184.3929 462.3625 y =819.9970MW

Pd=1500MWlambda =

15.0000iter = 6000p =

549.9917 300.0000 650.0000

y =1.5000e+03

Inputdata.m file% uno c b a pmin pmax 1 420 9.2 0.004 100 200 2 350 8.5 0.0029 150 500

Page 2: Economic Dispatch

B_coefficients.m file% b coefficients0.000346 00 0.0000643

Economic displatch with lossesload inputdata.mload B_coefficients.mA=inputdataB=B_coefficientsn=length(A(:,1))dellambda=0.0001p=zeros(n,1)pd=input('total demand=')lambda=input('enter initial lambda value=')u=ones(n,1);delp=0.1;a=A(:,4);b=A(:,3);c=A(:,2);pmin=A(:,5);pmax=A(:,6);iter=0;while abs(delp)>=0.01for i=1:n sum=0 for j=1:n if i~=j sum=sum+B(i,j)*p(j) end end p(i)=(lambda-2*lambda*sum-b(i))/(2*(a(i)+B(i,i)*lambda))endfor i=1:n if (p(i)<=pmin(i)|p(i)>=pmax(i)) if p(i)>=pmax(i) p(i)=pmax(i) else p(i)=pmin(i) end endendpl=p'*B*ppg=0for i=1:n pg=pg+p(i)enddelp=pd+pl-pgx=sign(delp)lambda=lambda+x*dellambdaiter=iter+1endppgplpd=pg-plpd=640.82lambda =12.1033iter = 1035p = 177.3009 489.8255pg =667.1264pl =26.3042pd =640.8222pd=250lambda =9.5901iter =15903p = 100.0000 155.0055pg =255.0055pl =5.0049pd =250.0006

f=50

Page 3: Economic Dispatch

t=0h=8delt=0.00001delw=0pm=1fault_time=0fault_clearing_time=0.2angle=25*pi/180while (t<=1) t=t+delt if t<=fault_time pe=2.5*sin(angle) else if t<=fault_clearing_time pe=0.6*sin(angle) else pe=1.5*sin(angle) end end alpha=(pi*f/h)*(pm-pe) delw=delw+alpha*delt angle=angle+delw*delt hold on plot(t,angle,'.') endhold off