74 lines
3.9 KiB
Matlab
74 lines
3.9 KiB
Matlab
function [e,f,PG,QR,Pg,Qg,T,pgvNum,xNum,m,r,l,u,z,w,x,y,mu,dmaxOut1,dmaxOut2,xz1,xz2,dmaxOut3,dmaxOut4,xz3,xz4,xz5,colmut1,hx,k2,opfGoal,times,secondBegin,Tn,Tn1,capKn,capKn1,kt0,q0,...
|
||
mut,mub,oneTrans,oneCap,para1,para2,para3,mismatch,ifconverge]=seting(nodeNum,lineNum,transNum,transK0,capNum,capK,pvQmin,pvQmax,pvNum,pvNode,pvV,pgNum,pgNode,Pmin,Pmax,Pg,Qg,centrPara)
|
||
%程序功能:预计算过程,初始化
|
||
%编写时间:2010年11月
|
||
|
||
%% 设置计算参数
|
||
para1=0.6; %Arlfa,计算最优步长所需参数
|
||
para2=0.05; %Gama
|
||
para3=0.76; %光滑参数修正量
|
||
para4=1.5; %光滑参数初始值
|
||
if nodeNum==30 %各测试系统要得到最好的优化结果,需要取不同的光滑参数修正值
|
||
para3=0.23;
|
||
para4=2.7;
|
||
else if nodeNum==118
|
||
para3=0.3;
|
||
para4=1.5;
|
||
else if nodeNum==300
|
||
para3=0.65;
|
||
para4=1;
|
||
else if nodeNum==1047
|
||
para3=0.59;
|
||
para4=0.6;
|
||
else if nodeNum==1780
|
||
para3=0.76;
|
||
para4=1.5;
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
%% 设PQ节点电压幅值为1,相角为0
|
||
e=ones(nodeNum,1);
|
||
f=sparse(nodeNum,1);
|
||
e(pvNode)=pvV(pvNode); %初始值对计算结果有一点点影响
|
||
%% 发电机有功无功出力以及无功源无功出力初值(分别取上下界的平均值)
|
||
PG=(Pmin+Pmax)/2; %发电机有功功率初值,取发电机有功上下限的平均值
|
||
QR=(pvQmin+pvQmax)/2; %发电机无功功率初值,取平衡节点、PV节点无功上下限的平均值
|
||
Pg(pgNode)=PG(pgNode);
|
||
Qg(pvNode)=QR(pvNode);
|
||
T=1./transK0;
|
||
x=[T;PG(pgNode);QR(pvNode);capK;e;f]; %系统的控制变量和状态变量
|
||
%% 设定松弛变量l,u,拉格朗日乘子z,w,y的初值
|
||
pgvNum=pgNum+pvNum;
|
||
xNum=pgvNum+2*nodeNum+transNum+capNum; %变量个数
|
||
m=2*nodeNum; %等式约束条件个数
|
||
r=pgvNum+nodeNum+lineNum+transNum+capNum; %不等式约束条件个数,
|
||
s=1;
|
||
l=s*ones(r,1); %初始化l,u,z为1,w为-1,y为0
|
||
u=l;
|
||
z=l;
|
||
w=-l;
|
||
y=sparse(m,1);
|
||
|
||
Gap=l'*z-u'*w; %计算互补间隙
|
||
mu=(centrPara*Gap)/(2*r); %计算扰动因子
|
||
Tn=sparse(0,0);Tn1=Tn;capKn=Tn;capKn1=Tn; kt0=Tn;q0=Tn;
|
||
oneTrans=ones(transNum,1);
|
||
oneCap=ones(capNum,1);
|
||
mut=oneTrans*para4; %光滑参数赋初值
|
||
mub=oneCap*para4;
|
||
|
||
dmaxOut1=[];dmaxOut2=dmaxOut1;xz1=dmaxOut1;xz2=dmaxOut1;dmaxOut3=dmaxOut1; %用于保存中间计算结果,以提供作图数据
|
||
dmaxOut4=dmaxOut1;xz3=dmaxOut1;xz4=dmaxOut1;xz5=dmaxOut1;colmut1=dmaxOut1;
|
||
hx=ones(m,1);
|
||
k2=0;
|
||
opfGoal=2; %目标函数为有功出力最小
|
||
times=1; %计算阶段标志
|
||
secondBegin=1; %光滑处理阶段开始标志
|
||
ifconverge=0; %收敛标志
|
||
mismatch=0.00001; %最大不平衡量计算精度
|
||
if nodeNum==1780 %由于1780系统在预计算时最大不平衡量要收敛到0.00001的精度迭代次数会比较多,为了提高整体收敛速度
|
||
mismatch=0.01; %在预计算时最大不平衡量精度达到0.01则视为收敛,在连续化处理收敛时最大不平衡量精度可达0.00001
|
||
end |