目录
1 数学模型
1.1 目标函数
最优潮流(OPF)是指在满足电网约束的同时,以最小的成本将负荷分配给电厂。描述为在满足网络(潮流)约束的情况下最小化所有承诺的工厂的总燃料成本的优化问题。
这些问题的变体很多,它们以不同的方式对目标和约束进行建模。基本的OPF问题可以在数学上描述为最小化约束条件下所有已承诺的工厂的总燃料成本的最小化问题 :
是第座核电站的燃料成本公式。它是燃料成本($或Rs)随发电量(MW)的变化,通常表示为连续的二次方程:
1.2 约束条件
总发电量应满足总需求和输电损耗。输电损耗可以由潮流确定。
2 解决策略
1.收集母线数据、线路数据和成本系数及其限制。
2.用罚函数法将约束优化问题转化为无约束问题。
3 matlab代码实现
部分代码:
%% 节点导纳矩阵
j=sqrt(-1); %j^2=-1
nl = linedata(:,1); nr = linedata(:,2); R = linedata(:,3);
X = linedata(:,4); Bc = j*linedata(:,5); a = linedata(:, 6);
nbr=length(linedata(:,1)); nbus = max(max(nl), max(nr));
Z = R + j*X; y= ones(nbr,1)./Z; %分支导纳
for n = 1:nbr
if a(n) <= 0
a(n) = 1;
else
end
Ybus=zeros(nbus,nbus); %节点导纳初始化
%=======非对角元素的形成==============
for k=1:nbr;
Ybus(nl(k),nr(k))=Ybus(nl(k),nr(k))-y(k)/a(k);
Ybus(nr(k),nl(k))=Ybus(nl(k),nr(k));
end
end
%===========对角元素的形成=======================
for n=1:nbus
for k=1:nbr
if nl(k)==n
Ybus(n,n) = Ybus(n,n)+y(k)/(a(k)^2) + Bc(k);
elseif nr(k)==n
Ybus(n,n) = Ybus(n,n)+y(k) +Bc(k);
else,
end
end
end
%%
nn1=length(gencost(:,1));
for ii=1:nn1
if x(ii)>1
x(ii)=1;
elseif x(ii)<0
x(ii)=0;
end
%=======利用罚函数法将约束优化问题转化为无约束问题。=======
y1(ii)=gencost(ii,5)+x(ii)*(gencost(ii,6)-gencost(ii,5));
end
for i=1:nn1
xx=gencost(i,1);
busdata(xx,7)=y1(i);
end