上一个提交提前停止迭代了,都没有收敛,互补约束不为0,现在这个可以了,加了互补变量的初始化。
Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
a964aa453d
commit
1bce6a7520
16
subOPF.m
16
subOPF.m
|
|
@ -42,6 +42,9 @@ QG(PVi)=QGBal(PVi);
|
||||||
|
|
||||||
%%
|
%%
|
||||||
[Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD00,QD,randPDind,Loadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,RealPD,RealQD,QD,PD);
|
[Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD00,QD,randPDind,Loadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,RealPD,RealQD,QD,PD);
|
||||||
|
|
||||||
|
Volt=0.99*Volt;
|
||||||
|
|
||||||
Gap=(Init_L*Init_Z'-Init_U*Init_W');
|
Gap=(Init_L*Init_Z'-Init_U*Init_W');
|
||||||
KK=0;
|
KK=0;
|
||||||
plotGap=zeros(1,60);
|
plotGap=zeros(1,60);
|
||||||
|
|
@ -112,6 +115,7 @@ Vbi=sparse(0.5*ones(Busnum,1));
|
||||||
PDbi=sparse(0.5*ones(length(Loadi),1));
|
PDbi=sparse(0.5*ones(length(Loadi),1));
|
||||||
QDbi=sparse(0.5*ones(length(Loadi),1));
|
QDbi=sparse(0.5*ones(length(Loadi),1));
|
||||||
eps=1;
|
eps=1;
|
||||||
|
|
||||||
% 第一遍,算连续的值
|
% 第一遍,算连续的值
|
||||||
fprintf('第1次迭代,算连续量。\n');
|
fprintf('第1次迭代,算连续量。\n');
|
||||||
while(abs(Gap)>Precision*10)
|
while(abs(Gap)>Precision*10)
|
||||||
|
|
@ -140,7 +144,7 @@ while(abs(Gap)>Precision*10)
|
||||||
%% 形成方程矩阵
|
%% 形成方程矩阵
|
||||||
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
||||||
Lul=Init_L'.*Init_Z'-Init_u*ones(RestraintCount,1);
|
Lul=Init_L'.*Init_Z'-Init_u*ones(RestraintCount,1);
|
||||||
bigM=0.4;
|
bigM=0.5;
|
||||||
Mat_G=FormG(Volt,PD,QD,Loadi,bigM,mVolt,rVolt,sigma,Vbi,PDbi,QDbi,mPD,mQD,uPD,lPD,uQD,lQD,uVolt,lVolt);
|
Mat_G=FormG(Volt,PD,QD,Loadi,bigM,mVolt,rVolt,sigma,Vbi,PDbi,QDbi,mPD,mQD,uPD,lPD,uQD,lQD,uVolt,lVolt);
|
||||||
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi);
|
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi);
|
||||||
Ly=Mat_H;
|
Ly=Mat_H;
|
||||||
|
|
@ -165,6 +169,12 @@ Gap=1;
|
||||||
% eps=0.00001;
|
% eps=0.00001;
|
||||||
fprintf('\n');
|
fprintf('\n');
|
||||||
|
|
||||||
|
Init_Z=sparse(ones(1,RestraintCount));
|
||||||
|
Init_W=sparse(-1*ones(1,RestraintCount));
|
||||||
|
Init_L=1*sparse(ones(1,RestraintCount));
|
||||||
|
Init_U=1*sparse(ones(1,RestraintCount));
|
||||||
|
Init_Y=sparse(1,2*Busnum);%与学姐一致
|
||||||
|
|
||||||
fprintf('第2次迭代,算离散量。\n');
|
fprintf('第2次迭代,算离散量。\n');
|
||||||
while(abs(Gap)>Precision*10)
|
while(abs(Gap)>Precision*10)
|
||||||
if KK>kmax
|
if KK>kmax
|
||||||
|
|
@ -193,8 +203,8 @@ while(abs(Gap)>Precision*10)
|
||||||
%% 形成方程矩阵
|
%% 形成方程矩阵
|
||||||
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
Luu=Init_U'.*Init_W'+Init_u*ones(RestraintCount,1);
|
||||||
Lul=Init_L'.*Init_Z'-Init_u*ones(RestraintCount,1);
|
Lul=Init_L'.*Init_Z'-Init_u*ones(RestraintCount,1);
|
||||||
bigM=0.4;
|
bigM=0.5;
|
||||||
eps=Gap*0.001;
|
eps=Gap*0.1;
|
||||||
Mat_G=FormG(Volt,PD,QD,Loadi,bigM,mVolt,rVolt,sigma,Vbi,PDbi,QDbi,mPD,mQD,uPD,lPD,uQD,lQD,uVolt,lVolt);
|
Mat_G=FormG(Volt,PD,QD,Loadi,bigM,mVolt,rVolt,sigma,Vbi,PDbi,QDbi,mPD,mQD,uPD,lPD,uQD,lQD,uVolt,lVolt);
|
||||||
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi);
|
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,Loadi);
|
||||||
Ly=Mat_H;
|
Ly=Mat_H;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue