0
点赞
收藏
分享

微信扫一扫

【配电网重构】基于粒子群算法实现最小化功率损耗的配电网重构附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。​

⛄ 内容介绍

随着大规模,跨区域的配电网不断发展,对配电网运行的经济性和可靠性要求越来越高,在配电网发生大范围停电事故后,需要对配电网的拓扑结构进行重新组合,从而达到恢复供电的目的,这个重新组合配电网拓扑结构的过程即为配电网恢复重构.配电网恢复重构是一个多目标非线性组合优化问题,智能优化算法被认为是当前最有效的求解方法. 本文选用了粒子群算法作为求解配电网恢复重构问题的智能优化算法.首先通过分析配电网恢复重构和优化重构的不同之处,建立了以负荷恢复最大化为重构目标的配电网恢复重构数学模型,并将离散的二进制粒子群算法应用于配电网恢复重构.在配电网网络重构中,按照配电网拓扑结构的要求选择了深度优先搜索算法作为配电网辐射性检测的方法,在辐射性的检测中引入配电网重构减少网损的目标提出了"最小破圈法"修改存在环网的配电网拓扑结构.

⛄ 部分代码

clc

tic

% KHOI TAO CAC THONG SO BAN DAU (INITIALIZING SWARM PARAMETER)

n=20;

dim=5;% Dimmension of searching space

x=load('swarm33.m');% Creating a swarm

vnew=rand(n,dim);% Creating a randomized initial velocity

sig=zeros(n,dim);

vold=vnew;

fitness=zeros(1,n);

pbest=load('swarm33.m');% Creating pbest matrice

gbest=[4 10 24 30 12];% Introducing a randomized gbest

wmax=0.9;

wmin=0.4;

r1=rand(n,dim);% Creating a randomized matrice, size (20x3)

r2=rand(n,dim);% Creating a randomized matrice, size (20x3)

iter=0;

maxiter=60;% Maximum iteration

tap=[8 9 10 11 21 33 35 0 0

    2 3 4 5 6 7 18 19 20

    12 13 14 34 0 0 0 0 0

    15 16 17 29 30 31 36 32 0

    22 23 24 25 26 27 28 37 0];

ta=tap';

% Establish the incidence matrix

data=loadcase(case33);

doc=data.branch;itial configuration

bandau=loadcase(case33);

o=[33 34 35 36 37];

for i=1:length(o)

    bandau.branch(o(i),11)=0;

end

ketqua=runpf(bandau);

tonthat=sum(ketqua.branch(:,14)+ketqua.branch(:,16))*1e3;

dienap=ketqua.bus(:,8);

dienapmin=min(dienap);

gbestvolt;

a=sort(gbest);

ploss=(tonthat-fgbest)*100/tonthat;

plot(dienap,'-sr')

hold on

plot(gbestvolt,'-^b')

ylabel('Voltage (p.u)')

xlabel('Node')

title('Voltage profile')

legend('Before Reconfig','After Reconfig')

hold off

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('==========================================================================================')

disp('******************* SIMULATION RESULTS OF 33 BUS DISTRIBUTION NETWORK ********************')

disp('==========================================================================================')

disp('                       BEFORE RECONFIGURATION              AFTER RECONFIGURATION'          )

disp('------------------------------------------------------------------------------------------')

disp(['Tie switches:              ', num2str(o), '                  ',num2str(a)])

disp('------------------------------------------------------------------------------------------')

disp(['Power loss:                ',num2str(tonthat),' kW','                         ',num2str(fgbest),' kW'])

disp('------------------------------------------------------------------------------------------')

disp(['Power loss reduction:      ', '_______','                             ',num2str(ploss), ' %'])

disp('------------------------------------------------------------------------------------------')

disp(['Minimum voltage:           ',num2str(dienapmin),' pu','                          ',num2str(minvolt),' pu'])

disp('------------------------------------------------------------------------------------------')

toc

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

disp('      ')

⛄ 运行结果

【配电网重构】基于粒子群算法实现最小化功率损耗的配电网重构附matlab代码_粒子群算法

⛄ 参考文献

[1]彭伊伊. 基于粒子群算法的配电网恢复重构的研究. 华中科技大学, 2012.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


举报

相关推荐

0 条评论