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