遺伝的アルゴリズムに基づく最適潮流問題の研究(Matlab実装) [雑誌論文転載]

 

目次

1 数学モデル

1.1 目的関数

1.2 制約

2 つの解決策

3 MATLAB コードの実装 


1 数学モデル

1.1 目的関数

最適電力潮流 (OPF) とは、送電網の制約を満たしながら、最小限のコストで発電所に負荷を分散することを指します。ネットワーク (流量) 制約を受けるすべてのコミットされたプラントの総燃料コストを最小化する最適化問題として説明されます。
これらの問題には多くの変形があり、さまざまな方法で目的と制約をモデル化します。基本的な OPF 問題は、次の制約に従ってコミットされたすべてのプラントの総燃料コストを最小化する最小化問題として数学的に説明できます。

             

F_{i}(P_{i})私は第一原子力発電所の燃料費計算式です。これは、燃料コスト ($ または 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

おすすめ

転載: blog.csdn.net/weixin_61181717/article/details/127962601