一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于非死锁合同网算法的多机分布式时序任务分配方法与流程

2021-11-22 13:26:00 来源:中国专利 TAG:


1.本发明涉及基于非死锁合同网算法的多机分布式时序任务分配方法,属于任务分配技术领域。


背景技术:

2.耦合的任务时序约束对多机任务分配带来较大技术挑战,易造成多无人机因为时序冲突而陷入死锁现象,无法获得可行解。因此,有效避免时序任务分配中的死锁问题至关重要。
3.时序任务分配方法主要包括集中式与分布式两类方法。在集中式架构下,根据死锁产生机理,通过中心节点实现整个系统的非死锁任务调度。然而,集中式任务分配架构存在中心计算节点,依赖全局通信,系统抗毁性较差。另外,随着任务分配问题规模增大,集中式架构下任务分配方法求解耗时呈超线性增长,难以满足在线实时求解的需求。
4.在分布式架构下,各无人机不依赖于中心计算节点,通过机间通信协商实现任务的高效分配,具备更好的算法鲁棒性与稳定性。市场竞争机制法通常采用分层求解方式处理分布式时序任务分配问题,可有效规避任务死锁现象,但该类方法固化了时序任务的分配次序,缩减了可行解空间,分配结果最优性有待进一步提升。另外,在势博弈框架下,通过引入调度算法处理复杂时序任务分配问题,能够显著提升大规模问题的求解效率,但由于均衡选择时采用随机抽样,该方法最优性仍难以保证。


技术实现要素:

5.本发明公开的基于非死锁合同网算法的多机分布式时序任务分配方法要解决的技术问题为:根据实际任务需要,在合同网算法任务排序过程中充分考虑耦合时序任务影响,结合死锁判据消除不可行排序方案,避免任务时序死锁,并对招标无人机选取机制与合同网算法收敛条件进行改进以进一步扩展可行解空间,提升多无人机时序任务分配结果最优性。本发明基于竞争机制,因此具有优化效率高的特点。
6.本发明的目的是通过下述技术方案实现的:
7.本发明公开的基于非死锁合同网算法的多机分布式时序任务分配方法,针对多无人机协同任务分配的时序约束问题,建立时序任务分配模型,并提出时序任务死锁判据。在合同网算法任务排序过程中充分考虑耦合时序任务影响,优先选择最近邻任务,结合用于消除不可行排序方案的死锁判据递归回溯,生成满足死锁约束的任务排序方案,并对招标无人机选取机制与算法收敛条件改进,进而提出一种基于竞争机制的非死锁合同网(df

cnp)算法,在分布式架构下并行非死锁合同网(df

cnp)算法,高效率输出多无人机非死锁时序任务分配结果。
8.本发明公开的基于非死锁合同网算法的多机分布式时序任务分配方法,包括如下步骤:
9.步骤一:以最小化无人机任务执行时长总和与整体任务完成时间为优化目标,考
虑任务时序约束,建立多无人机时序任务分配模型。
10.考虑w个目标,目标表示为o={o1,o2,

,o
w
}。多无人机需对每个目标依次执行侦察、打击、评估任务,任务集表示为t={t1,t2,

,t
n
},记任务数量为n=t,则n=3w。考虑存在k架异构无人机,表示为u={u1,u2,

,u
k
},具体分为战斗型、侦察型和打击型无人机。战斗型无人机能够执行t中的全部任务,侦察型无人机能够执行侦察、评估任务,打击型无人机仅执行打击任务。各任务仅由单架无人机执行,且每一个目标的任务时序为侦察

打击

评估。
11.考虑任务执行过程中减小系统整体任务代价与均衡各机代价,以最小化无人机任务执行时长总和与整体任务完成时间为优化目标,构建多无人机时序任务分配模型如下
[0012][0013][0014]
x
i,n
∈{0,1}
ꢀꢀꢀ
(3)
[0015][0016]
式(1)中,α、β为权重系数。x
i,n
是二元变量,当任务t
n
分配给无人机u
i
时,x
i,n
=1,反之为0。c
i,n
为无人机u
i
完成任务t
n
的时长,表示为
[0017][0018]
其中,表示无人机u
i
从任务点t
m
抵近至任务点t
n
的时长,表示u
i
抵达任务点t
n
后的等待时长,表示任务t
n
的执行时长。
[0019]
式(4)中,表示目标o
w
上的任务x,x∈{r,a,v};t
str
(
·
)表示任务开始执行的时刻,t
end
(
·
)为任务执行结束时刻。
[0020]
步骤二:在合同网算法任务排序过程中充分考虑耦合时序任务影响,优先选择最近邻任务,结合用于消除不可行排序方案的死锁判据递归回溯,并对招标无人机选取机制与算法收敛条件改进,形成基于竞争机制的非死锁合同网(df

cnp)算法。在分布式架构下并行非死锁合同网(df

cnp)算法,高效率输出多无人机非死锁时序任务分配结果,在合同网任务排序过程中结合死锁判据避免任务时序死锁,通过改进招标无人机选取机制与算法收敛条件进一步扩展可行解空间,提升多无人机时序任务分配结果最优性。
[0021]
所述的招标者无人机选取机制改进为:所有无人机均按无人机编号顺序担任招标者无人机。所述算法收敛条件改进为:所有无人机均担任招标者无人机后,且算法代价不再降低,则满足算法收敛条件。
[0022]
步骤2.1:无人机u
i
参数初始化。所述无人机u
i
参数具体包括无人机u
i
基本参数信息、招标者编号、目标位置、他机编号与类型。所述无人机u
i
基本参数信息包括初始位置、最小转弯半径。
[0023]
步骤2.2:无人机u
i
身份判断。每轮协商开始前,无人机u
i
对自身身份进行判断,若
无人机u
i
当前身份是投标者无人机,转入步骤2.6,等待招标者无人机发布任务序列;反之,当前身份是招标者无人机,执行步骤2.3。
[0024]
步骤2.3:招标者无人机u
i
向全体投标者无人机发布持有任务序列与剩余任务序列。所述持有任务序列具体为无人机u
i
当前待执行任务序列,剩余任务序列是指无人机u
i
依次卖出各任务后的剩余任务序列。
[0025]
步骤2.4:招标者无人机u
i
发布中标信息。无人机u
i
接收全部投标者无人机发布的标书及对应投标任务,从中选取标书值最大的无人机作为中标者,并向全部投标者无人机公布中标信息。将卖出投标任务后的剩余任务序列作为更新后的任务排序方案。
[0026]
步骤2.5:通过招标者无人机更新策略判断是否满足招标者无人机更新与算法收敛条件。若满足招标者无人机更新条件,则招标者无人机编号向后顺延,同时向全部投标者无人机公布招标者无人机更新信息。返回步骤2.2;若满足收敛条件,则无人机u
i
向所有投标无人机发布算法收敛信息,终止非死锁合同网(df

cnp)算法,此时各无人机生成的任务分配结果即为满足时序约束的多无人机可行分配方案。
[0027]
所述招标者无人机更新策略为:当多轮协商后的系统代价无法降低,且仍存在无人机未担任招标者无人机,见式(6),则招标者无人机身份按编号顺移至后续无人机。
[0028][0029]
其中,r表示第r轮交易,τ为收敛指定迭代次数,z
auc
为招标者编号,k为无人机数量。
[0030]
所述算法收敛条件为:若多次协商后系统代价无法降低,且此时全部无人机均已担任过招标者无人机,则算法收敛退出。
[0031]
步骤2.6:若无人机u
i
身份判断为投标者无人机,接收招标者无人机发布信息后,无人机u
i
与其他投标者无人机并行开展标书计算,选择招标者无人机持有任务纳入自身任务序列,通过非死锁排序算法完成非死锁排序。依据排序结果与招标者无人机剩余任务序列通过代价计算方法进行代价计算,选择最小化整体代价的任务进行投标,并向投标者无人机发布标书及对应投标任务。
[0032]
所述非死锁排序算法具体为:将无人机u
i
持有任务视作多个节点,构建当前节点的邻近任务集合依据预估代价矩阵l
i
选择距离最近的节点j*加入无人机u
i
任务序列s
i
,标记节点j*为已访问节点,直至非死锁排序算法当前搜索深度d与无人机u
i
持有的任务数量n
i
相同。根据s
i
构建任务时序有向图h,并依据死锁判据进行s
i
死锁检测。
[0033]
若任务序列s
i
非死锁,且搜索次数λ小于等于预设阈值则非死锁排序算法获得一组可行排序方案,非死锁排序算法结束;若则非死锁排序算法递归退出。若任务序列s
i
死锁,则从任务序列s
i
中移除最近邻节点j*,重置j*为未访问节点,选择剩余最邻近节点继续排序过程。若无邻近节点,则递归回溯至任务序列中前一节点继续排序过程,直至非死锁排序算法结束或退出。
[0034]
所述预估代价矩阵l
i
计算方式为:
[0035][0036]
其中,无人机u
i
当前任务集为q
i
,表示无人机u
i
从任务t
m
到t
n
的预估抵近代价,使用任务间欧式距离进行预估;0)为执行任务t
n
前的预估等待代价,表示无人机u
i
开始执行任务t
n
的预估时刻,表示无人机u
i
结束执行任务t
m
的预估时刻;表示任务t
n
的执行时长。
[0037]
所述死锁判据为:若id(h)为0或od(h)为0,只要任务调整后h无环,即满足全局任务非死锁。若id(h)和od(h)均不为0,只要任务调整后h无环,且h不产生新的边界可达对,即能够保证全局任务非死锁。其中,任务调整是指无人机u
i
选择招标者持有任务纳入自身任务序列的过程;指向h的有向边为h的入弧,其数量为h的入度,记为id(h);由h指出的有向边为h的出弧,其数量为h的出度,记为od(h)。
[0038]
所述代价计算方法为:协商前后整体代价变化由式(8)计算
[0039][0040]
其中,招标者无人机u
i
、投标者无人机u
j
持有任务序列分别为s
i
、s
j
,任务集为q
i
、q
j
,持有任务数量为n
i
、n
j
。无人机u
j
从s
i
中买入任务t
m
加入自身序列s
j
,通过非死锁排序,无人机u
j
任务序列变为对应无人机u
i
剩余任务序列为表示无人机u
i
执行任务序列s
i
的代价,α、β为式(1)中的权重系数,s
i,n
表示任务序列s
i
中第n个任务,表示任务序列s
i
中各任务代价累加。包含三部分代价:抵近时长代价、等待时长代价和执行时长代价,由式(5)计算。
[0041]
所述标书生成方法为:无人机u
j
依次对s
i
中的所有任务计算协商前后的整体代价变化,从中选取最小化整体代价的任务作为投标任务,并发布标书值bid
j,i
为整体代价变化的最大值。
[0042][0043][0044]
步骤2.7:投标者无人机u
i
判断是否中标。无人机u
i
若接收到中标信息则更新自身任务序列。若未中标,则保持原有任务序列。
[0045]
步骤2.8:若投标者无人机u
i
收到算法收敛信息,则终止非死锁合同网(df

cnp)算法,无人机u
i
按当前分配结果执行任务。若收到招标者更新信息,则招标者无人机编号向后
顺延。返回步骤2.2。
[0046]
还包括步骤三:根据步骤二输出的多无人机非死锁时序任务分配结果,多无人机执行相应侦察、打击、评估时序任务,有效缩短多无人机任务执行时长总和与整体任务完成时间。
[0047]
所述执行相应侦察、打击、评估时序任务中侦察、打击、评估任务能够根据实际任务需要删减或拓展任务类别。
[0048]
有益效果
[0049]
1、本发明公开的基于非死锁合同网算法的多机分布式时序任务分配方法,针对多无人机协同任务分配的时序约束问题,建立时序任务分配模型,并提出时序任务死锁判据。在合同网算法任务排序过程中充分考虑耦合时序任务影响,优先选择最近邻任务,结合用于消除不可行排序方案的死锁判据递归回溯,生成满足死锁约束的任务排序方案,并对招标无人机选取机制与算法收敛条件改进,进而提出一种基于竞争机制的非死锁合同网(df

cnp)算法,在分布式架构下并行非死锁合同网(df

cnp)算法,高效率输出多无人机非死锁时序任务分配结果。
[0050]
2、本发明公开的基于非死锁合同网算法的多机分布式时序任务分配方法,在合同网任务排序过程中结合死锁判据避免任务时序死锁,通过改进招标无人机选取机制与算法收敛条件,使所有无人机均能够按无人机编号顺序担任招标者无人机,进一步扩展可行解空间,提升多无人机时序任务分配结果最优性。
附图说明
[0051]
图1为本发明公开的基于非死锁合同网算法的多机分布式时序任务分配方法流程图;
[0052]
图2为时序任务分配结果;
[0053]
图3为任务执行时间甘特图;
[0054]
图4为算法最优性与求解耗时对比。
具体实施方式
[0055]
为了更好地说明本发明的目的与优点,下面通过多无人机时序任务分配实例,结合附图与表格对本发明做进一步说明。
[0056]
实施例1:
[0057]
仿真硬件环境为5台inter xeon e5

4620 2.2ghz,16g内存的pc机,仿真软件环境为visual studio 2015。战场环境中包含5架异构无人机和7个目标,针对每个目标,无人机需依次执行侦察、打击和评估任务,因此,该战场环境中共包含21个任务(t1~t
21
,其中t1至t3是目标1上的侦察、打击、评估任务,t4至t6是目标2上的侦察、打击、评估任务,依次类推)。时序任务分配要求以最小化任务完成时长为优化目标,考虑任务时序、无人机性能等约束条件,将多任务合理分配给各无人机。
[0058]
如图1所示,本实施例公开的基于非死锁合同网算法的多机分布式时序任务分配方法,具体实现步骤如下:
[0059]
步骤一:以最小化无人机任务执行时长总和与整体任务完成时间为优化目标,考
虑任务时序约束,建立多无人机时序任务分配模型。
[0060]
根据环境中无人机与目标类型、数量以及优化目标,建立时序任务分配数学模型如(11)

(15)所示。
[0061][0062][0063]
x
i,n
∈{0,1}
ꢀꢀꢀ
(13)
[0064][0065][0066]
步骤二:在分布式架构下并行非死锁合同网(df

cnp)算法,高效率输出多无人机非死锁时序任务分配结果,在合同网任务排序过程中结合死锁判据避免任务时序死锁,通过改进招标无人机选取机制与算法收敛条件进一步扩展可行解空间,提升多无人机时序任务分配结果最优性。
[0067]
所述的招标者无人机选取机制改进为:所有无人机均按无人机编号顺序担任招标者无人机。所述算法收敛条件改进为:所有无人机均担任招标者无人机后,且算法代价不再降低,则满足算法收敛条件。
[0068]
步骤2.1:无人机u
i
参数初始化。招标者编号初始化为1,无人机u
i
初始位置、最小转弯半径、目标位置、他机编号与类型如表1

3所示。
[0069]
表1无人机初始位置信息
[0070] u1u2u3u4u5位置(m)(800,0)(1700,700)(2800,100)(3700,0)(4500,0)
[0071]
表2目标初始位置信息
[0072] o1o2o3o4位置(m)(600,1200)(1700,2000)(1800,3500)(2700,4200) o5o6o
7 位置(m)(4000,2000)(5000,4000)(5200,1000) [0073]
表3无人机性能参数
[0074]
参数u1u2u3u4u5类型战斗型战斗型打击型侦察型战斗型编号12345转弯半径(m)200250200300180
[0075]
步骤2.2:无人机u
i
身份判断。每轮协商开始前,无人机u
i
对自身身份进行判断,若无人机u
i
当前身份是投标者无人机,转入步骤2.6,等待招标者无人机发布任务序列;反之,当前身份是招标者无人机,执行步骤2.3。
[0076]
步骤2.3:招标者无人机u
i
向全体投标者无人机发布持有任务序列与剩余任务序
列。所述持有任务序列具体为无人机u
i
当前待执行任务序列,剩余任务序列是指无人机u
i
依次卖出各任务后的剩余任务序列。
[0077]
步骤2.4:招标者无人机u
i
发布中标信息。无人机u
i
接收全部投标者无人机发布的标书及对应投标任务,从中选取标书值最大的无人机作为中标者,并向全部投标者无人机公布中标信息。将卖出投标任务后的剩余任务序列作为更新后的任务排序方案。
[0078]
步骤2.5:通过招标者无人机更新策略判断是否满足招标者无人机更新与算法收敛条件。若满足招标者无人机更新条件,则招标者无人机编号向后顺延,同时向全部投标者无人机公布招标者无人机更新信息。返回步骤2.2;若满足收敛条件,则无人机u
i
向所有投标无人机发布算法收敛信息,终止非死锁合同网(df

cnp)算法,此时各无人机生成的任务分配结果即为满足时序约束的多无人机可行分配方案。
[0079]
所述招标者无人机更新策略为:当连续3轮协商后的系统代价无法降低,且仍存在无人机未担任招标者无人机,见式(16),则招标者无人机身份按编号顺移至后续无人机。
[0080][0081]
所述算法收敛条件为:若多次协商后系统代价无法降低,且此时全部无人机均已担任过招标者无人机,则算法收敛退出。
[0082]
步骤2.6:若无人机u
i
身份判断为投标者无人机,接收招标者无人机发布信息后,无人机u
i
与其他投标者无人机并行开展标书计算,选择招标者无人机持有任务纳入自身任务序列,通过非死锁排序算法完成非死锁排序。依据排序结果与招标者无人机剩余任务序列通过代价计算方法进行代价计算,选择最小化整体代价的任务进行投标,并向投标者无人机发布标书及对应投标任务。
[0083]
所述非死锁排序算法具体为:将无人机u
i
持有任务视作多个节点,构建当前节点的邻近任务集合依据预估代价矩阵l
i
选择距离最近的节点j*加入无人机u
i
任务序列s
i
,标记节点j*为已访问节点,直至非死锁排序算法当前搜索深度d与无人机u
i
持有的任务数量n
i
相同。根据s
i
构建任务时序有向图h,并依据死锁判据进行s
i
死锁检测。
[0084]
若任务序列s
i
非死锁,且搜索次数λ小于等于预设阈值则非死锁排序算法获得一组可行排序方案,非死锁排序算法结束;若λ>15,则非死锁排序算法递归退出。若任务序列s
i
死锁,则从任务序列s
i
中移除最近邻节点j*,重置j*为未访问节点,选择剩余最邻近节点继续排序过程。若无邻近节点,则递归回溯至任务序列中前一节点继续排序过程,直至非死锁排序算法结束或退出。
[0085]
所述预估代价矩阵l
i
计算方式为:
[0086][0087]
所述死锁判据为:若id(h)为0或od(h)为0,只要任务调整后h无环,即可满足全局任务非死锁。若id(h)和od(h)均不为0,只要任务调整后h无环,且h不产生新的边界可达对,
即可保证全局任务非死锁。
[0088]
所述代价计算方法为:协商前后整体代价变化由式(18)计算
[0089][0090]
所述标书生成方法为:无人机u
j
依次对s
i
中的所有任务计算协商前后的整体代价变化,从中选取最小化整体代价的任务作为投标任务,并发布标书值bid
j,i
为整体代价变化的最大值。
[0091][0092][0093]
步骤2.7:投标者无人机u
i
判断是否中标。无人机u
i
若接收到中标信息则更新自身任务序列。若未中标,则保持原有任务序列。
[0094]
步骤2.8:若投标者无人机u
i
收到算法收敛信息,则终止非死锁合同网(df

cnp)算法,无人机u
i
按当前分配结果执行任务。若收到招标者更新信息,则招标者编号向后顺延。返回步骤2.2。
[0095]
还包括步骤三:根据步骤二输出的多无人机非死锁时序任务分配结果,多无人机执行相应侦察、打击、评估时序任务,有效缩短多无人机任务执行时长总和与整体任务完成时间。
[0096]
所述执行相应侦察、打击、评估时序任务中侦察、打击、评估任务能够根据实际任务需要删减或拓展任务类别。
[0097]
当非死锁合同网(df

cnp)算法运行结束时,满足算法收敛条件,各无人机生成的任务分配结果为满足时序约束的多无人机可行分配方案。任务分配结果如图2所示,其甘特图见图3。甘特图中方块左端时刻代表无人机开始执行当前任务,方块右端时刻代表无人机完成当前任务。方块之间的时间间隔代表无人机抵近或等待执行任务时长。由图2和图3可知,上述时序任务分配结果满足异构飞行平台约束和任务时序非死锁约束。
[0098]
为充分体现df

cnp求解最优性优势,与非死锁遗传算法(tb

ga)、耦合约束一致性束算法(cbba

tcc)进行对比。开展50次仿真测试,统计结果如图4所示。df

cnp目标函数均值(126.8s)与优化耗时均值(0.489s)相比tb

ga(目标函数均值138.6s、计算耗时均值23.32s)分别降低了8.5%与97.9%,表明df

cnp在确保求解最优性的前提下,优化效率具有明显优势。由图4中数据散布可知,tb

ga计算结果具有一定随机性,而df

cnp为确定性算法,其求解鲁棒性更优。与cbba

tcc(目标函数均值152.8s、计算耗时均值0.274s)相比,df

cnp在满足亚秒级规划效率的前提下,最大任务执行时长降低了20.5%,表明df

cnp求解结果的最优性更高。
[0099]
根据前述的多无人机时序任务分配实例仿真结果与分析可见,本实施例所述的非死锁合同网算法能够在亚秒级为无人机提供满足任务时序约束的可行分配方案,且算法最优性与已有方法相比更优,因此本发明具有很强的工程实用性,并且能够实现预期的发明目的。
[0100]
以上的具体描述,是对发明的目的、技术方案和有益效果的进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施实例,仅用于解释本发明,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献