1. 引言
故障定位技术是实现馈线自动化的基础,对配电网运行的智能化及自愈力具有重要意义。
目前基于馈线终端单元(FTU)上传故障信息的故障定位算法主要有两类:直接算法与间接算法。直接算法中以矩阵算法[1] 为典型,矩阵算法的计算量小,判断速度快,但对FTU上传故障信息的精确性要求更高。间接算法以各类智能算法为代表,代表算法有粒子群算法[2] 、遗传算法[3] 、和声算法[4] 等。粒子群算法与遗传算法能够进行全局寻优,具有良好的容错性,但算法执行过程中依然存在易陷入局部最优的问题;和声算法概念简单,需要设置的参数较少,但由于每次迭代只产生一个新解,迭代效率较低。
萤火虫算法(Firefly Algorithm, FA) [5] 是Xin-She Yang博士于2008年提出的高级启发式算法,在分布式电源定容和选址[6] 、独立微网系统的最优化[7] 等问题中都有成功的应用。萤火虫算法具有概念简单,算法需设置的参数较少,收敛性好的优点。本文在建立配电网故障定位数学模型的基础上,采用二进制萤火虫算法进行寻优求解,并与二进制粒子群算法进行对比,证明了该方法的有效性。
2. 萤火虫算法
2.1. 算法仿生原理
萤火虫算法(FA)是一种启发式全局优化算法,来源于对萤火虫群体行为的模拟。在FA算法中,每个优化问题的解被看作是搜索空间中的萤火虫的位置,每个萤火虫的位置都对应一个由优化目标函数所决定的适应度值,适应度值越优秀则代表萤火虫的绝对亮度越高。绝对亮度低的萤火虫总是会被绝对亮度高的萤火虫吸引,并飞向绝对亮度高的萤火虫。在算法中通过位置更新公式来实现萤火虫被吸引并改变自身位置的过程。
2.2. 算法数学描述
萤火虫算法的优化机理在数学角度上描述如下[5] [8] :
定义1:萤火虫的相对荧光亮度为:
(1)
式中,
为萤火虫的最大荧光亮度,即光源(r = 0处)荧光亮度,与适应度值有关;
为光吸收系数,可设为常数;
为萤火虫i到萤火虫j的笛卡尔距离,即
(2)
定义2:萤火虫的吸引度为:
(3)
式中,
为最大吸引力,即光源(r = 0处)的吸引力。
定义3:当萤火虫j被萤火虫i吸引时,萤火虫j的位置更新公式如下:
(4)
式中,t为算法的迭代次数;
、
为萤火虫i、萤火虫j所处的位置;
为萤火虫i对萤火虫j的吸引力;
为步长因子,是[0,1]上的常数;rand为[0,1]上服从均匀分布的随机因子。
在二进制萤火虫算法(BFA)中,萤火虫
中的元素只能在0和1中取值,因此,我们需要对更新后萤火虫的位置进行修正,采用文献[9] 中提出的
函数,修正公式如下:
(5)
式中
为随机产生的
范围内的随机数。
3. 二进制萤火虫算法的应用
配电网故障定位的基本流程是当配电网发生故障后,安装于各开关处的FTU会监测到故障电流并上传故障电流信息,故障定位软件启动。此时寻优算法将不断生成新解,新解通过开关函数将线路状态信息转换为相应的开关故障电流信息,再根据评价函数来判断解的优劣程度,直到找到最优解,即实现故障线路定位。
3.1. 编码
线路状态信息有两种:正常状态与故障状态。正常状态用“0”表示,故障状态用“1”表示。开关故障电流信息有三种:无过电流、流过正方向过电流、流过负方向过电流,分别用0、1、−1来表示。其中正方向规定为由系统电源指向用户负荷侧。
3.2. 开关函数
采用文献[9] 的开关函数模型,开关函数如式:
(6)
式中:
为j号开关的开关函数;“
”表示逻辑或运算;将配电网以j号开关为分段点,分为上下两个部分:其中包含系统电源的部分为j号开关的上半部分,另一部分为下半部分。
、
为电源开关系数,分别表示上、下部分对应的电源是否接入配电网,若接入则取1,否则取0;
、
表示从j号开关到上半区电源S1、下半区电源S2路径上所经过的馈线区段状态值;
、
分别表示下半部分、上半部分所有馈线的故障状态,若有故障线路则为1,否则为0。
如图1所示为简化含DG配电网结构图,S1~S7表示馈线开关,K1、K2表示DG接入配电网开关,a~g表示馈线区段,S表示系统电源,DG1、DG2为分布式电源。在DG1,DG2都接入配电网的情况下,当馈线d发生短路故障时,FTU上传的开关状态信息为[1,1,1,1,−1,−1,−1]。
3.3. 评价函数
评价函数是算法能否对配电网故障进行准确定位的关键。采用文献[3] 提出的评价函数,如式:
(7)
式中:
为配电网开关的个数;
为配电网馈线个数;
为FTU上传的故障信息;
为配电网开关j的期望状态;
为权系数乘以故障馈线数,
取值范围在
内,用以避免误判,文中
取0.5。
4. 提高故障定位算法效率的措施
4.1. 故障信息维度降阶
文献[4] 将配电网看作由度为1且以电源点为顶点的有源树与若干个无源树枝组成。由于发生故障时,若故障点不在无源树枝上,则整个无源树枝的节点都无故障电流流过,因此,可以根据FTU上传的故障信息,在对开关编码时去除掉无故障的无源树枝上的开关,这样就能够降低故障信息解的维度,提高算法的定位速度。
如图2所示,该配电网包括30个开关节点,4个DG电源。其中,有源树枝用实线相连,无源树枝用虚线相连,图中无源树枝共6条。当F1处发生故障时,6条无源树枝上均无故障电流流过,因此将FTU上传的故障信息中的相应开关去除,这样解的维数由30维变为17维,很大程度上提高了算法运算速度。

Figure 1. Simplified DG distribution network fault location analysis chart
图1. 简化含DG配电网络故障定位分析图

Figure 2. Distribution system with DG
图2. 含DG配电网络结构图
4.2. 对二进制萤火虫算法的改进
文献[5] 中给出的标准萤火虫算法流程,在萤火虫的位置移动规则中,“最亮”的萤火虫在每次迭代中都没有“移动”,这样可能会导致算法后期陷入“局部最优”。因此对式(4)简化,得到式(8)。通过让“最亮”的萤火虫在解空间随机微小移动,能够一定程度防止算法陷入“局部最优”。
(8)
5. 算法流程
根据建立的故障定位模型,运用BFA算法进行故障定位的流程如下:
离线阶段:
步骤1:对配电网开关节点以及馈线区段编号,根据网络结构,将配电网划分为有源树与无源树枝。
步骤2:FA算法参数初始化。包括光吸收系数
、最大吸引力
、种群规模FA-NUM、步长因子
。
在线阶段:
步骤1:根据FTU上传的过流信息,将无故障电流流过的无源树枝剔除,确定解的维数。
步骤2:初始化FA-NUM只萤火虫。通过式(6)转化为开关故障过流信息,通过式(7)计算适应度值并赋予萤火虫亮度。
步骤3:根据式(3)计算各萤火虫吸引力
。
步骤4:根据式(4)更新萤火虫的空间位置,重新计算萤火虫的适应度。
步骤5:根据萤火虫的亮度排列所有萤火虫;
步骤6:判断是否满足终止条件,若满足则跳出循环,若不满足则重复步骤3~5。
6. 算例分析
以图2所示的含DG配电网作为算例,采用MATLAB软件编制了基于BFA算法的配电网故障定位程序。参数设置如下:
、
、萤火虫种群规模为20,
,最大迭代次数为100。
为了验证基于BFA算法进行配电网故障定位的有效性、容错性,采用几种典型的故障情况进行仿真测试,测试结果如表1。
从表1的测试结果可以看出,该故障定位算法在单点故障、双点故障、以及有信息畸变情况下都能够进行准确的故障定位,同时算法可以反映出畸变开关,以便于对相应的FTU设备进行维护与检修。
为了验证基于BFA算法配电网故障区段定位方法的优势,将其与文献[11] 中的二进制粒子群算法(BPSO)比较。参数设置参照文献[10] ,BPSO子种群规模为20,加速因子为2,惯性权重为0.9,采用表1第四种故障情况,连续运行程序50次,试验结果见表2、图3。从试验结果中可以看出,BFA算法陷
表1. 故障测试结果

Table 2. Results comparison of algorithms
表2. 算法比较试验结果

Figure 3. Convergence tendency of two algorithms
图3. 两种算法收敛趋势
入局部最优的次数低于BPSO算法,且算法的收敛速度也优于BPSO。综上,BFA算法能够高效、准确的解决含分布式电源配电网故障定位问题。
7. 结论
本文提出了一种基于BFA算法的含DG配电网的故障区段定位方法。在建立配电网故障定位数学模型的基础上,采用区域划分的方法降低了解的维度,对FA算法稍加改进,通过仿真测试表明,在配电网发生单点以及多点故障,并伴有部分开关信息畸变情况下,该方法均能够得到准确的结果。将该算法与二进制粒子群算法进行对比,表明该算法具有收敛速度更快,不易陷入局部最优的优势,具有一定的实用价值。