CN114610058A - 一种集群飞行器多任务分布式任务分配方法 - Google Patents

一种集群飞行器多任务分布式任务分配方法 Download PDF

Info

Publication number
CN114610058A
CN114610058A CN202210197081.3A CN202210197081A CN114610058A CN 114610058 A CN114610058 A CN 114610058A CN 202210197081 A CN202210197081 A CN 202210197081A CN 114610058 A CN114610058 A CN 114610058A
Authority
CN
China
Prior art keywords
task
aircraft
tasks
time
steps
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.)
Pending
Application number
CN202210197081.3A
Other languages
English (en)
Inventor
高程
步雨浓
都延丽
刘燕斌
郝明瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Beijing Electromechanical Engineering Research Institute
Original Assignee
Nanjing University of Aeronautics and Astronautics
Beijing Electromechanical Engineering Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics, Beijing Electromechanical Engineering Research Institute filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202210197081.3A priority Critical patent/CN114610058A/zh
Publication of CN114610058A publication Critical patent/CN114610058A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/104Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种集群飞行器多任务分布式任务分配方法,对所有任务按照时序约束进行分层;对上层任务应用改进CBBA算法,完成任务包的构建;各飞行器与相邻飞行器进行数据交换,并按照改进CBBA的共识规则更新获胜信息和时间戳,以获得无冲突的任务分配方案;各飞行器检查自己的获胜信息与任务包信息是否冲突,如果冲突则释放任务包中的冲突任务及其后续任务;对任务分配结果进行死锁检测和修正;对上层任务的开始时间进行更新,以满足集群飞行器执行型任务同时开始的约束;判断当前任务是否为底层任务,如果是则输出任务分配结果,否则求解下层任务的软时间窗,然后进行任务分配直至输出任务分配结果。本发明实现单层任务无冲突和无死锁的任务分配;对复杂的整体任务按照时序顺序进行分层解耦,以实现时序耦合多任务的顺序分层求解。

Description

一种集群飞行器多任务分布式任务分配方法
技术领域
本发明属于飞行器任务规划技术领域,尤其涉及一种集群飞行器多任务分布式任务分配方法。
背景技术
随着信息化、网络化、体系化对抗的发展,现代战争的任务要求更加复杂多样。单架飞行器受限于结构简单、功能单一、容错性差等特点,已无法满足作战需求。多架乃至集群飞行器可以通过协同合作,充分利用各自性能、载荷和作战能力等优势对敌方目标进行全方位侦察和打击,从而提高命中率和作战实效性。同时,集群中的部分单机毁伤和失效并不影响最终任务的完成效果,具备更高的鲁棒性和可信度。因此,利用集群飞行器协同执行任务已成为飞行器发展的必然趋势。集群飞行器的任务分配是在满足各项约束条件的前提下,按照一定的规则分配飞行器对给定的目标执行多个任务,保证系统各项任务有序高效地执行,合理的任务分配是提高集群飞行器执行任务系统效能的关键。集群飞行器任务分配问题可以看作是复杂多约束条件下的组合优化问题,求解方法主要分为集中式和分布式两种。
集中式的方法主要包括最优化方法和启发式方法,例如混合整数线性规划法、遗传算法、粒子群算法等,最优化方法适合于寻找简单问题的最优解,启发式方法虽然寻优能力较强,但在问题规模较大时易陷入局部最优,并且求解过程过于依靠中心节点的计算,中心节点计算负荷较大,计算效率较低,系统的鲁棒性较差。分布式的任务分配方法大多基于市场机制,例如合同网协议和拍卖算法等。与集中式的方法相比,分布式方法可并行计算,计算效率高,时效性好,具有较好的可扩展性和鲁棒性,成为近年来国内外学者们研究的热点。一致性包算法(Consensus basedbundle algorithm,CBBA)是一种拍卖算法,它将一致性算法的收敛性与拍卖方法的鲁棒性和计算效率相结合,通过不断迭代任务包构建和一致性冲突消解两个阶段可以得到无冲突的任务分配方案。但现有的分布式任务分配研究中,大多针对简单场景下的独立任务,未考虑各任务之间的时序耦合关系,对分布式时序任务的研究也未考虑小协同时间窗约束下多飞行器同时执行的任务及其带来的死锁问题。
发明内容
发明目的:本发明提供了一种集群飞行器多任务分布式任务分配方法,实现单层任务无冲突和无死锁的任务分配;并将关联任务间的时序约束转化为软时间窗约束,以实现时序耦合多任务的顺序分层求解。
技术方案:本发明所述的一种集群飞行器多任务分布式任务分配方法,包括以下步骤:
(1)初始化任务分配信息变量;
(2)对所有任务按照时序约束进行分层,其中上层任务为时序优先级较高的任务,同一目标的下层任务需等待上层任务完成后才能执行;
(3)对上层任务应用改进CBBA算法,完成任务包的构建;
(4)各飞行器与相邻飞行器进行数据交换,并按照改进CBBA的共识规则更新获胜信息和时间戳,以获得无冲突的任务分配方案;
(5)各飞行器检查自己的获胜信息与任务包信息是否冲突,如果冲突则释放任务包中的冲突任务及其后续任务;
(6)循环步骤(3)至步骤(5),直至各飞行器任务路径序列不再发生变化,得到无冲突的任务分配方案;
(7)对任务分配结果进行死锁检测和修正;
(8)对上层任务的开始时间进行更新,以满足集群飞行器执行型任务同时开始的约束;
(9)判断当前任务是否为底层任务,如果是则输出任务分配结果,否则将各区域下层任务的开始时间替换为上层任务的结束时间,构建同一目标区域的关联任务的软时间窗,以满足关联任务之间的时序约束;
(10)循环步骤(3)至步骤(9),直至输出任务分配结果。
进一步地,步骤(1)所述的任务分配信息包括各飞行器信息、目标区域信息、任务信息。
进一步地,所述步骤(3)包括以下步骤:
(31)每一轮选择任务时,飞行器首先对满足约束条件的所有任务计算边际增益作为投标值,任务j加入bi的边际增益cij的计算方法为:
Figure BDA0003526307330000031
其中,
Figure BDA0003526307330000032
表示将任务j插入到pi中的第n位生成的新路径列表,原pi中第n位及其以后的元素保持原顺序不变,依次后移,J为飞行器i能够执行的任务集,J\bi表示从任务集J中去掉bi中已有的任务,
Figure BDA0003526307330000033
表示飞行器i沿pi执行任务的总收益;
Figure BDA0003526307330000034
的计算方法为:
Figure BDA0003526307330000035
其中,rwdij和cstij分别为飞行器i执行任务j的收益和代价,其中cstij=γidij,为了保证所有任务都被执行,采用固定收益和时间折扣收益结合的形式计算收益rwdij,具体计算方法为:
Figure BDA0003526307330000036
其中,Rj0为执行任务的固定收益,Rj为时间折扣收益的基础收益,0<λj<1为任务j的时间折扣系数,它决定了基础收益随时间的衰减速度,tij为飞行器i执行任务j的时间,u(tij)为与执行任务的时间有关的决策变量:
Figure BDA0003526307330000037
其中,
Figure BDA0003526307330000038
为任务j的时间窗,
Figure BDA0003526307330000039
为任务j的耗时;
(32)当任务j为单飞行器执行型时,飞行器i只需将自己的投标值与任务j的获胜投标值作比较来决定是否投标,若自己的投标值更高则投标,当两者投标值相同时,若飞行器i的编号较小,同样进行投标;当任务j为多飞行器共同执行型时,需要判断竞标的飞行器数量是否满足任务j的需求;若飞行器i认为任务j未分配满荷,直接进行投标;若飞行器i认为任务j已分配满荷,飞行器i需要将自己的投标值与任务j的最小获胜投标值作比较来决定是否投标;同样的,当二者相同时,选择编号小的飞行器;
(33)一轮投标完成后,飞行器i从所有投标的任务中选择投标值最大的任务加入自己的任务包bi中,并更新路径列表和获胜信息;
(34)重复步骤(31)至(33),不断进行任务包的构建直到任务包达到上限或者已无满足约束条件的任务可选,飞行器i可执行的最大任务数量Li为:
Figure BDA0003526307330000041
其中,ceil(·)为向上取整运算符,reqj为任务j的载荷需求数量,num为用于执行当前类型任务的飞行器的数量,loadi为飞行器i携带的载荷资源数。
进一步地,所述步骤(4)包括以下步骤:
(41)飞行器i首先接收来自相邻飞行器k的获胜信息和时间戳;
(42)若任务j为只需要单个飞行器执行,按照CBBA算法的共识规则进行冲突消解;
(43)若任务j需要多个飞行器共同执行,此时的冲突消解分为两个阶段;第一阶段,接收方i将已存储的获胜信息与发送方k进行比较,以确认自身已存储的信息是当前最新的;第二阶段,接收方从发送方获取新信息并将其与自己的信息合并。
进一步地,所述步骤(7)包括以下步骤:
(71)构建多飞行器执行型任务节点的有向图G;
(72)利用深度优先搜索算法检测G中是否存在回路;
(73)若存在回路,则利用最近邻原则找到交换代价最小的两个节点i和j,按照编号的大小进行排序,找到先执行i后执行j任务的飞行器k,交换其路径列表中i和j的位置;
(74)更新有向图G,然后循环步骤(72)至(73),重新检测是否存在回路,若存在回路,继续修正,直到整个任务方案无死锁。
进一步地,所述步骤(8)包括以下步骤:
(81)以任务j最晚到达的飞行器的预估到达时间为基准,更新当前任务的最新开始时间t_latestj,并求得pi中任务原开始时间与最新开始时间的差值t_deltai,m
(82)综合前序任务的差值与当前任务的差值对t_deltai,m进行更新,并计算更新后的任务开始时间;
(83)循环步骤(81)至(82),直至t_deltai,m中的值全为0,得到更新后的上层任务开始时间。
有益效果:与现有技术相比,本发明的有益效果:本发明对一致性包算法的任务包构建和冲突消解规则进行了改进和扩展,并设计了一种基于有向图深度优先搜索的方法进行死锁检测和修正,以实现单层任务无冲突和无死锁的任务分配;对复杂的整体任务按照时序顺序进行分层解耦,然后将任务之间的时序约束转化为动态的软时间窗约束,以实现时序耦合多任务的顺序分层求解。
附图说明
图1是本发明的方法流程图;
图2是死锁问题示意图;
图3是各飞行器任务时序图;其中,(a)为侦察任务时序图;(b)为打击任务时序图;(c)为评估任务时序图;
图4是任务分配结果时空示意图;
图5是任务分配结果二维平面示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
本发明提供一种集群飞行器多任务分布式任务分配方法,针对集群飞行器协同执行复杂耦合多任务的任务分配问题,首先将任务按照时序顺序进行分层,对CBBA算法的任务包构建过程和冲突消解规则进行了改进和扩展,并设计了一种基于有向图深度优先搜索的方法进行任务方案的死锁检测和修正,以实现单层任务无冲突和无死锁的任务分配。最后利用上层任务的分配结果,构建下层任务的动态软时间窗,将时序耦合任务之间的时序约束转化为软时间窗约束,以实现时序耦合多任务的顺序分层求解;如图1所示,具体包括以下步骤:
步骤1,初始化各飞行器信息、目标区域信息、任务信息等任务分配关键变量。
假设在任务区域中共有NT个目标区域和NV架无人飞行器,NT和NV分别为目标区域和飞行器的数量。目标区域集表示为T={T1,T2,...,TNT},飞行器集表示为U={U1,U2,...,UNV}。由集群飞行器对每个目标区域依次执行侦察(C)、打击(A)、毁伤效果评估(V)任务,将同一目标区域中的不同任务称为“关联任务”。飞行器待执行的总任务集表示为M={MC,MA,MV},共有NM=3NT个任务,其中,侦察任务集表示为MC={M1,M2,...,MNT},其他任务集类似。将飞行器i能够执行的任务集定义为J。假设NV架飞行器分为3类,不同类别的飞行器携带的载荷资源不同,因此用于执行不同的任务。类型1和类型3的飞行器携带侦察探测类资源,分别用于执行侦察任务和评估任务,并且载荷资源在执行完一次任务后不发生变化;类型2的飞行器携带有限数量的机载弹药类资源,用于执行打击任务,这类载荷资源属于消耗型资源,执行完一次任务后载荷资源将减少。每个区域的侦察和打击任务由单架或多架飞行器来执行,毁伤效果评估任务由单架飞行器即可完成。为了提高任务成功的概率,由多架飞行器执行的任务设定为同时进行,例如同时侦察、同时打击任务。
步骤2,对所有任务按照时序约束进行分层,其中上层任务为时序优先级较高的任务,同一目标的下层任务需等待上层任务完成后才能执行。
对所有任务按照时序约束分层为侦察、打击、毁伤效果评估任务,其中上层任务为时序优先级较高的任务,同一目标的下层任务需等待上层任务完成后才能执行。
步骤3,对上层任务应用改进CBBA算法,完成任务包的构建。
对顶层侦察任务应用改进CBBA算法,完成任务包的构建。任务包构建由各飞行器同时在本地进行,在这个阶段飞行器以最大化自身边际收益增益为原则选择任务来生成投标列表bi、pi和矩阵Zi、Yi,不断迭代这个过程,直到任务包达到上限Li或已无可选任务。其中任务包列表bi存储分配给飞行器i任务集合、任务路径列表pi存储飞行器i待执行任务序列集合、获胜者矩阵Zi代替列表zi来存储认为的获胜飞行器,获胜投标值矩阵Yi代替列表yi存储i认为的获胜飞行器的投标值。Li为飞行器i可执行的最大任务数量,计算方法为:
Figure BDA0003526307330000071
其中,ceil(·)为向上取整运算符,reqj为任务j的载荷需求数量,num为用于执行当前类型任务的飞行器的数量,loadi为飞行器i携带的载荷资源数。
步骤3.1,每一轮选择任务时,飞行器首先对满足约束条件的所有任务计算边际增益作为投标值,任务j加入bi的边际增益cij的计算方法为:
Figure BDA0003526307330000072
其中,
Figure BDA0003526307330000073
表示将任务j插入到pi中的第n位生成的新路径列表,原pi中第n位及其以后的元素保持原顺序不变,依次后移,J\bi表示从任务集J中去掉bi中已有的任务,
Figure BDA0003526307330000074
表示飞行器i沿pi执行任务的总收益,
Figure BDA0003526307330000075
的计算方法为:
Figure BDA0003526307330000076
其中,rwdij和cstij分别为飞行器i执行任务j的收益和代价,其中cstij=γidij,为了保证所有任务都被执行,采用固定收益和时间折扣收益结合的形式计算收益rwdij,具体计算方法为:
Figure BDA0003526307330000077
其中,Rj0为执行任务的固定收益,Rj为时间折扣收益的基础收益,0<λj<1为任务j的时间折扣系数,它决定了基础收益随时间的衰减速度,tij为飞行器i执行任务j的时间,u(tij)为与执行任务的时间有关的决策变量:
Figure BDA0003526307330000081
其中,
Figure BDA0003526307330000082
为任务j的时间窗,
Figure BDA0003526307330000083
为任务j的耗时。
步骤3.2,在计算得到所有任务的投标值之后,飞行器要综合考虑各个任务对载荷资源的需求以及比较自身投标值与获胜者投标值来决定是否投标。当任务j为单飞行器执行型时,飞行器i只需将自己的投标值与任务j的获胜投标值作比较来决定是否投标,若自己的投标值更高则投标,当两者投标值相同时,若飞行器i的编号较小,同样进行投标。
当任务j为多飞行器共同执行型时,需要判断竞标的飞行器数量是否满足任务j的需求。若飞行器i认为任务j未分配满荷,直接进行投标。若飞行器i认为任务j已分配满荷,飞行器i需要将自己的投标值与任务j的最小获胜投标值作比较来决定是否投标。同样的,当二者相同时,选择编号小的飞行器。
步骤3.3,一轮投标完成后,飞行器i从所有投标的任务中选择投标值最大的任务加入自己的任务包bi中,并更新路径列表和获胜信息。
步骤3.4,重复步骤3.1至步骤3.3,飞行器不断进行任务包的构建直到任务包达到上限或者已无满足约束条件的任务可选。
步骤4,各飞行器与相邻飞行器进行数据交换,并按照改进CBBA算法的共识规则更新获胜信息和时间戳si,以获得无冲突的任务分配方案。
步骤4.1,飞行器i首先接收来自相邻飞行器k的获胜信息和时间戳。
步骤4.2,若任务j为只需要单个飞行器执行,将矩阵Zi和Yi还原为列表zi和yi,然后按照CBBA算法的共识规则进行冲突消解,最后再将列表转为矩阵进行存储。
步骤4.3,若任务j需要多个飞行器共同执行,此时的冲突消解分为两个阶段。第一阶段,接收方i将已存储的获胜信息与发送方k进行比较,以确认自身已存储的信息是当前最新的。
步骤4.4,第二阶段,接收方从发送方获取新信息并将其与自己的信息合并。若发送方k认为飞行器m(m≠i)执行任务j,且接收方i中没有此信息时,接收方i需要判断任务j分配是否满荷,若未满荷,则进行更新。若任务j分配已满荷,则需要比较Yi第j列的非零最小投标值与
Figure BDA0003526307330000091
的值,若飞行器m的投标值更大时,将最小投标值的飞行器替换为飞行器m,并更新获胜信息。同样的,当投标值相同时,选择编号较小的飞行器。
步骤5,更新任务包。各飞行器检查自己的获胜信息与任务包信息是否冲突,如果冲突则释放任务包中的冲突任务及其后续任务。
步骤6,循环步骤3至步骤5,直至各飞行器任务路径序列不再发生变化,得到无冲突的任务分配方案。
步骤7,对任务分配结果进行死锁检测和修正。
为了避免不同飞行器执行同一任务时,出现无限循环等待的死锁现象,需要对任务分配结果进行死锁检测和修正。如图2所示,为死锁问题的示意图。采用有向图G=<V,E>的方式来描述死锁问题,其中节点V设为仅考虑需要多个飞行器共同执行的任务节点,E为有向图的边集,E中的边线(i,j)表示存在飞行器从节点i到节点j执行任务。任务序列无死锁等价于有向图G为有向无环图。
步骤7.1,构建集群飞行器执行型任务节点的有向图G。
步骤7.2,利用深度优先搜索算法检测G中是否存在回路。
步骤7.3,若存在回路,则利用最近邻原则找到交换代价最小的两个节点i和j,按照编号的大小进行排序,找到先执行i后执行j任务的飞行器k,交换其路径列表中i和j的位置。
步骤7.4,更新有向图G,然后循环步骤7.2至7.3,重新检测是否存在回路,若存在回路,继续修正,直到整个任务方案无死锁。
步骤8,对上层任务的开始时间进行更新,以满足集群飞行器执行型任务同时开始的约束。
步骤8.1,以任务j最晚到达的飞行器的预估到达时间为基准,更新当前任务的最新开始时间t_latestj,并求得pi中任务原开始时间与最新开始时间的差值t_deltai,m
步骤8.2,综合前序任务的差值与当前任务的差值对t_deltai,m进行更新,并计算更新后的任务开始时间。
步骤8.3,循环步骤8.1至8.2,直至t_deltai,m中的值全为0,得到更新后的上层任务开始时间。
步骤9,判断当前任务是否为底层任务,如果是则输出任务分配结果,否则将各区域下层任务的开始时间替换为上层任务的结束时间,构建同一目标区域的关联任务的软时间窗,以满足关联任务之间的时序约束。
在更新所有上层侦察任务的开始时间后,将各区域下层打击任务的开始时间替换为上层任务的结束时间,构建同一区域的关联打击任务的软时间窗,以满足侦察和打击任务之间的时序约束。然后对打击任务按照扩展CBBA算法进行求解,并进行死锁检测和修正。最后,按照同时打击的约束更新打击任务的开始时间,构建底层的评估任务的软时间窗,并进行评估任务的无冲突分配。由于评估任务均为单飞行器执行型任务,因此无需进行死锁检测和开始时间更新。
步骤10,输出任务分配结果,任务分配结束。
在50km×50km的范围内有12个目标区域,分配携带三种不同载荷的18架无人飞行器到目标区域依次执行侦察任务、打击任务和毁伤效果评估任务。假设侦察、打击、评估任务的任务耗时分别设为30s、25s、20s,无人飞行器的参数如表1所示,目标区域的参数如表2所示。仿真平台为具有Intel Core i5-6300HQ2.30GHz处理器和8G内存的PC机,软件环境为MATLAB R2019a。
表1飞行器参数
Figure BDA0003526307330000101
Figure BDA0003526307330000111
表2目标区域参数
Figure BDA0003526307330000112
Figure BDA0003526307330000121
仿真耗时0.41s,任务分配的结果如表3示,各飞行器执行任务的时序图如图3(a)至图3(c)所示,任务分配结果的三维时空和二维平面的示意图分别如图4和图5所示。从任务分配结果的相关图表可以看出,集群飞行器执行型任务同时开始,任务分配方案无死锁,并且每个目标区域的侦察、打击和评估任务依次进行,满足时序约束。
表3任务分配结果
Figure BDA0003526307330000122
Figure BDA0003526307330000131
实施例的结果表明,本发明基于改进CBBA算法的多任务分布式任务分配方法可以处理复杂的协同耦合多任务分布式任务分配问题,得到的任务分配结果无冲突无死锁,并且具有较好的最优性和时效性,能够适应动态场景下的高实时性要求,因此本发明具有很强的工程实用性,并且能够实现预期的发明目的。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种集群飞行器多任务分布式任务分配方法,其特征在于,包括以下步骤:
(1)初始化任务分配信息变量;
(2)对所有任务按照时序约束进行分层,其中上层任务为时序优先级较高的任务,同一目标的下层任务需等待上层任务完成后才能执行;
(3)对上层任务应用改进CBBA算法,完成任务包的构建;
(4)各飞行器与相邻飞行器进行数据交换,并按照改进CBBA的共识规则更新获胜信息和时间戳,以获得无冲突的任务分配方案;
(5)各飞行器检查自己的获胜信息与任务包信息是否冲突,如果冲突则释放任务包中的冲突任务及其后续任务;
(6)循环步骤(3)至步骤(5),直至各飞行器任务路径序列不再发生变化,得到无冲突的任务分配方案;
(7)对任务分配结果进行死锁检测和修正;
(8)对上层任务的开始时间进行更新,以满足集群飞行器执行型任务同时开始的约束;
(9)判断当前任务是否为底层任务,如果是则输出任务分配结果,否则将各区域下层任务的开始时间替换为上层任务的结束时间,构建同一目标区域的关联任务的软时间窗,以满足关联任务之间的时序约束;
(10)循环步骤(3)至步骤(9),直至输出任务分配结果。
2.一种集群飞行器多任务分布式任务分配方法,其特征在于,步骤(1)所述的任务分配信息包括各飞行器信息、目标区域信息、任务信息。
3.根据权利要求1所述的一种集群飞行器多任务分布式任务分配方法,其特征在于,所述步骤(3)包括以下步骤:
(31)每一轮选择任务时,飞行器首先对满足约束条件的所有任务计算边际增益作为投标值,任务j加入bi的边际增益cij的计算方法为:
Figure FDA0003526307320000011
其中,
Figure FDA0003526307320000012
表示将任务j插入到pi中的第n位生成的新路径列表,原pi中第n位及其以后的元素保持原顺序不变,依次后移,J为飞行器i能够执行的任务集,J\bi表示从任务集J中去掉bi中已有的任务,
Figure FDA0003526307320000021
表示飞行器i沿pi执行任务的总收益;
Figure FDA0003526307320000022
的计算方法为:
Figure FDA0003526307320000023
其中,rwdij和cstij分别为飞行器i执行任务j的收益和代价,其中cstij=γidij,为了保证所有任务都被执行,采用固定收益和时间折扣收益结合的形式计算收益rwdij,具体计算方法为:
Figure FDA0003526307320000024
其中,Rj0为执行任务的固定收益,Rj为时间折扣收益的基础收益,0<λj<1为任务j的时间折扣系数,它决定了基础收益随时间的衰减速度,tij为飞行器i执行任务j的时间,u(tij)为与执行任务的时间有关的决策变量:
Figure FDA0003526307320000025
其中,
Figure FDA0003526307320000026
为任务j的时间窗,
Figure FDA0003526307320000027
为任务j的耗时;
(32)当任务j为单飞行器执行型时,飞行器i只需将自己的投标值与任务j的获胜投标值作比较来决定是否投标,若自己的投标值更高则投标,当两者投标值相同时,若飞行器i的编号较小,同样进行投标;当任务j为多飞行器共同执行型时,需要判断竞标的飞行器数量是否满足任务j的需求;若飞行器i认为任务j未分配满荷,直接进行投标;若飞行器i认为任务j已分配满荷,飞行器i需要将自己的投标值与任务j的最小获胜投标值作比较来决定是否投标;同样的,当二者相同时,选择编号小的飞行器;
(33)一轮投标完成后,飞行器i从所有投标的任务中选择投标值最大的任务加入自己的任务包bi中,并更新路径列表和获胜信息;
(34)重复步骤(31)至(33),不断进行任务包的构建直到任务包达到上限或者已无满足约束条件的任务可选,飞行器i可执行的最大任务数量Li为:
Figure FDA0003526307320000031
其中,ceil(·)为向上取整运算符,reqj为任务j的载荷需求数量,num为用于执行当前类型任务的飞行器的数量,loadi为飞行器i携带的载荷资源数。
4.根据权利要求1所述的一种集群飞行器多任务分布式任务分配方法,其特征在于,所述步骤(4)包括以下步骤:
(41)飞行器i首先接收来自相邻飞行器k的获胜信息和时间戳;
(42)若任务j为只需要单个飞行器执行,按照CBBA算法的共识规则进行冲突消解;
(43)若任务j需要多个飞行器共同执行,此时的冲突消解分为两个阶段;第一阶段,接收方i将已存储的获胜信息与发送方k进行比较,以确认自身已存储的信息是当前最新的;第二阶段,接收方从发送方获取新信息并将其与自己的信息合并。
5.根据权利要求1所述的一种集群飞行器多任务分布式任务分配方法,其特征在于,所述步骤(7)包括以下步骤:
(71)构建多飞行器执行型任务节点的有向图G;
(72)利用深度优先搜索算法检测G中是否存在回路;
(73)若存在回路,则利用最近邻原则找到交换代价最小的两个节点i和j,按照编号的大小进行排序,找到先执行i后执行j任务的飞行器k,交换其路径列表中i和j的位置;
(74)更新有向图G,然后循环步骤(72)至(73),重新检测是否存在回路,若存在回路,继续修正,直到整个任务方案无死锁。
6.根据权利要求1所述的一种集群飞行器多任务分布式任务分配方法,其特征在于,所述步骤(8)包括以下步骤:
(81)以任务j最晚到达的飞行器的预估到达时间为基准,更新当前任务的最新开始时间t_latestj,并求得pi中任务原开始时间与最新开始时间的差值t_deltai,m
(82)综合前序任务的差值与当前任务的差值对t_deltai,m进行更新,并计算更新后的任务开始时间;
(83)循环步骤(81)至(82),直至t_deltai,m中的值全为0,得到更新后的上层任务开始时间。
CN202210197081.3A 2022-03-01 2022-03-01 一种集群飞行器多任务分布式任务分配方法 Pending CN114610058A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210197081.3A CN114610058A (zh) 2022-03-01 2022-03-01 一种集群飞行器多任务分布式任务分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210197081.3A CN114610058A (zh) 2022-03-01 2022-03-01 一种集群飞行器多任务分布式任务分配方法

Publications (1)

Publication Number Publication Date
CN114610058A true CN114610058A (zh) 2022-06-10

Family

ID=81860866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210197081.3A Pending CN114610058A (zh) 2022-03-01 2022-03-01 一种集群飞行器多任务分布式任务分配方法

Country Status (1)

Country Link
CN (1) CN114610058A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115525068A (zh) * 2022-10-29 2022-12-27 中国电子科技集团公司第十五研究所 基于迭代优化的无人机集群协同任务分配方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115525068A (zh) * 2022-10-29 2022-12-27 中国电子科技集团公司第十五研究所 基于迭代优化的无人机集群协同任务分配方法

Similar Documents

Publication Publication Date Title
Chen et al. A distributed method for dynamic multi-robot task allocation problems with critical time constraints
CN112016812B (zh) 多无人机任务调度方法、系统及存储介质
CN107330560B (zh) 一种考虑时序约束的异构飞行器多任务协同分配方法
CN110632907A (zh) 一种分布式装配式置换流水车间调度优化方法及系统
CN110969362B (zh) 一种云计算系统下多目标任务调度方法及系统
CN113671987B (zh) 基于非死锁合同网算法的多机分布式时序任务分配方法
Hemmelmayr Sequential and parallel large neighborhood search algorithms for the periodic location routing problem
CN103345504A (zh) 单星调度的算子构建方法
CN105468439A (zh) 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法
CN111860957B (zh) 一种考虑二次配送和平衡用时的多车型车辆路径规划方法
CN114610058A (zh) 一种集群飞行器多任务分布式任务分配方法
CN115756478A (zh) 计算图的算子自动融合方法及相关产品
CN116090742A (zh) 一种考虑时间窗约束的无人集群分布式任务分配算法
CN115202402A (zh) 一种无人机集群多任务动态分配方法
CN108108242B (zh) 基于大数据的存储层智能分发控制方法
CN110780947A (zh) 用于社交图数据的PageRank并行计算加速方法
CN109635328A (zh) 集成电路布局方法以及分布式设计方法
CN115564374A (zh) 协同多任务重分配方法、装置、设备及可读存储介质
CN103164747B (zh) 一种战场抢修资源重组优化决策方法
Klimenko et al. The comparative estimation of workload relocation approaches in the fog-and edge-computing environments
CN112948087A (zh) 一种基于拓扑排序的任务调度方法及系统
Laili et al. Parallel transfer evolution algorithm
CN114691327A (zh) 面向两阶段任务调度的多目标群智能优化方法与系统
Mandal et al. A genetic algorithm for the synthesis of structured data paths
Eltayeb et al. A data scheduling algorithm for autonomous distributed real-time applications in grid computing

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