文档介绍:基于动态合同网的Agent任务分配算法摘要:随着应急指挥网络系统规模不断增加,网络故障诊断逐渐成为应急指挥网络系统的关键。针对域间协同故障诊断中的任务分配问题,提出了基于改进合同网的Agent动态任务分配算法,建立了Agent性能库,使管理者根据所注册Agent的性能进行发标,同时,为每个执行Agent完成某项任务建立相应的信息素,实验结果表明,该算法有效地避免了网络的拥塞,提高了任务分解的效率。关键词:协同网络故障诊断;任务分配;合同网算法;蚁群算法中图分类号:TP393文献标识码:A文章编号:1009-3044(2014)05-0919-031概述随着应急指挥网络系统复杂程度不断提高,系统规模将越来越大。这就造成应急指挥系统中网络的规模越来越大,功能越来越复杂,加之网络攻击技术与计算机病毒,使得网络故障的发生是不可避免的,而且发生的概率会越来越大,网络故障诊断逐渐成为应急指挥系统的关键。目前采用的故障诊断技术及方法无法满足应急指挥系统故障测试与诊断的要求。这时就需要协同故障诊断技术为网络系统提供更完备的综合保障支持。协同故障诊断技术包括任务分解,任务分配和决策融合等环节[1]。该文重点研究了其中的任务分配,提出了基于改进合同网的Agent动态任务分配算法,有效地避免了网络的拥塞,提高了协同故障诊断效率。2动态合同网算法本文将管理Agent替代合同网算法的管理者,将执行Agent替代合同网算法的承包商完成合同网算法在Multi-Agent协同故障诊断中的应用,如图1所示。图1合同网在MAS中的应用传统合同网在MAS中的直接应用缺点较多,该文根据传统合同网算法的缺点提出了一下几点改进:1)减小管理Agent发标量。建立Agent性能库,使管理者根据所注册Agent的性能进行发标,避免了管理Agent广播标书带来的通信拥塞。2)与蚁群算法相结合。为每个执行Agent完成某项任务建立相应的信息素,这样就可以形成正反馈,管理Agent就可以根据前期经验进行任务分配。3)任务结果评估。传统合同网算法没有任务结果评估,该文将任务结果评估纳入到合同网算法中来,实现了系统的反馈。,例如Agenti执行任务j的能力为[Cap(i,j)]。有能力执行任务的Agent将其初始能力值设为1,没有能力执行任务的Agent将其初始能力值设为0,这样就以数据库中的表的形式建立了Agent性能库。设置性能库的本质是为了让管理者能够将任务分配给能够胜任的承包商执行,以减少资源耗费。所以有了注册承包商性能库,就可以根据性能库分发任务,这样就避免了传统合同网算法使用广播带来的通信量大的问题,有效避免的通信拥塞。在合同网算法里,没有绝对的管理者,也没有绝对的承包商,它们之间是相互转化的,所以每一个有注册承包商的管理者都有性能库,而且性能库分为两部分:一部分为管理部分;另一部分为执行部分(执行部分只有自己的性能),如图2所示。,而且管理Agent会对每一个标书进行评估,这样就会导致管理Agent的负载过大,影响整个系统的效率。该文从减小执行Agent投送竞标标书的数量的角度出发,提高了执行Agent的自主