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=[
|
Mat_G=[
|
||||||
PG(PGi);
|
PG(PGi);
|
||||||
QG(PVi);
|
QG(PVi);
|
||||||
sparse(PD(Loadi));
|
sparse(PD(Loadi));
|
||||||
|
sparse(QD(Loadi));
|
||||||
Volt';
|
Volt';
|
||||||
];
|
];
|
||||||
end
|
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;
|
KK=999;
|
||||||
PU=GenU(:,2);%发电机有功上界
|
PU=GenU(:,2);%发电机有功上界
|
||||||
QU=PVQU(:,1);%发电机无功上界
|
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.800*PDU(PDU<0);
|
||||||
PDU(PDU==0)=0.400;
|
PDU(PDU==0)=0.400;
|
||||||
%PDU=10*ones(length(Loadi),1);
|
%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;
|
t2=Mat_G+Init_U'-t1;
|
||||||
Lw=t2;
|
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;
|
KK=999;
|
||||||
PL=GenL(:,2);%发电机有功下界
|
PL=GenL(:,2);%发电机有功下界
|
||||||
QL=PVQL(:,1);%发电机无功下界
|
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)=1.200*PDL(PDL<0);
|
||||||
PDL(PDL==0)=-0.400;
|
PDL(PDL==0)=-0.400;
|
||||||
%PDL=-10*ones(length(Loadi),1);
|
%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;
|
t2=Mat_G-Init_L'-t1;
|
||||||
Lz=t2;
|
Lz=t2;
|
||||||
|
|
||||||
|
|
|
||||||
8
OPF.m
8
OPF.m
|
|
@ -19,7 +19,7 @@ PGBal=diag(Volt)*Y.*cos(AngleIJ)*Volt';
|
||||||
%% 初值-即测量值
|
%% 初值-即测量值
|
||||||
PG0=PG;
|
PG0=PG;
|
||||||
PD0=PD;
|
PD0=PD;
|
||||||
|
QD0=QD;
|
||||||
PDReal=PD;%真值
|
PDReal=PD;%真值
|
||||||
%PD0(12)=PD0(12)+0.001;
|
%PD0(12)=PD0(12)+0.001;
|
||||||
%%
|
%%
|
||||||
|
|
@ -62,11 +62,11 @@ while(abs(Gap)>Precision)
|
||||||
%% 形成方程矩阵
|
%% 形成方程矩阵
|
||||||
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
||||||
Lul=Init_L'.*Init_Z'-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);
|
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,QD_NON_ZERO,QD_NON_ZERO_IND);
|
||||||
Ly=Mat_H;
|
Ly=Mat_H;
|
||||||
Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,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,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);
|
Lx=FormLx(deltF,deltH,Init_Y,deltG,Init_Z,Init_W);
|
||||||
YY=FormYY(Lul,Lz,Ly,Luu,Lw,Lx);
|
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)
|
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=find(QD~=0 | PD~=0);
|
||||||
%Loadi=[1:Busnum]';
|
%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);
|
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;
|
||||||
|
|
|
||||||
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);
|
dg1_dPg=sparse(1:sizePGi,1:sizePGi,ones(sizePGi,1),sizePGi,sizePGi);
|
||||||
dg2_dPg=sparse(sizePGi,sizePVi);
|
dg2_dPg=sparse(sizePGi,sizePVi);
|
||||||
dg3_dPg=sparse(sizePGi,sizeLoadi);
|
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);
|
dg1_dQr=sparse(sizePVi,sizePGi);
|
||||||
dg2_dQr=sparse(1:sizePVi,1:sizePVi,ones(sizePVi,1),sizePVi,sizePVi);
|
dg2_dQr=sparse(1:sizePVi,1:sizePVi,ones(sizePVi,1),sizePVi,sizePVi);
|
||||||
dg3_dQr=sparse(sizePVi,sizeLoadi);
|
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));
|
dg1_dPD=sparse(size(Loadi,1),size(PGi,1));
|
||||||
dg2_dPD=sparse(size(Loadi,1),size(PVi,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));
|
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));
|
dg1_dQD=sparse(size(Loadi,1),size(PGi,1));
|
||||||
dg2_dQD=sparse(size(Loadi,1),size(PVi,1));
|
dg2_dQD=sparse(size(Loadi,1),size(PVi,1));
|
||||||
dg3_dQD=sparse(length(Loadi),length(Loadi));
|
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);
|
dg1_dx=sparse(2*Busnum,sizePGi);
|
||||||
dg2_dx=sparse(2*Busnum,sizePVi);
|
dg2_dx=sparse(2*Busnum,sizePVi);
|
||||||
dg3_dx=sparse(2*Busnum,sizeLoadi);
|
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);
|
sparse(Busnum,Busnum);
|
||||||
];
|
];
|
||||||
%%
|
%%
|
||||||
deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg;
|
deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg,dg5_dPg;
|
||||||
dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr;
|
dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr,dg5_dQr;
|
||||||
dg1_dPD,dg2_dPD,dg3_dPD,dg4_dPD;
|
dg1_dPD,dg2_dPD,dg3_dPD,dg4_dPD,dg5_dPD;
|
||||||
dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD;
|
dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD,dg5_dQD;
|
||||||
dg1_dx,dg2_dx,dg3_dx,dg4_dx;
|
dg1_dx,dg2_dx,dg3_dx,dg4_dx,dg5_dx;
|
||||||
];
|
];
|
||||||
Loading…
Reference in New Issue