Matlab|基于改进遗传算法的配电网故障定位

目录

[1 主要内容](#1 主要内容)

[2 部分代码](#2 部分代码)

[3 部分程序结果](#3 部分程序结果)

[4 下载链接](#4 下载链接)


1 主要内容

该程序复现文章《基于改进遗传算法的配电网故障定位》,将改进的遗传算法应用于配电网故障定位中, 并引入分级处理思想, 利用配电网呈辐射状的特点, 首先把整个配电网划分为主干支路和若干独立区域, 再利用该算法分别对各独立区域进行故障定位, 然后进行全局寻优, 这样能大大减少可行解的维数, 提高定位速度。使用该定位方法对一具有 20个节点的配电网系统进行故障定位的仿真实验, 它使可行解个数由 220 个减少到 144 个。结果表明, 该定位方法不仅定位准确, 而且定位速度快, 对复杂配电网的故障定位尤为有效。

  • 模型

该模型采用如下的算例模型进行计算,采用分级处理思想:各独立区域内只有一个电流注入点与区域外的其他节点直接相连, 各独立区域相互独立, 无交叉项。分区时,应首先确定一主干支路,然后把主干支 路的每一分支支路及其末梢部分分别划分为一个独立区域。如果某一独立区域的节点数比较多, 则还可将该独立区域再次划分为几个次级独立区域 , 在进行故障定位时 ,按照各独立区域的级别从低到高 逐次应用遗传算法进行求解。

2 部分代码

复制代码
for i = 1:2:N-1    %这里设置成奇数的递进格式,方便两行互换
    if(rand1)指的是第一行
        POP.NEWchrom1(i,:) = [POP.chrom1(i,1:cpoint),POP.chrom1(i+1,cpoint+1:chromlength)]; 
        POP.NEWchrom1(i+1,:) = [POP.chrom1(i+1,1:cpoint),POP.chrom1(i,cpoint+1:chromlength)];        
    else
        POP.NEWchrom1(i,:) = POP.chrom1(i,:);   %如果rand大于变异概率,基因不变
        POP.NEWchrom1(i+1,:) = POP.chrom1(i+1,:);
        
    end
end
​
%% 根据交叉互换的结果 更新种群的基因
POP.chrom1=POP.NEWchrom1;
​
 %% 基因变异并更新种群
for i=1:N              %i指的是行数,j1和j2指的是列数
    for j1=1:chromlength    %染色体1的变异设置
        if(randend
    end   
end
    %% 性状的表达与选择
    % 将基因(二进制编码)转化为自变量的取值(10进制的数)
     
% for i=1:N                 %limit矩阵在之前的定义当中,全都是1的话,分子之和为2^chromlength(1),所以在乘法之前在1左右
%     POP.x1(i)=(binary2decimal(POP.chrom1(i,:)))/(2^chromlength(1)-1)*(limit(1,2)-limit(1,1));
% end
​
%% 根据自变量的取值代入得到函数的输出
for i=1:N
    POP.y(i)=f1(POP.chrom1(i,:));  %代入函数计算  
end
​
%% 将输出的结果单位化,转化为0-1之间的数值长度(相当于轮盘赌的各个区域的面积)
a=max(POP.y);          %找出函数值里面的最小值,其实后续会直接淘汰的
b=N*a-sum(POP.y);         
for i=1:N                    %给一个圆盘分N块区域,累加的和为1
    POP.adapt(i)=(a-POP.y(i))/b; 
end
​
%% 数值长度转换为0-1之间的区间的节点(相当于把面积转化为了轮盘赌上各个区域的边界线)
POP.NWEadapt(1)=POP.adapt(1);   %第一个点
​

3 部分程序结果

4 下载链接

相关推荐
weixin_307779132 天前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
Evand J2 天前
【MATLAB例程,图像滤波5】 反谐波均值滑动窗口滤波(CHMF)图像降噪与质量评价,附代码下载链接
图像处理·算法·计算机视觉·matlab·均值算法·滑动窗口滤波·均值滑动
分享资料2 天前
Matlab脚本调用Python脚本方法
matlab
slandarer3 天前
MATLAB | 绘图复刻 (二十七) | 多子图堆叠面积图
数学建模·matlab
机器学习之心4 天前
基于BiGRU-Attention的轴承剩余寿命预测(MATLAB实现):从振动信号到RUL曲线的完整闭环
数据结构·算法·matlab·轴承剩余寿命预测·振动信号·bigru-attention
Evand J4 天前
【MATLAB代码,车联网8】MPC网联车辆节能跟驰控制:速度跟踪、间距约束与能耗优化。MATLAB完整代码订阅专栏后可直接查看
matlab·代码·车联网·mpc·车辆·网联·网联技术
我找到地球的支点啦5 天前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
吃好睡好便好8 天前
查找函数的使用
学习·算法·matlab·生活·查找函数
chhttty8 天前
Design Verifier检查:整型数溢出检查与修复
matlab·simulink
吃好睡好便好9 天前
判断函数的使用
学习·算法·matlab·生活·判断函数