把电压加到目标函数中。

Signed-off-by: facat@lab.com <facat@lab.com>
This commit is contained in:
facat@lab.com 2014-11-03 17:23:33 +08:00
parent 708115e7f9
commit 53a68dbba2
3 changed files with 13 additions and 8 deletions

8
OPF.m
View File

@ -94,8 +94,6 @@ while(k<=kmax && maxD> EPS)
If0=conj(f012(1,:)');
If1=conj(f012(2,:)');
If2=conj(f012(3,:)');
If0(Balance)=0;
If2(Balance)=0;
%Vf0=fsY0\If0;
@ -171,8 +169,10 @@ Vp3a((Balance-1)*3+1)=0;
Vp3a((Balance-1)*3+2)=-120/180*pi;
Vp3a((Balance-1)*3+3)=+120/180*pi;
Loadi=PQi3P;
wVolt=ones(busNum*3,1);
wPD=ones(length(Loadi),1);
wQD=ones(length(Loadi),1);
mVolt=Vp3m;
PD0=PD3P;
QD0=QD3P;
%%
@ -207,7 +207,7 @@ while(abs(Gap)>Precision)
L_1Z=diag(Init_Z./Init_L);
U_1W=diag(Init_W./Init_U);
%%
deltdeltF=func_deltdeltF(wPD,wQD,ContrlCount);
deltdeltF=func_deltdeltF(wVolt,wPD,wQD,ContrlCount);
% deltdeltF=0;
%% ddHy
ddh=func_ddh(Volt,Init_Y,Busnum,Y,UAngel,r,c,Yangle,Loadi,ContrlCount);
@ -215,7 +215,7 @@ while(abs(Gap)>Precision)
% ddg=func_ddg(PGi,PVi,Busnum,RestraintCount,Loadi,PD,QD);
ddg=0;
%% deltF
deltF=func_deltF(wPD,wQD,PD0,PD3P,QD3P,QD0,Busnum,Loadi);
deltF=func_deltF(wVolt,wPD,wQD,PD0,PD3P,QD3P,QD0,Volt,mVolt,Busnum,Loadi);
% deltF=0;
%%
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);

View File

@ -1,9 +1,11 @@
function deltF=func_deltF(wPD,wQD,PD0,PD,QD,QD0,Busnum,Loadi)
function deltF=func_deltF(wVolt,wPD,wQD,PD0,PD,QD,QD0,Volt,mVolt,Busnum,Loadi)
t3=2*wPD.*(PD(Loadi)-PD0(Loadi));
t4=2*wQD.*(QD(Loadi)-QD0(Loadi));
t5=2*wVolt.*(Volt-mVolt);
deltF=[sparse(t3);
sparse(t4);
sparse(2*Busnum*3,1);
sparse(t5);
sparse(1*Busnum*3,1);
];
end

View File

@ -1,11 +1,14 @@
function deltdeltF=func_deltdeltF(wPD,wQD,ContrlCount)
function deltdeltF=func_deltdeltF(wVolt,wPD,wQD,ContrlCount)
%ContrlCount=size(PVi,1)+size(PGi,1)+size(wD,1)+Busnum*2; %P,Q,Volt theta
C=[wPD' wQD'];
CVolt=wVolt;
sizeC=size(C,2);
diagC=sparse(1:sizeC,1:sizeC,C,sizeC,sizeC);
deltdeltF=[
diagC*2,sparse(sizeC,ContrlCount-sizeC);
sparse(ContrlCount-sizeC,ContrlCount);
%sparse(ContrlCount-sizeC,ContrlCount);
diag(CVolt)*2,sparse(length(CVolt),ContrlCount-length(CVolt));
sparse(length(CVolt),ContrlCount);
];
end