parent
eb222764ca
commit
1855619714
3
FormG.m
3
FormG.m
|
|
@ -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
|
||||
8
FormLw.m
8
FormLw.m
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
8
FormLz.m
8
FormLz.m
|
|
@ -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
8
OPF.m
|
|
@ -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);
|
||||
%% 开始解方程
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
25
func_deltG.m
25
func_deltG.m
|
|
@ -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;
|
||||
];
|
||||
Loading…
Reference in New Issue