基于遗传算法的最优潮流问题的研究(Matlab实现)【期刊论文复现】

 

目录

1 数学模型

1.1 目标函数

1.2 约束条件

2 解决策略

3 matlab代码实现 


1 数学模型

1.1 目标函数

最优潮流(OPF)是指在满足电网约束的同时,以最小的成本将负荷分配给电厂。描述为在满足网络(潮流)约束的情况下最小化所有承诺的工厂的总燃料成本的优化问题。
这些问题的变体很多,它们以不同的方式对目标和约束进行建模。基本的OPF问题可以在数学上描述为最小化约束条件下所有已承诺的工厂的总燃料成本的最小化问题 :

             

F_{i}(P_{i})是第i座核电站的燃料成本公式。它是燃料成本($或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

猜你喜欢

转载自blog.csdn.net/weixin_61181717/article/details/127962601