收敛了

This commit is contained in:
facat 2013-04-17 11:15:22 +08:00
parent 45f7dc7dff
commit fe0baaa029
2 changed files with 13 additions and 6 deletions

View File

@ -14,7 +14,7 @@ Y=this.Y;
PD=x(1:length(PDi)); PD=x(1:length(PDi));
QD=x(length(PDi)+1:length(PDi)+length(QDi)); QD=x(length(PDi)+1:length(PDi)+length(QDi));
Volt=x(length(PDi)+length(QDi)+1:length(PDi)+length(QDi)+length(Volt0)); 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); PD_=zeros(length(Volt0),1);
QD_=zeros(length(Volt0),1); QD_=zeros(length(Volt0),1);
PD_(PDi)=PD; PD_(PDi)=PD;
@ -23,7 +23,8 @@ busNum=length(Volt0);
VMatrix=sparse(r,c,VAngel(r)-VAngel(c)-Angel,busNum,busNum); VMatrix=sparse(r,c,VAngel(r)-VAngel(c)-Angel,busNum,busNum);
dP=PG-PD_-diag(Volt)*(Y.*cos(VMatrix))*Volt; dP=PG-PD_-diag(Volt)*(Y.*cos(VMatrix))*Volt;
dQ=QG-QD_-diag(Volt)*(Y.*spfun(@sin,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.gle=zeros(length(output_args),1);
this.eb=this.gle; this.eb=this.gle;
end end

View File

@ -5,7 +5,7 @@ tic
[kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB, ... [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, ... Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL, ...
Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ... Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ...
pf('E://<EFBFBD>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); 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'; % dQ=QG-QD-diag(Volt)*Y.*sin(AngleIJ)*Volt';
% dQD=abs(dQ./QD); % dQD=abs(dQ./QD);
% maxdPQ=max([dPD(dPD<10);dQD(dQD<10)]); % 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); [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); BalVolt=Volt(Balance);
@ -102,9 +106,11 @@ opts.maxnodes=85000;
opts.tolrfun=1e-4; opts.tolrfun=1e-4;
opts.tolafun=1e-4; opts.tolafun=1e-4;
opts.warnings='all'; opts.warnings='all';
opts.display='off'; opts.display='iter';
x0=zeros(length(PDi)+length(QDi)+length(Volt)*2,1); % x0=[zeros(length(PDi)+length(QDi),1); ...
% [~,seOpti]=seOpti.equ(x0); % ones(length(Volt),1); ...
% zeros(length(Volt),1)];
x0=[PD(PDi);QD(QDi);xVolt';xUAngel'];
[~,seOpti]=seOpti.equ(x0); [~,seOpti]=seOpti.equ(x0);
nlrhs=seOpti.Geteb(); nlrhs=seOpti.Geteb();
nle=seOpti.Getgle(); nle=seOpti.Getgle();