基于二进制粒子群算法的配电网故障诊断- 附代码


文章目录

  • 基于二进制粒子群算法的配电网故障诊断- 附代码
  • 1.二进制粒子群算法
  • 2.配电网故障区段定位原理分析
  • 2.1.1 区段状态编码
  • 2.1.2 节点状态编码
  • 2.1.3 开关函数构建(辐射型电网)
  • 3.适应度函数选择
  • 4.算法流程
  • 5.实验结果
  • 6.参考文献
  • 7.Matlab代码



摘要:基于二进制粒子群算法的配电网故障诊断相关知识。

1.二进制粒子群算法

具体原理参考我的博客

2.配电网故障区段定位原理分析

2.1.1 区段状态编码

在配电网中安装有断路器、分段开关、联络开关等设备,这些设备在区段定位中称之为节点。配电线路被这些开关设备分成多个小段,称之为区段。当配电网故障发生后,采集这些设备的故障信息就能判定出故障发生在哪个区段 。假设配电网线路的区段的状态用基于二进制粒子群算法的配电网故障诊断- 附代码_算法来表示,其编码规则如下:
基于二进制粒子群算法的配电网故障诊断- 附代码_故障诊断_02

2.1.2 节点状态编码

假设配电网开关即节点的状态用基于二进制粒子群算法的配电网故障诊断- 附代码_故障诊断_03表示,针对传统的辐射型配电网,其编码规则如下:
基于二进制粒子群算法的配电网故障诊断- 附代码_算法_04

2.1.3 开关函数构建(辐射型电网)

对辐射型配电网,当某个区段发生故障时,只有靠近主电源上游的节点产生故障电流,而远离电源的下游的节点不产生故障电流。于是辐射型配电网的开关函数其构建方式如下:
基于二进制粒子群算法的配电网故障诊断- 附代码_无故障_05
式中,基于二进制粒子群算法的配电网故障诊断- 附代码_算法_06代表节点基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_07状态的期望值,基于二进制粒子群算法的配电网故障诊断- 附代码_算法_08代表处于相关节点基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_07下游的区段状态的假设值, 基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_10代表逻辑或运算。以 1 图为例对该公式进行说明。

基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_11


图1.辐射型电网模型

其中基于二进制粒子群算法的配电网故障诊断- 附代码_无故障_12 代表电源,基于二进制粒子群算法的配电网故障诊断- 附代码_算法_13代表节点,基于二进制粒子群算法的配电网故障诊断- 附代码_算法_14代表区段;现假设区段基于二进制粒子群算法的配电网故障诊断- 附代码_无故障_15发生故障,其他代表区段正常,则区段状态假说为:
基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_16
根据式(5),计算出非故障支路上所有节点状态的期望值为:
基于二进制粒子群算法的配电网故障诊断- 附代码_无故障_17
结合以上两式可以得出所有节点的期望值:
基于二进制粒子群算法的配电网故障诊断- 附代码_算法_18
若真实故障发生在区段 10,则节点状态的实际值为:
基于二进制粒子群算法的配电网故障诊断- 附代码_无故障_19
对比两种可以发现,期望值与实际值相同,因此开关函数式(3)很好得描绘了辐射型配电网电流流向。

3.适应度函数选择

适应度函数按照节点状态采集值和期望值的最佳匹配原则进行:
基于二进制粒子群算法的配电网故障诊断- 附代码_算法_20
式中,基于二进制粒子群算法的配电网故障诊断- 附代码_故障诊断_03表示基于二进制粒子群算法的配电网故障诊断- 附代码_算法_22采集的节点状态的实际值,基于二进制粒子群算法的配电网故障诊断- 附代码_无故障_23表示根据区段状态假说变量计算出来的节点状态的期望值,基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_24表示配电网的节点总数。在某些情况下,存在多解的可能,对此,对上述适应度函数进行了相关改进:
基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_25
基于二进制粒子群算法的配电网故障诊断- 附代码_故障诊断_26为权系数,一般设为 0.5。

4.算法流程

整个算法的流程图如下图所示:

基于二进制粒子群算法的配电网故障诊断- 附代码_粒子群算法_27

5.实验结果

设置二进制粒子群参数如下:

%实际最优解为:00000000010000
Iexp = [0,0,0,0,0,0,1,1,1,1,0,0,0,0];%故障节点状态编码
%% 二进制粒子群求解
dim = 14;%维度
pop = 20;%种群数量
MaxIter = 50;%迭代次数
Vmax = 4;%速度范围
Vmin = -4;%速度范围
fobj = @(x) fun(x,Iexp);%适应度函数

算法结果为:

基于二进制粒子群算法的配电网故障诊断- 附代码_无故障_28

得到的最优解为:[0 0 0 0 0 0 0 0 0 1 0 0 0 0]

可以看到二进制粒子群算法经过5次迭代就找到了最优解,最优解与实际故障信息是吻合的。表面了二进制粒子群算法的在该应用上具有较大的优势。

6.参考文献

[1]蔡华洵. 基于免疫算法的配电网故障定位研究[D].湖北工业大学,2020.

7.Matlab代码