diff --git a/@Opti/equ.m b/@Opti/equ.m index f994058..2e82476 100644 --- a/@Opti/equ.m +++ b/@Opti/equ.m @@ -14,7 +14,7 @@ Y=this.Y; PD=x(1:length(PDi)); QD=x(length(PDi)+1:length(PDi)+length(QDi)); Volt=x(length(PDi)+length(QDi)+1:length(PDi)+length(QDi)+length(Volt0)); -VAngel=x(length(PDi)+length(QDi)+length(Volt0):end); +VAngel=x(length(PDi)+length(QDi)+length(Volt0)+1:end); PD_=zeros(length(Volt0),1); QD_=zeros(length(Volt0),1); PD_(PDi)=PD; @@ -23,7 +23,8 @@ busNum=length(Volt0); VMatrix=sparse(r,c,VAngel(r)-VAngel(c)-Angel,busNum,busNum); dP=PG-PD_-diag(Volt)*(Y.*cos(VMatrix))*Volt; dQ=QG-QD_-diag(Volt)*(Y.*spfun(@sin,VMatrix))*Volt; -output_args=[dP;dQ]; +output_args=[dP;dQ;VAngel(Balance)]; +output_args=full(output_args); this.gle=zeros(length(output_args),1); this.eb=this.gle; end diff --git a/Run_YALMIP.m b/Run_YALMIP.m index 193d57e..00f4fae 100644 --- a/Run_YALMIP.m +++ b/Run_YALMIP.m @@ -5,7 +5,7 @@ tic [kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB, ... Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL, ... Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ... - pf('E:/算例/柳金Ⅰ926_21671693_2012-09-06/newFIle20.txt'); + pf('E:/算例/东际911_2751267_2012-09-05/newFIle20.txt'); %% 潮流等式 AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum); @@ -32,6 +32,10 @@ Volt0=Volt; % dQ=QG-QD-diag(Volt)*Y.*sin(AngleIJ)*Volt'; % dQD=abs(dQ./QD); % maxdPQ=max([dPD(dPD<10);dQD(dQD<10)]); +xVolt=Volt; +xUAngel=UAngel; +% VMatrix=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum); +% dP=PG-PD-diag(xVolt)*(Y.*cos(VMatrix))*xVolt'; [Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,wVolt,PD,PD0,QD,randPDind,Loadi,notLoadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD); %% 定义变量 BalVolt=Volt(Balance); @@ -102,9 +106,11 @@ opts.maxnodes=85000; opts.tolrfun=1e-4; opts.tolafun=1e-4; opts.warnings='all'; -opts.display='off'; -x0=zeros(length(PDi)+length(QDi)+length(Volt)*2,1); -% [~,seOpti]=seOpti.equ(x0); +opts.display='iter'; +% x0=[zeros(length(PDi)+length(QDi),1); ... +% ones(length(Volt),1); ... +% zeros(length(Volt),1)]; +x0=[PD(PDi);QD(QDi);xVolt';xUAngel']; [~,seOpti]=seOpti.equ(x0); nlrhs=seOpti.Geteb(); nle=seOpti.Getgle();