因为FTU上传的信息可分为有故障信息及无故障信息两类,对于分段区间来讲也只能是有故障及无故障两种情况,所以我们可以用二进制编码规则对配电网故障定位问题进行数学建模。以上图所示辐射状配电网为例,系统拥有12个分段开关,我们可以用一串12位的二进制代码表示FTU的上传信息,作为程序的输入,1代表对应的开关有过流信息,0代表对应的开关无过流信息。同时用另一串12位的二进制代码作为程序的输出,代表对应馈线区间发生故障,代表无故障。
1.2 二进制PSO算法的配电网故障定位原理
应用二进制PSO算法求解配电网故障定位问题,粒子的位置代表配电网中馈线区段的状态,粒子的维数代表配电网的馈线区段总数。每一馈线区段存在0和1两种状态,0表示正常状态,1表示故障状态,馈线区段的状态为待求量。因此,N段馈线区段的状态求解就转化成N维粒子群优化求解,每个粒子的N维位置都表示为配电网N段馈线区段的潜在状态。每次迭代过程中,通过评价函数评价各粒子位置优劣,更新粒子的当前最优位置和全体粒子的最优位置,进而更新粒子的则辩态速度和位置,直到满足程序终止条件为止。最终得出的粒子群的全局最优位置就是所求的各馈线区段的实际状态。
基本的粒子群算法是在连续域中搜索函数极值的有力工具,在此之后,提出了离散二进制粒子群,将离散问题空间映射到连续粒子运动空间,并适当修改粒子群算法来求解,在计算上仍保留经典粒子群算法速度-位置更新运算法则,粒子在状态空间的取值和变化只限于0和1两个值,而速度的每一维Vij代表位置每一位xij的取值为1的可能性,,因此在连续粒子群中的vij更新公式仍保持不变,但是Pbest和Gbest只在【0,1】的取值,其位置更新等式为:
(式中:r是0-1之间的随机数。)
1.3 构造配电网故障定位评价函数
基于待求各馈线区段实际状态下所对应的信息应与实际上传故障信息偏差最小的原则,构造如下评价函数:
表达式的值为每个潜在解对应的适应度值,值越小表示解越优良,因此评价函数应取极小值。
式中:
为第j个开关FTU上传的故障信息,取值为1认为该开关流过了故障电流,为0则未流过;
为各开关节点的期望状态,若该开关流过了故障电流,则期望状态为1,相反,期望状态为0,表达式为各区段状态的函数。N为配电网中馈线区段的总数,
为配电网中各设备状态,为1表明设备故障,取0则设备正常。
表示一个权系数乘以故障设备数,。是根据故障诊断理论中“最小集”孙源概念设置的权重系数,取值范围介于与1之间,表明故障区间数越少解越优,避免出现误诊断,本文中权系数取0.5。
1.4 求期望函数
针对不同的网络,期望函数的表达式不同,无法用统一的格式表示出来。仅以上述算例为例来说明如何求取期望函数。
在辐射型配电网中,任何区间发生故障,必将导致其上游开关流过故障过电流。这是求取期望函数的原则。假设图一的馈线区段6处发生故障,那么分段开关K1,K2,K3 ,K6,都将有过电流若馈线灶大区段11处发生故障,则K1,K2,K3 ,K6,K10都将有过电流。由此类推我们可得到各个
您好, Gap.m文芦尺坦困埋件: function T = Gap( N ) T = 0Heads = 0Tails = 0while abs(Heads - Tails) <N if rand <.5 Heads = Heads + 1else Tails = Tails + 1end T = T+1end 主陪桐程序: clear all, clc N = 1:30G = zeros(size(N))T...% 配电网前推回代潮流计算程序% 使用IEEE 33节点配电系统作为算例,可实现弱环网情况下的潮流计算
countnum=0
BranchData = [
1 2 0.0922 0.0470
2 3 0.4930 0.2511
3 4 0.3660 0.1864
4 5 0.3811 0.1941
5 6 0.8190 0.7070
6 7 0.1872 0.6188
7 8 0.7114 0.2351
8 9 1.0300 0.7400
9 10 1.0440 0.7400
10 11 0.1966 0.0650
11 12 0.3744 0.1238
12 13 1.4680 1.1550
13 14 0.5416 0.7129
14 15 0.5910 0.5260
15 16 0.7463 0.5450
16 17 1.2890 1.7210
17 18 0.7320 0.5740
2 19 0.1640 0.1565
19 20 1.5042 1.3554
20 21 0.4095 0.4784
21 22 0.7089 0.9373
3 23 0.4512 0.3083
23 24 0.8980 0.7091
24 25 0.8960 0.7011
6 26 0.2030 0.1034
26 27 0.2842 0.1447
27 28 1.0590 0.9337
28 29 0.8042 0.7006
29 30 0.5075 0.2585
30 31 0.9744 0.9630
31 32 0.3105 0.3619
32 33 0.3410 0.5302
] % 支路,阻抗
NodeData = [
2 100.00 60.00
3 90.00 40.00
4 120.00 80.00
5 60.00 30.00
6 60.00 20.00
7 200.00 100.00
8 200.00 100.00
9 60.00 20.00
10 60.00 20.00
11 45.00 30.00
12 60.00 35.00
13 60.00 35.00
14 120.00 80.00
15 60.00 10.00
16 60.00 20.00
17 60.00 20.00
18 90.00 40.00
19 90.00 40.00
20 90.00 40.00
21 90.00 40.00
22 90.00 40.00
23 90.00 50.00
24 420.00 200.00
25 420.00 200.00
26 60.00 25.00
27 60.00 25.00
28 60.00 20.00
29 120.00 70.00
30 200.00 600.00
31 150.00 70.00
32 210.00 100.00
33 60.00 40.00
] % 节点,负荷
UB = 12.66 % 电压基准 kV
SB = 10 斗饥 % 功率基准 MVA
ZB = UB^2/SB % 阻抗基准 ohm
BranchData(:,[3,4]) = BranchData(:,[3,4]) / ZB % 阻抗标幺化
NodeData(:,[2,3]) = NodeData(:,[2,3]) / SB / 1000% 功率标幺化
NN = 33 % 节点数
A0 = zeros(NN)
for n = 1:NN-1
A0(BranchData(n,1),BranchData(n,2)) = 1
end % 形成 A0
AssociatedMatrix=0
for n=2:NN-1
AssociatedMatrix(n,n)=1
temp=BranchData(n-1,1)
AssociatedMatrix(n,1:n-1)=AssociatedMatrix(temp,1:n-1)
end
A0T = A0' % 形成 A0 的转置
S = [0-NodeData(:,2) - i*NodeData(:,3)] % 形成 S
ZL = [0BranchData(:,3) + i*BranchData(:,4)] % 形成 ZL
V = ones(NN,1)
V(1) = 1 % 各个节点电压赋初值
IL(NN,1) = -conj(S(NN) / V(NN)) 悉运 % 最末支路电流赋初值
Delta = 1 % 收敛判据赋初值
TempV = V % 赋初值,用于记忆上次迭代结果
while Delta > 1e-8
countnum=countnum+1
IN = conj(S ./ V) % 节点注入电流
for n = 1:NN-1
IL(NN-n) = A0(NN-n,NN-n+1:end) * IL(NN-n+1:end) - IN(NN-n)
end 空陆返 % 电流回代过程
for n = 2:NN
V(n) = A0T(n,1:n-1) * V(1:n-1) - ZL(n) * IL(n)
end % 电压前推过程
Delta = max(abs(V-TempV)) % 更新收敛判据
TempV = V % 记忆迭代结果
end
Vangle(:,1)=abs(V)
Vangle(:,2)=angle(V)/3.1415*180
for i=1:NN-1
st=BranchData(i,1)
en=BranchData(i,2)
Sij(i,1)=V(st)*conj((V(st)-V(en))/ZL(i+1))
Sji(i,1)=V(en)*conj((V(en)-V(st))/ZL(i+1))
end
希望你能用到
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)