基于二进制粒子群算法的配电网故障诊断- 附代码
文章目录
摘要:基于二进制粒子群算法的配电网故障诊断相关知识。
1.二进制粒子群算法
具体原理参考我的博客:(https://blog.csdn.net/u011835903/article/details/119840815)
2.配电网故障区段定位原理分析
2.1.1 区段状态编码
在配电网中安装有断路器、分段开关、联络开关等设备,这些设备在区段定位中称之为节点。配电线路被这些开关设备分成多个小段,称之为区段。当配电网故障发生后,采集这些设备的故障信息就能判定出故障发生在哪个区段 。假设配电网线路的区段的状态用
s
i
s_i
si来表示,其编码规则如下:
{
s
i
=
1
,
区
间
存
在
故
障
s
i
=
0
,
区
间
不
存
在
故
障
(1)
\begin{cases} s_i=1,区间存在故障\\ s_i=0,区间不存在故障\end{cases}\tag{1}
{si=1,区间存在故障si=0,区间不存在故障(1)
2.1.2 节点状态编码
假设配电网开关即节点的状态用
I
j
I_j
Ij表示,针对传统的辐射型配电网,其编码规则如下:
I
j
=
{
1
,
有
故
障
电
流
流
过
0
,
无
故
障
电
流
流
过
(2)
I_j=\begin{cases}1,有故障电流流过\\ 0,无故障电流流过\end{cases}\tag{2}
Ij={1,有故障电流流过0,无故障电流流过(2)
2.1.3 开关函数构建(辐射型电网)
对辐射型配电网,当某个区段发生故障时,只有靠近主电源上游的节点产生故障电流,而远离电源的下游的节点不产生故障电流。于是辐射型配电网的开关函数其构建方式如下:
I
i
∗
=
s
1
⋃
s
2
⋃
.
.
.
⋃
s
i
(3)
I_i^*=s_1\bigcup s_2\bigcup...\bigcup s_i \tag{3}
Ii∗=s1⋃s2⋃...⋃si(3)
式中,
I
i
∗
I^*_i
Ii∗代表节点
i
i
i状态的期望值,
s
i
∼
s
i
+
m
s_i\sim s_{i+m}
si∼si+m代表处于相关节点
i
i
i下游的区段状态的假设值,
⋃
\bigcup
⋃代表逻辑或运算。以 1 图为例对该公式进行说明。
其中
S
S
S 代表电源,
k
1
∼
k
14
k_1\sim k_{14}
k1∼k14代表节点,
s
1
∼
s
14
s_1\sim s_{14}
s1∼s14代表区段;现假设区段
s
10
s_{10}
s10发生故障,其他代表区段正常,则区段状态假说为:
[
s
1
∼
s
14
]
=
[
00000000010000
]
(4)
[s_1\sim s_{14}]=[00000000010000]\tag{4}
[s1∼s14]=[00000000010000](4)
根据式(5),计算出非故障支路上所有节点状态的期望值为:
{
I
1
∗
=
s
1
⋃
s
2
⋃
s
3
⋃
s
4
⋃
s
5
⋃
s
6
=
0
I
2
∗
=
s
2
⋃
s
3
⋃
s
4
⋃
s
5
⋃
s
6
=
0
I
3
∗
=
s
3
⋃
s
4
⋃
s
5
⋃
s
6
=
0
I
4
∗
=
s
4
⋃
s
5
⋃
s
6
=
0
I
5
∗
=
s
5
⋃
s
6
=
0
I
6
∗
=
s
6
=
0
I
7
∗
=
s
7
⋃
s
8
⋃
s
9
⋃
s
10
⋃
s
11
⋃
s
12
⋃
s
13
⋃
s
14
=
1
I
8
∗
=
s
8
⋃
s
9
⋃
s
10
⋃
s
11
⋃
s
12
⋃
s
13
⋃
s
14
=
1
I
9
∗
=
s
9
⋃
s
10
⋃
s
11
⋃
s
12
⋃
s
13
⋃
s
14
=
1
I
1
0
∗
=
s
10
⋃
s
11
⋃
s
12
⋃
s
13
⋃
s
14
=
1
I
1
1
∗
=
s
11
⋃
s
12
⋃
s
13
⋃
s
14
=
0
I
1
2
∗
=
s
12
⋃
s
13
⋃
s
14
=
0
I
1
3
∗
=
s
13
⋃
s
14
=
0
I
1
4
∗
=
s
14
=
0
(5)
\begin{cases} I_1^*=s_1\bigcup s_2\bigcup s_3\bigcup s_4\bigcup s_5\bigcup s_6=0\\ I_2^*=s_2\bigcup s_3\bigcup s_4\bigcup s_5\bigcup s_6=0\\ I_3^* = s_3\bigcup s_4\bigcup s_5\bigcup s_6=0\\ I_4^* = s_4\bigcup s_5\bigcup s_6=0\\ I_5^* =s_5\bigcup s_6=0\\ I_6^* = s_6=0\\ I_7^* = s_7\bigcup s_8\bigcup s_9\bigcup s_{10}\bigcup s_{11}\bigcup s_{12}\bigcup s_{13}\bigcup s_{14}=1\\ I_8^* = s_8\bigcup s_9\bigcup s_{10}\bigcup s_{11}\bigcup s_{12}\bigcup s_{13}\bigcup s_{14}=1\\ I_9^* = s_9\bigcup s_{10}\bigcup s_{11}\bigcup s_{12}\bigcup s_{13}\bigcup s_{14}=1\\ I_10^* = s_{10}\bigcup s_{11}\bigcup s_{12}\bigcup s_{13}\bigcup s_{14}=1\\ I_11^* = s_{11}\bigcup s_{12}\bigcup s_{13}\bigcup s_{14}=0\\ I_12^* = s_{12}\bigcup s_{13}\bigcup s_{14}=0\\ I_13^* = s_{13}\bigcup s_{14}=0\\ I_14^* = s_{14}=0 \end{cases}\tag{5}
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧I1∗=s1⋃s2⋃s3⋃s4⋃s5⋃s6=0I2∗=s2⋃s3⋃s4⋃s5⋃s6=0I3∗=s3⋃s4⋃s5⋃s6=0I4∗=s4⋃s5⋃s6=0I5∗=s5⋃s6=0I6∗=s6=0I7∗=s7⋃s8⋃s9⋃s10⋃s11⋃s12⋃s13⋃s14=1I8∗=s8⋃s9⋃s10⋃s11⋃s12⋃s13⋃s14=1I9∗=s9⋃s10⋃s11⋃s12⋃s13⋃s14=1I10∗=s10⋃s11⋃s12⋃s13⋃s14=1I11∗=s11⋃s12⋃s13⋃s14=0I12∗=s12⋃s13⋃s14=0I13∗=s13⋃s14=0I14∗=s14=0(5)
结合以上两式可以得出所有节点的期望值:
[
I
1
∗
∼
I
14
∗
]
=
[
00000011110000
]
(6)
[I_1^*\sim I_{14}^*]=[00000011110000] \tag{6}
[I1∗∼I14∗]=[00000011110000](6)
若真实故障发生在区段 10,则节点状态的实际值为:
[
I
1
∼
I
14
]
=
[
00000011110000
]
(7)
[I_1\sim I_{14}]=[00000011110000] \tag{7}
[I1∼I14]=[00000011110000](7)
对比两种可以发现,期望值与实际值相同,因此开关函数式(3)很好得描绘了辐射型配电网电流流向。
3.适应度函数选择
适应度函数按照节点状态采集值和期望值的最佳匹配原则进行:
m
i
n
F
i
t
(
s
)
=
∑
j
D
∣
I
j
−
I
j
∗
∣
(8)
min Fit(s) = \sum_j^D|I_j-I_j^*|\tag{8}
minFit(s)=j∑D∣Ij−Ij∗∣(8)
式中,
I
j
I_j
Ij表示
F
T
U
FTU
FTU采集的节点状态的实际值,
I
j
∗
I_j^*
Ij∗表示根据区段状态假说变量计算出来的节点状态的期望值,
D
D
D表示配电网的节点总数。在某些情况下,存在多解的可能,对此,对上述适应度函数进行了相关改进:
m
i
n
F
i
t
(
s
)
=
∑
j
D
∣
I
j
−
I
j
∗
∣
+
w
∑
i
D
∣
s
i
∣
(9)
min Fit(s) = \sum_j^D|I_j-I_j^*| + w\sum_i^D|s_i|\tag{9}
minFit(s)=j∑D∣Ij−Ij∗∣+wi∑D∣si∣(9)
w
w
w为权系数,一般设为 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.