【布局优化】基于遗传算法实现分布式发电单元优化分配附matlab代码

1 内容介绍

已经提出了许多方法来确定分布式发电 (DG) 单元的最佳位置和容量,以达到系统损耗的最低值。 在这项研究中,将分析和遗传算法方法相结合,用于配电网络中多个 DG 的优化分配,以最大限度地减少系统损耗。 这种组合保证了多个 DG 单元分配的收敛精度和速度。 在这项研究中,在配电网损耗最小化过程中同时考虑了 DG 的有功功率、功率因数和位置, 所提出的方法适用于 33 总线和 69 总线测试分配系统。 仿真结果表明,与其他方法相比,该方法的损耗更低。​

2 仿真代码

clc

clear

close all

warning off

global Ng

%%

Nb=33; 

Ng=4; %number of DG units

Npop=10; % number of population chromosomes

maxIter=500; % maximum generation of genetic algorithm

for i=1:Npop

    pop{i}=makesol(Ng,Nb);

end

for iter=1:maxIter

    for i=1:Npop

        PL(i)=objfcn(pop{i},Nb);

    end

    [val,idx]=sort(PL);

    

    best1=pop{idx(1)};

    best2=pop{idx(2)};

    child1=crossover(best1,best2);

    child2=crossover(best2,best1);

    child3=child1;

    s=ceil(numel(child1)/10);

    m=randperm(numel(child1),s);

    newc=makesol(Ng,Nb);

    child3(m)=newc(m);

    pop{idx(end)}=best1;

    pop{idx(end-1)}=best2;

    pop{idx(end-2)}=child1;

    pop{idx(end-3)}=child2;

    pop{idx(end-4)}=child3;

    pop{idx(end-5)}=makesol(Ng,Nb);

    disp(['iteration: ', num2str(iter), '  , best loss= ', num2str(val(1))]);

    plot(iter,val(1),'r.');

    hold on

    xlabel('Iteration');

    ylabel('Fitness')

    title('Genetic Optimization');

    pause(0.00001);

    if val(1)==0

        break;

    end

end

powerflow

[Pi, Qi, Pg, Qg, Pl, Ql] = loadflow(nbus,V,del,BMva);

Best_locations=best1(Ng+1:end)

Best_PFs=best1(1:Ng)

Power=Pi(Best_locations)

3 运行结果

【布局优化】基于遗传算法实现分布式发电单元优化分配附matlab代码_第1张图片

4 参考文献

[1]娄尧林, 吴晨曦, 李明富,等. 基于遗传算法的分布式发电优化[J]. 能源工程, 2012(4):5.

[2] Vatani M ,  Gharehpetian G B ,  Sanjari M J , et al. Multiple distributed generation units allocation in distribution network for loss reduction based on a combination of analytical and genetic algorithm methods[J]. Generation Transmission & Distribution Iet, 2016.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

 

你可能感兴趣的:(优化求解,分布式,matlab,开发语言)