加了QD的上下界,不收敛。

Signed-off-by: unknown <dmy@dmy-PC.(none)>
This commit is contained in:
unknown 2012-09-11 19:42:57 +08:00
parent eb222764ca
commit 1855619714
6 changed files with 34 additions and 20 deletions

View File

@ -1,9 +1,10 @@
function Mat_G=FormG(Volt,PVi,PGi,PG,QG,PD,Loadi)
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';
];
end

View File

@ -1,4 +1,4 @@
function Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD0,Loadi,KK)
function Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD0,QD0,Loadi,KK)
KK=999;
PU=GenU(:,2);%
QU=PVQU(:,1);%
@ -9,7 +9,11 @@ PDU(PDU>0)=1.200*PDU(PDU>0);
PDU(PDU<0)=0.800*PDU(PDU<0);
PDU(PDU==0)=0.400;
%PDU=10*ones(length(Loadi),1);
t1=([PU',QU',PDU',VoltU])';
QDU=QD0(Loadi);
QDU(QDU>0)=1.200*QDU(QDU>0);
QDU(QDU<0)=0.800*QDU(QDU<0);
QDU(QDU==0)=0.400;
t1=([PU',QU',PDU',QDU',VoltU])';
t2=Mat_G+Init_U'-t1;
Lw=t2;

View File

@ -1,4 +1,4 @@
function Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD0,Loadi,KK)
function Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD0,QD0,Loadi,KK)
KK=999;
PL=GenL(:,2);%
QL=PVQL(:,1);%
@ -9,7 +9,11 @@ PDL(PDL>0)=0.800*PDL(PDL>0);
PDL(PDL<0)=1.200*PDL(PDL<0);
PDL(PDL==0)=-0.400;
%PDL=-10*ones(length(Loadi),1);
t1=([PL',QL',PDL',VoltL])';
QDL=QD0(Loadi);
QDL(QDL>0)=0.800*QDL(QDL>0);
QDL(QDL<0)=1.200*QDL(QDL<0);
QDL(QDL==0)=-0.400;
t1=([PL',QL',PDL',QDL',VoltL])';
t2=Mat_G-Init_L'-t1;
Lz=t2;

8
OPF.m
View File

@ -19,7 +19,7 @@ PGBal=diag(Volt)*Y.*cos(AngleIJ)*Volt';
%% -
PG0=PG;
PD0=PD;
QD0=QD;
PDReal=PD;%
%PD0(12)=PD0(12)+0.001;
%%
@ -62,11 +62,11 @@ while(abs(Gap)>Precision)
%%
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
Lul=Init_L'.*Init_Z'-Init_u*ones(RestraintCount,1);
Mat_G=FormG(Volt,PVi,PGi,PG,QG,PD,Loadi);
Mat_G=FormG(Volt,PVi,PGi,PG,QG,PD,QD,Loadi);
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,QD_NON_ZERO,QD_NON_ZERO_IND);
Ly=Mat_H;
Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD0,Loadi,KK);
Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD0,Loadi,KK);
Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD0,QD0,Loadi,KK);
Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD0,QD0,Loadi,KK);
Lx=FormLx(deltF,deltH,Init_Y,deltG,Init_Z,Init_W);
YY=FormYY(Lul,Lz,Ly,Luu,Lw,Lx);
%%

View File

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

View File

@ -7,33 +7,38 @@ sizeLoadi=size(Loadi,1);
dg1_dPg=sparse(1:sizePGi,1:sizePGi,ones(sizePGi,1),sizePGi,sizePGi);
dg2_dPg=sparse(sizePGi,sizePVi);
dg3_dPg=sparse(sizePGi,sizeLoadi);
dg4_dPg=sparse(sizePGi,Busnum);
dg4_dPg=sparse(sizePGi,sizeLoadi);
dg5_dPg=sparse(sizePGi,Busnum);
%%
dg1_dQr=sparse(sizePVi,sizePGi);
dg2_dQr=sparse(1:sizePVi,1:sizePVi,ones(sizePVi,1),sizePVi,sizePVi);
dg3_dQr=sparse(sizePVi,sizeLoadi);
dg4_dQr=sparse(sizePVi,Busnum);
dg4_dQr=sparse(sizePVi,sizeLoadi);
dg5_dQr=sparse(sizePVi,Busnum);
%%
dg1_dPD=sparse(size(Loadi,1),size(PGi,1));
dg2_dPD=sparse(size(Loadi,1),size(PVi,1));
dg3_dPD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1));
dg4_dPD=sparse(size(Loadi,1),Busnum);
dg4_dPD=sparse(size(Loadi,1),sizeLoadi);
dg5_dPD=sparse(size(Loadi,1),Busnum);
%%
dg1_dQD=sparse(size(Loadi,1),size(PGi,1));
dg2_dQD=sparse(size(Loadi,1),size(PVi,1));
dg3_dQD=sparse(length(Loadi),length(Loadi));
dg4_dQD=sparse(size(Loadi,1),Busnum);
dg4_dQD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1));
dg5_dQD=sparse(size(Loadi,1),Busnum);
%%
dg1_dx=sparse(2*Busnum,sizePGi);
dg2_dx=sparse(2*Busnum,sizePVi);
dg3_dx=sparse(2*Busnum,sizeLoadi);
dg4_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum);
dg4_dx=sparse(2*Busnum,sizeLoadi);
dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum);
sparse(Busnum,Busnum);
];
%%
deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg;
dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr;
dg1_dPD,dg2_dPD,dg3_dPD,dg4_dPD;
dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD;
dg1_dx,dg2_dx,dg3_dx,dg4_dx;
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;
];