论文部分内容阅读
多Agent系统中的任务分配与负载均衡问题具有很高的研究意义。以往的学者在研究这类问题时大多数是从Agent个体属性和多Agent系统拓扑角度出发,而忽略了任务特性的影响。基于此,本课题主要系统地研究任务之间的关系对任务分配以及负载均衡的影响,分别针对任务的相似性、局部性以及依赖性设计出相应的分配算法,提高系统的运行效率。本文的主要工作如下:首先,任务相似性是指任务之间需求资源种类与数量的接近程度。分配到达任务时根据历史上相似任务的分配经验可以避免重复的计算。本文使用Q学习中的Q值表存储历史任务的分配结果,分配任务时根据到达任务与Q值表存储任务的相似性选择相应的动作。实验结果说明本文提出的算法可以有效地提高系统收益并降低分配任务的计算代价。其次,任务局部性是指一段时间内的任务到达序列具有平滑特性,即任务稳定、递增或递减地到达。预测未来任务到达强度时根据局部任务序列比根据全局任务序列具有更精确的预测效果。本文采用一个窗口机制,记录任务到达的局部信息,并且提出了一个改进的指数平滑公式计算未来任务的到达强度值,在任务分配时考虑这个因子即可达到动态负载均衡。实验结果表明该负载均衡因子可以有效地降低任务完成时间。最后,实际系统中到达的任务之间有时会具有数据与时间依赖性,数据依赖性是指任务之间有数据要进行传递,而时间依赖性是指一个任务必须在另一任务完成后的规定时间步内执行。本文针对具有依赖性的任务分配问题,提出一种基于任务的最早/最迟执行时间与前缀任务通信耗费的启发式算法,按照任务依赖图的拓扑顺序每次将任务分配给启发值最高的Agent。实验结果说明本文提出的方法可以有效降低任务执行的通信耗费并提高任务分配的成功率。