刘建杰,刘文宝,李林宏
(装甲兵工程学院 技术保障工程系,北京 100072)
随着科学技术的迅速发展,各种高新技术在装甲装备上得到了越来越多的应用,不仅对战争观念、作战样式、作战指挥等方面产生了深刻影响,并且对装备维修保障提出了更高的要求,使得装备维修保障在武器装备建设和战时保障体系建设中的重要性日趋凸显。
近年来全球范围内高技术局部战争的经验表明,装备维修保障是提高装备完好性的重要基础,也是装备形成战斗力的关键所在,更是提高装备战斗能力的倍增器。装备维修保障是一个大型复杂系统,利用多Agent技术对其进行建模,可以克服其他建模方法在能动性和智能性方面的不足。
Agent是指具有一定智能行为的实体,形成于分布式人工智能领域,由麻省理工大学Minsky首先提出[1]。当面对一些复杂的系统问题时,单个Agent由于受到其资源和能力的限制,无法适应大规模复杂问题的求解,多Agent则为上述问题提供了一个有效的解决方法和途径。
多Agent不是多个Agent的简单集合,而是具有一定组织结构,能够面对具体的问题进行相应的合作[2]。采用多个Agent进行协作的方式,能够通过任务分解和任务协调来提高整个系统的性能,也能够克服单个Agent知识不完整、处理信息不确定等缺点[3]。
如图1所示,Agent主要由五层结构组成,分别为通信层、API层、定义层、组织层和合作层。
API层用来将Agent与它的资源、技能的物理实现联系起来;定义层主要将Agent描述为一个自治的理性实体,包括Agent的推理学习机制、资源、技能、目标等;组织层用来定义Agent之间的相互关系 (包括其在Agent团体中所扮演的角色),以及Agent之间的相互感知等;合作层用来指明Agent的社会能力,例如它的合作和协商技术;通信层主要是定义Agent之间通信的更低一级的细节。
本文所研究的装甲装备中修作业流程由于涉及到各子系统间和外界的相互影响,更着重于Agent社交能力的研究,因此建模仿真是基于多Agent进行的。模型信息包括概念、描述、功能约束条件、空间和多态等基本特征说明[4]。基于多Agent的建模与仿真是一种由底向上的建模方法,它把Agent作为系统的基本抽象单位,采用相关的Agent技术,先建立组成系统的每个个体的A-gent模型,然后采用合适的MAS体系结构来组装这些个体Agent,最终建立整个系统的系统模型[5],基于多A-gent建模与仿真的步骤,如图2所示。
图2 基于多Agent的建模与仿真步骤Fig.2 Based on Agent modeling and simulation steps
(1)Agent的划分和定义:首先对目标系统进行分析,明确仿真的目标和需求。然后根据对系统的实体和功能进行划分,把系统中的各种实体映射为仿真系统中的Agent,并将分解后的功能分配给相应的Agent,最后再把这些单个Agent的按一定的群体结构组成MAS。
(2)单个Agent模型的分析设计:单个Agent模型包括Agent的结构、内部状态、消息系统、知识库、内部行为等。对于系统中的各个Agent,根据其智能性的高低分析和设计Agent的基本结构。
(3)定义多Agent之间的协调和交互机制:多Agent系统中的Agent之间通过交互和协调达到任务求解的目的,因此需要描述Agent的社会关系,如Agent的协调、协作、交互等。Agent之间的交互和协调的基础是通信和信息交换,具体表现为相互之间的通信机制。MAS通信机制的设定首先是要确定系统中哪些节点之间需要进行通信,然后确定这些节点之间的通信内容和方式。在设定通信机制时,要考虑到Agent所处的建模与仿真环境,不同的开发环境可能采用不同的通信机制。
(4)多Agent仿真系统的实现:整个MAS建模过程可以看作是采用自底向上的设计方法,单个Agent首先被定义,然后再对MAS集成。基于多Agent的装甲装备中修作业流程仿真可能建立在分布仿真环境上,为此需要合理地把基于Agent的模型分布到多个节点计算机上,对Agent进行分布时要注意遵循结点间通信量最小原则和结点负载均衡原则。
影响装备维修能力的因素有很多,每项因素都会或多或少的对中修能力产生影响,但并不是所有的因素都需要在模型中体现。过多的维修作业要素参与模型的建立会导致模型过于繁琐,不但会增加建模难度,还会降低模型运行的效率。论文主要从维修保障资源要素对装备维修能力的影响方面进行分析,提出优化维修保障资源配置的可行方案。
经过筛选后,得到维修作业要素的构成如图3所示。
图3 维修作业要素构成Fig.3 Repair work elements
通过前面对装备中修作业流程时序模型分析,将装备中修划分为了11个作业流程,在流水线式中修作业模式下其具体工作流程如图4所示。
在利用多Agent解决复杂问题的过程中,有时并不需要考虑所有个体Agent之间的联系,一些个体Agent只是在一定范围内与具有特定对象的Agent进行相互通信、感知和影响,并分析和处理信息,形成有效资源,而后将资源通过一定规则传递或影响其他Agent。此时,可将这些特定范围内相互组合和联系的各个体Agent看成一个子系统来研究,即具有特定功能模块的多Agent子系统。
对于装甲装备中修作业仿真系统来讲,根据其担负具体任务的不同,可将其分解为三个部分,分别为:维修作业流程多Agent子系统、保障资源多Agent子系统以及修理过程Agent,各部分的具体功能如下:
(1)维修作业流程多Agent子系统,包含修前检测及炮塔拆卸Agent、武器系统修理Agent、底盘总拆卸A-gent等;主要负责完成各个维修作业阶段所需进行的维修工作。
(2)保障资源多Aegnt子系统,包含关键设备Agent和修理人员Agent,分别用来管理各自分类的维修保障资源。
(3)修理过程Agent,包含整个中修作业流程的信息,负责协调各个维修作业阶段的相互转换。
对于维修作业中的每一个流程,都是由一系列的维修作业构成的,利用多Agent技术可以构建出每个维修作业的模型。
各个Agent之间的相互关系如图5所示。同时,图中注明了各个Agent之间的信息传递路线,具体过程如下:
(1)由修理过程Agent发起维修任务,向修前检测及炮塔拆卸Agent发出指令完成相应的维修作业。
(2)修前检测及炮塔拆卸Agent向保障资源Agent模块发出指令要求安排相应的维修人员和关键设备来完成维修作业。
图5 维修作业多Agent系统图Fig.5 Repair work Multi-Agent system diagram
(3)保障资源Agent模块向修前检测及炮塔拆卸Agent返回相应的信息 (如果人员和设备能够满足请求的标准,安排相应的保障资源展开维修作业,否则将会返回资源不足信息,要求修前检测及炮塔拆卸Agent进入等待状态,直至保障资源满足要求后展开维修作业)。
(4)当该维修作业任务完成后,修前检测及炮塔拆卸Agent向修理过程Agent报告任务完成信息,向保障资源Agent模块发出保障资源调用完毕信息,并向武器系统修理Agent和底盘总拆卸Agent发出准备信息。
(5)下一个维修作业阶段重复相同的信息传递路径,直至完成整个中修作业流程。
本文主要研究了多Agent技术在装甲装备维修作业流程建模方面的应用。通过研究,得到了装甲装备维修作业的多Agent模型。由于多Agent模型与其他模型相比,在能动性和智能性方面的优势,从而为装甲装备维修保障资源的优化提供了更为有效的研究方法。
[1]曹军海.基于Agent的离散事件仿真建模框架及其在系统RSM建模与仿真中的应用研究[D].装甲兵工程学院,2002.
[2]范玉顺,曹军威.多代理系统理论、方法与应用[M].北京:清华大学出版社,2002.
[3]黄莉,张雪松.基于多Agent的水电站计算机监控系统体系结构[J].电力自动化设备,2008,3.
[4]韩仁东,刘科成,鞠彦兵,等.基于多agent的军事物流系统仿真建模方法[J].计算机应用研究,2010,137.
[5]齐欢,王小平.系统建模与仿真[M].北京:清华大学出版社,2004.