论文部分内容阅读
多Agent理论及相关技术为分布式系统的研究提供了一个崭新的途径。多Agent系统理论是分布式人工智能体系的一个分支,目前多Agent技术已经成为了当今人工智能领域研究的热点之一。而多Agent任务分配问题是多Agent系统研究的基础性问题,体现了系统高层组织形式与运行机制,是多Agent系统实现目标的基础。一方面,任务分配的好坏直接影响到整个系统的运行效率,并且直接关系到系统中各Agent能否最大限度发挥自己的能力,避免占用更多的资源。另一方面,当一个Agent没有能力完成当前任务时,如何在现有机制的基础上,通过有效地对话、协商使多Agent合作完成此项任务已经成为越来越多研究者关注的问题。
本文在此着重分析多Agent系统中的任务分配过程,首先说明了多Agent系统任务分配问题是一种典型的组合优化问题,由于传统的任务分配问题的目标是充分利用分布式系统多处理机的并行性,将一个任务分解成多个子任务,通过子任务的并行执行使问题能够在最短的时间内解决。本文在此对任务的分解问题不再做详细阐述,只对在任务分配的过程中如何将各个任务分配给拥有完成相应任务能力的Agent,同时对冲突进行合理的优化进行分析,然后通过对影响任务分配问题的因素进行分析,将遗传算法、蚁群算法和模拟退火算法进行比较,得出结论:随着问题规模的不断增大,遗传算法在解决任务分配问题中的优越性得到了充分体现,遗传算法相比其他常见的启发式算法有较高的性能,能够用较少的时间得到更优的解。
很多传统技术对多Agent任务分配问题的应用领域常常无能为力,而遗传算法却提供了一条解决复杂任务分配问题的新途径,然而标准遗传算法在解决任务分配问题上存在着局部搜索能力较差、收敛速度低等缺点,所以需要进一步对遗传算法进行改进,才能使遗传算法在解决任务分配问题中发挥更加重要的作用。针对遗传算法这些缺点,本文提出了两种改进方法,一种是将局部搜索能力强的算法引入到遗传算法,同时设计出能适应新的编码方式的遗传算子,并在遗传算子中融入与问题相关的启发式知识,这样可以使混合遗传算法既能保持遗传算法的全局最优特点,又能够提高其运行效率;另一种方法是提出一种基于二叉树编码的遗传算法。首先将任务分配问题转化为等效的AOV图,并将其转化成二叉树,然后进行遍历编码,最后用改进的遗传算子进行算法优化,该算法克服了一维编码的局限性,比普通的一维编码遗传算法有更高的执行效率。
最后设计出一个多Agent任务分配问题的实例,建立任务分配的目标函数,指导Agent与任务进行组合优化,利用改进的遗传算法来求解该多Agent任务分配问题。通过仿真试验比较了这两种改进的遗传算法和标准遗传算法在解决任务分配问题上的运算性能。仿真结果显示两种改进的遗传算法无论是在搜索的速度还是搜索的精度上均优于标准遗传算法,充分体现了遗传算法在解决多Agent任务分配问题的可行性和优越性。