From c1727c877f6ebd45691e6200b472530be0e0cf7e Mon Sep 17 00:00:00 2001 From: "dugg@lab-desk" Date: Sun, 25 May 2014 12:06:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E9=94=99=E8=AF=AF=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=90=8E=EF=BC=8C=E5=8F=96=E4=B8=80=E4=B8=AA=E6=AF=94?= =?UTF-8?q?=E8=BE=83=E5=A4=A7=E7=9A=84=E4=BA=92=E8=A1=A5=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E7=9A=84eps=E6=98=AF=E5=8F=AF=E4=BB=A5=E6=94=B6=E6=95=9B?= =?UTF-8?q?=E7=9A=84=EF=BC=8C=E4=B8=8D=E8=BF=87=E8=BF=AD=E4=BB=A3=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E5=A4=9A=EF=BC=8C=E8=BE=BE=E5=88=B029=E6=AC=A1?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dugg@lab-desk --- FormLw.m | 8 ++++---- FormLz.m | 8 ++++---- OPF.m | 13 +++++++++---- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/FormLw.m b/FormLw.m index 1ef1d08..988050f 100644 --- a/FormLw.m +++ b/FormLw.m @@ -1,4 +1,4 @@ -function Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD,PD0,QD0,Loadi,KK,PF,noDataTransCapacity) +function Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD,PD0,QD0,Loadi,KK,PF,eps) KK=999; VoltU=(1.1)*ones(1,Busnum); PDU=PD0(Loadi); @@ -19,9 +19,9 @@ 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)); + sparse(eps*ones(Busnum,1)); + sparse(eps*ones(length(Loadi),1)); + sparse(eps*ones(length(Loadi),1)); ]; t2=Mat_G+Init_U'-t1; Lw=t2; diff --git a/FormLz.m b/FormLz.m index 669ba62..5623b70 100644 --- a/FormLz.m +++ b/FormLz.m @@ -1,4 +1,4 @@ -function Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD,PD0,QD0,Loadi,KK,PF) +function Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD,PD0,QD0,Loadi,KK,PF,eps) KK=999; VoltL=(0.9)*ones(1,Busnum); @@ -23,9 +23,9 @@ 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)); + sparse(-eps*ones(Busnum,1)); + sparse(-eps*ones(length(Loadi),1)); + sparse(-eps*ones(length(Loadi),1)); ]; t2=Mat_G-Init_L'-t1; Lz=t2; diff --git a/OPF.m b/OPF.m index 3b3c2c2..7ac72af 100644 --- a/OPF.m +++ b/OPF.m @@ -46,7 +46,7 @@ Gap=(Init_L*Init_Z'-Init_U*Init_W'); KK=0; plotGap=zeros(1,60); ContrlCount=size(Loadi,1)*2+Busnum*2+Busnum+length(Loadi)*2; -kmax=60; +kmax=100; Precision=Precision/1; %% 加误差 sigma=0.01; @@ -55,11 +55,13 @@ QD0(Loadi)=QD0(Loadi).*(1+normrnd(0,sigma,length(Loadi),1)); mPD=PD0; mQD=QD0; mVolt=rVolt.*(1+normrnd(0,sigma,length(rVolt),1))'; +mVolt(2)=2; bigM=10; Vbi=sparse(0.5*ones(Busnum,1)); PDbi=sparse(0.5*ones(length(Loadi),1)); QDbi=sparse(0.5*ones(length(Loadi),1)); -while(abs(Gap)>Precision) +eps=10; +while(abs(Gap)>Precision*1) if KK>kmax break; end @@ -88,8 +90,11 @@ while(abs(Gap)>Precision) Mat_G=FormG(Volt,PD,QD,Loadi,bigM,mVolt,rVolt,sigma,Vbi,PDbi,QDbi,mPD,mQD); Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi); Ly=Mat_H; - Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD,RealPD,RealQD,Loadi,KK,PF); - Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD,RealPD,RealQD,Loadi,KK,PF); +% if KK>5 +% eps=eps*1.9; +% end + Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD,RealPD,RealQD,Loadi,KK,PF,eps); + Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD,PD0,QD0,Loadi,KK,PF,eps); Lx=FormLx(deltF,deltH,Init_Y,deltG,Init_Z,Init_W); YY=FormYY(Lul,Lz,Ly,Luu,Lw,Lx); %% 开始解方程