完全删除PG变量

This commit is contained in:
facat 2013-01-21 22:52:03 +08:00
parent 618b56bc67
commit e96ebb226d
13 changed files with 20 additions and 30 deletions

View File

@ -1,7 +1,6 @@
function Mat_G=FormG(Volt,PVi,PGi,PG,QG,PD,QD,Loadi) function Mat_G=FormG(Volt,PVi,PGi,PG,QG,PD,QD,Loadi)
Mat_G=[ Mat_G=[
PG(PGi);
sparse(PD(Loadi)); sparse(PD(Loadi));
sparse(QD(Loadi)); sparse(QD(Loadi));
Volt'; Volt';

View File

@ -18,7 +18,7 @@ QDU(QDU<0)=0.700*QDU(QDU<0);
QDU(QDU==0)=0.400; QDU(QDU==0)=0.400;
% PF=0.85; % PF=0.85;
% QDU=1.0*PD(Loadi).*sqrt(1 -PF.^2)./PF; % QDU=1.0*PD(Loadi).*sqrt(1 -PF.^2)./PF;
t1=([PU',PDU',QDU',VoltU])'; t1=([PDU',QDU',VoltU])';
t2=Mat_G+Init_U'-t1; t2=Mat_G+Init_U'-t1;
Lw=t2; Lw=t2;

View File

@ -16,7 +16,7 @@ QDL(QDL>0)=0.700*QDL(QDL>0);
QDL(QDL<0)=1.300*QDL(QDL<0); QDL(QDL<0)=1.300*QDL(QDL<0);
QDL(QDL==0)=-0.400; QDL(QDL==0)=-0.400;
% QDL=0*PD(Loadi).*sqrt((1-PF.^2))./PF; % QDL=0*PD(Loadi).*sqrt((1-PF.^2))./PF;
t1=([PL',PDL',QDL',VoltL])'; t1=([PDL',QDL',VoltL])';
t2=Mat_G-Init_L'-t1; t2=Mat_G-Init_L'-t1;
Lz=t2; Lz=t2;

View File

@ -10,13 +10,13 @@ Init_W=Init_W+AlphaD*deltW';
Init_U=Init_U+AlphaP*deltU'; Init_U=Init_U+AlphaP*deltU';
Init_Y=Init_Y+AlphaD*deltY'; Init_Y=Init_Y+AlphaD*deltY';
%PG(PGi)=PG(PGi)+deltX(1:size(PGi,1)); %PG(PGi)=PG(PGi)+deltX(1:size(PGi,1));
PG(PGi)=PG(PGi)+AlphaP*deltX(1:size(PGi,1)); % PG(PGi)=PG(PGi)+AlphaP*deltX(1:size(PGi,1));
%QG(PVi)=QG(PVi)+deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) ); %QG(PVi)=QG(PVi)+deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) );
% QG(PVi)=QG(PVi)+AlphaP*deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) ); % QG(PVi)=QG(PVi)+AlphaP*deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) );
t=deltX(size(PGi,1)+1:size(PGi,1)+size(Loadi,1)*2); t=deltX(1:size(Loadi,1)*2);
PD(Loadi)=PD(Loadi)+AlphaP*t(1:length(Loadi)); PD(Loadi)=PD(Loadi)+AlphaP*t(1:length(Loadi));
QD(Loadi)=QD(Loadi)+AlphaP*t(length(Loadi)+1:length(Loadi)*2); QD(Loadi)=QD(Loadi)+AlphaP*t(length(Loadi)+1:length(Loadi)*2);
t=deltX(size(PGi,1)+size(Loadi,1)*2+1:ContrlCount)'; t=deltX(size(Loadi,1)*2+1:ContrlCount)';
t(Busnum+Balance)=0; t(Busnum+Balance)=0;
%Volt=Volt+AlphaP*t(2:2:2*Busnum);20111227 %Volt=Volt+AlphaP*t(2:2:2*Busnum);20111227
%UAngel=UAngel+AlphaP*t(1:2:2*Busnum);20111227 %UAngel=UAngel+AlphaP*t(1:2:2*Busnum);20111227

3
OPF.m
View File

@ -36,11 +36,12 @@ for II=1:4
QG(PVi)=QGBal(PVi); QG(PVi)=QGBal(PVi);
%% %%
PVi=zeros(0,0); PVi=zeros(0,0);
PGi=zeros(0,0);
[Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD0,QD,randPDind,Loadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD); [Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD0,QD,randPDind,Loadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD);
Gap=(Init_L*Init_Z'-Init_U*Init_W'); Gap=(Init_L*Init_Z'-Init_U*Init_W');
KK=0; KK=0;
plotGap=zeros(1,60); plotGap=zeros(1,60);
ContrlCount=size(PGi,1)+size(Loadi,1)*2+Busnum*2; ContrlCount=size(Loadi,1)*2+Busnum*2;
kmax=60; kmax=60;
%% 20120523 ÁÙʱ %% 20120523 ÁÙʱ
QD_NON_ZERO=QD(PD==0 & QD~=0); QD_NON_ZERO=QD(PD==0 & QD~=0);

View File

@ -1,7 +1,7 @@
function [Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD0,QD,randPDind,Loadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD) function [Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD0,QD,randPDind,Loadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD)
Loadi=find(QD~=0 | PD~=0); Loadi=find(QD~=0 | PD~=0);
%Loadi=[1:Busnum]'; %Loadi=[1:Busnum]';
RestraintCount=size(PGi,1)+size(Loadi,1)*2+Busnum*1; %,QD RestraintCount=size(Loadi,1)*2+Busnum*1; %,QD
t_Bal_volt=Volt(Balance); t_Bal_volt=Volt(Balance);
Volt=sparse(1*ones(1,Busnum)); Volt=sparse(1*ones(1,Busnum));
Volt(Balance)=t_Bal_volt; Volt(Balance)=t_Bal_volt;
@ -22,6 +22,7 @@ wQG=0*ones(size(PVi,1),0);
%randPDind=randInt(1:10); %randPDind=randInt(1:10);
randPDind=0; randPDind=0;
wPD=20*ones(size(Loadi,1),1); wPD=20*ones(size(Loadi,1),1);
wQD=0;
%wD(randPDind)=0;% %wD(randPDind)=0;%
%wD(7)=0; %wD(7)=0;
% wD(11)=0; % wD(11)=0;

View File

@ -1,9 +1,5 @@
function [out_arg]=ObjectiveFun(PG,PG0,PGi,QG,QG0,PVi,PD,PD0,QD,QD0,wPG,wQG,wPD,wQD,Loadi) function [out_arg]=ObjectiveFun(PG,PG0,PGi,QG,QG0,PVi,PD,PD0,QD,QD0,wPG,wQG,wPD,wQD,Loadi)
t1=PG(PGi)-PG0(PGi);
t2=wPG.*t1.*t1;
t1=QG(PVi)-QG0(PVi);
t3=wQG.*t1.*t1;
t4=wPD.*((PD(Loadi)-PD0(Loadi)).*(PD(Loadi)-PD0(Loadi))); t4=wPD.*((PD(Loadi)-PD0(Loadi)).*(PD(Loadi)-PD0(Loadi)));
t5=wQD.*((QD(Loadi)-QD0(Loadi)).*(QD(Loadi)-QD0(Loadi))); t5=wQD.*((QD(Loadi)-QD0(Loadi)).*(QD(Loadi)-QD0(Loadi)));
out_arg= sum(t2)+sum(t3)+sum(t4)+sum(t5); out_arg= sum(t4)+sum(t5);
end end

View File

@ -10,14 +10,14 @@ aa=[
]; ];
yy=[LxComa;-Ly]; yy=[LxComa;-Ly];
%% %%
t=size(PGi,1)+size(Loadi,1)*2; t=size(Loadi,1)*2;
aa(t+Balance,:)=0; aa(t+Balance,:)=0;
aa(:,t+Balance)=0; aa(:,t+Balance)=0;
%aa(t+Balance,t+Balance)=1; %aa(t+Balance,t+Balance)=1;
aa=aa+sparse(t+Balance,t+Balance,ones(length(Balance),1),ContrlCount+2*Busnum,ContrlCount+2*Busnum); aa=aa+sparse(t+Balance,t+Balance,ones(length(Balance),1),ContrlCount+2*Busnum,ContrlCount+2*Busnum);
deltG(t+Balance,:)=0; deltG(t+Balance,:)=0;
%% %%
t=size(PGi,1)+size(Loadi,1)*2+Busnum*1; t=size(Loadi,1)*2+Busnum*1;
aa(t+Balance,:)=0; aa(t+Balance,:)=0;
aa(:,t+Balance)=0; aa(:,t+Balance)=0;
%aa(t+Balance,t+Balance)=1; %aa(t+Balance,t+Balance)=1;

View File

@ -48,10 +48,9 @@ ddQdVdV=t1+t2;
t=[ddPdVdV+ddQdVdV,ddPdVdT+ddQdVdT; t=[ddPdVdV+ddQdVdV,ddPdVdT+ddQdVdT;
ddPdTdV+ddQdTdV,ddPdTdT+ddQdTdT; ddPdTdV+ddQdTdV,ddPdTdT+ddQdTdT;
]; ];
sizePGi=size(PGi,1);
sizeLoadi=size(Loadi,1)*2; sizeLoadi=size(Loadi,1)*2;
ddh=[ ddh=[
sparse(sizePGi+sizeLoadi,ContrlCount); sparse(sizeLoadi,ContrlCount);
sparse(2*Busnum,sizePGi+sizeLoadi),-t; sparse(2*Busnum,sizeLoadi),-t;
]; ];
end end

View File

@ -1,12 +1,7 @@
function deltF=func_deltF(PG,QG,PVi,PGi,wPG,wQG,wPD,wQD,PG0,QG0,PD0,PD,QD,QD0,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) );
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)); t4=2*wQD.*(QD(Loadi)-QD0(Loadi));
deltF=[ deltF=[sparse(t3);
sparse(t1);
sparse(t3);
sparse(t4); sparse(t4);
sparse(2*Busnum,1); sparse(2*Busnum,1);
]; ];

View File

@ -38,9 +38,8 @@ dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum);
]; ];
%% %%
deltG=[dg1_dPg,dg3_dPg,dg4_dPg,dg5_dPg; deltG=[dg3_dPD,dg4_dPD,dg5_dPD;
dg1_dPD,dg3_dPD,dg4_dPD,dg5_dPD; dg3_dQD,dg4_dQD,dg5_dQD;
dg1_dQD,dg3_dQD,dg4_dQD,dg5_dQD; dg3_dx,dg4_dx,dg5_dx;
dg1_dx,dg3_dx,dg4_dx,dg5_dx;
]; ];
end end

View File

@ -4,6 +4,6 @@ dH_dPg=sparse(1:size(PGi,1),PGi,ones(size(PGi,1),1),size(PGi,1),2*Busnum);
dH_dPD=[sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum) sparse(size(Loadi,1),Busnum)]; dH_dPD=[sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum) sparse(size(Loadi,1),Busnum)];
dH_dQD=[sparse(size(Loadi,1),Busnum) sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum)]; dH_dQD=[sparse(size(Loadi,1),Busnum) sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum)];
dH_dx = jacobian_M(Busnum,Volt,Y,Angle,UAngel,r,c); % dH_dx = jacobian_M(Busnum,Volt,Y,Angle,UAngel,r,c); %
deltH=[dH_dPg;dH_dPD;dH_dQD;dH_dx']; deltH=[dH_dPD;dH_dQD;dH_dx'];
end end

View File

@ -1,7 +1,7 @@
function deltdeltF=func_deltdeltF(PVi,wPG,wQG,wPD,wQD,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' wPD' wQD']; C=[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=[