吕学志,范保新,尹 建,王宪文
总参炮兵训练基地
基于BP神经网络的维修任务优先级分类方法
吕学志,范保新,尹 建,王宪文
总参炮兵训练基地
在任务执行期合理、科学地确定维修任务的优先级别对于有序、高效地组织维修保障活动具有重要意义。首先,由于维修资源的有限性,任务执行期维修任务出现时维修资源很可能不可用,这就需要确定维修任务优先级,以确保可用的维修资源先处理重要的维修任务。其次,优先级实际上反映的是维修任务本身属性,所以维修任务优先级更便于不同的人员之间进行交流,如维修人员与指挥官,维修人员与操作人员。再次,根据维修任务的优先级,合理安排其执行顺序,可以进一步提高维修保障的效能与效率,例如,近年来美军战场维修保障的出色表现一定程度上得益于他们对维修任务优先级有着明确的规定。然而,我军部队主要采用这些经验型原则,缺少成熟的维修任务优先级决策方法。国内在这方面的研究较少,相关文献主要研究维修任务的优先级排序问题[1-6]。本文提出了一种基于BP神经网络的维修任务优先级分类方法。详细介绍了神经网络模型的建模过程,其中重点介绍了输入数据准备、输出数据准备与神经网络结构,并利用实例对本文提出的方法进行了验证。
当对维修任务优先级进行分类的时候,应该考虑多个指标(准则)。为了确定维修任务的优先级别,决策者必须思考一系列指标,如重要性、修复时间等。换句话说,对应每项指标的历史数据与主观判断是决策过程的重要输入。决策者根据这些输入进行评估,并将维修任务优先级别作为输出。关于维修任务的优先级别,决策者如何思考并做出决策是一个“黑箱”。如果可以模拟这个“黑箱”,那么未来就可以根据指标值用该模型来区分维修任务的优先级别,不再需要决策者的判断。所以,本文将提出基于BP神经网络的维修任务优先级分类模型来模拟“黑箱”。神经网络模型的构建主要包括四个阶段:设计阶段、训练阶段、测试阶段、应用阶段。如图1所示[7]。
图1 神经网络模型构建步骤
输入与输出数据必须在确定神经网络结构之前准备完毕。然后,根据输入与输出数据的特点确定神经网络的结构。
2.1 输入
输入是决策需要的数据与信息。对于本文研究的问题而言,其输入是维修任务各项指标的评估值。按照对象的不同,维修任务可以分为装备维修任务与备件维修任务。备件维修任务与装备维修任务大部分指标是类似的,这里主要考虑装备维修任务。根据我军和外军的经验,目前在维修任务优先级确定常常遵循以下四条准则:先修重点装备,即先修在战斗中所起作用大的装备;先修施工容易的战损装备;先修修理工时少的装备,后修修理工时多的装备;先修具有良好抢修性与维修性的装备。根据上述四条准则,不妨设某一维修任务的属性集合为G={g1,g2,g3,g4,g5,g6},并且该向量的各分量分别定义如下:
g1为重要性等级。对于在战争中使用的各型装备,可按所起作用的大小,给出重要性等级。如,将各型装备划分为9个等级,以1级表示作用最大,2级次之,依次类推。
g2为技术状况。为量化先易后难的准则,不妨给出技术状况系数。如,将维修任务划分为9个等级,以1表示其技术状况较好,2次之,依次类推。
g3为修理工时(h)。修理工时可以用维修任务的平均修理时间衡量,具体函数如下:
其中,N为总的修理次数,mi为第i次修理所用时间,为修理工时。
g4为所需器材。所需器材可以定义为申请与得到所需备件的平均时间。
其中,si为第i次修理申请与得到所需备件的时间,Sˉ为申请与得到所需备件的平均时间。
g5为所需技术。所需技术可以定义为所需平均修理人员数与总维修人员数之比,具体函数如下:
其中,pi为第i次修理所需维修人员数,Q是维修人员总数。
g6为维修性与抢修性系数。为了便于量化计算,可按照装备的维修性与抢修性性能,给出1~9抢修性系数,1表示具有良好的维修性与抢修性,2次之,依次类推。
在维修任务优先级分类过程中,决策者需要考虑若干指标,如重要性、技术状况、修理工时、所需器材、所需技术、维修性与抢修性等6项指标,对于重要性、技术状况、维修性与抢修性主观性较强的指标仍然使用9级量化理论。而对于修理工时、所需器材、所需技术等指标给出函数,将维修任务对应每项指标的原始数据转化为神经网络模型的输入数据。例如,修理工时可以用维修任务的平均修理时间衡量。需要注意的是历史记录数据应该完整准确,这样函数才可能合理地定义。
2.2 输出
输出是根据决策者判断得出的维修任务优先级别。决策者可以凭直觉确定维修任务级别,也可以通过一些辅助方法对维修任务级别进行分类,例如在维修任务较少的情况下可以采取两两比较的方法,根据比较后得到的维修任务优先分值对维修任务优先级进一步分类,而在维修任务较多的情况下,可以采取基于信度结构的数据包络分析方法(DEA)得到维修任务优先分值,再根据维修任务优先分值对维修任务优先级进一步分类。
2.2.1 确定信度结构
为了确定每个维修任务的优先级,定义了一组评估等级:H={h1,h2,…,hK},其中h1,h2,…,hK表示从大到小的优先级(k∈{1,2,…,K})。然后要求不同领域的专家评估维修任务,并按照其各项指标划分其优先级。
假设维修任务优先级由 Δ位专家进行评估。那么评估结果可以表示为以下的分布评估向量:
以上的分布评估向量可以进一步地转换为下面的信度结构[8-10]:
2.2.2 确定维修任务优先级权重
s(hk)为等级hk的分值(k∈{1,2,…,K})。每个维修任务优先级权重,可以定义如下:
在这种情况下,用于确定s(Hjk)(k∈{1,2,…,Kj})值的DEA模型如下:
求得 s(Hjk)(k∈{1,2,…,Kj})值之后,根据公式(6)就可以得到具体的维修任务优先级权重。
2.2.3 确定维修任务优先级
对维修任务优先级权重进行处理,可得维修任务优先级。
悲观分类法的程序:
(1)维修任务 j的优先级权重 Rj依次与分类阈值s(h1),s(h2),…,s(hk),…,s(hK)进行比较;
(2)令s(hk)为第一个满足Rj≥s(hk)的分类阈值,将维修任务优先级划分为k级(j→k)。
乐观分类法的程序为:
(1)维修任务 j的优先级权重 Rj依次与分类阈值s(hK),…,s(hk),…,s(h2),s(h1)进行比较;
(2)令s(hk)为第一个满足Rj≤s(hk)的分类阈值,将维修任务优先级划分为k级(j→k)。
2.3 神经网络结构
选择神经网络结构的其他部分是进行训练之前确定全部模型结构的最后一步。应该考虑若干设计因素,例如隐层的数量、隐层节点数、传递函数、学习规则等。确定合适的结构并没有最优的模式可以遵循,然而,对关键因素反复实验的方法以及合适的性能评估指标可以有助于找到最好的解决方案。使用现有的商用软件,如Matlab神经网络工具箱(Neural Network Toolbox,NNbox),可以帮助设计合适的结构。神经网络工具箱功能十分完善,提供了各种Matlab函数,包括神经网络的建立、训练和仿真等函数,以及各种改进训练算法函数,用户可以很方便地进行神经网络的设计和仿真,也可以在Matlab源文件的基础上进行适当修改,形成自己的工具包以满足实际需要。
一旦构建了基于BP神经网络的维修任务优先级分类模型,就可以对其进行训练了。神经网络使用一组代表各种不同情况下决策者决策与偏好的数据进行训练,以学习决策者的行为,这种训练称为监督训练。在监督训练时,同时提供了输入与输出。神经网络模型处理输入,并将网络生成的输出与理想的输出进行比较。然后,误差在网络中向后传播,这样系统调整控制网络的权重。这一过程不断重复,神经网络的权重与阈值也不断稳定与收敛。在神经网络的训练过程中,对同一组数据经过了多次处理,网络权重与阈值不断改进。
由于某些原因神经网络无法进行学习,例如输入数据并不包含某些可以生成理想输出的具体信息。如果没有足够的数据进行完全的学习,神经网络也不能收敛。理想的情况,应该有足够的数据,这样某些数据就可以作为测试数据了。如果没有充足有效的数据,设计者必须调整神经网络结构。为了精确地训练模型,在训练集中应该包含一些极端的值(最大值与最小值)。训练数据集合应该占全部数据的80%。
一旦确定了神经网络模型,就可以利用该模型对维修任务优先级进行分类了。
首先,需要获得神经网络模型的输入与目标样本。根据30项维修任务的历史记录,决策者依据其专业知识与直觉对其优先级分类,优先级分为三个级别,分别用1、2、3表示,1表示优先级别级最高。如表1所示。表中是由决策确定的30个维修任务优先级分类实例,也是神经网络模型训练与测试所用的数据集。其中,g1、g2、g3、g4、g5、g6分别代表指标重要性、技术状况、维修工时、所需器材、所需技术、维修性与抢修性。
接下来需要确定神经网络结构。由于增加隐层数会降低神经网络的归纳总结能力,增加记忆的能力,所以这里采用三层神经元的结构,即输入层、隐层与输出层。显然,输入层需要有6个神经元。为了更好地区分神经网络的输出结果,用(1,0,0)表示高优先级,用(0,1,0)表示中优先级,用(0,0,1)表示低优先级。这样一来,就在神经网络中需要设计三个输出神经元表示三个不同的优先级别。按照一般的设计方案,中间层神经元的传递函数为S型正切函数,输出层神经元的传递函数为S型对数函数,之所以选择S型对数函数,是因为该函数为0-1函数,正好满足输出要求。这里采取实验的方法来比较不同隐层节点数对神经网络性能的影响,从而得到最佳的隐层节点数。
对隐层节点数分别为1、2、3、4、5、6的神经网络都训练了10次,每次训练1 000次,训练目标是0.001,训练所使用的数据是表中后24项样本,而测试用的数据是表中前6项样本,并记录了其均方误差与分类精确度,如表2所示。表中MSE是均方误差,P是分类精确度。
表1 维修任务优先级分类实例
表2 不同隐层节点数神经网络的性能
图2是不同隐层节点神经网络对应的均方误差均值,图3是不同隐层节点神经网络对应的分类精度均值。从中可知随着隐层节点数的增加均方误差呈现下降趋势,而分类精确度也有一定提高。
图2 不同隐层节点神经网络对应的均方误差均值
最终,采取三个隐层节点的神经网络结构,网络权重与阈值采用表中隐层节点为3时的第6次训练结果,这时的神经网络均方误差最小,而且分类精度很高。下面对训练好的神经网络进行灵敏性分析,说明模型输出如何根据输入的变化而变化。对6种指标都进行灵敏性分析,当对一种指标进行灵敏性分析时,进行多次神经网络仿真,每次仿真在这一指标取值范围取值,使全部取值均匀分布在取值范围内,而其他指标取平均值,如表3所示。
图3 不同隐层节点神经网络对应的分类精度均值
表3 分类实例的取值范围与均值
例如,对重要性进行灵敏性分析的时候,可以取9组测试数据,第1组数据中重要性取1,其余指标分别取5、41、13、0.03、5;第2组数据中重要性取2,其余指标分别取5、41、13、0.03、5;以此类推,第9组数据中重要性取9,其余指标仍然分别取5、41、13、0.03、5。图4~图9说明了重要性、技术状态、修理工时、所需器材、所需技术、维修性与抢修性对维修任务优先级的影响。
图4 重要性对优先级的影响
图5 技术状态对优先级的影响
图6 修理工时对优先级的影响
图7 所需器材对优先级的影响
图8 所需技术对优先级的影响
图9 维修性与抢修性对优先级的影响
从中可以看到,当维修任务各项指标取均值时,修理工时对优先级影响最大,重要性对优先级影响次之,所需技术、所需器材影响更次之,技术状态、维修性与抢修性对优先级没有影响。
本文提出了一种基于BP神经网络的维修任务优先级分类方法。首先,给出了神经网络模型构建步骤;然后,详细介绍了神经网络模型的设计,其中包括输入数据准备、输出数据准备与神经网络结构。最后,应用该方法对具体实例进行了求解,验证了方法的有效性和可行性,并分析了重要性、技术状态、修理工时、所需器材、所需技术、维修性与抢修性对维修任务优先级的影响。根据输入数据与输出数据进行训练,所建立的神经网络模型可以获得并表示决策者的偏好,学习准则与维修任务优先级之间的复杂关系,有效地辅助决策者对维修任务优先级进行分类。
[1]刘仁斌,张连伟,汤怀宇.战损武器装备抢修顺序的多准则优化方法研究[C]//中国兵工学会首届维修专业学术年会论文集.北京:解放军出版社,2003:591-593.
[2]毕义明,王汉功,陈桂明.基于粗糙集理论的装备战损评估方法[J].装备指挥技术学院学报,2004,15(5):1-4.
[3]刘利,王宏,石全,等.基于贝叶斯网络的战场抢修顺序优化模型[J].航天控制,2005,23(6):72-75.
[4]王格芳,陈国顺,王学明,等.基于模糊综合评判的装备战场损伤等级评定方法[J].军械工程学院学报,2006,18(4):38-41.
[5]颜炳斌,徐航,石全.基于多准则的战损装备抢修排序决策模型[J].军械工程学院学报,2007,19(1):1-3.
[6]夏俊杰.模糊综合评判在装备维修优先级决策中的应用[J].舰船电子工程,2009,29(7):151-153.
[7]闻新,周露,李翔,等.MATLAB神经网络仿真与应用[M].北京:科学出版社,2003.
[8]Wang Y M,Liu Jun,Bihag T M S.An integrated AHPDEA methodology for bridge risk assessment[J].Computers&Industrial Engineering,2008,54(3):513-525.
[9]Ramanathan R.Data envelopment analysis for weight derivation and aggregation in the analytic hierarchy process[J]. Computers and Operations Research,2006,33(5):1289-1307.
[10]魏权龄.数据包络分析[M].北京:科学出版社,2004.
LV Xuezhi,FAN Baoxin,YIN Jian,WANG Xianwen
Artillery Training Base of General Staff,China
During mission,determining priority categories of maintenance task rationally and scientifically is valuable to effectiveness and efficiency of maintenance support.A priority sorting approach of maintenance task during mission based on BP neural networks is proposed.Modeling process of neural networks model is discussed in detail,and it focuses on model design that includes input data preparation,output data preparation and neural networks structure.Through training of input and output,established neural networks can learn complex relationship between criteria and priority of maintenance tasks,obtain preference of decision makers,help decision maker sort maintenance tasks according to their priority.
Back-Propagation(BP)neural networks;maintenance task;priority;sorting
在任务执行期合理、科学地确定维修任务的优先级别对于有序、高效地组织维修保障活动具有重要意义。提出了一种基于BP神经网络的维修任务优先级分类方法。详细介绍了神经网络模型的建模过程,其中重点介绍了模型设计,包括输入数据准备、输出数据准备与神经网络结构。所建立的神经网络模型通过对输入与输出的训练,可以学习准则与维修任务优先级之间的复杂关系,获得并表示决策者的偏好,有效地辅助决策者对维修任务优先级进行分类。
向后传播(BP)神经网络;维修任务;优先级;分类
A
C935
10.3778/j.issn.1002-8331.1302-0058
LV Xuezhi,FAN Baoxin,YIN Jian,et al.Priority sorting approach of maintenance task during mission based on Back-Propagation neural networks.Computer Engineering and Applications,2014,50(24):250-254.
吕学志(1979—),男,博士,讲师,主要研究领域为维修工程,运筹学。E-mail:ghostsheep@tom.com
2013-02-07
2013-05-07
1002-8331(2014)24-0250-05
CNKI网络优先出版:2013-05-29,http∶//www.cnki.net/kcms/detail/11.2127.TP.20130529.1519.002.html