当前位置: 首页 > news >正文

基于遗传算法的配电网故障定位(Matlab代码实现)

👨‍🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥


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


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

📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果

🎉3 参考文献
🌈4 Matlab代码实现

💥1 概述

参考文献:

随着经济的发展和人们生活水平的提高, 对供 电可靠性也提出了更高的要求 , 在配电网发生故障

后,对故障设备进行快速 、准确的定位显得越来越重要和迫切了。目前解决故障定位的方法主要有以下:

几种:

1)矩阵算法[ 1-3] ,其计算速度快 ,但对上传故障信息的准确度要求比较高, 容错性较差。

2)专家系统 [ 4] ,通过将获取的故障信息与知识库中的记录进行比较来确定故障位置, 定位准确率

较高,但是专家系统中的专家知识库的建立与维护是一件烦琐和艰巨的工作 ,往往由于知识库的维护

不到位使得专家系统在适应网络结构变化方面不尽人意。

3)蚁群算法[ 6 , 7] 是一种求解组合最优化问题的新型通用启发式方法 ,该方法具有正反馈、分布式计算和贪婪启发式搜索的特点。将蚁群算法用于配电网故障定位时, 一般是把配电网故障定位问题转化为类似于巡回旅行问题(TSP)的模式, 利用蚁群算法进行求解。由于蚁群算法容易出现停滞现象 , 即搜索进行到一定程度后, 所有个体所发现的解完全一致 ,不能对解空间进一步进行搜索,不利于发现更好的解,而且蚁群中多个个体的运动是随机的 ,当群体规模较大或网络结构较为复杂时 ,要找出一条较好的路径需要较长的搜索时间。所以, 蚁群算法在配电网故障定位中的应用技术还有待成熟。

4)遗传算法[ 4 , 8-11] 因其具有良好的鲁棒性、可并行性与全局优化性而在电力系统中获得了广泛的应用,在进行配电网故障定位时, 它利用上传故障信息,依赖适应度函数, 通过对种群的遗传操作, 根据适应度的计算来进行全局最优化求解, 从而实现对故障设备的定位 。但是, 在实际应用中 ,遗传算法早熟收敛等缺陷没有从根本上消除 ,而且由于配电网络结构一般比较复杂 ,因此,通常存在计算量大的问题,从而导致定位速度慢 。

📚2 运行结果

bestindividual =0     0     1     1     1     0     0     0     0     0     0     1     0     0     0     0     0     1     0     0bestfit =4.5000bestindividual =0     1     1     0     0     0     1     0     0     1     1     0     0     0     0     1     0     0     0     0bestfit =10bestindividual =0     0     1     0     1     1     1     0     0     0     0     1     0     0     0     1     0     1     0     0bestfit =8.5000bestindividual =0     0     1     0     1     0     0     0     0     0     1     1     0     0     0     1     0     0     0     1bestfit =7bestindividual =0     1     0     0     0     0     0     0     0     0     0     1     0     1     0     0     0     0     0     0bestfit =6.5000bestindividual =0     0     0     1     1     0     0     0     0     0     0     1     1     0     0     0     0     1     0     0bestfit =5.5000bestindividual =0     1     0     0     0     0     0     0     0     0     0     0     0     1     0     1     0     1     0     0bestfit =6bestindividual =1     1     1     1     0     0     0     0     0     0     0     0     0     0     0     1     1     1     0     0bestfit =5.5000bestindividual =0     0     0     0     1     0     0     0     0     0     0     1     1     0     0     0     0     1     0     0bestfit =5bestindividual =0     0     1     0     1     0     0     0     0     0     0     0     0     1     1     0     0     0     0     0bestfit =7bestindividual =0     1     0     0     0     0     0     0     0     0     0     1     0     0     0     1     0     1     1     0bestfit =6.5000bestindividual =1     0     1     0     0     1     0     0     0     0     0     0     0     0     0     1     1     1     0     0bestfit =6bestindividual =0     0     0     0     1     0     0     0     0     0     0     1     1     0     0     0     0     1     0     0bestfit =5bestindividual =1     0     1     0     1     0     0     0     0     1     0     0     0     0     0     1     0     0     0     0bestfit =8.5000bestindividual =1     1     0     1     1     1     1     0     0     1     0     0     0     0     0     0     0     1     0     0bestfit =8bestindividual =1     0     1     0     0     1     0     0     0     0     0     0     0     0     0     1     1     1     0     0bestfit =6bestindividual =1     0     1     1     0     0     0     0     0     0     0     0     0     0     0     1     0     1     1     0bestfit =5bestindividual =1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1     0     0bestfit =4.5000bestindividual =0     1     0     0     0     0     0     0     0     0     0     0     1     0     0     0     1     0     0     0bestfit =7.5000bestindividual =0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     1bestfit =4.5000bestindividual =0     1     0     0     0     1     0     0     0     0     0     0     0     0     0     0     1     0     0     0bestfit =5.5000bestindividual =0     1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     1bestfit =5bestindividual =0     1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0bestfit =3.5000bestindividual =1     1     1     1     0     1     0     0     0     0     0     0     0     0     0     0     1     0     0     1bestfit =7.5000bestindividual =0     1     1     0     1     0     0     0     0     0     0     0     0     0     0     0     1     0     0     1bestfit =5.5000bestindividual =0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     1     0     0     0bestfit =5all_best =1all_x =0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0时间已过 1.744887 秒

bestindividual =
0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0

bestfit =
4.5000

bestindividual =
0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0

bestfit =
10

bestindividual =
0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0

bestfit =
8.5000

bestindividual =
0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1

bestfit =
7

bestindividual =
0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0

bestfit =
6.5000

bestindividual =
0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0

bestfit =
5.5000

bestindividual =
0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0

bestfit =
6

bestindividual =
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0

bestfit =
5.5000

bestindividual =
0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0

bestfit =
5

bestindividual =
0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0

bestfit =
7

bestindividual =
0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0

bestfit =
6.5000

bestindividual =
1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0

bestfit =
6

bestindividual =
0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0

bestfit =
5

bestindividual =
1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0

bestfit =
8.5000

bestindividual =
1 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0

bestfit =
8

bestindividual =
1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0

bestfit =
6

bestindividual =
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0

bestfit =
5

bestindividual =
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0

bestfit =
4.5000

bestindividual =
0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0

bestfit =
7.5000

bestindividual =
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1

bestfit =
4.5000

bestindividual =
0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0

bestfit =
5.5000

bestindividual =
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1

bestfit =
5

bestindividual =
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

bestfit =
3.5000

bestindividual =
1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1

bestfit =
7.5000

bestindividual =
0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1

bestfit =
5.5000

bestindividual =
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0

bestfit =
5

all_best =
1

all_x =
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
时间已过 1.744887 秒

部分代码:

function fitness=f1(SB)

% Ij=[1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0];%位置8故障

% Ij=[1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0];%位置16故障

% Ij=[1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0];%位置8,16故障

Ij=[1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0];%位置5,18故障

IE=zeros(1,length(Ij));

IE(1)=SB(1)|SB(2)|SB(3)|SB(4)|SB(5)|SB(6)|SB(7)|SB(8)|SB(9)|SB(10)|SB(11)|SB(12)|SB(13)|SB(14)|SB(15)|SB(16)|SB(17)|SB(18)|SB(19)|SB(20);

IE(2)=SB(2)|SB(3)|SB(4)|SB(5)|SB(6)|SB(7)|SB(8)|SB(9)|SB(10)|SB(11)|SB(12)|SB(13)|SB(14)|SB(15)|SB(16)|SB(17)|SB(18)|SB(19)|SB(20);

IE(3)=SB(3)|SB(4)|SB(5)|SB(11)|SB(12)|SB(13)|SB(14)|SB(15)|SB(16)|SB(17)|SB(18)|SB(19)|SB(20);

IE(4)=SB(4)|SB(5)|SB(11)|SB(12)|SB(13)|SB(14)|SB(15)|SB(16)|SB(17);

IE(5)=SB(5)|SB(16)|SB(17);

IE(6)=SB(6)|SB(7)|SB(8)|SB(9)|SB(10);

IE(7)=SB(7)|SB(8)|SB(9)|SB(10);

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]严太山,崔杜武,陶永芹.基于改进遗传算法的配电网故障定位[J].高电压技术,2009,35(02):255-259.DOI:10.13336/j.1003-6520.hve.2009.02.032.

🌈4 Matlab代码实现

相关文章:

基于遗传算法的配电网故障定位(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...

Leetcode.1247 交换字符使得字符串相同

题目链接 Leetcode.1247 交换字符使得字符串相同 Rating : 1597 题目描述 有两个长度相同的字符串 s1和 s2,且它们其中 只含有 字符 "x"和 "y",你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时…...

python语音识别whisper

一、背景 最近想提取一些视频的字幕,语音文案,研究了一波 二、whisper语音识别 Whisper 是一种通用的语音识别模型。它在不同音频的大型数据集上进行训练,也是一个多任务模型,可以执行多语言语音识别以及语音翻译和语言识别。 …...

Prometheus -- 浅谈Exporter

Prometheus系统 – Exporter原理 为什么我们需要Exporter? 广义上讲所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个实例称为target,如下所示,Prometheus通过轮询的方式定期从这些target中获取样本…...

如何确定RocketMQ中消费者的线程大小

背景 随着物联网行业的发展、智能设备数量越来越多,随着设备活跃量过大,常常存在一些高并发的请求,形成了流量尖峰,过多的请求会压垮服务器,影响其他服务运行。因此,为了保护云端服务,需要对请求…...

OpenAPI SDK组件之Spring Aop源码拓展

Spring Aop 看这个分享的应该都用过Spring Aop,这里就不再过多介绍了它是什么了。 我抽取了Spring Aop的部分源码,通过它实现请求参数可变拦截,同时apisdk离开Spring框架,仍然可以正常运行。 讲拦截也好,通知也罢&a…...

蓝桥杯C/C++VIP试题每日一练之龟兔赛跑预测

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客…...

为你的Vue2.x老项目安装Vite发动机吧

天下苦webpack久矣,相信作为前端开发者一定经历过在项目迭代时间较长的时候经历漫长等待的这一过程,每一次保存都会浪费掉大量时间,这是webpack这种机制所带来的问题。 于是,尤大为我们带来了新一代前端构建工具:vite…...

ZCMU--5012: 铺设道路(差分思路)

Description 春春是一名道路工程师,负责铺设一条长度为 n 的道路。 铺设道路的主要工作是填平下陷的地表。 整段道路可以看作是 n 块首尾相连的区域,一开始,第 i 块区域下陷的深度为 di。  春春每天可以选择一段连续区间 [L,R]&…...

算法模板总结(自用)

算法模板总结滑动窗口双指针算法数组相关合并两个有序数组左右指针技巧快慢指针技巧字符串相关左右指针反转字符串问题快慢指针替换空格字符问题链表相关快慢双指针删除链表的倒数第N个节点链表相交环形链表链表操作几数之和两数之和四个数组的四数之和三数之和同一数组中四数之…...

【架构师】零基础到精通——架构发展

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…...

C++(20):三路比较运算符

C20增加了三路比较运算符<>&#xff08;戏称航天飞机运算符&#xff09;&#xff0c;用于对类的比较运算符进行统一的设计。有两种使用方式&#xff1a;默认比较对于某些类&#xff0c;如果按照其成员逐一比较即可决定比较运算符的值&#xff0c;那么可以使用默认的三路运…...

MySQL workbench 字符集、字符序的概念与联系

在数据的存储上&#xff0c;MySQL提供了不同的字符集支持。而在数据的对比操作上&#xff0c;则提供了不同的字符序支持。 MySQL提供了不同级别的设置&#xff0c;包括server级、database级、table级、column级&#xff0c;可以提供非常精准的设置。 什么是字符集、字符序&am…...

DBA之路---数据库启动与关闭过程

DBA之路—数据库启动与关闭过程 1、启动过程 oracle启动的四个状态 shutdown、就是数据库关闭状态。 nomount模式 #启动instance &#xff0c;读取参数文件、分配sga空间启动后台进程&#xff0c;打开alter日志和其他trace文件startup nomount #该模式下只会创建实例并不加…...

Shell文件包含

和其他语言一样&#xff0c;Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。 一、语法格式 Shell 文件包含的语法格式如下&#xff1a; . filename # 注意点号(.)和文件名中间有一空格 或 source filename 在当前bash环境下读取并执行file…...

计算机网络(六): HTTP,HTTPS,DNS,网页解析全过程

文章目录一、HTTP头部包含的信息通用头部请求头部响应头部实体头部二、Keep-Alive和非Keep-Alive的区别三、HTTP的方法四、HTTP和HTTPS建立连接的过程4.1 HTTP4.2 HTTPS五、HTTP和HTTPS的区别六、HTTPS的加密方式七、cookie和sessionsessioncookie八、HTTP状态码状态码200&…...

Android仿京东金融的数值滚动尺功能

自定义数值滚动尺,这个用的还是挺多的&#xff0c;例如京东金融的通过滚动尺选择金额等,而这次就是高仿京东金融的数值滚动尺。首先看看下效果图&#xff0c;如下&#xff1a;首先先给你们各个变量的含义&#xff0c;以免在后面的讲解中不知变量的意思&#xff0c;代码如下://最…...

Nginx 和 Tomcat 实现负载均衡

Nginx 和 tomcat 实现负载均衡 &#x1f3c6;荣誉认证&#xff1a;51CTO博客专家博主、TOP红人、明日之星&#xff1b;阿里云开发者社区专家博主、技术博主、星级博主。 &#x1f4bb;微信公众号&#xff1a;微笑的段嘉许 &#x1f4cc;本文由微笑的段嘉许原创&#xff01; &am…...

【万能排序之qsort、b_sort 、s_sort】

文章目录前言:star:qsort函数函数参数qsort函数的使用:star:模拟实现万冒泡排序函数参数模拟实现b_sort注意点:star:模拟实现万能选择排序函数参数模拟实现s_sort最后前言 我们所熟悉的冒泡排序&#xff0c;选择排序&#xff0c;插入排序&#xff0c;二分排序等都是基于给定的一…...

利用InceptionV3实现图像分类

最近在做一个机审的项目&#xff0c;初步希望实现图像的四分类&#xff0c;即&#xff1a;正常&#xff08;neutral&#xff09;、涉政&#xff08;political&#xff09;、涉黄&#xff08;porn&#xff09;、涉恐&#xff08;terrorism&#xff09;。有朋友给推荐了个github上…...

【Java】CAS锁

一、什么是CAS机制&#xff08;compare and swap&#xff09; 1.概述 CAS的全称为Compare-And-Swap&#xff0c;直译就是对比交换。是一条CPU的原子指令&#xff0c;其作用是让CPU先进行比较两个值是否相等&#xff0c;然后原子地更新某个位置的值。经过调查发现&#xff0c;…...

Linux服务器配置系统安全加固方法

1. SSH空闲超时时间建议为: 600-900 解决方案: 在【/etc/ssh/sshd_config】文件中设置【ClientAliveInterval】设置为600到900之间 vim /etc/ssh/sshd_config #将 ClientAliveInterval 参数值设置为 900 2. 修改检查SSH密码修改最小间隔 解决方案: 在【/etc/login.defs】文件…...

Codeforces Round #850 (Div. 2, based on VK Cup 2022 - Final Round)(A~E)

t宝酱紫喜欢出这种分类讨论的题&#xff1f;&#xff01;A1. Non-alternating Deck (easy version)给出n张牌&#xff0c;按照题目给的顺序分给两人&#xff0c;问最后两人手中各有几张牌。思路&#xff1a;模拟。AC Code&#xff1a;#include <bits/stdc.h>typedef long…...

qt源码--信号槽

本篇主要从Qt信号槽的连接、断开、调用、对象释放等方面展开&#xff1b; 1.信号建立连接过程 connect有多个重载函数&#xff0c;主要是为了方便使用者&#xff0c;比较常用的有2种方式&#xff1a; a. QObject::connect(&timer, &QTimer::timeout, &loop, &am…...

RecycleView详解

listview缓存请看: listview优化和详解RecycleView 和 ListView对比&#xff1a;使用方法上ListView&#xff1a;继承重写 BaseAdapter&#xff0c;自定义 ViewHolder 与 converView优化。RecyclerView: 继承重写 RecyclerView.Adapter 与 RecyclerView.ViewHolder。设置 Layou…...

【算法】最短路算法

&#x1f600;大家好&#xff0c;我是白晨&#xff0c;一个不是很能熬夜&#x1f62b;&#xff0c;但是也想日更的人✈。如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下&#x1f440;白晨吧&#xff01;你的支持就是我最大的动力&#xff01;&#x1f4…...

< Linux > 进程间通信

目录 1、进程间通信介绍 进程间通信的概念 进程间通信的本质 进程间通信的分类 2、管道 2.1、什么是管道 2.2、匿名管道 匿名管道的原理 pipe函数 匿名管道使用步骤 2.3、管道的读写规则 2.4、管道的特点 2.5、命名管道 命名管道的原理 使用命令创建命名管道 mkfifo创建命名管…...

学习 Python 之 Pygame 开发魂斗罗(二)

学习 Python 之 Pygame 开发魂斗罗&#xff08;二&#xff09;魂斗罗的需求开始编写魂斗罗1. 搭建主类框架2. 设置游戏运行遍历和创建窗口3. 获取窗口中的事件4. 创建角色5. 完成角色更新函数魂斗罗的需求 魂斗罗游戏中包含很多个物体&#xff0c;现在要对这些物体进行总结 类…...

户籍管理系统测试用例

目录 一、根据页面的不同分别设计测试用例 登录页面 用户信息列表 用户编辑页面 用户更新页面 二、根据目的不同分别设计测试用例 一、根据页面的不同分别设计测试用例 上图是针对一个网站的测试&#xff0c;按照页面的不同分别来设计对应的测试用例。 登录页面 用户信息列…...

(三)代表性物质点邻域的变形分析

本文主要内容如下&#xff1a;1. 伸长张量与Cauchy-Green 张量2. 线元长度的改变2.1. 初始/当前构型下的长度比2.2. 主长度比与 Lagrange/Euler 主方向2.3. 初始/当前构型下任意方向的长度比3. 线元夹角的改变4. 面元的改变5. 体元的改变1. 伸长张量与Cauchy-Green 张量 由于变…...