目次
1 数学モデル
1.1 目的関数
最適電力潮流 (OPF) とは、送電網の制約を満たしながら、最小限のコストで発電所に負荷を分散することを指します。ネットワーク (流量) 制約を受けるすべてのコミットされたプラントの総燃料コストを最小化する最適化問題として説明されます。
これらの問題には多くの変形があり、さまざまな方法で目的と制約をモデル化します。基本的な OPF 問題は、次の制約に従ってコミットされたすべてのプラントの総燃料コストを最小化する最小化問題として数学的に説明できます。
は第一原子力発電所の燃料費計算式です。これは、燃料コスト ($ または Rs) と発電量 (MW) の変化であり、通常は連続 2 次方程式として表されます。
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