技术领域
[0001] 本发明涉及多飞行器在线实时多任务分配问题,尤其涉及基于市场机制的在线分配算法,属于任务分配领域。
相关背景技术
[0002] 飞行器任务分配问题是飞行器应用中的重要问题。在飞行器分配问题中,任务类型都会有所区别。因此,在考虑飞行器性能以及任务类型约束下,如何分配飞行器去执行相关任务时使得系统总收益最大是飞行器集群系统亟待解决的问题。
[0003] 分布式和集中式是现在研究多飞行器任务分配问题的主要两种算法。相对于集中式算法,分布式算法对通信中心依赖性小,可扩展性和鲁棒性都较好,通信受限下基于分布式算法的飞行器任务分配问题受到越来越广泛的关注。
具体实施方式
[0018] 下面结合附图对本发明作进一步详细说明。
[0019] 采用一种在线实时分配算法解决多人机在线实时多任务分配问题,该算法包括以下步骤:
[0020] 步骤1、建立在线算法数学模型:通过对多飞行器在线实时任务分配的需求,建立相应的数学模型,并将该数学模型通过数学公式表达出来,根据分配需求设置相应的约束条件。
[0021] 步骤2、设计投标算法:投标算法的功能是基于飞行器自身对环境、集群状态、任务状态等的态势感知结果,对飞行器完成各个任务的情况的任务收益价值进行估计;根据任务收益估计结果,基于任务选定策略,选择出有意向的任务;联系与自己有网络连接的飞行器,发送出对任务投标出价。
[0022] 步骤3、设计同步算法:同步算法的功能是接收任务投标,将收到的任务投标估价与自身对任务的价值估计进行比对,决定交易的结果;对在该运行周期内所有与其联系的飞行器进行回应,公布决定的交易结果,完成飞行器之间对任务分配结果的同步,保证全局分配结果的一致。
[0023] 步骤4、搭建相应的仿真环境验证算法的可行性:为研究该算法的实际应用效果,设计了具体案例对性能指标进行仿真验证。通过仿真结果判断算法的可行性。
[0024] 进一步地,步骤1中具体包括:
[0025] 基于任务分配原理和飞行器集群任务模型,建立如下的数学优化模型:
[0026]
[0027] S.t.
[0028]
[0029]
[0030]
[0031]
[0032] 在上式中:Y表示的飞行器执行任务的收益,N为任务的数量,M为飞行器的数量,R(SUAV(j),Stask(i))为飞行器j执行任务i的收益计算函数,SUAV(j)为第j架飞行器的状态函数,Stask(i)为第i个任务的状态函数,zi为第i个任务所需要的飞行器数量,za为执行任务的飞行器数量,状态函数表示如下:
[0033] SUAV(j)={PUAV(j),V,Cj} (4)
[0034] Stask(i)={ptask(i),Ii,Ti,Zi} (5)
[0035] 任务收益计算函数R(SUAV(j),Stask(i))正比于‑Dij、Ii、 ‑Cj、‑Ti,收益函数建立如下:
[0036]
[0037] 在上式中;PUAV(j)为第j个飞行器的位置坐标,V为飞行器的速度,Cj为第j架飞行器的损耗程度,Ptask(i)为第i个任务的位置坐标,Ii为第i个任务的重要程度,Ti为第i个任务的威胁程度,Dij为第j架飞行器到第i个任务的距离,RA,RB为任务的变动收益和基本收益,ρ、ε1、ε2、ε3、ε4、ε5为权重系数。
[0038] 进一步地,步骤2中具体包括:
[0039] 投标算法的每个循环的运行基于对态势变化的判断,即当态势发生变化时运行投标算法;飞行器在整个任务过程中始终对各任务的潜在收益R(SUAV(j),Stask(1))、R(SUAV(j),Stask(2))、R(SUAN(j),Stask(3))…、R(SUAV(j),Stask(M))进行计算,在该收益计算式中,SUAV(j)表示第j架飞行器的状态函数,stask(i)表示第i个任务的状态函数;然后判断当前所有飞行器的态势是否发生变化,并判断所持有收益是否满足以下条件:
[0040]
[0041] 式子(1)的含义是第j架飞行器的当前收益比当前的任务的最大收益要低,且该飞行器没有被分配到任务;
[0042] 该判断条件是要找到比飞行器现有任务收益更高的任务,如果这样的任务不存在,则返回算法的开始部分。
[0043] 进一步地,步骤3中具体包括:
[0044] 同步算法的每个循环的运行基于周期性的同步点,即每隔一段时间就进行一次同步;
[0045] 在整个通信过程中,其结构必须为一个完全网络,即网络的拓扑结构能够覆盖所有飞行器;
[0046] 在每一轮的迭代开始前,通过与其相连的飞行器更新任务价格,每一轮价格更新前,后一回合的更新价格均取前一回合的最大价格,价格更新公式如下:
[0047]
[0048] 其中, 表示在第τ轮迭代开始之前,第i个飞行器存储的第j个任务的价格。
[0049] 进一步地,如果整个网络能够连接通,通过不断与相邻节点进行通信,最终能够获得的最高出价。
[0050] 为了对本发明有进一步地了解,下面结合附图对本发明的一种在线实时分配算法进行详细说明。
[0051] 如图1所示,为投标算法流程图。投标算法的每个循环的运行基于对态势变化的判断,即当态势发生变化时运行投标算法,飞行器在整个任务过程中始终对各任务的潜在收益R(SUAV(j),Stask(1))、R(SUAV(j),Stask(2))、R(SUAN(j),Stask(3))…、R(SUAV(j),Stask(M))进行计算,在该收益计算式中,SUAV(j)表示第j架飞行器的状态函数,stask(i)表示第i个任务的状态函数。然后判断当前所有飞行器的态势是否发生变化,并判断所持有收益是否满足以下条件:
[0052]
[0053] 式子(1)的含义表达的是第j架飞行器的当前收益比当前的任务的最大收益要低,且该飞行器没有被分配到任务。
[0054] 该判断条件是要找到比飞行器现有任务收益更高的任务,如果这样的任务不存在,则返回算法的开始部分。
[0055] 优先的,在设计投标算法流程图前,还应该包括以下步骤:
[0056] 基于市场机制的原理和飞行器集群任务模型,建立如下的数学优化模型:
[0057]
[0058] S.t.
[0059]
[0060]
[0061]
[0062]
[0063] 在上式中:Y表示的飞行器执行任务的收益,N为任务的数量,M为飞行器的数量,R(SUAV(j),Stask(i))为飞行器j执行任务i的收益计算函数,SUAV(j)为第j架飞行器的状态函数,Stask(i)为第i个任务的状态函数,zi为第i个任务所需要的飞行器数量,za为执行任务的飞行器数量。状态函数可以表示如下:
[0064] SUAV(j)={PUAV(j),V,Cj} (4)
[0065] Stask(i)={ptask(i),Ii,Ti,Zi} (5)
[0066] 任务收益计算函数R(SUAV(j),Stask(i))正比于‑Dij、Ii、 ‑Cj、‑Ti。收益函数建立如下:
[0067]
[0068] 在上式中;PUAV(j)为第j个飞行器的位置坐标,V为飞行器的速度,Cj为第j架飞行器的损耗程度,Ptask(i)为第i个任务的位置坐标,Ii为第i个任务的重要程度,Ti为第i个任务的威胁程度,Dij为第j架飞行器到第i个任务的距离,RA,RB为任务的变动收益和基本收益,ρ、ε1、ε2、ε3、ε4、ε5为权重系数。
[0069] 如图2所示,为同步算法流程图。同步算法的每个循环的运行基于周期性的同步点,即每隔一段时间就进行一次同步。
[0070] 如图3所示,为飞行器集群间网络通信图。在整个通信过程中,其结构必须为一个完全网络,即网络的拓扑结构能够覆盖所有飞行器。在最佳的环境下,通信网络可以在短时间内实现所有任意两架飞行器间的点对点通信。
[0071] 在本发明的完全分布式算法中,由于没有指定唯一的僚机来收集并广播所有任务的价格信息,飞行器并不知道任务的全局最高价格,在每一轮的迭代开始前,它只能通过与其相连的飞行器更新任务价格。价格更新公式如下:
[0072]
[0073] 公式的含义是每一轮价格更新前,后一回合的更新价格均取前一回合的最大价格。
[0074] 其中, 表示在第τ轮迭代开始之前,第i个飞行器存储的第j个任务的价格,显然如果整个网络都能够连接通的话,通过不断与相邻节点进行通信,最终也能够获得的最高出价。
[0075] 为研究该算法的实际应用效果,设计了以下案例对性能指标进行仿真。飞行器指挥中心接到上级指令,派出飞行器集群执行任务。设定区域范围为200*200,飞行器的速度为200m/s,其他飞行器和目标的具体参数此处不详述。根据实际应用环境,对该算法进行仿真验证,具体的仿真结果见下图。
[0076] 如图3所示,为仿真时最初状态下的分配结果。我们根据算法设计了相应的应用场景,初始状态下是3个任务目标,10个飞行器,运行该算法可以得到最佳的分配效果。
[0077] 如图4所示,为目标位置发生改变后的分配结果。当任务目标的位置发生改变后,相对于初始情况,分配结果也发生了变化。
[0078] 如图5所示,为目标增加后的分配结果。当增加了一个任务目标后,此时4个任务目标,10个飞行器,对应的分配结果也发生了变化。
[0079] 如图6所示,为飞行器的位置发生改变后的分配结果。当飞行器的位置发生变化后,分配结果都发生了变化。
[0080] 如图7所示,为不同算法下规划周期所耗时间与目标数量关系曲线图,我可以看到,当目标任务小于5个时,本发明算法所耗时间与传统集中式分配算法所耗时间相比优势不是特别明显,但是当目标任务大于5个后,本发明算法在规定周期内所耗时间明显优于传统算法。
[0081] 应用本发明的技术方案,提供了一种一种在线实时分配算法,相对于传统的集中式任务分配算法,该算法算法对通信中心的依赖性弱,鲁棒性强,稳定性好;与其它的分布式任务分配算法相比较,一种在线实时分配算法具有计算复杂性低,运行效率高的优点。该方法适用于多飞行器在线实时的多任务分配场景,能够很好的满足任务分配需求。