改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

简介: 改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

0 概述

配电系统中存在大量的分段开关和联络开关,配电网重构正是通过调整分段开关和联络升大的组合状态来变换网络结构,用于优化配电网某些指标,使其达到最优状态。正常运行时,则通过两类开关的不同组合状态来提高系统的可靠性、稳定性或减小网损等。故障时﹐部分分段开关将打开以隔离故障支路,同时一些联络开关闭合将故障支路转移到其他馈线上或同一馈线的其余分支上,以满足供电需求。


1 配电网重构的目标函数

配电网结构是闭环设计,开环运行。配电网重构则是在保证网络拓扑结构成辐射状,满足电压约

束、支路容量约束、变压器容量约束等要求的前提下,确定使配电网某一指标或多个指标最佳的配电网运行方式。本文以配电网线路损耗最小为目标函数,即:


     


式中f为所有支路总有功损耗;i表示支路编号;N表示配电网支路总数;Ki表示开关状态变量,即О表示打开状态,1表示闭合状态;Ri表示支路i上的电阻值;Pi、Qi、Ui分别表示支路的有功功率、无功功率以及支路i前端节点的电压幅值。

配电网重构约束条件包括潮流约束、电压约束、电流约束、线路容量约束和网络拓扑结构辐射状运行约束等,如下式所示:


                 

2 算例

仿真算例采用 IEEE33 节点配电网络,拓扑结构如图 。该配电网包含 33 个节点和 37 条支路,

5 个常开联络开关分别位于支路33、34、35、36、37上,基准 电压为 12. 66 kV。

3 matlab代码实现

部分代码:

clc
tic
%% 本代码采用二进制粒子群算法对33节点配电网进行重构。目标函数是最小化功率损耗。
%===============初始化参数=============
n=20;
dim=5;% 搜索空间的维数
x=load('swarm33.m');% 创建群体
%%  建立关联矩阵
data=loadcase(case33);
doc=data.branch;
nhanh=37;
nut=33;
matrix=zeros(nhanh,nut);
    nutdau=doc(:,1);
    nutcuoi=doc(:,2);
for i=1:nhanh
matrix(i,nutdau(i))=1;
matrix(i,nutcuoi(i))=1;
end
%% 计算个体最优的适应度函数
 fpbest=zeros(1,n);
 for i=1:n
     fpbest(i)=50000;
 end
%% 主循环
while iter<maxiter
    iter=iter+1;
    w=wmax-(wmax-wmin)*iter/maxiter;% 指定权重系数
    c1=2*rand(1);
    c2=2*rand(1);
    %% 更新速度
    vold=vnew;
    for i=1:n
        for j=1:dim
        vnew(i,j)=w*vnew(i,j)+c1*r1(i,j)*(pbest(i,j)-x(i,j))+c2*r2(i,j)*(gbest(j)-x(i,j));
       if abs(vnew(i,j))==abs(vold(i,j))
           vnew(i,j)=rand(1,1).*vnew(i,j);
       end
        end
    end
-------
plot(dienap,'-sr')
hold on
plot(gbestvolt,'-^b')
ylabel('电压(p.u)')
xlabel('Node')
title('电压分布')
legend('配电网重组前','配电网重组后')
hold off
disp('      ')
disp('      ')
disp('      ')
disp('      ')
disp('==========================================================================================')
disp('***************************** 33节点配电网仿真结果 ***************************')
disp('==========================================================================================')
disp('                               重构前                          重构后 '          )
disp('------------------------------------------------------------------------------------------')
disp(['联络开关:              ', num2str(o), '                  ',num2str(a)])
disp('------------------------------------------------------------------------------------------')
disp(['功率损耗:                ',num2str(tonthat),' kW','                         ',num2str(fgbest),' kW'])
disp('------------------------------------------------------------------------------------------')
disp(['减少的功率损耗:      ', '_______','                             ',num2str(ploss), ' %'])
disp('------------------------------------------------------------------------------------------')
disp(['最小电压:           ',num2str(dienapmin),' pu','                          ',num2str(minvolt),' pu'])
disp('------------------------------------------------------------------------------------------')
toc
clc
tic
%% 本代码采用二进制粒子群算法对33节点配电网进行重构。目标函数是最小化功率损耗。
%===============初始化参数=============
n=20;
dim=5;% 搜索空间的维数
x=load('swarm33.m');% 创建群体
%%  建立关联矩阵
data=loadcase(case33);
doc=data.branch;
nhanh=37;
nut=33;
matrix=zeros(nhanh,nut);
    nutdau=doc(:,1);
    nutcuoi=doc(:,2);
for i=1:nhanh
matrix(i,nutdau(i))=1;
matrix(i,nutcuoi(i))=1;
end
%% 计算个体最优的适应度函数
 fpbest=zeros(1,n);
 for i=1:n
     fpbest(i)=50000;
 end
%% 主循环
while iter<maxiter
    iter=iter+1;
    w=wmax-(wmax-wmin)*iter/maxiter;% 指定权重系数
    c1=2*rand(1);
    c2=2*rand(1);
    %% 更新速度
    vold=vnew;
    for i=1:n
        for j=1:dim
        vnew(i,j)=w*vnew(i,j)+c1*r1(i,j)*(pbest(i,j)-x(i,j))+c2*r2(i,j)*(gbest(j)-x(i,j));
       if abs(vnew(i,j))==abs(vold(i,j))
           vnew(i,j)=rand(1,1).*vnew(i,j);
       end
        end
    end
-------
plot(dienap,'-sr')
hold on
plot(gbestvolt,'-^b')
ylabel('电压(p.u)')
xlabel('Node')
title('电压分布')
legend('配电网重组前','配电网重组后')
hold off
disp('      ')
disp('      ')
disp('      ')
disp('      ')
disp('==========================================================================================')
disp('***************************** 33节点配电网仿真结果 ***************************')
disp('==========================================================================================')
disp('                               重构前                          重构后 '          )
disp('------------------------------------------------------------------------------------------')
disp(['联络开关:              ', num2str(o), '                  ',num2str(a)])
disp('------------------------------------------------------------------------------------------')
disp(['功率损耗:                ',num2str(tonthat),' kW','                         ',num2str(fgbest),' kW'])
disp('------------------------------------------------------------------------------------------')
disp(['减少的功率损耗:      ', '_______','                             ',num2str(ploss), ' %'])
disp('------------------------------------------------------------------------------------------')
disp(['最小电压:           ',num2str(dienapmin),' pu','                          ',num2str(minvolt),' pu'])
disp('------------------------------------------------------------------------------------------')
toc


目录
打赏
0
0
0
0
78
分享
相关文章
基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-LSTM-SAM网络时间序列预测算法。使用Matlab2022a开发,完整代码含中文注释及操作视频。算法结合卷积层提取局部特征、LSTM处理长期依赖、自注意力机制捕捉全局特征,通过粒子群优化提升预测精度。适用于金融市场、气象预报等领域,提供高效准确的预测结果。
一维信号的小波变换与重构算法matlab仿真
本程序使用MATLAB2022A实现一维信号的小波变换与重构,对正弦测试信号进行小波分解和重构,并计算重构信号与原信号的误差。核心步骤包括:绘制分解系数图像、上抽取与滤波重构、对比原始与重构信号及误差分析。小波变换通过多分辨率分析捕捉信号的局部特征,适用于非平稳信号处理,在信号去噪、压缩等领域有广泛应用。
基于粒子群算法的网络最优节点部署优化matlab仿真
本项目基于粒子群优化(PSO)算法,实现WSN网络节点的最优部署,以最大化节点覆盖范围。使用MATLAB2022A进行开发与测试,展示了优化后的节点分布及其覆盖范围。核心代码通过定义目标函数和约束条件,利用PSO算法迭代搜索最佳节点位置,并绘制优化结果图。PSO算法灵感源于鸟群觅食行为,适用于连续和离散空间的优化问题,在通信网络、物联网等领域有广泛应用。该算法通过模拟粒子群体智慧,高效逼近最优解,提升网络性能。
118 16
基于PSO粒子群优化的配电网可靠性指标matlab仿真
本程序基于PSO粒子群优化算法,对配电网的可靠性指标(SAIFI、SAIDI、CAIDI、ENS)进行MATLAB仿真优化。通过调整电网结构和设备配置,最小化停电频率和时长,提高供电连续性和稳定性。程序在MATLAB 2022A版本上运行,展示了优化前后指标的变化。PSO算法模拟鸟群行为,每个粒子代表一个潜在解决方案,通过迭代搜索全局最优解,实现配电网的高效优化设计。
151 15
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
基于GA-PSO遗传粒子群混合优化算法的TSP问题求解matlab仿真
本文介绍了基于GA-PSO遗传粒子群混合优化算法解决旅行商问题(TSP)的方法。TSP旨在寻找访问一系列城市并返回起点的最短路径,属于NP难问题。文中详细阐述了遗传算法(GA)和粒子群优化算法(PSO)的基本原理及其在TSP中的应用,展示了如何通过编码、选择、交叉、变异及速度和位置更新等操作优化路径。算法在MATLAB2022a上实现,实验结果表明该方法能有效提高求解效率和解的质量。
|
8月前
|
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
310 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
190 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
229 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章