121 lines
3.0 KiB
Matlab
121 lines
3.0 KiB
Matlab
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,noLoadi]=OPF_Init(Busnum,Balance,PG,QG,rVolt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,rQD,rPD,rLoadCurrent)
|
||
Loadi=find(rQD~=0 | rPD~=0);
|
||
PDi=find(rPD~=0);
|
||
%PDi=[10,11,23,19,22,20,12,13,14,15,8,18,25,17,24,16];
|
||
%QDi=find(rQD~=0);
|
||
QDi=PDi;
|
||
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=rVolt(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;
|
||
% load('I');
|
||
sigma=0.03;
|
||
% sigma=sigma*I/200;
|
||
% wPD=1/(1)*ones(length(PD),1);
|
||
% wPD(11)=wPD(11)*1;
|
||
% wQD=1/(1)*ones(length(QD),1);
|
||
% wQD(11)=wQD(11)*1;
|
||
% wVolt=1/(1)*ones(Busnum,1);
|
||
% wVolt(Balance)=0;% 不考虑平衡节点
|
||
wLoadCurrent=1./(abs(rLoadCurrent)*sigma);
|
||
wPD=1./(abs(rPD)*sigma);
|
||
wQD=1./(abs(rQD)*sigma);
|
||
wVolt=1./(abs(rVolt)*sigma);
|
||
wPD(notLoadi)=0;
|
||
wQD(notLoadi)=0;
|
||
wVolt(notLoadi)=0;
|
||
%% 100%
|
||
% noLoad=[];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 90%
|
||
% noLoad=[17];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 80%
|
||
% noLoad=[16 18];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 70%
|
||
% noLoad=[15 19];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 60%
|
||
% noLoad=[15 17 19];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
% wLoadCurrent(noLoad)=0;
|
||
%% 50%
|
||
% noLoad=[10 11 14 15 25 17 22 20];
|
||
% noLoad=[2 5 6 9];
|
||
% noLoad=[3,5,6,9,11,12,15,17,20,21,22,23,27,29,30,31];%33节点
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
% wLoadCurrent(1:2:end)=0;
|
||
%% 40%
|
||
% noLoad=[11 13 16 18 20];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 30%
|
||
% noLoad=[11 13 16 17 18 20];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 20%
|
||
% noLoad=[11 13 15 17 19 20];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 10%
|
||
% noLoad=[11 13 15 17 18 19 20];
|
||
% wPD(noLoad)=0;
|
||
% wQD(noLoad)=0;
|
||
% wVolt(noLoad)=0;
|
||
%% 0%
|
||
noLoad=[];
|
||
wPD(1:end)=0;
|
||
wQD(1:end)=0;
|
||
wVolt(1:end)=0;
|
||
%wD(randPDind)=0;%一些负荷不约束
|
||
%wD(7)=0;
|
||
% wD(11)=0;
|
||
PD=0.1*PD0;
|
||
%powerFacter=0.98;
|
||
%QD=PD*sqrt((1-powerFacter^2)/powerFacter^2);
|
||
QD=0.1*QD0;
|
||
noLoadi=noLoad;
|
||
end |