改进二进制粒子群算法在配电网重构中的应用(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


相关文章
|
8月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
275 0
|
9月前
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
285 0
|
8月前
|
人工智能 数据可视化 网络性能优化
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
278 9
|
9月前
|
存储 算法 安全
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
160 4
|
9月前
|
算法 调度 决策智能
【复现】同时考虑考虑孤岛与重构的配电网故障恢复运行策略(Matlab代码实现)
【复现】同时考虑考虑孤岛与重构的配电网故障恢复运行策略(Matlab代码实现)
218 3
|
9月前
|
机器学习/深度学习 存储 算法
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
520 0
|
9月前
|
存储 边缘计算 算法
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
181 0
|
9月前
|
机器学习/深度学习 运维 算法
【复现】基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)
【复现】基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)
194 0
|
8月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
751 0
|
8月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
478 2

热门文章

最新文章