Decentralized Task Allocation in Multi-Agent Systems Using a Decentralized Genetic Algorithm
2020年发表于ICRA
文献链接: Decentralized Task Allocation in Multi-Agent Systems Using a
Decentralized Genetic Algorithm
Decentralized Task Allocation in Multi-Agent Systems Using a Decentralized Genetic Algorithm
基于分散遗传算法的多Agent系统分散任务分配
摘要:
在多Agent协同搜索任务中,需要进行任务分配来确定哪些Agent执行哪些任务。 提出了一种基于分散遗传算法的分散任务分配方法。 该方法在Agent团队中并行遗传算法,有效地利用了他们的计算资源。 在该方法中,代理在任务执行过程中不断搜索和共享更好的解决方案。 我们进行了仿真实验,将分散遗传算法与现有的几种方法进行了比较。 考虑了两个目标:最小和目标(最小化所有代理的总旅行距离)和最小时间目标(最小化访问所有感兴趣位置的时间)。 结果表明,在最小时间目标下,分散遗传算法得到的任务分配比已有方法和解决方案在最小和目标下得到的任务分配要好。 在较大的情况下,分散遗传算法的最小时间性能平均提高了5.6%。 结果表明,分散进化方法在解决分散任务分配问题上具有很强的潜力。
介绍
- 本文考虑的任务分配问题与多旅行商问题 (mTSP) 和车辆路线问题 (VRP) 有关。
- 该方法利用了遗传算法 (GA),该算法连续运行并在代理之间交换完整的解决方案 (任务序列集)。这使该方法能够在执行期间不断改善其当前任务分配,并有可能为团队实现全局最佳分配。
相关工作
-
分散的任务分配问题可以分为基于市场的方法和基于优化的方法 。
-
在基于市场的方法中,拍卖师根据其他代理商的出价来决定如何分配任务。在分散拍卖方法中,每个代理商都充当拍卖人,并使用所有其他代理商的出价来执行拍卖任务。
基于共识的拍卖算法 (CBAA) 和基于共识的捆绑算法 (CBBA)试图在整个系统上最大化奖励 (最小化成本)。
混合信息和计划共识 (HIPC) 方法 [8] 使用集中分配方法,通过预测其他代理应完成的任务,在拍卖阶段生成更好的任务分配。Nanjananth和Gini [9] 提出了一种并行的重复拍卖方法,其中每个代理商都是拍卖人和竞标者,并且并行允许比典型的基于共识的拍卖方法更具适应性。 -
基于优化的方法利用分布式约束优化,博弈论,元启发式或其他优化技术。
由于任务分配问题是mTSP的一种变体,它是NP-hard ,因此随着实例大小的增加,基于优化的方法的计算工作量可能会比拍卖方法更快地增长。分散匈牙利 (DH) 算法 类似于CBAA,但通过匈牙利方法 [13] 解决任务分配问题代替了拍卖步骤。
问题定义
分散任务分配问题可以表述如下:
任务是某个代理必须访问的感兴趣的位置 (在二维空间中)。给定一组n个任务和一组m个代理,解决方案为代理指定任务序列,以便每个任务都由代理完成。目标函数是所有代理行进的总距离 (最小总和) 或访问最后一个位置的时间 (最小时间)。(这些目标是相关的,因为它们对应于最小化燃料消耗和任务完成时间。)
该系统是分散的: 没有集中的计划人员,代理人员自行制定任务分配决策。代理商从不同的位置开始。每个代理最初都知道所有感兴趣的位置,但不知道系统中其他代理的位置。每个代理可以与系统中的所有其他代理进行通信。执行任务时,座席都以相同的恒定速度旅行。访问所有感兴趣的地点后,任务终止。
这个问题相当于mTSP,其中城市是感兴趣的地点,推销员是车辆。
建模
是代理i的任务序列,并令n(i) 为该序列中的任务数。任务序列中的第j个任务是任务xij,其中xij是 {1,…,n} 的元素。
是所有代理的任务序列集。
令W为任务所在的二维工作区。令d(pa,pb) 为W中任意两点pa和pb之间的距离,为方便起见,令d(xij,xik) 为任务xij和xik的位置之间的距离。让q1,…,qm为代理的初始位置。让v成为特工的速度。
cd(xi)为代理i完成xi定义的任务序列所经过的总距离。
设c(x) 为成本函数。我们考虑了两个成本函数。
- 第一个是最小和目标,是代理商行进距离的总和:
- 第二,最小时间目标,是完成所有任务所需的时间,等于完成最后一个任务的时间:
分散遗传算法
分散GA使用最小-最大最近邻算法来构造一些解决方案。该算法是一种建设性的启发式算法,它为所有代理生成一组完整的任务序列,并分配所有存在的任务。它通过将成本最低的任务附加到代理的任务序列,直到分配所有任务,从而迭代地构造任务序列。特定代理的任务成本等于将任务附加到序列后代理的任务序列的距离。该算法可以在最小最大目标上构造高质量的任务分配。
我们的分散式遗传算法是一种新方法,它将遗传算法并行化,以解决整个代理团队中的任务分配问题,并在代理实时执行任务时不断改进分配。每个代理维护和改进解决方案; 通过在多代理系统中共享解决方案来协调这些人群是我们方法的创新功能。在每个代理的群体中,一个解决方案是一组任务序列,这些序列分配所有尚未完成的任务。每个代理定期与其他代理共享其当前的最佳解决方案,并将其收到的任何解决方案纳入其人群。由于代理交换了高质量的解决方案,因此它们在使用多个种群并充分利用GA中的并行性的同时,共同解决了任务分配问题并达成了共识。此外,通过为GA使用单独的线程,每个代理可以在代理执行任务时继续搜索更好的解决方案。
在这种分散方法中,每个代理都有两个线程:
第一个运行GA,第二个是任务序列执行线程。
该结构如图1所示,第一个线程使用已用于解决mTSP的现有GA的修改实现来解决任务分配问题。这种进化方法在多次迭代中进化 (改进) 了一群解决方案。在每次迭代中,它都会选择当前种群中质量最高的解决方案,然后对其进行变异以生成新的解决方案群体。每个解决方案都表示为任务序列和一组断点,这些断点将序列划分为每个代理的序列。每个代理都必须至少有一项任务。初始种群包括使用min-max最近邻算法构造的解决方案。GA没有迭代限制; 它一直运行到任务完成。根据需要,已完成的任务将从解决方案中删除
任务序列执行线程的伪代码在算法1中提供。
该线程定期向GA线程查询当前的最佳解决方案,并使用该解决方案确定代理要执行的当前任务序列,而不管代理的当前任务序列是什么。任务序列执行线程还与其他代理交换信息,比如已经完成的任务、代理的当前位置和代理的当前最佳解决方案。该线程与GA线程共享接收到的任何解决方案,GA线程将这些解决方案合并到其填充中。当剩余任务(位置)的数量小于代理的数量时,该线程使用最小-最大值最近邻算法来为代理构造一个任务序列(而不是使用GA的解决方案,每个代理至少有一个任务)