diff --git a/FormG.m b/FormG.m index c10690a..1070e2b 100644 --- a/FormG.m +++ b/FormG.m @@ -10,7 +10,7 @@ Mat_G=[ Vbi; PDbi; QDbi; -% (1-Vbi).*Vbi; + (1-Vbi).*Vbi; % (1-PDbi).*PDbi; % (1-QDbi).*QDbi; ]; diff --git a/FormLw.m b/FormLw.m index 9bbbce2..49b60b7 100644 --- a/FormLw.m +++ b/FormLw.m @@ -18,11 +18,11 @@ indQD=find(realQD>0); QDU(indQD(3:12:end))=1.55*realQD(indQD(3:12:end)); QDU(indQD(9:12:end))=1.05*realQD(indQD(9:12:end)); t1=([0*PDU',100*ones(1,length(PDU)),0*QDU',100*ones(1,length(QDU)),0*VoltU,100*ones(1,length(VoltU)),1*ones(1,Busnum+length(Loadi)*2)])'; -% t1=[t1; -% sparse(ones(Busnum,1)); -% sparse(ones(length(Loadi),1)); -% sparse(ones(length(Loadi),1)); -% ]; +t1=[t1; + sparse(ones(Busnum,1)); + % sparse(ones(length(Loadi),1)); + % sparse(ones(length(Loadi),1)); + ]; t2=Mat_G+Init_U'-t1; Lw=t2; diff --git a/FormLz.m b/FormLz.m index e091443..8401046 100644 --- a/FormLz.m +++ b/FormLz.m @@ -22,11 +22,11 @@ QDL(indQD(3:12:end))=0.95*realQD(indQD(3:12:end)); QDL(indQD(9:12:end))=0.95*realQD(indQD(9:12:end)); % QDL=0*PD(Loadi).*sqrt((1-PF.^2))./PF; t1=([-100*ones(1,length(PDL)),0*PDL',-100*ones(1,length(QDL)),0*QDL',-100*ones(1,length(VoltL)),0*VoltL,0*ones(1,Busnum+length(Loadi)*2)])'; -% t1=[t1; -% sparse(0*ones(Busnum,1)); -% sparse(0*ones(length(Loadi),1)); -% sparse(0*ones(length(Loadi),1)); -% ]; +t1=[t1; + sparse(0*ones(Busnum,1)); + % sparse(0*ones(length(Loadi),1)); + % sparse(0*ones(length(Loadi),1)); +]; t2=Mat_G-Init_L'-t1; Lz=t2; diff --git a/OPF_Init.m b/OPF_Init.m index da090d6..7476b68 100644 --- a/OPF_Init.m +++ b/OPF_Init.m @@ -3,7 +3,7 @@ Loadi=find(QD~=0 | PD~=0); %Loadi=[1:Busnum]'; RestraintCount=size(Loadi,1)*4+Busnum*2+Busnum+length(Loadi)*2; %约束条件数,放开所有QD %互补约束数量 -RestraintCount=RestraintCount;%+Busnum+length(Loadi)*2; +RestraintCount=RestraintCount+Busnum;%+length(Loadi)*2; t_Bal_volt=Volt(Balance); Volt=sparse(1*ones(1,Busnum)); Volt(Balance)=t_Bal_volt; diff --git a/func_ddg.m b/func_ddg.m index 5142d31..b4ddd9c 100644 --- a/func_ddg.m +++ b/func_ddg.m @@ -1,5 +1,5 @@ function ddgzw=func_ddg(Busnum,ContrlCount,Loadi,Init_Z,Init_W) -% CCVbiZW=Init_Z(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+1:length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum)+Init_W(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+1:length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum); +CCVbiZW=Init_Z(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+1:length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum)+Init_W(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+1:length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum); % CCPDbiZW=Init_Z(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum+1:length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum+length(Loadi))+Init_W(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum+1:length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum+length(Loadi)); % CCQDbiZW=Init_Z(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum+length(Loadi)+1:end)+Init_W(length(Loadi)*4+Busnum*2+Busnum+length(Loadi)*2+Busnum+length(Loadi)+1:end); % ddgzw=[ @@ -8,5 +8,10 @@ function ddgzw=func_ddg(Busnum,ContrlCount,Loadi,Init_Z,Init_W) % sparse(length(Loadi),length(Loadi)*2+Busnum*2+Busnum),sparse(-2*eye(length(Loadi)))*diag(CCPDbiZW),sparse(length(Loadi),length(Loadi)); % sparse(length(Loadi),length(Loadi)*2+Busnum*2+Busnum+length(Loadi)),sparse(-2*eye(length(Loadi)))*diag(CCQDbiZW); % ]; -ddgzw=0; +ddgzw=[ +sparse(length(Loadi)*2+Busnum*2,ContrlCount); +sparse(Busnum,length(Loadi)*2+Busnum*2),sparse(-2*eye(Busnum))*diag(CCVbiZW),sparse(Busnum,length(Loadi)*2); +sparse(length(Loadi),length(Loadi)*2+Busnum*2+Busnum),sparse(-0*eye(length(Loadi))),sparse(length(Loadi),length(Loadi)); +sparse(length(Loadi),length(Loadi)*2+Busnum*2+Busnum+length(Loadi)),sparse(-0*eye(length(Loadi))); +]; end \ No newline at end of file diff --git a/func_deltG.m b/func_deltG.m index 0ca1725..0278149 100644 --- a/func_deltG.m +++ b/func_deltG.m @@ -3,11 +3,11 @@ sizeLoadi=size(Loadi,1); %dg3 PD-M*b-t-PD0 dg3_dPD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1)); %dg32 PD+M*B+t+PD0 -dg32_dPD=dg3_dPD; +dg32_dPD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1));; dg4_dPD=sparse(size(Loadi,1),length(Loadi)); -dg42_dPD=dg4_dPD; +dg42_dPD=sparse(size(Loadi,1),length(Loadi)); dg5_dPD=sparse(size(Loadi,1),Busnum); -dg6_dPD=dg5_dPD; +dg6_dPD=sparse(size(Loadi,1),Busnum); dg7_dPD=sparse(sizeLoadi,Busnum); dgPDbi_dPD=sparse(sizeLoadi,sizeLoadi); dgQDbi_dPD=sparse(sizeLoadi,sizeLoadi); @@ -17,11 +17,11 @@ dgCCPDbi_dPD=sparse(length(Loadi),length(Loadi)); dgCCQDbi_dPD=sparse(length(Loadi),length(Loadi)); %% dg3_dQD=sparse(length(Loadi),length(Loadi)); -dg32_dQD=dg3_dQD; +dg32_dQD=sparse(length(Loadi),length(Loadi)); dg4_dQD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1)); -dg42_dQD=dg4_dQD; +dg42_dQD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1)); dg5_dQD=sparse(size(Loadi,1),Busnum); -dg6_dQD=dg5_dQD; +dg6_dQD=sparse(size(Loadi,1),Busnum); dg7_dQD=sparse(sizeLoadi,Busnum); dgPDbi_dQD=sparse(sizeLoadi,sizeLoadi); dgQDbi_dQD=sparse(sizeLoadi,sizeLoadi); @@ -31,13 +31,15 @@ dgCCPDbi_dQD=sparse(length(Loadi),length(Loadi)); dgCCQDbi_dQD=sparse(length(Loadi),length(Loadi)); %% dg3_dx=sparse(2*Busnum,sizeLoadi); -dg32_dx=dg3_dx; +dg32_dx=sparse(2*Busnum,sizeLoadi); dg4_dx=sparse(2*Busnum,length(Loadi)); -dg42_dx=dg4_dx; +dg42_dx=sparse(2*Busnum,length(Loadi)); dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum); sparse(Busnum,Busnum); ]; -dg6_dx=dg5_dx; +dg6_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum); + sparse(Busnum,Busnum); + ]; dg7_dx=sparse(2*Busnum,Busnum); dgPDbi_dx=sparse(2*Busnum,sizeLoadi); dgQDbi_dx=sparse(2*Busnum,sizeLoadi); @@ -47,9 +49,9 @@ dgCCPDbi_dx=sparse(Busnum*2,length(Loadi)); dgCCQDbi_dx=sparse(Busnum*2,length(Loadi)); %% dg3_dvbi=sparse(Busnum,sizeLoadi); -dg32_dvbi=dg3_dvbi; +dg32_dvbi=sparse(Busnum,sizeLoadi); dg4_dvbi=sparse(Busnum,length(Loadi)); -dg42_dvbi=dg4_dvbi; +dg42_dvbi=sparse(Busnum,length(Loadi)); dg5_dvbi=sparse(-eye(Busnum,Busnum)); dg6_dvbi=sparse(eye(Busnum,Busnum)); dg7_dvbi=sparse(eye(Busnum,Busnum)); @@ -63,7 +65,7 @@ dgCCQDbi_dvbi=sparse(Busnum,length(Loadi)); dg3_dPDbi=sparse(-eye(sizeLoadi)); dg32_dPDbi=sparse(eye(sizeLoadi)); dg4_dPDbi=sparse(length(Loadi),length(Loadi)); -dg42_dPDbi=dg4_dPDbi; +dg42_dPDbi=sparse(length(Loadi),length(Loadi)); dg5_dPDbi=sparse(length(Loadi),Busnum); dg6_dPDbi=sparse(length(Loadi),Busnum); dg7_dPDbi=sparse(length(Loadi),Busnum); @@ -75,7 +77,7 @@ dgCCPDbi_dPDbi=sparse(diag(1-2*PDbi)); dgCCQDbi_dPDbi=sparse(length(Loadi),length(Loadi)); %% dg3_dQDbi=sparse(length(Loadi),length(Loadi)); -dg32_dQDbi=dg3_dQDbi; +dg32_dQDbi=sparse(length(Loadi),length(Loadi)); dg4_dQDbi=sparse(-eye(sizeLoadi)); dg42_dQDbi=sparse(eye(sizeLoadi)); dg5_dQDbi=sparse(length(Loadi),Busnum); @@ -88,18 +90,18 @@ dgCCVbi_dQDbi=sparse(length(Loadi),Busnum); dgCCPDbi_dQDbi=sparse(length(Loadi),length(Loadi)); dgCCQDbi_dQDbi=sparse(diag(1-2*QDbi)); %% -deltG=[dg3_dPD,dg32_dPD,dg4_dPD,dg42_dPD,dg5_dPD,dg6_dPD,dg7_dPD,dgPDbi_dPD,dgQDbi_dPD,dgCCVbi_dPD,dgCCPDbi_dPD,dgCCQDbi_dPD; - dg3_dQD,dg32_dQD,dg4_dQD,dg42_dQD,dg5_dQD,dg6_dQD,dg7_dQD,dgPDbi_dQD,dgQDbi_dQD,dgCCVbi_dQD,dgCCPDbi_dQD,dgCCQDbi_dQD; - dg3_dx,dg32_dx,dg4_dx,dg42_dx,dg5_dx,dg6_dx,dg7_dx,dgPDbi_dx,dgQDbi_dx,dgCCVbi_dx,dgCCPDbi_dx,dgCCQDbi_dx; - dg3_dvbi,dg32_dvbi,dg4_dvbi,dg42_dvbi,dg5_dvbi,dg6_dvbi,dg7_dvbi,dgPDbi_dvbi,dgQDbi_dvbi,dgCCVbi_dvbi,dgCCPDbi_dvbi,dgCCQDbi_dvbi; - dg3_dPDbi,dg32_dPDbi,dg4_dPDbi,dg42_dPDbi,dg5_dPDbi,dg6_dPDbi,dg7_dPDbi,dgPDbi_dPDbi,dgQDbi_dPDbi,dgCCVbi_dPDbi,dgCCPDbi_dPDbi,dgCCQDbi_dPDbi; - dg3_dQDbi,dg32_dQDbi,dg4_dQDbi,dg42_dQDbi,dg5_dQDbi,dg6_dQDbi,dg7_dQDbi,dgPDbi_dQDbi,dgQDbi_dQDbi,dgCCVbi_dQDbi,dgCCPDbi_dQDbi,dgCCQDbi_dQDbi; -]; -deltG=[dg3_dPD,dg32_dPD,dg4_dPD,dg42_dPD,dg5_dPD,dg6_dPD,dg7_dPD,dgPDbi_dPD,dgQDbi_dPD; - dg3_dQD,dg32_dQD,dg4_dQD,dg42_dQD,dg5_dQD,dg6_dQD,dg7_dQD,dgPDbi_dQD,dgQDbi_dQD; - dg3_dx,dg32_dx,dg4_dx,dg42_dx,dg5_dx,dg6_dx,dg7_dx,dgPDbi_dx,dgQDbi_dx; - dg3_dvbi,dg32_dvbi,dg4_dvbi,dg42_dvbi,dg5_dvbi,dg6_dvbi,dg7_dvbi,dgPDbi_dvbi,dgQDbi_dvbi; - dg3_dPDbi,dg32_dPDbi,dg4_dPDbi,dg42_dPDbi,dg5_dPDbi,dg6_dPDbi,dg7_dPDbi,dgPDbi_dPDbi,dgQDbi_dPDbi; - dg3_dQDbi,dg32_dQDbi,dg4_dQDbi,dg42_dQDbi,dg5_dQDbi,dg6_dQDbi,dg7_dQDbi,dgPDbi_dQDbi,dgQDbi_dQDbi; +% deltG=[dg3_dPD,dg32_dPD,dg4_dPD,dg42_dPD,dg5_dPD,dg6_dPD,dg7_dPD,dgPDbi_dPD,dgQDbi_dPD,dgCCVbi_dPD,dgCCPDbi_dPD,dgCCQDbi_dPD; +% dg3_dQD,dg32_dQD,dg4_dQD,dg42_dQD,dg5_dQD,dg6_dQD,dg7_dQD,dgPDbi_dQD,dgQDbi_dQD,dgCCVbi_dQD,dgCCPDbi_dQD,dgCCQDbi_dQD; +% dg3_dx,dg32_dx,dg4_dx,dg42_dx,dg5_dx,dg6_dx,dg7_dx,dgPDbi_dx,dgQDbi_dx,dgCCVbi_dx,dgCCPDbi_dx,dgCCQDbi_dx; +% dg3_dvbi,dg32_dvbi,dg4_dvbi,dg42_dvbi,dg5_dvbi,dg6_dvbi,dg7_dvbi,dgPDbi_dvbi,dgQDbi_dvbi,dgCCVbi_dvbi,dgCCPDbi_dvbi,dgCCQDbi_dvbi; +% dg3_dPDbi,dg32_dPDbi,dg4_dPDbi,dg42_dPDbi,dg5_dPDbi,dg6_dPDbi,dg7_dPDbi,dgPDbi_dPDbi,dgQDbi_dPDbi,dgCCVbi_dPDbi,dgCCPDbi_dPDbi,dgCCQDbi_dPDbi; +% dg3_dQDbi,dg32_dQDbi,dg4_dQDbi,dg42_dQDbi,dg5_dQDbi,dg6_dQDbi,dg7_dQDbi,dgPDbi_dQDbi,dgQDbi_dQDbi,dgCCVbi_dQDbi,dgCCPDbi_dQDbi,dgCCQDbi_dQDbi; +% ]; +deltG=[dg3_dPD,dg32_dPD,dg4_dPD,dg42_dPD,dg5_dPD,dg6_dPD,dg7_dPD,dgPDbi_dPD,dgQDbi_dPD,dgCCVbi_dPD; + dg3_dQD,dg32_dQD,dg4_dQD,dg42_dQD,dg5_dQD,dg6_dQD,dg7_dQD,dgPDbi_dQD,dgQDbi_dQD,dgCCVbi_dQD; + dg3_dx,dg32_dx,dg4_dx,dg42_dx,dg5_dx,dg6_dx,dg7_dx,dgPDbi_dx,dgQDbi_dx,dgCCVbi_dx; + dg3_dvbi,dg32_dvbi,dg4_dvbi,dg42_dvbi,dg5_dvbi,dg6_dvbi,dg7_dvbi,dgPDbi_dvbi,dgQDbi_dvbi,dgCCVbi_dvbi; + dg3_dPDbi,dg32_dPDbi,dg4_dPDbi,dg42_dPDbi,dg5_dPDbi,dg6_dPDbi,dg7_dPDbi,dgPDbi_dPDbi,dgQDbi_dPDbi,dgCCVbi_dPDbi; + dg3_dQDbi,dg32_dQDbi,dg4_dQDbi,dg42_dQDbi,dg5_dQDbi,dg6_dQDbi,dg7_dQDbi,dgPDbi_dQDbi,dgQDbi_dQDbi,dgCCVbi_dQDbi; ]; end \ No newline at end of file