合同网多Agent拆装任务分配方法

2017-09-18 18:35王硕刘增森
计算机时代 2017年9期

王硕 刘增森

摘 要: 针对飞机维修过程中拆装任务的多样性,而维修人员能力不同的问题,提出一种基于多Agent的改进合同网的协同任务分配方法。通过建立拆装过程评估模型和对拆装任务的描述,考虑人员负载情况下,利用合同网的思想建立了协同拆装任务分配模型。该模型可实现多人拆装任务的实时动态分配,并有针对性的提高维修环境中拆装人员的拆卸装配能力,为实现多人协同拆装过程奠定了基础。

关键词: 维修拆装; 过程评估; 合同网; 任务分配

中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2017)09-05-04

Abstract: Aiming at the problem of the diversity of the disassembly task and the different capabilities of maintenance personnel in the process of aircraft maintenance, a collaborative task allocation method based on multi-agent improved contract net protocol is proposed. In this paper, through the establishment of the disassembly process evaluation model and the description of the disassembly task, and considering the personnel load situation, the contract net protocol is used to establish a collaborative disassembly task allocation model. The model can realize the real-time dynamic allocation of multi-person disassembly tasks, and improve the disassembly and assembly ability of disassembly and disassembly staff in the maintenance environment, which lays the foundation for the multi-person coordination and dismantling process.

Key words: maintenance disassembly; process evaluation; contract net; task allocation

0 引言

多人维修拆装环境中, 拆装任务分配是研究的重点[1],任务分配影响整个维修系统的效率,也会关系到各个拆装人员能否最大程度发挥自身能力,避免维修资源无效占用。多人协同拆装过程在时间和空间上是分散的,构成了一个复杂分布式维修环境[2]。由于构成飞机的组件种类繁多,组件拆装工序复杂,执行拆装任务维修人员的能力不同,多人协同拆装任务的分配过程是一个复杂的实时任务分配的问题。

多个Agent组成的系统(MAS)具有协作性、并行性、健壮性、易扩展性和分布性等特点[3],因此 ,可用多Agent系统描述维修拆装环境。在维修拆装环境中服务器端作为任务分配的管理者和分配者(MagAgent),客户端作为拆装任务的执行者(MenAgent)。在任务分配的招标阶段,MagAgent通过查询建立的黑板模型中MenAgent上一次拆装过程的评估分数、当前负载量和维修状态进行评估,选取MenAgent并向其发送标书。该方法有效的减小了传统合同网以广播形式在Agent节点中通信负载过重的问题,并且可以有针对性的训练维修人员,让不熟练的人员得到优先的拆装操作,大大提高培训效率。

1 维修拆装环境下拆装过程表达

1.1 拆装任务描述

飞机中零部件种类繁多,根据维修手册中组件拆装的过程可知,一个组件完整的拆卸过程可以分为四部分[4]:T11拆装信息准备、T12进入飞机维护构型、T13进近程序、T14拆卸操作。拆卸过程组成如图1所示。维修信息准备包括维修工具、耗材、航材的领取和对应的参考信息;进入飞机维护构型包括供电、跳开关断开、打保险和挂标签;进近程序包括平台工具的使用和打开对应的检查口盖;拆卸操作包括和组件相关的零部件的拆卸步骤。

飞机维修拆装是由一系列拆装任务构成的,每个具体的任务就是单个零部件的拆卸装配工序。任务定义:飞机上单个组件的拆装过程作为一个拆装任务。考虑到对每个Agent基于每个任务的拆装过程评价是一个复杂而繁琐的过程。

本文用基于面向对象的建模思想,提取共性并对各组件归类、综合。其思路是:不同组件所具有的部分特征从其父类继承,父类所具有的部分特征从某些基类中继承。这样,众多的组件就可以用有序的语义关系联接起来,避免拆装过程的重复建模。这样对一个任务的评分就可以转化为对一类任务的评分,大大减小了由于拆装对象复杂多样而造成过程评估的难度。采用面向对象的建模思想,使得建模在更高的语义层次上进行。

1.2 建立拆装过程评估模型

维修拆装过程中的Agent的拆装执行能力可以理解为完成特定拆卸装配任务的本能,包括完成任务的方式以及完成的效果[5]。行为执行能力用来认定 Agent执行任务资格和决定 Agent 完成任务效果,可以区分不同Agent之间的个体之间的能力差异[6]。虚拟拆装过程中拆装过程的评估分数就是Agent执行能力的重要体现。

在飞机维修中,所有组件的拆卸装配过程都严格按照工卡操作。Agent執行拆装工序的每一步操作步骤的权重评估是一个复杂的、随机波动的过程。为了避免评估过程中产生的主观片面的结果,利用模糊综合评判法对进行打分,能够比较真实的反映步骤的实际权重[7]。以民航维修领域专家组(五年以上维修经验)专家评分法,让每位专家给每一步的打分,然后对每项的最终得分取平均值,以此数值作为对应步骤的重要度权值。而拆装组件工序的每一步都可以看作是一个事件,拆卸或组装过程可以看作是一个事件状态不断转移的活动。本文基于Grafcet建立拆装过程的评估模型,如图2所示。endprint

当有MenAgent第一次登陆虚拟维修环境,对其能力值设为零,当Agent成功完成任务时,系统将上调任务对Agent的能力系数。

1.3 虚拟拆装环境Agent建模

在虚拟拆装环境中,由维修环境产生拆装任务序列。MagAgent是任务的管理单元,负责将维修环境中的拆装任务分配给任务执行者,扮演合同的招标方。MenAgent通过就收任务管理者分配的任务,执行具体组件的拆装工序,扮演合同的投标方。飞机系统代理(AftAgent)是全反应型的,不参与合同的协商过程,作为拆装过程的媒介反映维修系统的状态。各个Agent之间交互信息流如图3所示。MagAgent和MenAgent是实体Agent,由知识库、协同拆装任务处理器、合同处理器和通信处理器组成,其结构如图4所示。

其中,Type表示Agent的类型;,表示Agent的能力系数,是Agent完成拆卸装配动作能力的体现,式中Gk为能力分数,是平均能力分数;表示当前Agent的任务负载系数,也就是Agent获得的任务量,其中Lk为当前任务个数,是平均任务个数;Status是当前Agent的状态,表示Agent在空闲或者进行什么类别的拆装任务;Domain表示能够独立完成一类拆装任务的值域。

从应用层面提出一种用于Agent之间信息交互的黑板模型,以数据库Microsoft SQL Server存储和管理Agent信息。黑板中每一条内容对应于数据库表的一条记录,每一个Agent的属性对应于数据库表的属性,其结构如图5所示。图5中,人员[Agenti]属性表示黑板中MenAgent的学号,是Agent的表示符;负载系数[Loadk]、能力系数[Ck]和状态[Status]对应MenAgent的属性内容;对象[Object]指出了可以阅读或修改该消息的授权对象。

2 合同网的协同拆装任务分配模型

2.1 拆装任务分配框架

任务分配的动态性是由维修环境的不确定性引起的,系统需要对随机出现的每个任务都建立实时的任务分配方案。传统的合同网模型以广播形式分配任务,因忽略被分配任务时的各种紧密依赖关系无法获取执行Agent之间的关联信息[9]。实际上,不同的拆装任务被分配给不同的Agent处理时,通常需要考虑相关Agent的属性,以确保任务完成的质量和效率。例如,航空发动机的拆卸和安装就是一对紧密相关的任务集合,若将这些拆装任务集交给不同的Agent去执行,要保证发动机的质量,就需要各执行者和管理者之间进行有效通信。对于维修训练来说,任务分配应该满足几个原则。①目标匹配原则。②覆盖广度原则。使Agent可以得到更为全面的训练。③难度优先原则。使不熟练的Agent得到更充分的训练,但是其中不能忽略熟练的Agent定期复训的问题。协同拆装任务分配框架如图6所示。

2.2 改进合同网的协同拆装任务分配流程

在多Agent的拆装任务分配问题中,MagAgent负责任务的分配、协同处理。MenAgent负责拆装任务的执行和协作请求。MagAgent和MenAgent分别充当合同网中招标方和投标方的角色。本文在Agent能力系数、负载系数和维修状态的基础上,结合具体的虚拟拆装动态环境,通过对能力评估模型的完整描述,对传统合同网的招标阶段进行了改进。

由于对MenAgent的能力和负载有了定量化的描述,MagAgent可以根据能力属性和负载属性选择不同的策略。在任务的招标阶段,包括确定招标范围和发送标书两步。当MagAgent从维修环境中捕获到新的拆装任务后,作为合同的招标方,先查询黑板模型中MenAgent k的属性信息确定招标范围,选取当前Lk和Ck都小于零的初选Agent序列。预选取满足要求的Agent集合后并以网络的形式向其发送招标通知。发送任务通告Announce采用KQML进行通信,具有如下标书形式:

中标阶段,即招标范围内的平MenAgent,接收到任务通告Announce后,马上调用自身知识库,实时对任务进行评估,并选择投标和不投标的包括投标策略。当投标Agent反馈投标结果后,任务管理Agent向其发送任务号。

在任务协同处理阶段,训练人员遇到困难时通过请求任务管理Agent,任务管理Agent通过查询黑板中能力值较高且处于空闲状态的维修人员来协作完成拆装任务。请求协同任务后的拆装过程分数不能反馈给黑板中。当每个MenAgent完成对应的拆卸和装配任务之后,MenAgent向数据库反馈对应的信息(如能力系数,负载系数)。具体任务分配流程如图7所示。

3 结束语

针对飞机维修过程中拆装组件的多样性和拆卸工序的复杂性,以及维修人员能力不一的问题,提出一种基于多Agent的改进合同网的协同任务分配方法。本文通过建立拆装过程评估模型和对拆装任务的描述,考虑人员负载情况下,利用合同模型可解决多人协同拆装任务的实时动态分配问题。该分配模型可实现多人拆装任务的实时动态分配,并有针对性的训练维修环境中拆装人员,为实现多人协同拆装过程奠定了基础。该系统可作为虚拟维修系统的一个模块,具有实际应用价值。

参考文献(References):

[1] 唐苏妍,朱一凡,李群等.多Agent系统任务分配方法综述[J].

系统工程与电子技术,2010.32(10):2155-2161

[2] 李明,刘玮,张彦铎.基于改进合同网协议的多Agent动态任

务分配[J].山东大学学报工学版,2016.46(2):51-56

[3] 李锐,王航宇,石章松等.合同网多平台协同制导任务分配模

型[J].火力与指挥控制,2011.36(12):120-123

[4] Airbus A319/A320/A321 Aircraft Maintenance Manual[Z].

China Eastern Airlines CO. LTD(CEA),2002.

[5] Bosse T, Jonker C M, Treur J. Agent Behavior,

Communications and Reasoning-Requirements Analysis of an Agent's Reasoning Capability[J]. Lecture Notes in Computer Science, 2002.3529(3):8289

[6] Buehler J, Pagnucco M. A framework for task planning in

heterogeneous multi robot systems based on robot capabilities[C]//AAAI Conference on Artificial Intelligence,2014.

[7] 陈海岳,周亦军,劉湘衡等.装备维修人员维修能力的模糊综

合评判方法研究[J].舰船电子工程,2012.32(6):103-105

[8] 任毅,臧林,耿宏等.飞机维修机械组件拆装过程训练评估模

型研究[J].计算机测量与控制,2016.24(7):298-300

[9] 马巧云.基于多Agent系统的动态任务分配研究[D].华中科

技大学硕士学位论文,2006.

[10] 欧立铭,徐晓刚,孙元元.协同虚拟维修中的零件特征模型[J].

图学学报,2012.33(3):69-7endprint