添加了QD收敛,但没有找到最优解。

Signed-off-by: unknown <dmy@dmy-PC.(none)>
This commit is contained in:
unknown 2012-09-11 19:27:02 +08:00
parent 3dea7e1687
commit eb222764ca
11 changed files with 29 additions and 18 deletions

View File

@ -2,7 +2,7 @@ function Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD0,Loadi,KK)
KK=999;
PU=GenU(:,2);%
QU=PVQU(:,1);%
VoltU=(1.2+1/exp(KK))*ones(1,Busnum);
VoltU=(1.2)*ones(1,Busnum);
%VoltU=10*ones(1,Busnum);
PDU=PD0(Loadi);
PDU(PDU>0)=1.200*PDU(PDU>0);

View File

@ -2,7 +2,7 @@ function Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD0,Loadi,KK)
KK=999;
PL=GenL(:,2);%
QL=PVQL(:,1);%
VoltL=(0.8-1/exp(KK))*ones(1,Busnum);
VoltL=(0.8)*ones(1,Busnum);
%VoltL=-10*ones(1,Busnum);
PDL=PD0(Loadi);
PDL(PDL>0)=0.800*PDL(PDL>0);

View File

@ -1,4 +1,4 @@
function [Init_Z,Init_L,Init_W,Init_U,Init_Y,PG,QG,Volt,UAngel,PD]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,Volt,UAngel,PVi,ContrlCount,Balance,Busnum,PGi,PD,Loadi)
function [Init_Z,Init_L,Init_W,Init_U,Init_Y,PG,QG,Volt,UAngel,PD,QD]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,Volt,UAngel,PVi,ContrlCount,Balance,Busnum,PGi,PD,QD,Loadi)
AlphaP=FormAlphaP(Init_L,deltL,Init_U,deltU);
%fprintf('AlphaP %f\n',full(AlphaP));
AlphaD=FormAlphaD(Init_Z,deltZ,Init_W,deltW);
@ -13,9 +13,10 @@ Init_Y=Init_Y+AlphaD*deltY';
PG(PGi)=PG(PGi)+AlphaP*deltX(1:size(PGi,1));
%QG(PVi)=QG(PVi)+deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) );
QG(PVi)=QG(PVi)+AlphaP*deltX(size(PGi,1)+1:size(PVi,1)+size(PGi,1) );
t=deltX(size(PVi,1)+size(PGi,1)+1:size(PVi,1)+size(PGi,1)+size(Loadi,1));
PD(Loadi)=PD(Loadi)+AlphaP*t;
t=deltX(size(PVi,1)+size(PGi,1)+size(Loadi,1)+1:ContrlCount)';
t=deltX(size(PVi,1)+size(PGi,1)+1:size(PVi,1)+size(PGi,1)+size(Loadi,1)*2);
PD(Loadi)=PD(Loadi)+AlphaP*t(1:length(Loadi));
QD(Loadi)=QD(Loadi)+AlphaP*t(length(Loadi)+1:2*length(Loadi));
t=deltX(size(PVi,1)+size(PGi,1)+size(Loadi,1)*2+1:ContrlCount)';
t(Busnum+Balance)=0;
%Volt=Volt+AlphaP*t(2:2:2*Busnum);20111227
%UAngel=UAngel+AlphaP*t(1:2:2*Busnum);20111227

13
OPF.m
View File

@ -2,10 +2,11 @@ tic
clc
clear
[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('D:\Project\\\\\9223-1_0.5_120%.txt');
pf('ieee4PG.dat');
%pf('D:\Project\\\\\9223-1_0.5_120%.txt');
%pf('D:\Project\\\919.txt');
%pf('c:/file31.txt');
%pf('ieee118PG.dat');
%%
%atan(PD(QD~=0 | PD~=0)./QD(QD~=0 | PD~=0));
@ -28,7 +29,7 @@ PG0(Balance)=PGBal(Balance);
Gap=(Init_L*Init_Z'-Init_U*Init_W');
KK=0;
plotGap=zeros(1,50);
ContrlCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)+Busnum*2;
ContrlCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)*2+Busnum*2;
kmax=60;
%% 20120523
QD_NON_ZERO=QD(PD==0 & QD~=0);
@ -72,7 +73,7 @@ while(abs(Gap)>Precision)
XX=SolveIt(deltF,deltG,Init_L,Init_Z,Init_U,Init_W,deltdeltF,ddh,ddg,deltH,Init_Y,Ly,Lz,ContrlCount,Lw,Lul,Luu,RestraintCount,Lx,Balance,PVi,PGi,Busnum,Loadi);
%%
[deltZ,deltL,deltW,deltU,deltX,deltY]=AssignXX(XX,ContrlCount,RestraintCount,Busnum);
[Init_Z,Init_L,Init_W,Init_U,Init_Y,PG,QG,Volt,UAngel,PD]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,Volt,UAngel,PVi,ContrlCount,Balance,Busnum,PGi,PD,Loadi);
[Init_Z,Init_L,Init_W,Init_U,Init_Y,PG,QG,Volt,UAngel,PD,QD]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,Volt,UAngel,PVi,ContrlCount,Balance,Busnum,PGi,PD,QD,Loadi);
Gap=(Init_L*Init_Z'-Init_U*Init_W');
KK=KK+1;
end
@ -89,8 +90,8 @@ maxPDError=max(absPDLoad);
disp('index');
Loadi(absPDLoad==maxPDError);
%% 线
totalLoss=(PGBal(Balance)-sum(PD(Loadi)))*100;
fprintf('%f(MW )\n',totalLoss);
totalLoss=(sum(PG)-sum(PD(Loadi)))*100;
fprintf('%f(MW )\n',full(totalLoss));
%% 线
Lineloss(Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,Transforx,Transfork0,Volt,UAngel);
toc

View File

@ -18,8 +18,9 @@ tQL=sparse(PVQL(:,1));%
PG(PGi)=(tPU+tPL)/2;
QG(PVi)=(tQU+tQL)/2;
wG=1*ones(size(PGi,1),1);
randInt=randperm(size(Loadi,1));
randPDind=randInt(1:10);
%randInt=randperm(size(Loadi,1));
%randPDind=randInt(1:10);
randPDind=0;
wD=1*ones(size(Loadi,1),1);
%wD(randPDind)=0;%
%wD(7)=0;

View File

@ -1,5 +1,5 @@
function ddg=func_ddg(PGi,PVi,Busnum,RestraintCount,Loadi)
ddg=sparse(size(PVi,1)+size(PGi,1)+size(Loadi,1)+1*Busnum,RestraintCount);
ddg=sparse(size(PVi,1)+size(PGi,1)+size(Loadi,1)*2+1*Busnum,RestraintCount);
end

View File

@ -50,7 +50,7 @@ t=[ddPdVdV+ddQdVdV,ddPdVdT+ddQdVdT;
];
sizePGi=size(PGi,1);
sizePVi=size(PVi,1);
sizeLoadi=size(Loadi,1);
sizeLoadi=size(Loadi,1)*2;
ddh=[
sparse(sizePGi+sizePVi+sizeLoadi,ContrlCount);
sparse(2*Busnum,sizePVi+sizePGi+sizeLoadi),-t;

View File

@ -6,6 +6,7 @@ deltF=[
sparse(t1);
sparse(size(PVi,1),1);
sparse(t2);
sparse(length(Loadi),1);
sparse(2*Busnum,1);
];

View File

@ -19,6 +19,11 @@ dg2_dPD=sparse(size(Loadi,1),size(PVi,1));
dg3_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),Busnum);
%%
dg1_dQD=sparse(size(Loadi,1),size(PGi,1));
dg2_dQD=sparse(size(Loadi,1),size(PVi,1));
dg3_dQD=sparse(length(Loadi),length(Loadi));
dg4_dQD=sparse(size(Loadi,1),Busnum);
%%
dg1_dx=sparse(2*Busnum,sizePGi);
dg2_dx=sparse(2*Busnum,sizePVi);
dg3_dx=sparse(2*Busnum,sizeLoadi);
@ -29,5 +34,6 @@ dg4_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum);
deltG=[dg1_dPg,dg2_dPg,dg3_dPg,dg4_dPg;
dg1_dQr,dg2_dQr,dg3_dQr,dg4_dQr;
dg1_dPD,dg2_dPD,dg3_dPD,dg4_dPD;
dg1_dQD,dg2_dQD,dg3_dQD,dg4_dQD;
dg1_dx,dg2_dx,dg3_dx,dg4_dx;
];

View File

@ -3,6 +3,7 @@ function deltH=func_deltH(Busnum,Volt,PVi,Y,PGi,UAngel,r,c,Angle,Loadi)
dH_dPg=sparse(1:size(PGi,1),PGi,ones(size(PGi,1),1),size(PGi,1),2*Busnum);
dH_dQr=sparse(1:size(PVi,1),PVi+Busnum,ones(size(PVi,1),1),size(PVi,1),2*Busnum);
dH_dPD=[sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum) sparse(size(Loadi,1),Busnum)];
dH_dQD=[sparse(size(Loadi,1),Busnum) sparse(1:size(Loadi,1),Loadi,-ones(size(Loadi,1),1),size(Loadi,1),Busnum)];
dH_dx = jacobian_M(Busnum,Volt,Y,Angle,UAngel,r,c); %
deltH=[dH_dPg;dH_dQr;dH_dPD;dH_dx'];
deltH=[dH_dPg;dH_dQr;dH_dPD;dH_dQD;dH_dx'];
end

2
pf.m
View File

@ -10,7 +10,7 @@ function [kmax,Precision,Uangle,U,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Li
tic;
%%
[Busnum,Balance,PQstandard,Precision,Linei,Linej,Liner,Linex,Lineb,kmax,Transfori ,...
Transforj,Transforr,Transforx,Transfork0,Branchi,Branchb,Pointpoweri,PG,QG,PD,QD,PVi,PVu,GenU,GenL,GenC,CenterA,PGi,PVQU,PVQL]= openfile2(FileName);
Transforj,Transforr,Transforx,Transfork0,Branchi,Branchb,Pointpoweri,PG,QG,PD,QD,PVi,PVu,GenU,GenL,GenC,CenterA,PGi,PVQU,PVQL]= openfile(FileName);
%%
[GB,Y,r,c,Angle] = admmatrix(Busnum,Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,...
Transforx,Transfork0,Branchi,Branchb);