基于二进制粒子群算法的配电网故障诊断- 附代码
文章目录
- 基于二进制粒子群算法的配电网故障诊断- 附代码
- 1.二进制粒子群算法
- 2.配电网故障区段定位原理分析
- 2.1.1 区段状态编码
- 2.1.2 节点状态编码
- 2.1.3 开关函数构建(辐射型电网)
- 3.适应度函数选择
- 4.算法流程
- 5.实验结果
- 6.参考文献
- 7.Matlab代码
摘要:基于二进制粒子群算法的配电网故障诊断相关知识。
1.二进制粒子群算法
具体原理参考我的博客
2.配电网故障区段定位原理分析
2.1.1 区段状态编码
在配电网中安装有断路器、分段开关、联络开关等设备,这些设备在区段定位中称之为节点。配电线路被这些开关设备分成多个小段,称之为区段。当配电网故障发生后,采集这些设备的故障信息就能判定出故障发生在哪个区段 。假设配电网线路的区段的状态用来表示,其编码规则如下:
2.1.2 节点状态编码
假设配电网开关即节点的状态用表示,针对传统的辐射型配电网,其编码规则如下:
2.1.3 开关函数构建(辐射型电网)
对辐射型配电网,当某个区段发生故障时,只有靠近主电源上游的节点产生故障电流,而远离电源的下游的节点不产生故障电流。于是辐射型配电网的开关函数其构建方式如下:
式中,代表节点状态的期望值,代表处于相关节点下游的区段状态的假设值, 代表逻辑或运算。以 1 图为例对该公式进行说明。
图1.辐射型电网模型
其中 代表电源,代表节点,代表区段;现假设区段发生故障,其他代表区段正常,则区段状态假说为:
根据式(5),计算出非故障支路上所有节点状态的期望值为:
结合以上两式可以得出所有节点的期望值:
若真实故障发生在区段 10,则节点状态的实际值为:
对比两种可以发现,期望值与实际值相同,因此开关函数式(3)很好得描绘了辐射型配电网电流流向。
3.适应度函数选择
适应度函数按照节点状态采集值和期望值的最佳匹配原则进行:
式中,表示采集的节点状态的实际值,表示根据区段状态假说变量计算出来的节点状态的期望值,表示配电网的节点总数。在某些情况下,存在多解的可能,对此,对上述适应度函数进行了相关改进:
为权系数,一般设为 0.5。
4.算法流程
整个算法的流程图如下图所示:
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);%适应度函数
算法结果为:
得到的最优解为:[0 0 0 0 0 0 0 0 0 1 0 0 0 0]
可以看到二进制粒子群算法经过5次迭代就找到了最优解,最优解与实际故障信息是吻合的。表面了二进制粒子群算法的在该应用上具有较大的优势。
6.参考文献
[1]蔡华洵. 基于免疫算法的配电网故障定位研究[D].湖北工业大学,2020.
7.Matlab代码