52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
function [Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,wVolt,wLoadCurrent,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);
|
||
PDi=find(PD~=0);
|
||
QDi=find(QD~=0);
|
||
notLoadi=setdiff(1:Busnum,Loadi);
|
||
PGOnly=setdiff(PGi,PDi);
|
||
QGOnly=setdiff(PVi,QDi);
|
||
PDOnly=setdiff(PDi,PGi);
|
||
QDOnly=setdiff(QDi,PVi);
|
||
PGPD=intersect(PDi,PGi);
|
||
QGQD=intersect(QDi,PVi);
|
||
noPGPDQGQD=setdiff(1:Busnum,union(union(PDi,PGi),union(QDi,PVi)));
|
||
%Loadi=[1:Busnum]';
|
||
RestraintCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)*1+Busnum*1; %约束条件数,放开所有QD,不单独约束QD上下限
|
||
RestraintCount=RestraintCount+length(Loadi); %加上功率因数,用功率因数约束QD
|
||
t_Bal_volt=Volt(Balance);
|
||
Volt=sparse(1*ones(1,Busnum));
|
||
Volt(Balance)=t_Bal_volt;
|
||
UAngel=sparse(1,Busnum);
|
||
Init_Z=sparse(ones(1,RestraintCount));
|
||
Init_W=sparse(-1*ones(1,RestraintCount));
|
||
Init_L=1*sparse(ones(1,RestraintCount));
|
||
Init_U=1*sparse(ones(1,RestraintCount));
|
||
Init_Y=sparse(1,2*Busnum);%与学姐一致
|
||
tPU=sparse(GenU(:,2));% 发电机有功上限
|
||
tQU=sparse(PVQU(:,1));% 无功上限
|
||
tPL=sparse(GenL(:,2));% 发电机有功下限
|
||
tQL=sparse(PVQL(:,1));% 无功下限
|
||
% PG(PGi)=(tPU+tPL)/2;
|
||
% QG(PVi)=(tQU+tQL)/2;
|
||
wPG=1*ones(size(PGi,1),1);
|
||
wQG=1*ones(size(PVi,1),1);
|
||
%randInt=randperm(size(Loadi,1));
|
||
%randPDind=randInt(1:10);
|
||
randPDind=0;
|
||
wPD=1/0.05*zeros(length(PD),1);
|
||
wPD(1:2:end)=0;
|
||
wQD=1/0.05*zeros(length(QD),1);
|
||
wQD(1:2:end)=0;
|
||
wVolt=1/0.05*zeros(Busnum,1);
|
||
wVolt(1:2:end)=0;
|
||
wLoadCurrent=1/0.05*zeros(length(PDi),1);
|
||
% wLoadCurrent(1:2:end)=0;
|
||
%wD(randPDind)=0;%一些负荷不约束
|
||
%wD(7)=0;
|
||
% wD(11)=0;
|
||
PD=1*PD0;
|
||
%powerFacter=0.98;
|
||
%QD=PD*sqrt((1-powerFacter^2)/powerFacter^2);
|
||
QD=QD0;
|
||
|
||
end |