parent
4db769846c
commit
c79429065e
|
|
@ -1,4 +1,4 @@
|
||||||
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,notLoadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD)
|
function [Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,wVolt,PD,PD0,QD,randPDind,Loadi,notLoadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD)
|
||||||
Loadi=find(QD~=0 | PD~=0);
|
Loadi=find(QD~=0 | PD~=0);
|
||||||
PDi=find(PD~=0);
|
PDi=find(PD~=0);
|
||||||
QDi=find(QD~=0);
|
QDi=find(QD~=0);
|
||||||
|
|
@ -35,6 +35,7 @@ wQG=1*ones(size(PVi,1),1);
|
||||||
randPDind=0;
|
randPDind=0;
|
||||||
wPD=1/0.05^2*ones(sum(PD~=0),1);
|
wPD=1/0.05^2*ones(sum(PD~=0),1);
|
||||||
wQD=1/0.05^2*ones(sum(QD~=0),1);
|
wQD=1/0.05^2*ones(sum(QD~=0),1);
|
||||||
|
wVolt=1/0.05^2*ones(Busnum,1);
|
||||||
%wD(randPDind)=0;%一些负荷不约束
|
%wD(randPDind)=0;%一些负荷不约束
|
||||||
%wD(7)=0;
|
%wD(7)=0;
|
||||||
% wD(11)=0;
|
% wD(11)=0;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
function [out_arg]=ObjectiveFun(PG,PG0,PGi,QG,QG0,PVi,PD,PD0,QD,QD0,wPG,wQG,wPD,wQD,Loadi)
|
function [out_arg]=ObjectiveFun(PG,PG0,PGi,QG,QG0,PVi,PD,PD0,QD,QD0,Volt,Volt0,wPG,wQG,wPD,wQD,wVolt,Loadi)
|
||||||
t4=wPD.*(PD(PD0~=0)-PD0(PD0~=0)).^2;
|
t4=wPD.*(PD(PD0~=0)-PD0(PD0~=0)).^2;
|
||||||
t5=wQD.*(QD(QD0~=0)-QD0(QD0~=0)).^2;
|
t5=wQD.*(QD(QD0~=0)-QD0(QD0~=0)).^2;
|
||||||
|
t6=wVolt.*(Volt-Volt0').^2;
|
||||||
out_arg=sum(t4)+sum(t5);
|
out_arg=sum(t4)+sum(t5)+sum(t6);
|
||||||
end
|
end
|
||||||
19
Run_YALMIP.m
19
Run_YALMIP.m
|
|
@ -24,14 +24,15 @@ QG0(Balance)=QGBal(Balance);
|
||||||
QG0(PVi)=QGBal(PVi);
|
QG0(PVi)=QGBal(PVi);
|
||||||
PG(Balance)=PGBal(Balance);
|
PG(Balance)=PGBal(Balance);
|
||||||
QG(PVi)=QGBal(PVi);
|
QG(PVi)=QGBal(PVi);
|
||||||
PF=1;
|
Volt0=Volt;
|
||||||
AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
|
% PF=1;
|
||||||
dP=PG-PD-diag(Volt)*Y.*cos(AngleIJ)*Volt';
|
% AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
|
||||||
dPD=abs(dP./PD);
|
% dP=PG-PD-diag(Volt)*Y.*cos(AngleIJ)*Volt';
|
||||||
dQ=QG-QD-diag(Volt)*Y.*sin(AngleIJ)*Volt';
|
% dPD=abs(dP./PD);
|
||||||
dQD=abs(dQ./QD);
|
% dQ=QG-QD-diag(Volt)*Y.*sin(AngleIJ)*Volt';
|
||||||
maxdPQ=max([dPD(dPD<10);dQD(dQD<10)]);
|
% dQD=abs(dQ./QD);
|
||||||
[Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD0,QD,randPDind,Loadi,notLoadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD);
|
% maxdPQ=max([dPD(dPD<10);dQD(dQD<10)]);
|
||||||
|
[Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,wVolt,PD,PD0,QD,randPDind,Loadi,notLoadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD);
|
||||||
%% 定义变量
|
%% 定义变量
|
||||||
BalVolt=Volt(Balance);
|
BalVolt=Volt(Balance);
|
||||||
Volt=sdpvar(Busnum,1);
|
Volt=sdpvar(Busnum,1);
|
||||||
|
|
@ -45,7 +46,7 @@ AngleIJ=sdpvar(Busnum,Busnum,'full');
|
||||||
PD0=(1+normrnd(0,0.05,length(PD0),1)).*PD0;
|
PD0=(1+normrnd(0,0.05,length(PD0),1)).*PD0;
|
||||||
QD0=(1+normrnd(0,0.05,length(QD0),1)).*QD0;
|
QD0=(1+normrnd(0,0.05,length(QD0),1)).*QD0;
|
||||||
%% 目标函数
|
%% 目标函数
|
||||||
Objective=ObjectiveFun(PG,PG0,PGi,QG,QG0,PVi,PD,PD0,QD,QD0,wPG,wQG,wPD,wQD,Loadi);
|
Objective=ObjectiveFun(PG,PG0,PGi,QG,QG0,PVi,PD,PD0,QD,QD0,Volt,Volt0,wPG,wQG,wPD,wQD,wVolt,Loadi);
|
||||||
%AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle,Busnum,Busnum);
|
%AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle,Busnum,Busnum);
|
||||||
%% 赋初值,可以加快求解速度。
|
%% 赋初值,可以加快求解速度。
|
||||||
assign(Volt(:),1);
|
assign(Volt(:),1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue