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*ones(length(PD),1); wQD=1/0.05*ones(length(QD),1); wVolt=1/0.05*ones(Busnum,1); wLoadCurrent=1/0.05*ones(length(PDi),1); %% 70% % noLoad=[1;4;5;7;8;10;11;13;14;16;17;19;20;21]; % wPD(noLoad)=0; % wQD(noLoad)=0; % wVolt(noLoad)=0; %% 50% % wPD(1:2:end)=0; % wQD(1:2:end)=0; % wVolt(1:2:end)=0; % wLoadCurrent(1:2:end)=0; %% 30% noLoad=[1;5;7;11;15;20]; wPD(noLoad)=0; wQD(noLoad)=0; wVolt(noLoad)=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