基于AODEsr分类的负载优先级评估*
2012-10-16汤传贵晁爱民
汤传贵 张 珂 晁爱民
(海军驻青岛造船厂军事代表室 青岛 266001)
1 引言
能量调度技术是舰船综合电力系统最重要的技术之一[1~2]。能量调度的基本目标有两个:1)保证综合电力系统不过载;2)按负载的优先级分配电能。而要对负载合理分配电能,以实现能量最优调度的目标,首要的问题是对负载的优先级做出合理的评估,为能量调度决策提供基础支撑和依据。
一般常用的优先级评估方法是层次分析法[3]。但是层次分析法对于影响负载优先级的各种属性因子权重应该如何给定,并未给出一个科学合理的解决方法。仅是在专家经验的基础上对影响负载优先级的属性因子进行人为打分,通过一系列转换技术将属性评分转变为权重向量。为了避免专家对属性权重进行打分引入的不必要的主观因素,本文在利用舰船负载的各种属性数据,将专家经验和客观数据的特点相结合,提出了一种基于AODEsr分类的多目标负载优先级评估的方法,并结合实际算例对此方法进行了验证。
2 算法基本思想
设多属性评估表的属性集合为A={a1,a2,…,am},实例集合为L={l1,l2,…,ln},实例li对应的属性ak下的评估值为sik,于是每个L中的元素均可在对应的A下生成m个评估值,并构成如数据表1所示的评估值矩阵S。设每种属性所对应的权重向量为 W =[w1,w2,…,wm]T,实例集最终的决策向量为D=[d1,d2,…,dn],则有
上面的评估准则非常容易理解,即对于一个多目标(或多属性、多因子)决策问题,只需对每个实例的单个目标进行评估,然后对各个目标赋予不同的权重,最后采用式(1)便可以得出最终的决策(评估)结果。各种多目标优化问题,均是采用此方法,或者此方法的变体来建立评估准则的。
准则非常简单,困难在于如何为每个属性赋予权重。层次分析法可以根据专家经验进行判断打分,得到属性集的权重向量。但是,这种方法唯一能够依赖的便是专家的经验,因此难免会受到个人喜好的影响。
假设已经得到了数据表1的决策向量D,并将其作为决策属性加入到表1中,则可以采用AODEsr分类[4~5]算法对其进行分类,分类的结果和规则与确定评估的权重毫无关系,但AODEsr算法的分类结果的性能评估指标,如均方根误差或者信息熵,却从客观上表征了此次分类效果的好坏。均方误差或者信息熵越小,分类效果越好。于是,如果去掉某个属性,分类器的性能肯定受到影响,这种影响即体现在均方误差或者信息熵的变化上。于是,属性的重要程度毫无疑问便与去掉此属性后,均方误差或者信息熵的增量有关。增量越大,属性越重要,相应的权重值就越大,反之亦然。
但是数据表1并不存在决策属性,无法进行有指导的学习,于是分类算法并不能够直接应用。解决的方法之一便是与专家经验相结合。数据表1中,大多数领域专家会将属性urgency作为最重要的属性放在首位,确定权重时也会以给其赋最大值。因此,本节算法将属性urgency作为决策属性。然后对表1采取上述的处理步骤,将分类结果均方误差或者信息熵的增量作为除urgency之外的其他属性的权重。
设按上述方法得到的条件属性子集为Ac={a2,a3,…,a7},a1=urgency。Ac的权重子集为 Wc={w2,w3,…,w7},采用AODEsr分类算法,在不删除Ac中任何属性的情况下对决策表进行分类,其正确率为TP。则TP的值在一定程度上说明Ac与a1的相关度。也即Ac中所含的信息量仅有所占比率为TP的信息与a1相关。于是urgency的权重可以由下式得到。
由于按以上方法得到的权重向量中,各权重值的大小就决定了属性的重要程度。因此属性集合A中各属性的取值区间长度必须一致。如果直接将诸如表1中的评估值矩阵代入式(1)中是不可行的,因此必须在调用式(1)之前分别对数据表1中的各个列向量做归一化处理。
上述算法的流程图如图1所示。
图1 基于分类的属性权重评估算法流程
3 负载优先级评估算例与预处理
以某舰船电力系统的特定工况为例,其共有负载28个。将每个负载当作一个实例,上述每种负载优先级的影响因素作为属性。于是便可以得到如表1的负载优先级评估数据表。
为免混淆,本文规定,最终由表1生成的负载优先级评估值越高,则优先级越高,越趋向于保持运行,或者优先分配所需的能量。反之,评估值越低,优先级越低,越趋向于被卸载,或者降低所需的能量。
表1 负载优先级评估数据表
表1中的各个属性解释如下:
1)urgency:特定工况下的负载需求紧迫性。紧迫性越强,评估值越大。按5(不可卸载)、4(非常重要)、3(重要)、2(一般,即可以卸载)、1(不需要)分别给出评估值。
2)vulnerability:特定工况下负载的易损性,易损性越小,评估值越大。按4(不容易损坏)、3(一般)、2(容易损坏)、1(非常容易损坏)分别给出评估值。
3)capacity:特定工况下负载容量。表中的数据表示负载在特定工况下的平均容量,单位为MVA。容量越大,负载的优先级将越低。
4)SorD:负载动态特性。按2(静态负载)、1(动态负载)分别给出评估值。
5)harmonic:负载运行所产生的谐波含量。表中的数据表示负载的实际运行时谐波所占信号能量的平均百分比。谐波含量越高,负载的优先级则越低。
6)pfactor:负载功率因数。表中的数据表示负载实际运行时的平均功率因数。
7)Tstart:负载重启时间。表中的数据表示负载的实际平均重启时间,单位为s。
注意,capacity、harmonic与优先级之间是递减关系,即其值越大,负载优先级越低。
由于表中的urgency、vulnerability和SorD取值均为有限的整数。因此,可直接将其值作为名词性属性处理,例如urgency的最终的名词化集合为{5,4,3,2,1},这里数字仅仅只是类的标识符,与其本身的数值含义没有任何关系。
capacity、harmonic、pfactor和Tstart的离散化方案如表2~表5所示。
表2 capacity属性的离散化方案
表3 harmonic属性的离散化方案
表4 pfactor属性的离散化方案
表5 Tstart属性的离散化方案
4 评估的结果与分析
现在基于第2节所述的算法,首先将urgency属性作为决策属性,其他属性作为条件属性形成决策表。然后采用AODEsr分类算法,对表1离散化后得到的评估表进行属性权重计算。未去掉任何条件属性时分类的TP值、熵以及均方根误差如表6所示。分别去掉各个条件属性后的熵及均方根误差如表7所示。
表6 AODEsr算法对总条件属性集的性能指标
表7 分别去掉各个条件属性后的熵及均方根误差
按照第2节算法得到的各条件属性权重为:
表8 各条件属性权重值
表9 AODEsr算法负载优先级评估结果表
根据式(2),计算得到决策属性,即urgency属性的熵增量权重为32.209857,均方根误差增量权重为0.412162。
对表1作归一化处理后,利用式(1)得到各个负载的评估值按降序的排列表如表9所示。
由此可见,采用AODEsr分类算法,按照熵权重和均方根误差权重得到的最终评估值虽然不同,但负载优先级排名是一致的。
根据专家经验可知,urgency属性的重要程度最高。然后由表8可知,vulnerability和SorD属性的重要程度次之。因此表9的优先级评估结果将主要受这三个属性的得分影响。将原始得分表1与评估结果表9相比较,发现最终的评定结果与这两项的得分大小保持较好的一致性,由此便证明了基于分类的属性权重评估算法的正确性。
5 结语
本文首先分析了利用层次分析法进行负载优先级评估的不足,进而利用数据挖掘分类和属性约简技术,提出了一种基于AODEsr分类的属性权重评估算法,并将专家经验与客观数据本身的特性相结合,以舰船负载实例集为算例,对其进行了优先级评估。实验结果表明:舰船电力系统负载优先级主要受需求紧迫性和易损性两种属性的影响,各种算法的结果均与上述结论保持一致,证明了算法的正确性。
[1]John Cerminara,Rolf Kotacka O.Ship Service Electrical Systems-designing for Surface Ship Design Engineering[J].Naval Engineers Journal,1990,9(6):32-36.
[2]Baker,Capt R C,Cdr Reed M R.Twenty Steps to A Better Fleet:INSURV Review of Surface Ship Design Engineering[J].Naval Engineers Journal,1985,3(5):34-40.
[3]严喜祖,宋中民,毕春加.数学建模及其实验[M].北京:科学出版社,2009:9-40.
[4]Ian H.Witten,Eibe Frank.Data Mining:Practical Machine Learning Tools and Techniques(2nd edition)[M].Amsterdam:Morgan Kaufmann Publishers,2005:1-324.
[5]Cendrowska J.AODEsr:An algorithm for inducing modular rules[J].Man-Machine Studies,1987,27(2):349-370.