成功删除QG变量

This commit is contained in:
facat 2013-01-21 22:37:54 +08:00
parent d9f6d993e6
commit 618b56bc67
15 changed files with 25 additions and 30 deletions

View File

@ -9,6 +9,6 @@ this.currentPos=this.currentPos+1;
this.PDArray(:,this.currentPos)=PD; this.PDArray(:,this.currentPos)=PD;
this.QDArray(:,this.currentPos)=QD; this.QDArray(:,this.currentPos)=QD;
this.PGArray(this.currentPos)=PG; this.PGArray(this.currentPos)=PG;
this.QGArray(this.currentPos)=QG; % this.QGArray(this.currentPos)=QG;
end end

View File

@ -6,6 +6,6 @@ QDMaxDev=max(abs( (this.QDArray-QD0Array)./QD0Array ),[],2);
PG0Array=repmat(PG0,this.sampleNum,1); PG0Array=repmat(PG0,this.sampleNum,1);
QG0Array=repmat(QG0,this.sampleNum,1); QG0Array=repmat(QG0,this.sampleNum,1);
PGMaxDev=max(abs( (PG0Array-this.PGArray)./PG0Array )); PGMaxDev=max(abs( (PG0Array-this.PGArray)./PG0Array ));
QGMaxDev=max( abs( (QG0Array-this.QGArray)./QG0Array ) ); % QGMaxDev=max( abs( (QG0Array-this.QGArray)./QG0Array ) );
output_arg=max([PDMaxDev;QDMaxDev;PGMaxDev;QGMaxDev]); output_arg=max([PDMaxDev;QDMaxDev;PGMaxDev]);
end end

View File

@ -9,8 +9,8 @@ QDDev=(this.QDArray-QD0Array)/0.05;
PG0Array=repmat(PG0,this.sampleNum,1); PG0Array=repmat(PG0,this.sampleNum,1);
QG0Array=repmat(QG0,this.sampleNum,1); QG0Array=repmat(QG0,this.sampleNum,1);
PGDev=(PG0Array-this.PGArray)/0.01; PGDev=(PG0Array-this.PGArray)/0.01;
QGDev=(QG0Array-this.QGArray)/0.01; % QGDev=(QG0Array-this.QGArray)/0.01;
wholeMat=[PDDev;QDDev;PGDev';QGDev']; wholeMat=[PDDev;QDDev;PGDev'];
t1=wholeMat.^2; t1=wholeMat.^2;
t2=sum(t1,1); t2=sum(t1,1);
t3=t2/size(t1,1); t3=t2/size(t1,1);

View File

@ -2,7 +2,6 @@ function Mat_G=FormG(Volt,PVi,PGi,PG,QG,PD,QD,Loadi)
Mat_G=[ Mat_G=[
PG(PGi); PG(PGi);
QG(PVi);
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',QU',PDU',QDU',VoltU])'; t1=([PU',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',QL',PDL',QDL',VoltL])'; t1=([PL',PDL',QDL',VoltL])';
t2=Mat_G-Init_L'-t1; t2=Mat_G-Init_L'-t1;
Lz=t2; Lz=t2;

View File

@ -12,11 +12,11 @@ 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(PVi,1)+size(PGi,1)+1:size(PVi,1)+size(PGi,1)+size(Loadi,1)*2); t=deltX(size(PGi,1)+1:size(PGi,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(PVi,1)+size(PGi,1)+size(Loadi,1)*2+1:ContrlCount)'; t=deltX(size(PGi,1)+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

@ -35,11 +35,12 @@ for II=1:4
QG0(PVi)=QGBal(PVi); QG0(PVi)=QGBal(PVi);
QG(PVi)=QGBal(PVi); QG(PVi)=QGBal(PVi);
%% %%
PVi=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(PVi,1)+size(PGi,1)+size(Loadi,1)*2+Busnum*2; ContrlCount=size(PGi,1)+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(PVi,1)+size(PGi,1)+size(Loadi,1)*2+Busnum*1; %,QD RestraintCount=size(PGi,1)+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;
@ -16,14 +16,12 @@ tQU=sparse(PVQU(:,1));%
tPL=sparse(GenL(:,2));% 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;
wPG=0*ones(size(PGi,1),1); wPG=0*ones(size(PGi,1),1);
wQG=0*ones(size(PVi,1),1); wQG=0*ones(size(PVi,1),0);
%randInt=randperm(size(Loadi,1)); %randInt=randperm(size(Loadi,1));
%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=20*ones(size(Loadi,1),1);
%wD(randPDind)=0;% %wD(randPDind)=0;%
%wD(7)=0; %wD(7)=0;
% wD(11)=0; % wD(11)=0;

View File

@ -10,14 +10,14 @@ aa=[
]; ];
yy=[LxComa;-Ly]; yy=[LxComa;-Ly];
%% %%
t=size(PVi,1)+size(PGi,1)+size(Loadi,1)*2; t=size(PGi,1)+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(PVi,1)+size(PGi,1)+size(Loadi,1)*2+Busnum*1; t=size(PGi,1)+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

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

View File

@ -6,7 +6,6 @@ t3=2*wPD.*(PD(Loadi)-PD0(Loadi));
t4=2*wQD.*(QD(Loadi)-QD0(Loadi)); t4=2*wQD.*(QD(Loadi)-QD0(Loadi));
deltF=[ deltF=[
sparse(t1); sparse(t1);
sparse(t2);
sparse(t3); sparse(t3);
sparse(t4); sparse(t4);
sparse(2*Busnum,1); sparse(2*Busnum,1);

View File

@ -37,10 +37,10 @@ dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum);
sparse(Busnum,Busnum); sparse(Busnum,Busnum);
]; ];
%% %%
deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg,dg5_dPg;
dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr,dg5_dQr; deltG=[dg1_dPg,dg3_dPg,dg4_dPg,dg5_dPg;
dg1_dPD,dg2_dPD,dg3_dPD,dg4_dPD,dg5_dPD; dg1_dPD,dg3_dPD,dg4_dPD,dg5_dPD;
dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD,dg5_dQD; dg1_dQD,dg3_dQD,dg4_dQD,dg5_dQD;
dg1_dx,dg2_dx,dg3_dx,dg4_dx,dg5_dx; dg1_dx,dg3_dx,dg4_dx,dg5_dx;
]; ];
end end

View File

@ -1,10 +1,9 @@
function deltH=func_deltH(Busnum,Volt,PVi,Y,PGi,UAngel,r,c,Angle,Loadi) function deltH=func_deltH(Busnum,Volt,PVi,Y,PGi,UAngel,r,c,Angle,Loadi)
dH_dPg=sparse(1:size(PGi,1),PGi,ones(size(PGi,1),1),size(PGi,1),2*Busnum); dH_dPg=sparse(1:size(PGi,1),PGi,ones(size(PGi,1),1),size(PGi,1),2*Busnum);
dH_dQr=sparse(1:size(PVi,1),PVi+Busnum,ones(size(PVi,1),1),size(PVi,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_dQr;dH_dPD;dH_dQD;dH_dx']; deltH=[dH_dPg;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' wQG' wPD' wQD']; C=[wPG' 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=[