成功删除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.QDArray(:,this.currentPos)=QD;
this.PGArray(this.currentPos)=PG;
this.QGArray(this.currentPos)=QG;
% this.QGArray(this.currentPos)=QG;
end

View File

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

View File

@ -9,8 +9,8 @@ QDDev=(this.QDArray-QD0Array)/0.05;
PG0Array=repmat(PG0,this.sampleNum,1);
QG0Array=repmat(QG0,this.sampleNum,1);
PGDev=(PG0Array-this.PGArray)/0.01;
QGDev=(QG0Array-this.QGArray)/0.01;
wholeMat=[PDDev;QDDev;PGDev';QGDev'];
% QGDev=(QG0Array-this.QGArray)/0.01;
wholeMat=[PDDev;QDDev;PGDev'];
t1=wholeMat.^2;
t2=sum(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=[
PG(PGi);
QG(PVi);
sparse(PD(Loadi));
sparse(QD(Loadi));
Volt';

View File

@ -18,7 +18,7 @@ QDU(QDU<0)=0.700*QDU(QDU<0);
QDU(QDU==0)=0.400;
% PF=0.85;
% 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;
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)=-0.400;
% 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;
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)+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)+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);
% 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);
PD(Loadi)=PD(Loadi)+AlphaP*t(1:length(Loadi));
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;
%Volt=Volt+AlphaP*t(2: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);
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);
Gap=(Init_L*Init_Z'-Init_U*Init_W');
KK=0;
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;
%% 20120523 ÁÙʱ
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)
Loadi=find(QD~=0 | PD~=0);
%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);
Volt=sparse(1*ones(1,Busnum));
Volt(Balance)=t_Bal_volt;
@ -16,14 +16,12 @@ tQU=sparse(PVQU(:,1));%
tPL=sparse(GenL(:,2));%
tQL=sparse(PVQL(:,1));%
PG(PGi)=(tPU+tPL)/2;
QG(PVi)=(tQU+tQL)/2;
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));
%randPDind=randInt(1:10);
randPDind=0;
wPD=20*ones(size(Loadi,1),1);
wQD=20*ones(size(Loadi,1),1);
%wD(randPDind)=0;%
%wD(7)=0;
% wD(11)=0;

View File

@ -10,14 +10,14 @@ aa=[
];
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,t+Balance)=1;
aa=aa+sparse(t+Balance,t+Balance,ones(length(Balance),1),ContrlCount+2*Busnum,ContrlCount+2*Busnum);
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,t+Balance)=1;

View File

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

View File

@ -6,7 +6,6 @@ t3=2*wPD.*(PD(Loadi)-PD0(Loadi));
t4=2*wQD.*(QD(Loadi)-QD0(Loadi));
deltF=[
sparse(t1);
sparse(t2);
sparse(t3);
sparse(t4);
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);
];
%%
deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg,dg5_dPg;
dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr,dg5_dQr;
dg1_dPD,dg2_dPD,dg3_dPD,dg4_dPD,dg5_dPD;
dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD,dg5_dQD;
dg1_dx,dg2_dx,dg3_dx,dg4_dx,dg5_dx;
deltG=[dg1_dPg,dg3_dPg,dg4_dPg,dg5_dPg;
dg1_dPD,dg3_dPD,dg4_dPD,dg5_dPD;
dg1_dQD,dg3_dQD,dg4_dQD,dg5_dQD;
dg1_dx,dg3_dx,dg4_dx,dg5_dx;
];
end

View File

@ -1,10 +1,9 @@
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_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_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); %
deltH=[dH_dPg;dH_dQr;dH_dPD;dH_dQD;dH_dx'];
deltH=[dH_dPg;dH_dPD;dH_dQD;dH_dx'];
end

View File

@ -1,7 +1,7 @@
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
C=[wPG' wQG' wPD' wQD'];
C=[wPG' wPD' wQD'];
sizeC=size(C,2);
diagC=sparse(1:sizeC,1:sizeC,C,sizeC,sizeC);
deltdeltF=[