diff --git a/@ForThesis/AddPDQDPGQG.m b/@ForThesis/AddPDQDPGQG.m index f5a179c..ead1720 100644 --- a/@ForThesis/AddPDQDPGQG.m +++ b/@ForThesis/AddPDQDPGQG.m @@ -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 diff --git a/@ForThesis/MaxDeviation.m b/@ForThesis/MaxDeviation.m index 006d74e..3686bef 100644 --- a/@ForThesis/MaxDeviation.m +++ b/@ForThesis/MaxDeviation.m @@ -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 diff --git a/@ForThesis/StatDeviation.m b/@ForThesis/StatDeviation.m index abd08ed..ff43cb2 100644 --- a/@ForThesis/StatDeviation.m +++ b/@ForThesis/StatDeviation.m @@ -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); diff --git a/FormG.m b/FormG.m index 82d9579..1f83ba7 100644 --- a/FormG.m +++ b/FormG.m @@ -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'; diff --git a/FormLw.m b/FormLw.m index 056fd3c..ccb7027 100644 --- a/FormLw.m +++ b/FormLw.m @@ -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; diff --git a/FormLz.m b/FormLz.m index 8bdd741..6396c47 100644 --- a/FormLz.m +++ b/FormLz.m @@ -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; diff --git a/Modification.m b/Modification.m index 2830009..8c689e2 100644 --- a/Modification.m +++ b/Modification.m @@ -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 diff --git a/OPF.m b/OPF.m index 0fec178..e7c4be0 100644 --- a/OPF.m +++ b/OPF.m @@ -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); diff --git a/OPF_Init.m b/OPF_Init.m index 8b555d5..abbf01e 100644 --- a/OPF_Init.m +++ b/OPF_Init.m @@ -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; diff --git a/SolveIt.m b/SolveIt.m index fa183b3..b2a88d2 100644 --- a/SolveIt.m +++ b/SolveIt.m @@ -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; diff --git a/func_ddh.m b/func_ddh.m index 8403554..415e4d7 100644 --- a/func_ddh.m +++ b/func_ddh.m @@ -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 \ No newline at end of file diff --git a/func_deltF.m b/func_deltF.m index 58421a0..0d9e168 100644 --- a/func_deltF.m +++ b/func_deltF.m @@ -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); diff --git a/func_deltG.m b/func_deltG.m index 041efc9..c199f22 100644 --- a/func_deltG.m +++ b/func_deltG.m @@ -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 \ No newline at end of file diff --git a/func_deltH.m b/func_deltH.m index 3c0fb7e..0c6d108 100644 --- a/func_deltH.m +++ b/func_deltH.m @@ -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 \ No newline at end of file diff --git a/func_deltdeltF.m b/func_deltdeltF.m index 820fc12..ca98f24 100644 --- a/func_deltdeltF.m +++ b/func_deltdeltF.m @@ -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=[