约束QD 。

This commit is contained in:
unknown 2012-11-16 22:47:06 +08:00
parent 941ffc39f6
commit 28cb11581a
5 changed files with 11 additions and 9 deletions

View File

@ -15,7 +15,7 @@ PDU(PDU==0)=0.400;
% QDU(QDU>0)=1.200*QDU(QDU>0); % QDU(QDU>0)=1.200*QDU(QDU>0);
% QDU(QDU<0)=0.800*QDU(QDU<0); % QDU(QDU<0)=0.800*QDU(QDU<0);
% QDU(QDU==0)=0.200; % QDU(QDU==0)=0.200;
QDU=1.2*PD(Loadi).*sqrt(1 -PF.^2)./PF; QDU=1.1*PD(Loadi).*sqrt(1 -PF.^2)./PF;
t1=([PU',QU',PDU',QDU',VoltU])'; t1=([PU',QU',PDU',QDU',VoltU])';
t2=Mat_G+Init_U'-t1; t2=Mat_G+Init_U'-t1;
Lw=t2; Lw=t2;

5
OPF.m
View File

@ -43,6 +43,7 @@ kmax=60;
QD_NON_ZERO=QD(PD==0 & QD~=0); QD_NON_ZERO=QD(PD==0 & QD~=0);
QD_NON_ZERO_IND=find(PD==0 & QD~=0); QD_NON_ZERO_IND=find(PD==0 & QD~=0);
%% %%
Precision=Precision/1;
while(abs(Gap)>Precision) while(abs(Gap)>Precision)
if KK>kmax if KK>kmax
break; break;
@ -59,13 +60,13 @@ while(abs(Gap)>Precision)
L_1Z=diag(Init_Z./Init_L); L_1Z=diag(Init_Z./Init_L);
U_1W=diag(Init_W./Init_U); U_1W=diag(Init_W./Init_U);
%% %%
deltdeltF=func_deltdeltF(PVi,wPG,wQG,wPD,ContrlCount); deltdeltF=func_deltdeltF(PVi,wPG,wQG,wPD,wQD,ContrlCount);
%% ddHy %% ddHy
ddh=func_ddh(Volt,Init_Y,Busnum,PVi,PGi,Y,UAngel,r,c,Angle,Loadi,ContrlCount); ddh=func_ddh(Volt,Init_Y,Busnum,PVi,PGi,Y,UAngel,r,c,Angle,Loadi,ContrlCount);
%% ddg %% ddg
ddg=func_ddg(PGi,PVi,Busnum,RestraintCount,Loadi,PD,QD); ddg=func_ddg(PGi,PVi,Busnum,RestraintCount,Loadi,PD,QD);
%% deltF %% deltF
deltF=func_deltF(PG,QG,PVi,PGi,wPG,wQG,wPD,PG0,QG0,PD0,PD,Busnum,Loadi); deltF=func_deltF(PG,QG,PVi,PGi,wPG,wQG,wPD,wQD,PG0,QG0,PD0,PD,QD,QD0,Busnum,Loadi);
%% %%
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1); Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);

View File

@ -17,8 +17,8 @@ tPL=sparse(GenL(:,2));%
tQL=sparse(PVQL(:,1));% tQL=sparse(PVQL(:,1));%
PG(PGi)=(tPU+tPL)/2; PG(PGi)=(tPU+tPL)/2;
QG(PVi)=(tQU+tQL)/2; QG(PVi)=(tQU+tQL)/2;
wPG=1*ones(size(PGi,1),1); wPG=100*ones(size(PGi,1),1);
wQG=1*ones(size(PVi,1),1); wQG=100*ones(size(PVi,1),1);
%randInt=randperm(size(Loadi,1)); %randInt=randperm(size(Loadi,1));
%randPDind=randInt(1:10); %randPDind=randInt(1:10);
randPDind=0; randPDind=0;

View File

@ -1,13 +1,14 @@
function deltF=func_deltF(PG,QG,PVi,PGi,wPG,wQG,wPD,PG0,QG0,PD0,PD,Busnum,Loadi) function deltF=func_deltF(PG,QG,PVi,PGi,wPG,wQG,wPD,wQD,PG0,QG0,PD0,PD,QD,QD0,Busnum,Loadi)
t1=2*wPG.*(PG(PGi) - PG0(PGi) ); t1=2*wPG.*(PG(PGi) - PG0(PGi) );
t2=2*wQG.*(QG(PVi) - QG0(PVi) ); t2=2*wQG.*(QG(PVi) - QG0(PVi) );
t3=2*wPD.*(PD(Loadi)-PD0(Loadi)); t3=2*wPD.*(PD(Loadi)-PD0(Loadi));
t4=2*wQD.*(QD(Loadi)-QD0(Loadi));
deltF=[ deltF=[
sparse(t1); sparse(t1);
sparse(t2); sparse(t2);
sparse(t3); sparse(t3);
sparse(length(Loadi),1); sparse(t4);
sparse(2*Busnum,1); sparse(2*Busnum,1);
]; ];

View File

@ -1,7 +1,7 @@
function deltdeltF=func_deltdeltF(PVi,wPG,wQG,wPD,ContrlCount) function deltdeltF=func_deltdeltF(PVi,wPG,wQG,wPD,wQD,ContrlCount)
%ContrlCount=size(PVi,1)+size(PGi,1)+size(wD,1)+Busnum*2; %P,Q,Volt theta %ContrlCount=size(PVi,1)+size(PGi,1)+size(wD,1)+Busnum*2; %P,Q,Volt theta
C=[wPG' wQG' wPD']; C=[wPG' wQG' wPD' wQD'];
sizeC=size(C,2); sizeC=size(C,2);
diagC=sparse(1:sizeC,1:sizeC,C,sizeC,sizeC); diagC=sparse(1:sizeC,1:sizeC,C,sizeC,sizeC);
deltdeltF=[ deltdeltF=[