CN112862251B - 一种基于改进pi算法的分布式多auv任务分配方法 - Google Patents
一种基于改进pi算法的分布式多auv任务分配方法 Download PDFInfo
- Publication number
- CN112862251B CN112862251B CN202110038319.3A CN202110038319A CN112862251B CN 112862251 B CN112862251 B CN 112862251B CN 202110038319 A CN202110038319 A CN 202110038319A CN 112862251 B CN112862251 B CN 112862251B
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- list
- auv
- rpi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004891 communication Methods 0.000 claims description 15
- 230000008901 benefit Effects 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 11
- 230000009191 jumping Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 7
- 238000004088 simulation Methods 0.000 abstract description 2
- 238000013459 approach Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于改进PI算法的分布式多AUV任务分配方法,属于多AUV任务分配领域。采用动态分组分配策略来加速任务分配方案的收敛,提出一种新的任务交换方法并将其加入到经典PI算法的三阶段体系中来解决局部最优问题。仿真结果表明,与经典PI算法相比,改进PI算法可以在不需要更多迭代次数的前提下很好地解决局部最优问题并能保证产生的任务分配方案是无冲突的。
Description
技术领域
本发明属于多AUV任务分配技术领域,具体涉及一种基于改进PI算法的分布式多AUV任务分配方法。
背景技术
AUV的任务分配是多自主水下机器人研究领域的根本问题,体现了多AUV***高层自组织形式与运行机制,是多AUV***目标实现的基础。具体来说,它解决的是多个AUV在协同执行多个任务时哪个AUV执行哪些任务,同时还需要确定每个AUV执行任务的先后顺序。任务分配的结果会影响整个多AUV***效能,而且还会关系到每艘AUV能否最大限度地使用自身资源。因此,多AUV任务分配方法的研究具有重要的意义。
当前,多AUV任务分配问题已显示为NP难题,获得全局最优解的计算量很大。早期的研究使用集中式方法来生成任务分配结果,以通过使用能够收集整个***信息的中央服务器来协作所有AUV。通过这种方法,可以基于中央服务器上所有AUV信息的完整收集,显著地最小化或最大化所关注问题的总体目标函数。
但是,集中式任务分配方法有着显著的缺点,特别是对于大型***而言。第一,集中式任务分配方法要求中央服务器和每个智能体之间保持一致和完整的通信,这就使得服务器增加了沉重的通信负担,并且还缩小了任务覆盖范围。第二,因为所有计算操作都放在中央服务器上,在任务执行的过程中,中央服务器必须跟踪每个智能体的基本内部知识的变化,导致该方法的计算需求很高,第三,集中式任务分配方法容易遭受单点故障。
在实际应用中,由于每个AUV不能知晓全局信息且只能与相邻的AUV进行通信,因此研究分布式的多AUV任务分配方法显然是更有意义的。现有技术中,捆绑算法(CBBA)和性能影响算法(PI算法)是对分布式的多AUV任务分配方法进行研究的主要方法。
捆绑算法(CBBA)在一个捆绑包构建阶段和冲突解决阶段之间进行迭代,从而在所有智能体中实现无冲突的解决方案。同时CBBA也被证明了可以在所有智能体情境意识不一致和通信网络拓扑变化的情况下收敛到无冲突的分配方案上。
性能影响算法(PI算法)能够用于解决多智能体和多任务分配问题,并引入了重要性的新概念来衡量任务对每辆车产生的本地成本的贡献。在优化总体目标时,该算法考虑了任务之间的协同作用,因此,可以通过在不同智能体之间切换任务以满足特定标准来降低执行任务的总体成本。已被证明了该方法的有效性及其与CBBA相比的出色性能。
PI算法作为最新的分布式任务分配算法已被广大学者用于救援任务的研究中。但是,由于PI算法旨在将每个任务的重要性往小的方向进行共识,因此容易陷入局部最优,因为在特定情况下,小的重要性并不能代表最优的任务分配方案。因此,设计一种新的方法来解决局部最优问题显得尤为重要。
发明内容
本发明解决的技术问题是:为了解决最新的分布式任务分配算法(PI算法)容易陷入局部最优的问题,本发明提供一种基于改进PI算法的分布式多AUV任务分配方法。
本发明的技术方案是:一种基于改进PI算法的分布式多AUV任务分配方法,包括以下步骤:
步骤1:定义有n个AUV(v1,v2,...,vn),需要执行m个任务(t1,t2,...,tm);采用集中式的方法对需要执行的任务进行预分配,预分配结果使得对应位置的AUV执行对应位置的任务,得出的分配结果作为分布式任务分配的迭代初值,并开始迭代过程;
步骤2:对步骤1中AUV进行分区块配置,其中每个块中的AUV的数量大于等于2,且要求所有块的并集包含通信图的所有边缘;每个AUV根据块配置确定本次迭代自身所属的块,并计算块内总任务其中,T′表示块内总任务,Tj表示块内成员的执行任务集合,B表示当前块;
步骤3:基于性能影响算法(PI算法),得到共识后的任务分配结果;
步骤4:判断步骤3中的分配任务结果和上次的迭代一样,则进入任务交换阶段;否则,跳至步骤5;其中进入任务交换阶段包括以下子步骤:
子步骤4.1:AUV将对自身所在块内的所有任务执行步骤4.2至步骤4.12以其中的某一任务Taskp为例;
子步骤4.2:由任务分配列表β找出Taskp所属的AUV,记为vi;
子步骤4.3:找出块内除了vi的所有AUV所包含的任务集合T*=T′\ai;
子步骤4.4:对T*内的所有任务,循环执行步骤4.5至步骤4.9;
子步骤4.5:将当前所要交换的任务记为Taskq;
子步骤4.6:由任务分配列表β找出Taskq所属的AUV,记为vj;
子步骤4.7:找出当vi放弃执行Taskp转而去执行Taskq的收益,记为
子步骤4.8:找出当vj放弃执行Taskq转而去执行Taskp的收益,记为
子步骤4.9:如果则将profit及Taskp、Taskq作为一组数据记录在表Data中;
子步骤4.10:找出表Data中profit最大的数据所对应的Taskp、Taskq;
子步骤4.11:更新任务分配列表β,βp=j,βq=i;
子步骤4.12:更新RPI列表γp,其中找出vi放弃执行Taskp转而去执行Taskq则所执行的所有任务的RPI变化情况,并在对应任务位置更新γp;vj同上;
步骤5:若更新结果已经收敛,则结束;否则,跳至步骤2,进行新一轮任务分配。
本发明进一步的技术方案是:所述步骤3中的PI算法采用A HeuristicDistributed Task Allocation Method for Multivehicle Multitask Problems andIts Application to Search and Rescue Scenario及A novel distributed schedulingalgorithm for time-critical multi-agent systems文中的描述。
本发明进一步的技术方案是:所述步骤2中的分区块配置采用The block-information-sharing strategy for task allocation:A case study for structureassembly with aerial robots文中的块配置。
本发明进一步的技术方案是:所述m的取值范围为m∈[10,100]。
本发明进一步的技术方案是:所述n的取值范围为n∈[10,100]。
发明效果
本发明的技术效果在于:本发明所提出的一种基于改进PI算法的分布式多AUV任务分配方法,采用动态分组分配(BIS)策略来加速任务分配方案的收敛,提出了新的任务交换方法并将其加入到原算法的三阶段体系中来解决局部最优问题。仿真结果表明,与经典的PI算法相比,改进PI算法可以在不需要更多迭代次数的前提下很好地解决局部最优问题并能保证产生的任务分配方案是无冲突的。
附图说明
图1为算法流程图
图2为AUV通信拓扑图
图3为BIS策略下的两种块配置
图4为冲突解决方案
图5为可能出现的局部最优现象
图6为初始时刻的任务分配结果图
图7为基于PI算法的分布式任务分配结果
图8为基于改进PI算法的分布式任务分配结果
图9为两种算法的任务执行代价变化图
具体实施方式
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
参见图1-图9,为了使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
一种基于改进PI算法的分布式多AUV任务分配方法,算法同时在每个AUV上运行,步骤如下:
步骤1:采用集中式的方法对任务进行预分配,得出的分配结果作为分布式任务分配的迭代初值;
预分配包括任务聚类和任务排序两个阶段,任务聚类用来确定哪个AUV来执行哪些个任务,任务排序用来求得AUV执行其对应任务的最佳任务执行序列。
步骤2:确定本次迭代的块配置,计算块内总任务
Caraballo证明了块信息共享策略(BIS策略)可以加快收敛至最佳解决方案的速度。本方法采用BIS策略来实现AUV间的动态分组分配。
步骤3:任务包含阶段tj∈T′\ai;
步骤4:冲突解决阶段;
步骤5:任务移除阶段;
步骤6:如果共识后的任务分配结果和上次的一样(有可能陷入局部最优),则进入任务交换阶段。否则,跳至步骤7;
提出一种新的任务交换方法来解决局部最优现象,同时必须保证任务分配的共识。
步骤7:如果结果已经收敛或者足够好,则结束。否则,跳至步骤2;
这里评判任务分配方案的指标设计为执行所有任务的航程总和。
本方法所考虑的多AUV***分布式任务分配问题是指在一定区域内,由n个异构AUV(v1,v2,...,vn)执行m个任务(t1,t2,...,tm)且m>n,每个AUV只能根据收到的邻居AUV的信息和任务信息进行任务分配,最终形成的任务分配方案需使得异构多AUV***的任务执行代价全局最优且每个AUV执行的任务序列是无冲突的。
AUV的异构性体现在每个AUV携带的资源数量不同(资源数量设定为整数,反映AUV能执行多少个任务)以及航行速度不同。vi的有序任务列表描述为其中|ai|是分配给vi的任务数量。令d(ai)表示ai的总行驶距离,则:
任务分配的目标可以描述为:
图1为本发明实施例的流程图。如图1所示,本发明所提出的一种基于改进PI算法的分布式多AUV任务分配方法,包括以下步骤:
步骤1:采用集中式的方法对任务进行聚类并对任务进行排序,得出的分配结果作为分布式任务分配的迭代初值;
用Ti表示分配给vi的任务集。值得注意的是,如果AUV的信息不一致,则不同的AUV将获得不同的聚类结果,那么某些任务可能属于两个或多个不同的AUV的优先级任务集。由于此处产生的任务冲突将会在之后的冲突解决阶段与其余AUV进行交流后被消除,因此允许存在此类冲突。
步骤2:确定本次迭代的块配置,计算块内总任务
由于AUV的通信范围有限,因此假设AUV只能与邻居共享信息。AUV之间的关系可以描述为一个通信图,其中每个节点都对应一个AUV,并且两个节点之间的连接表示两个AUV之间可以相互通信并共享信息。图2显示了一个实际的AUV通信拓扑图。
将一个块定义为通信图的连接子图,该子图用该块内AUV的索引表示。一个块配置是将通信图划分为多个块。BIS策略支持两个或多个块配置,但必须要求它们的并集包含通信图的所有边缘。图3显示了两个这样的块配置,由于它们的并集包含所有边缘,因此可以在策略中使用它们。
假设所有AUV都具有相同的迭代周期,即每个AUV同时开始新的迭代,则可以在分配开始之前确定算法中所使用的块配置并确定自己当前所在的块B,多AUV***通过循环使用图3中的两种块配置来完成任务的重新分配,同时分配结果将收敛于最优分配。值得注意的是,在每次使用一种块配置以后,必须保证该种块配置下的每个块的分配结果是无冲突且局部最优的。
步骤3:任务包含阶段tj∈T′\ai
PI算法引入了两种新颖的概念来描述任务删除和任务加入对本地的任务执行序列所产生的影响,分别为移除性能影响(RPI)以及包容性能影响(IPI):
任务tk相对于其分配的vi的RPI定义为:
其中,表示从任务序列ai中移除任务tk,ci表示vi执行相应的任务序列所花费的代价。PI算法中每个vi都有自己的RPI列表γi=[w1,i,...,wm,i]T,i=1,...,n用来存储所有任务的RPI。除了自己所要执行的任务被计算并存储在表中之外,其余任务相对于其对应AUV的RPI也被存储在表中。
任务tk相对于其分配的vi的IPI定义为:
其中表示将任务tk***到任务序列ai中的第l个位置。同样地,PI算法为每个vi编制了IPI列表/>i=1,...,n用来存储所有任务的IPI。当任务已包含在AUV的任务列表中时,/>为无穷大值。
如果满足下式,则表明从vi的任务列表ai中删除任务tk并将其添加到vj的任务列表aj中是可以降低总体成本的:
需要注意的是,将某一任务tk从vi的任务列表ai中删除所得的RPI与再次将其添加到相同位置所得到的IPI具有相同的值。
为了促进共识,每个vi还编制了任务分配列表βi=[βi,1,...,βi,m]T,i=1,...,n。该列表记录了将哪个任务分配给哪个AUV的分配情况。
通过比较全局任务的RPI列表γi和任务IPI列表(其中γi,k和/>分别是它们中的对应条目),将最大目标减少对应的任务(即/>)添加到有序任务列表ai的位置/>中。添加完成后,需要更新有序任务列表ai中所有任务的RPI同时任务分配列表βi的第/>个元素被更新为vi,即/>循环执行上述操作,当不再满足条件或|ai|已满足所能执行任务的最大数量时,该过程将停止。
步骤4:冲突解决阶段
vi在执行冲突解决阶段之前,需要将其RPI列表γi进行备份得到列表副本在这个阶段,对/>以及βi进行更新而不更新γi。vi与块内的AUV成员交换RPI列表γi,任务分配列表βi以及时间戳列表si。当收到所有成员的列表后,将根据图4中的冲突解决方案来更新RPI列表和任务分配列表,并执行三种行动(更新(γij=γkj,βij=βkj)、离开(γij=γij,βij=βij)以及重置/>)中的一种。该冲突解决方案已被证明对于整个智能体集合的情境意识不一致和通信网络拓扑变化均具有鲁棒性。
图4中的表为Consensus-Based Decentralized Auctions for Robust TaskAllocation一文中所述,在此基础上进行适当修改:
1)原文中的标价列表y在此对应文中的RPI列表γ;
2)原文中的获胜待代理列表zi在此对应文中的AUV列表β;
3)文中的RPI列表γi是向下进行共识的,而原文中的标价列表yi是向上进行共识的。
步骤5:任务删除阶段
vi首先通过di=ai[βi[ai]≠vi]找到打算从任务列表ai中删除的一组任务,它表示ai中的任务在共识以后的βi中被标识为已分配给其他AUV,并将这组任务记为di。接下来逐一地删除任务,通过计算找出使得任务的RPI减小最大的任务来进行删除并更新ai及di。由于di中的任务之间有很强的关联性,因此在每删除一个任务后,需重新计算任务列表ai中剩余任务的RPI即γi[ai]。重复执行上述删除任务的操作,直到di为空或不在满足上述条件为止。完成上述过程后需更新当前所在块B的其余AUV成员所执行任务的RPI,即/>
值得注意的是,由于vi可能因为不再满足而退出任务删除阶段,即vi随着任务的删除和其余任务的RPI更新到一定阶段后,并不认为自己应继续删除任务了,但当前所在块B的其余AUV成员仍以为vi会删除掉所有的di,由于每次迭代必须保证块内是没有冲突的,故在这种情况下应重新回到步骤4冲突解决阶段继续发起共识。
步骤6:如果共识后的任务分配结果和上次的一样(有可能陷入局部最优),则进入任务交换阶段。否则,跳至步骤7;
下面对局部最优进行解释:PI算法中提到,当vi所执行的任务达到其所能执行的最大任务个数时,便不会在任务包含阶段再去包含其他的任务,而当遇到这种情况时,vi再想包含其余任务只能是等某次迭代的冲突解决阶段自己的任务被分配给其余的vj后,才能在下次任务包含阶段再次包含任务,这时就很容易出现局部最优。
图5显示了可能出现的局部最优现象。图中的任务分配结果可以表示为a1=[12],a2=[34],显然a1=[32],a2=[14]的任务代价更小,即AUV1与AUV2交换Task1与Task3的任务分配结果更优。这是由于AUV2在达到其最大任务执行数后(假定为2个),不再对其任务进行更新。由公式3可知,由于AUV2执行Task4的缘故,Task3对于AUV2来说具有较小的RPI。AUV1在每次迭代的任务包含阶段仍会包含Task3,但由于Task3对于AUV1的RPI较大且原则上是将任务的RPI向下共识,故在每次的冲突解决阶段,AUV1都会被迫放弃对Task3的争夺,而AUV2继续保持执行Task3。
假定vi执行Taskp,vj执行Taskq,则vi放弃执行Taskp转而去执行Taskq的收益(即执行任务的代价的减少量)可被定义为:
若为正值,表明vi放弃执行Taskp转而去执行Taskq会使得执行任务的代价减少,相反则表明放弃执行转而去执行会使得执行任务的代价增加。
vj会存在一个来表明vj放弃执行Taskq转而去执行Taskp的收益,如果满足下式,则表明vi与vj交换Taskp与Taskq会使得全局任务分配效果更优:
由于不仅需要实现块内成员对任务分配列表的共识,还应实现块内成员对RPI列表的共识。因此,不仅需要向块内成员发送自己放弃执行Taskp转而去执行Taskq的收益还应向块内成员发送若执行上述操作则所执行的所有任务的RPI变化情况。
本方法中,定义了任务交换阶段来允许实现上述的操作,在这个阶段,每个vi都将计算自己的任务与当前块内其他成员的任务进行交换所产生的收益以及执行此操作所导致的所执行所有任务的RPI变化情况,并将其发送给当前块内其他成员,同时也将接收当前块内其他成员所发送的有关信息。当vi接收到当前块内所有其他成员所发送的信息后,将对所有任务进行交换判断,看它与别的任务进行交换是否会使得全局更优。
值得注意的是,最终将只选择使得全局优化力度最大的一组任务交换操作来执行,而不是所有满足公式7的交换操作。这是由于每次的交换操作都将影响其余任务的RPI,故其余任务的任务交换收益将不再有效。这样的约定也使得任务交换的共识得以实现。
当AUV向块内成员发送并接收任务交换信息后,依次讨论块内总任务T′中的每个任务的归属情况并更新该任务的RPI值,具体的操作步骤如下所示:
步骤6.1:将当前所讨论的任务记为Taskp;
步骤6.2:由任务分配列表β找出Taskp所属的AUV,记为vi;
步骤6.3:找出块内除了vi的所有AUV所包含的任务集合T*=T′\ai;
步骤6.4:对T*内的所有任务,循环执行步骤6.5至步骤6.9;
步骤6.5:将当前所要交换的任务记为Taskq;
步骤6.6:由任务分配列表β找出Taskq所属的AUV,记为vj;
步骤6.7:找出当vi放弃执行Taskp转而去执行Taskq的收益,记为
步骤6.8:找出当vj放弃执行Taskq转而去执行Taskp的收益,记为
步骤6.9:如果则将profit及Taskp、Taskq作为一组数据记录在表Data中;
步骤6.10:找出表Data中profit最大的数据所对应的Taskp、Taskq;
步骤6.11:更新任务分配列表β(βp=j,βq=i);
步骤6.12:更新RPI列表γp(找出vi放弃执行Taskp转而去执行Taskq则所执行的所有任务的RPI变化情况,并在对应任务位置更新γp。vj同上。)
具体实施例:
步骤1:考虑由10个AUV去执行30个任务的情况,AUV采用的通信拓扑图及块配置如图3所示,AUV所携带的资源数量分别为{5465355354}。对于所提出方法的收敛准则,确定5次连续迭代无法获得更好的解决方案。
通过与基于PI算法的分布式任务分配方法的结果进行对比,分析本发明所提方法的优越性。
步骤2:初始时刻的任务分配结果图如图6所示,采用集中式的方法对任务进行聚类并对任务进行排序,得出的分配结果作为分布式任务分配的迭代初值。如AUV2初始时刻的任务执行序列为a2=[1212529],AUV9初始时刻的任务执行序列为a2=[2220523];
步骤3:图7显示了基于PI算法的分布式任务分配优化过程。由图可知,PI算法最终迭代出一个相对较为合理的任务分配结果。可以看出:
1)由于AUV4、AUV5、AUV8及AUV10距任务的距离较远,且其余AUV有足够的资源去执行全部的任务,故不再参与任务的执行,这是合理的;
2)每个被分配执行任务的AUV对于其所执行的任务均有合理的路线规划。
3)在AUV6与AUV9的任务分配中,出现了很明显的局部最优现象,显然AUV6用Task11去交换AUV9的Task24是更合理的。通过分析可以看出,AUV9在达到其最大任务执行数后,不再对其任务进行更新,又由于Task24对AUV9来说具有很小的RPI,故很难在冲突解决阶段被重新分配给其余的AUV,因而造成了局部最优现象。
步骤4:图8显示了基于改进PI算法的分布式任务分配优化过程。图9显示了两种算法的任务执行代价变化图。由图可知:
1)改进的PI算法能有效解决了基本PI算法所出现的局部最优问题。AUV6与AUV9实现了任务的交换,处于多AUV右侧的AUV9执行任务群的最右侧5个任务。此外,AUV6与AUV7也实现了任务的交换,使得任务分配结果更优。
2)基本PI算法收敛时的任务执行代价为109.3,而改进的PI算法收敛时的任务执行代价为102.6,显著降低了任务分配结果的任务执行代价。
3)改进的PI算法与基本PI算法都在迭代次数达到7时开始收敛,改进的PI算法并不需要更多的迭代次数。
Claims (3)
1.一种基于改进PI算法的分布式多AUV任务分配方法,其特征在于,包括以下步骤:
步骤1:定义有n个AUVv1,v2,…,vn,需要执行m个任务t1,t2,…,tm;采用集中式的方法对需要执行的任务进行预分配,预分配结果使得对应位置的AUV执行对应位置的任务,得出的分配结果作为分布式任务分配的迭代初值,并开始迭代过程;
步骤2:对步骤1中AUV进行分区块配置,其中每个块中的AUV的数量大于等于2,且要求所有块的并集包含通信图的所有边缘;每个AUV根据块配置确定本次迭代自身所属的块,并计算块内总任务其中,T′表示块内总任务,Tj表示块内成员的执行任务集合,B表示当前块;
步骤3:基于PI算法,得到共识后的任务分配结果;
任务包含阶段tj∈T′\ai
PI算法引入了两种概念来描述任务删除和任务加入对本地的任务执行序列所产生的影响,分别为移除性能影响RPI以及包容性能影响IPI:
任务tk相对于其分配的vi的RPI定义为:
wk,i(aiΘtk)=ci(ai)-ci(aiΘtk) (1)
其中,aiΘtk表示从任务序列ai中移除任务tk,ci表示vi执行相应的任务序列所花费的代价;PI算法中每个vi都有自己的RPI列表γi=[w1,i,…,wm,i]T,i=1,…,n用来存储所有任务的RPI;除了自己所要执行的任务被计算并存储在表中之外,其余任务相对于其对应AUV的RPI也被存储在表中;
任务tk相对于其分配的vi的IPI定义为:
其中表示将任务tk***到任务序列ai中的第l个位置;同样地,PI算法为每个vi编制了IPI列表/>用来存储所有任务的IPI;当任务已包含在AUV的任务列表中时,/>为无穷大值;
如果满足下式,则表明从vi的任务列表ai中删除任务tk并将其添加到vj的任务列表aj中是可以降低总体成本的:
需要注意的是,将某一任务tk从vi的任务列表ai中删除所得的RPI与再次将其添加到相同位置所得到的IPI具有相同的值;
为了促进共识,每个vi还编制了任务分配列表βi=[βi,1,...,βi,m]T,i=1,...,n;该列表记录了将哪个任务分配给哪个AUV的分配情况;
通过比较全局任务的RPI列表γi和任务IPI列表其中γi,k和/>分别是它们中的对应条目,将最大目标减少对应的任务即/>添加到有序任务列表ai的位置/>中;添加完成后,需要更新有序任务列表ai中所有任务的RPI同时任务分配列表βi的第/>个元素被更新为vi,即/>循环执行上述操作,当不再满足条件或|ai|已满足所能执行任务的最大数量时,该过程将停止;
冲突解决阶段中,
vi在执行冲突解决阶段之前,需要将其RPI列表γi进行备份得到列表副本在这个阶段,对/>以及βi进行更新而不更新γi;vi与块内的AUV成员交换RPI列表γi,任务分配列表βi以及时间戳列表si;当收到所有成员的列表后,将根据图4中的冲突解决方案来更新RPI列表和任务分配列表,并执行三种行动更新γij=γkj,βij=βkj、离开γij=γij,βij=βij以及重置γij=∞,/>)中的一种;该冲突解决方案已被证明对于整个智能体集合的情境意识不一致和通信网络拓扑变化均具有鲁棒性;
任务删除阶段中,vi首先通过di=ai[βi[ai]≠vi]找到打算从任务列表ai中删除的一组任务,它表示ai中的任务在共识以后的βi中被标识为已分配给其他AUV,并将这组任务记为di;接下来逐一地删除任务,通过计算找出使得任务的RPI减小最大的任务来进行删除并更新ai及di;由于di中的任务之间有很强的关联性,因此在每删除一个任务后,需重新计算任务列表ai中剩余任务的RPI即γi[ai];重复执行上述删除任务的操作,直到di为空或不在满足上述条件为止;完成上述过程后需更新当前所在块B的其余AUV成员所执行任务的RPI,即/>
由于vi可能因为不再满足而退出任务删除阶段,即vi随着任务的删除和其余任务的RPI更新到一定阶段后,并不认为自己应继续删除任务了,但当前所在块B的其余AUV成员仍以为vi会删除掉所有的di,由于每次迭代必须保证块内是没有冲突的,故在这种情况下应重新回到步骤4冲突解决阶段继续发起共识;
步骤4:判断步骤3中的分配任务结果和上次的迭代一样,则进入任务交换阶段;否则,跳至步骤5;其中进入任务交换阶段包括以下子步骤:
子步骤4.1:AUV将对自身所在块内的所有任务执行步骤4.2至步骤4.12以其中的某一任务Taskp为例;
子步骤4.2:由任务分配列表β找出Taskp所属的AUV,记为vi;
子步骤4.3:找出块内除了vi的所有AUV所包含的任务集合T*=T′\ai;
子步骤4.4:对T*内的所有任务,循环执行步骤4.5至步骤4.9;
子步骤4.5:将当前所要交换的任务记为Taskq;
子步骤4.6:由任务分配列表β找出Taskq所属的AUV,记为vj;
子步骤4.7:找出当vi放弃执行Taskp转而去执行Taskq的收益,记为
子步骤4.8:找出当vj放弃执行Taskq转而去执行Taskp的收益,记为
子步骤4.9:如果则将profit及Taskp、Taskq作为一组数据记录在表Data中;
子步骤4.10:找出表Data中profit最大的数据所对应的Taskp、Taskq;
子步骤4.11:更新任务分配列表β,βp=j,βq=i;
子步骤4.12:更新RPI列表γp,其中找出vi放弃执行Taskp转而去执行Taskq则所执行的所有任务的RPI变化情况,并在对应任务位置更新γp;vj同上;
步骤5:若更新结果已经收敛,则结束;否则,跳至步骤2,进行新一轮任务分配。
2.如权利要求1所述的一种基于改进PI算法的分布式多AUV任务分配方法,其特征在于,所述m的取值范围为m∈[10,100]。
3.如权利要求1所述的一种基于改进PI算法的分布式多AUV任务分配方法,其特征在于,所述n的取值范围为n∈[10,100]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110038319.3A CN112862251B (zh) | 2021-01-12 | 2021-01-12 | 一种基于改进pi算法的分布式多auv任务分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110038319.3A CN112862251B (zh) | 2021-01-12 | 2021-01-12 | 一种基于改进pi算法的分布式多auv任务分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112862251A CN112862251A (zh) | 2021-05-28 |
CN112862251B true CN112862251B (zh) | 2024-02-09 |
Family
ID=76002979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110038319.3A Active CN112862251B (zh) | 2021-01-12 | 2021-01-12 | 一种基于改进pi算法的分布式多auv任务分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862251B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622348A (zh) * | 2017-09-18 | 2018-01-23 | 哈尔滨工程大学 | 一种任务顺序约束下的异构多auv***任务协调方法 |
CN110334897A (zh) * | 2019-05-10 | 2019-10-15 | 燕山大学 | 一种基于区块链奖励机制的无人机搜寻装置及方法 |
CN111538349A (zh) * | 2020-04-17 | 2020-08-14 | 中国海洋大学 | 面向多任务的长航程auv自主决策方法 |
CN111665866A (zh) * | 2020-06-24 | 2020-09-15 | 西北工业大学 | 一种基于性能影响算法的多无人机任务分配方法 |
CN111798097A (zh) * | 2020-06-06 | 2020-10-20 | 浙江科钛机器人股份有限公司 | 一种基于市场机制的自主移动机器人任务分配处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11854405B2 (en) * | 2018-06-06 | 2023-12-26 | International Business Machines Corporation | Performing vehicle logistics in a blockchain |
-
2021
- 2021-01-12 CN CN202110038319.3A patent/CN112862251B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622348A (zh) * | 2017-09-18 | 2018-01-23 | 哈尔滨工程大学 | 一种任务顺序约束下的异构多auv***任务协调方法 |
CN110334897A (zh) * | 2019-05-10 | 2019-10-15 | 燕山大学 | 一种基于区块链奖励机制的无人机搜寻装置及方法 |
CN111538349A (zh) * | 2020-04-17 | 2020-08-14 | 中国海洋大学 | 面向多任务的长航程auv自主决策方法 |
CN111798097A (zh) * | 2020-06-06 | 2020-10-20 | 浙江科钛机器人股份有限公司 | 一种基于市场机制的自主移动机器人任务分配处理方法 |
CN111665866A (zh) * | 2020-06-24 | 2020-09-15 | 西北工业大学 | 一种基于性能影响算法的多无人机任务分配方法 |
Non-Patent Citations (4)
Title |
---|
A Heuristic Distributed Task Allocation Method for Multivehicle Multitask Problems and Its Application to Search and Rescue Scenario;Zhao, Wanqing .et;《IEEE TRANSACTIONS ON CYBERNETICS》;20160401;全文 * |
Efficient distributed algorithm of dynamic task assignment for swarm roboticsZadeh, Somaiyeh de;Mendonca, Rafael Mathias.et;《NEUROCOMPUTING》;20151216;全文 * |
多自主水下航行器区域搜索与协同围捕方法研究;王宏健等;《中国造船》;20100615(第02期);全文 * |
异构多智能体联盟动态任务分配;李相民;《西北工业大学学报》;20201015;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112862251A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | A distributed method for dynamic multi-robot task allocation problems with critical time constraints | |
Turner et al. | Distributed task rescheduling with time constraints for the optimization of total task allocations in a multirobot system | |
Jones et al. | Time-extended multi-robot coordination for domains with intra-path constraints | |
Zhao et al. | A heuristic distributed task allocation method for multivehicle multitask problems and its application to search and rescue scenario | |
Le Bouthillier et al. | A cooperative parallel meta-heuristic for the vehicle routing problem with time windows | |
Johnson et al. | Asynchronous decentralized task allocation for dynamic environments | |
Gehring et al. | Parallelization of a two-phase metaheuristic for routing problems with time windows | |
Jia et al. | A survey and analysis of task allocation algorithms in multi-robot systems | |
CN109948855A (zh) | 一种带时间窗的异构危化品运输路径规划方法 | |
CN102158417A (zh) | 实现多约束QoS路由选择的优化方法及装置 | |
CN104636204A (zh) | 一种任务调度方法与装置 | |
CN112632744B (zh) | 基于超网络模型的作战体系架构建模方法及空间探索方法 | |
CN103914556A (zh) | 大规模图数据处理方法 | |
CN109063041A (zh) | 关系网络图嵌入的方法及装置 | |
CN113671987A (zh) | 基于非死锁合同网算法的多机分布式时序任务分配方法 | |
CN115062868B (zh) | 一种预聚类的车辆配送路径规划方法和装置 | |
CN113408949A (zh) | 一种机器人时序任务规划方法及装置、电子设备 | |
CN112862251B (zh) | 一种基于改进pi算法的分布式多auv任务分配方法 | |
CN110689174A (zh) | 基于公共交通的人员路线规划方法及装置 | |
CN111190711B (zh) | Bdd结合启发式a*搜索的多机器人任务分配方法 | |
Camelo et al. | A scalable parallel Q-learning algorithm for resource constrained decentralized computing environments | |
CN114610058A (zh) | 一种集群飞行器多任务分布式任务分配方法 | |
Andreadakis et al. | Synthesis of distributed command and control for the outer air battle | |
Rai et al. | Load balanced distributed directories | |
CN111813525A (zh) | 一种异构***工作流调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |