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

 个人主页:研学社的博客 

欢迎来到本博客❤️❤️

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

⛳️座右铭:行百里者,半于九十。

目录

1 概述

2 运行结果

3 参考文献

4 Matlab代码实现

1 概述

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

2 运行结果

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

部分代码:

%% 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代码实现

你可能感兴趣的:(#,电气代码精选,#,电力系统Matlab,matlab,开发语言,电容器优化配置,粒子群算法)