基于粒子群优化算法在配电系统中优化电容器的配置以降低损耗(Matlab代码实现)

作品简介
 📝个人主页:研学社的博客 
💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现

💥1 概述

 电容器被广泛安装在配电网中作为无功补偿、电压调节、增加系统容量和改善功率因数以及电网经济运行的手段。配电网电容器优化配置是在满足一些约束条件的情况下,使配电网中电容器的安装位置、类型以及容量达到最优。这是一个非线性混合整数优化问题,该问题具有非线性、不连续、约束多样性、变量的离散性、计算规模大等特点,因此直接用常规的优化方法效果并不理想,随着配电网规模的增大,其计算量还会显著增大。

📚2 运行结果

​编辑

部分代码:

%% Main PSO

for n_ite=1:set.Niteration

  for n_par=1:set.Nparticle

    [LPSP,COE]=EMS(particle(n_par).position(1),...

      particle(n_par).position(2),...

      particle(n_par).position(3));

    %% Calculate Mark

    Mark=set.weight_LPSP*abs(LPSP-set.desired_LPSP)+...

      set.weight_COE*COE/set.Normal_COE;

    %% Best Particle

    if isempty(particle(n_par).best_Mark) || particle(n_par).best_Mark>Mark

      particle(n_par).best_position=particle(n_par).position;

      particle(n_par).best_LPSP=LPSP;

      particle(n_par).best_COE=COE;

      particle(n_par).best_Mark=Mark;

    end

    %% Best Global

    if (n_ite==1 && n_par==1) || best_global.Mark>Mark

      best_global.position=particle(n_par).position;

      best_global.LPSP=LPSP;

      best_global.COE=COE;

      best_global.Mark=Mark;

    end

    log_global(n_ite)=best_global;

     

    %% Velocity and New Position

    particle(n_par).velocity=set.w*particle(n_par).velocity...

      +set.c1*(particle(n_par).best_position-particle(n_par).position)...

      +set.c2*(best_global.position-particle(n_par).position);

    particle(n_par).position=particle(n_par).position...

      +particle(n_par).velocity;

     

    %% Round Position

    particle(n_par).position(1)=round(particle(n_par).position(1));

    particle(n_par).position(2)=round(particle(n_par).position(2));

    particle(n_par).position(3)=round(particle(n_par).position(3));

     

    %% Limit Position

    if particle(n_par).position(1)

      particle(n_par).position(1)=set.Npv_min;

    end

    if particle(n_par).position(2)

      particle(n_par).position(2)=set.Nbat_min;

    end

    if particle(n_par).position(3)

      particle(n_par).position(3)=set.Ndg_min;

    end

    if particle(n_par).position(1)>set.Npv_max

      particle(n_par).position(1)=set.Npv_max;

    end

    if particle(n_par).position(2)>set.Nbat_max

      particle(n_par).position(2)=set.Nbat_max;

    end

    if particle(n_par).position(3)>set.Ndg_max

      particle(n_par).position(3)=set.Ndg_max;

    end

  end

end

clear LPSP COE Mark n_ite n_par

%% Show Result

for n_ite=1:set.Niteration

  LPSP(n_ite)=log_global(n_ite).LPSP;

  COE(n_ite)=log_global(n_ite).COE;

end

 


🎉3 参考文献


部分理论来源于网络,如有侵权请联系删除。

[1]刘军志,陈明照,杜宗林.基于改进粒子群算法的配网电容器优化配置[J].电源技术,2015,39(7):1498-1500

🌈4 Matlab代码实现


创作时间:2022-11-14 22:54:13