本发明涉及电力计量系统测试优化技术领域,具体涉及一种电力计量系统故障测试优化方法。
背景技术:
现有计量系统故障测试的故障检测率和隔离率都可达到很高的水平,但是确忽略了测试不可靠的情况,且测试成本较高,并不符合实际工程需要。测试的优化选择是系统测试性设计的重要一环,而测试的优化选择往往是通过算法来实现的。近年来国内外学者针对测试的优化选择做出了大量的研究提出了很多优秀的方法,但是这些方法都没有考虑测试不可靠的情况。
技术实现要素:
有鉴于此,本发明的目的在于提供一种电力计量系统故障测试优化方法。
为实现上述目的,本发明采用如下技术方案:
一种电力计量系统故障测试优化方法,包括以下步骤:
步骤s1:根据待测电力计量系统结构,获取测试集;
步骤s2:基于存在虚警和漏检的前提,构建测试选择模型;
步骤s3:将得到测试选择模型为优化模型,采用量子进化算法对所述测试集进行筛选,得到优化测试集;
步骤s4:根据得到的优化测试集,对待测电力计量系统测量结果进行故障判定。
进一步的,所述步骤s1具体为;
步骤s11:根据待测电力计量系统结构,构建多信号流图;
步骤s12:根据所述多信号流图,计算故障测试相关性矩阵;
步骤s13:根据所述故障测试相关性矩阵,获取测试集。
进一步的,所述步骤s2具体为:
步骤s21:基于存在虚警和漏检的前提,获取测试集的故障检测率以及故障隔离率作为约束条件;
步骤s22:基于存在虚警和漏检的前提,获取测试集的故障检测率以及故障隔离率作为约束条件;
步骤s23:根据所约束条件以及目标函数构建测试选择模型。
进一步的,所述约束条件具体为:
获取检测概率矩阵以及虚警概率矩阵:
pd=(pdij)m×n,pdij=p(tj=1|dij=1,fi=1)
pf=(pfij)m×n,pfij=p(tj=1|dij=1,fi=0)
其中,pd=(pdij)m×n为所述检测概率矩阵,pf=(pfij)m×n为所述虚警概率矩阵,所述检测概率矩阵和所述虚警概率矩阵的大小均为m×n,tj=1表示测试tj发生,dij=1表示测试tj故障fi相关,fi=1表示故障fi发生,fi=0表示故障fi未发生,pdij=p(tj=1|dij=1,fi=1)表示测试tj检测到故障fi的概率,pfij=p(tj=1|dij=1,fi=0)表示测试tj检测故障fi发生虚警的概率;
根据所述检测概率矩阵以及虚警概率矩阵计算故障检测率以及故障隔离率:
其中,pi表示故障集中第i个故障fi的故障发生率,故障集f={f1,f2,...,fm},故障集中各故障发生率p={p1,p2,...,pm};
进一步的,所述目标函数具体为:
e(x)=tc(x)+lc(x)+ac(x)
其中,e(x)为所述目标函数,tc(x)为所述测试代价,lc(x)为所述漏检代价,ac(x)为所述虚警代价;
进一步的,所述测试选择模型,具体为:
其中,γfd*为故障检测率设定阈值,γfi*为故障隔离率设定阈值。
进一步的,所述步骤s3具体为:
步骤s31:利用贪婪算法获取测试优化模型的贪婪解,并利用贪婪解进行量子进化算法的种群初始化;
步骤s32:基于多次随机观测进行量子进化算法的种群更新,得到优化测试集。
进一步的,所述步骤s31具体为:
步骤s311:根据所述测试集构建量子进化算法的种群;
步骤s312:设定贪婪准则,利用贪婪算法获取所述测试选择模型的贪婪解;
步骤s313:采用贪婪解初始化量子进化算法的种群。
进一步的,所述步骤s32具体为:
步骤s321:对初始化后的种群中的量子染色体进行至少一次随机观察,得到二进制解集;
步骤s322:分别计算每一个二进制解的适应度;
步骤s323:选出适应度最大的二进制解,根据适应度最大的二进制解更新个体极值和全局极值;
步骤s324:采用适应度最大的二进制解和更新的全局极值作为进化目标,对所述量子染色体进行更新;
步骤s325:更新完种群中所有量子染色体后得到的全局极值即为所述优化测试集。
本发明与现有技术相比具有以下有益效果:
本发明选用量子进化算法对测试集进行筛选,筛选时考虑到了虑测试不完全可靠的情况,最大化满足测试要求,能实现更全面有效的的优化。
附图说明
图1是本发明方法流程图;
图2是本发明一实施例中测试可靠前提下故障与测试观测值之间的检测特性图;
图3是发明一实施例中测试不可靠前提下故障与测试观测值之间的检测特性图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种电力计量系统故障测试优化方法,包括以下步骤:
步骤s1:根据待测电力计量系统结构,获取测试集;
步骤s2:基于存在虚警和漏检的前提,构建测试选择模型;
步骤s3:将得到测试选择模型为优化模型,采用量子进化算法对所述测试集进行筛选,得到优化测试集;
步骤s4:根据得到的优化测试集,对待测电力计量系统进行故障测试。
在本实施例中,所述步骤s1具体为;
步骤s11:根据待测电力计量系统结构,构建多信号流图;
步骤s12:根据所述多信号流图,计算故障测试相关性矩阵;
步骤s13:根据所述故障测试相关性矩阵,获取测试集。所述测试集是指包含所有测试的集合,即为优化前的所有测试所组成的集合,对应于故障-测试相关矩阵(d矩阵)的列,每一列即代表一个独立的测试。另外,每一行代表的是一个故障,故障集即为包含所有故障的集合。这里所指的根据故障测试相关性矩阵获取测试集,指的是通过故障测试相关性矩阵的列信息来获取所包含的测试种类信息,
在本实施例中,所述步骤s2具体为:
步骤s21:基于存在虚警和漏检的前提,获取测试集的故障检测率以及故障隔离率作为约束条件;
步骤s22:基于存在虚警和漏检的前提,获取测试集的故障检测率以及故障隔离率作为约束条件;
步骤s23:根据所约束条件以及目标函数构建测试选择模型。
在本实施例中,所述约束条件具体为:
获取检测概率矩阵以及虚警概率矩阵:
pd=(pdij)m×n,pdij=p(tj=1|dij=1,fi=1)
pf=(pfij)m×n,pfij=p(tj=1|dij=1,fi=0)
其中,pd=(pdij)m×n为所述检测概率矩阵,pf=(pfij)m×n为所述虚警概率矩阵,所述检测概率矩阵和所述虚警概率矩阵的大小均为m×n,tj=1表示测试tj发生,dij=1表示测试tj故障fi相关,fi=1表示故障fi发生,fi=0表示故障fi未发生,pdij=p(tj=1|dij=1,fi=1)表示测试tj检测到故障fi的概率,pfij=p(tj=1|dij=1,fi=0)表示测试tj检测故障fi发生虚警的概率;
根据所述检测概率矩阵以及虚警概率矩阵计算故障检测率以及故障隔离率:
其中,pi表示故障集中第i个故障fi的故障发生率,故障集f={f1,f2,...,fm},故障集中各故障发生率p={p1,p2,...,pm};
具体的,本实施例中,以下分别分析考虑虚警和漏检情况以及不考虑虚警和漏检情况的故障检测率以及故障隔离率。
在测试可靠的前提下,即不存在虚警和漏检时,故障fi与测试tj观测值之间的检测特性如图2所示;其中,曲线①描述了故障fi发生时测试tj观测值的概率分布;曲线②描述了故障fi未发生时测试tj观测值的概率分布;根据图2分析可知,故障fi与测试tj间存在确定的相关关系,在故障fi发生时,测试tj观测值能够准确的落在预设的范围内,表示某故障fi能够被测试tj检测到;故障fi未发生时,测试tj观测值能够准确的落在容差范围内,与故障fi发生时测试tj观测值范围完全区别开来,表示故障未发。
但是,在实际工程应用中,由于各种外界因素的干扰,测试往往会出现不可靠的情况,其故障fi与测试tj观测值之间的检测特性如图3所示。其中,曲线①描述了故障fi发生时测试tj观测值的概率分布;曲线②描述了故障fi未发生时测试tj观测值的概率分布;分析图3可知:曲线①与曲线②的测试tj观测值由于外界因素的干扰具有一定的重合,这样就会导致故障fi与测试tj之间不确定的相关关系;假设故障fi发生,但是由于测试值的重合,测试tj观测值若落入重合的部位,会导致故障fi不会100%被检测出,有漏检的风险;同样的,如果故障fi未发生,观测值落入重合部位,会有虚警的风险,因此测试tj未通过并不能代表故障fi发生,相反,测试tj通过并不能代表故障fi未发生,两者不存在特定的因果关系。
为了能够有效的展示出故障fi与测试tj之间的不确定关系,在模型中引入参数检测概率矩阵pd=(pdij)m×n和虚警概率矩阵pf=(pfij)m×n,其中,pdij表示测试tj能够检测到故障fi发的概率;pfij表示测试tj检测故障fi发生虚警的概率。
在本实施例中,所述目标函数具体为:
e(x)=tc(x)+lc(x)+ac(x)
其中,e(x)为所述目标函数,tc(x)为所述测试代价,lc(x)为所述漏检代价,ac(x)为所述虚警代价;
在本实施例中,所述测试选择模型,具体为:
其中,γfd*为故障检测率设定阈值,γfi*为故障隔离率设定阈值。
进一步的,所述步骤s3具体为:
步骤s31:利用贪婪算法获取测试优化模型的贪婪解,并利用贪婪解进行量子进化算法的种群初始化;
步骤s32:基于多次随机观测进行量子进化算法的种群更新,得到优化测试集。
进一步的,所述步骤s31具体为:
步骤s311:根据所述测试集构建种群
其中,
步骤s312:设定贪婪准则:
其中,δγfd表示新增一个测试其故障检测率的增长量,δγfi表示新增一个测试其故障隔离率的增长量,δe表示目标函数的增长量,u(δγ*fd-γfd(x0))和u(δγ*fi-γfi(x0))均为阶跃函数;
步骤s313:利用贪婪算法获取所述测试选择模型的贪婪解
在本实施例中,采用所述贪婪解初始化所述种群;
具体的,利用贪婪解初始化种群为:
步骤1:初始化所述贪婪解x0={0,0,...,0}1×n,集合fd和fi均为空集;
步骤2:初始化模糊组集合子矩阵集:模糊组集as={as1,as2,...,asr},子矩阵集ds={d1,d2,...,dr};由于x0={0,0,...,0}1×n,即x0为零向量,因此as={f},ds={d},r=1;
步骤3:根据所述贪婪准则,求取k'最大值对应的测试tk';设定测试tk'是测试集中未选中的一项测试,即
步骤3.1:根据测试tk对应列元素的数值,将模糊组集asq进行分组:如果对应列元素的数值为1,即该故障能被测试tk检测到,将该故障添加到asq1;如果对应列元素的数值为0,即该故障不能被测试tk检测到,将该故障添加到asq0;
步骤3.2:更新集合fdk:fdk→fdk∪asq1;更新集合fik:如果|asqi|=1且
步骤3.3:采用与模糊子集同样的方法对子矩阵集ds={d1,d2,...,dr}中每一个元素进行分组,并对fdk和fik进行更新;
步骤3.4:根据更新完的fdk和fik计算故障检测率、故障隔离率以及目标函数,并将计算结果带入测试选择模型中,计算比值δk;
步骤3.5:对未选中的所有测试重复步骤s3.1至步骤s3.4;
步骤3.6:选最大的δk值对应的测试tk',使得
步骤4:如果
步骤5:将测试tk'转步骤s3.1,,将模糊组集asq替换为分组结果asq1和asq0,将子矩阵集dq替换为分组结果dq1和dq0,如果|asqi|=1且
在本实施例中,基于多次随机观测进行种群更新,得到优化测试集,具体为:
对初始化后的种群中的量子染色体进行随机观察,得到确定的二进制解集α=(α1,α2,...,αl);
对于αk∈[1,0],k=1,2,...,l的获取方法具体为:对任意染色体q产生的量子比特[αk,βk]t,k=1,2,...,l观测产生一个随机数and,and∈[1,0],如果and<|βk|2,则αk=1,否则αk=0;
对量子染色体进行k次随机观察,得到k个二进制解
分别计算每一个二进制解的适应度:
其中,α,β,γ均为常数;
从适应度函数的表达式可看出:
如果
目标函数
如果
根据有效解得适应度大于无效解的适应度,得到α=1,β=γ=20;
选出适应度最大的解,记为
根据适应度最大的解
选择最大的解
其中,
其中,θ为旋转角幅值,函数f(·)表示贪婪解的适应度;
更新完所有量子染色体后得到全局极值
量子进化算法其种群初始化的方法选择并不影响算法的时间复杂度,但是多次随机观察次数及迭代次数与时间复杂度关系密切。具体的,以下用数据进行说明,本实施例中系统所有故障的故障发生率pi∈(0.001,0.1),测试代价pi∈(1,10),故障检测率pdij∈(0.98,1),故障虚警率pfij∈(0,0.02),漏检费用cli∈(100,200),虚警费用cai∈(50,100),设定约束条件为故障检测率不低于90%,故障隔离率不低于85%;计量系统共有12个故障源,13项测试;设置量子进化算法的相关参数,迭代次数300次。
对于设定的13项测试,结合系统故障检测率及故障隔离率的要求,量子进化算法优化出的最优测试集为{t1,t2,t3,t4,t5,t7,t8,t10,t11,t13},可明显观察到测试t6,t9,t12被删除,计算计量系统的故障测试相关矩阵,如表1所示。
表1计量系统优化后的故障-测试相关矩阵
结合故障测试相关矩阵,计算出优化后测试集的系统测试性指标:
系统故障检测率98.6%,故障隔离率88.71%;满足系统测试性设计约束要求。
将本发明方法分别与混合粒子群-遗传算法(hpsoga)、信息熵算法、rollout算法、及qea-ⅰ进行比较,对各群智能优化算法分别仿真实现50次,仿真结果取平均值。其中各智能算法迭代次数与本节采用的算法保持一致,优化结果比较如表2所示。
表2几种智能算法优化结果对比
从仿真结果可知,与现有的主流优化方案相比,本节采用的优化算法在故障检测、故障发生率、总代价及收敛代数上取得了更为理想的结果。其中故障隔离率最少提升3.0%以上,同时本发明平均收敛次数较短,且考虑到了故障发生时测试不可靠的情况。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。