本发明涉及多无人机协同领域,尤其涉及一种改进基于离散粒子群算法的多无人机任务调度方法。
背景技术:
在多无人机自组织任务中,对于任务调度控制直接影响多机协同系统的工作效率,因此本发明将使用粒子群算法重点研究多无人机自组织任务调度控制。本发明研究的多无人机任务调度控制是指在覆盖区域中发现了敌方目标后,合理地将对敌方目标的侦察、攻击和打击评估任务分配给执行任务的无人机。与传统的任务调度不同,在执行多无人机协同目标攻击任务时,无人机的任务调度需要满足多个复杂的约束,为此本发明将提出一种基于改进离散粒子群算法的多异构无人机任务调度算法实现任务的预先分配,以保证任务完成的效能最高。
技术实现要素:
技术问题:在多无人机协同多目标攻击任务的调度中,任务的调度方案必须满足多个复杂的约束条件,并且在使用离散粒子群算法进行优化的时候,通过迭代又出的新的粒子往往很难满足任务的约束条件,在更新完成之后还需要对产生的新的粒子进行二次检测和修改,大大增加了算法的复杂性和降低了算法的效率,并且粒子群算法手里速度极快,非常容易陷入局部极值当中。
技术方案:为了解决现有技术中的问题,本发明提供了一种基于改进离散粒子群算法的多无人机协同任务调度方法,包括以下步骤:
一种基于改进离散粒子群算法的多无人机协同任务调度方法,包括以下步骤:
步骤1)输入敌方目标的总数量m,遍历每一个目标tj,输入目标tj的纵横坐标
步骤2)输入无人机总数量n,遍历每一个无人机uk,输入无人机uk的纵横坐标
步骤3)初始化空的任务调度集合plist,将所有目标放到一个队列当中,每个目标tj依次包括目标的侦察任务
步骤4)遍历方案集合plist中的每一个方案,计算每一个调度方案的效能
其中:ξ表示第i个方案中的第ξ个无人机的编号,在
所述dξ表示无人机ξ在执行任务过程中的总航程,所述
其中:δt表示执行任务的飞行距离和等待旋转的距离之和,所述执行任务的飞行距离是指无人机在执行任务的过程中飞行的距离,等待旋转距离表示无人机在等待前提任务完成所做的自选的飞行距离,n表示无人机的总数量,max{dξ}表示所有无人机当中航程最大无人机的航程,所述效能
步骤5)更新第time次迭代时每个个体的个体极值
步骤6)更新第time次迭代时种群的群体极值gbest,遍历方案集合plist中的每一个方案,当
步骤7)当time=timemax,方法结束,输出群体极值gbest,所述timemax表示预先设定的迭代阈值;反之time自增1进入步骤8);
步骤8)将当前方案
其中:c1表示与个体极值的基因交叉的概率,
步骤8.1)初始化一个长度为3×m,并且元素为空的方案
步骤8.2)当counter≤3×m,进入步骤8.3;否则进入步骤8.4;
步骤8.3)生成(0,1)区间随机数rand,当rand≤c1,将个体极值中目标counter对应的任务,复制到中
步骤8.4)遍历
步骤9)将步骤8)中产生的新个体
其中:c2表示与群体极值的基因交叉概率,
步骤9.1)初始化一个长度为,并且元素为空的方案
步骤9.2)当counter2≤3×m,进入步骤9.3;否则进入步骤9.4;
步骤9.3)生成(0,1)区间的随机数rand2,当rand2≤c2,将个体极值中目标counter2对应的任务,复制到中pitime+1”的对应位置,并删除个体pitime+1'中与目标counter2相关的任务,counter2自增1返回步骤8.2;否则,counter2自增1直接返回步骤8.2;
步骤9.4)遍历
步骤10)对步骤9)中产生的新个体
其中:c3表示个体的基因变异概率,
步骤10.1)初始化一个计数器counter3=1;
步骤10.2)当counter3≤3×m,进入步骤10.3;否则返回步骤4);
步骤10.3)生成(0,1)区间随机数rand3,当rand3≤c3,从
进一步的,所述步骤3)对应方案
其中:uι、uκ、uλ和u°分别表示编号为ι、κ、λ和ο的无人机。
有益效果:本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明一种基于改进离散粒子群算法的多无人机协同任务调度方法,个体方案通过基于目标的概率交叉方式向个体极值和群体极值学习,不断优化调整自身,在通过基于目标的概率变异方式增加种群的多样性,从而满足了多无人机协同任务调度的约束条件,同时避免了算法陷入局部极值。具体来说:
(1)本发明通过借鉴遗传算法中的变异操作改经了离散粒子群算法,解决了算法容易下如局部极值的问题。
(2)本发明通过基于目标的概率交叉和概率变异方式,解决了多无人机协同目标打击任务的约束问题。
附图说明
图1是使用改进离散粒子群算法的多无人机协同任务调度方法的流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
实施例1
一种基于改进离散粒子群算法的多无人机协同任务调度方法,包括以下步骤:
步骤1)输入敌方目标的总数量m,遍历每一个目标tj,输入目标tj的纵横坐标
步骤2)输入无人机总数量n,遍历每一个无人机uk,输入无人机uk的纵横坐标
步骤3)初始化空的任务调度集合plist,将所有目标放到一个队列当中,每个目标tj依次包括目标的侦察任务
步骤4)遍历方案集合plist中的每一个方案,计算每一个调度方案的效能
其中:ξ表示第i个方案中的第ξ个无人机的编号,在
所述dξ表示无人机ξ在执行任务过程中的总航程,所述
其中:δt表示执行任务的飞行距离和等待旋转的距离之和,所述执行任务的飞行距离是指无人机在执行任务的过程中飞行的距离,等待旋转距离表示无人机在等待前提任务完成所做的自选的飞行距离,n表示无人机的总数量,max{dξ}表示所有无人机当中航程最大无人机的航程,所述效能
步骤5)更新第time次迭代时每个个体的个体极值
步骤6)更新第time次迭代时种群的群体极值gbest,遍历方案集合plist中的每一个方案,当
步骤7)当time=timemax,方法结束,输出群体极值gbest,所述timemax表示预先设定的迭代阈值;反之time自增1进入步骤8);
步骤8)将当前方案
其中:c1表示与个体极值的基因交叉的概率,
步骤8.1)初始化一个长度为3×m,并且元素为空的方案
步骤8.2)当counter≤3×m,进入步骤8.3;否则进入步骤8.4;
步骤8.3)生成(0,1)区间随机数rand,当rand≤c1,将个体极值中目标counter对应的任务,复制到中
步骤8.4)遍历
步骤9)将步骤8)中产生的新个体
其中:c2表示与群体极值的基因交叉概率,
步骤9.1)初始化一个长度为,并且元素为空的方案
步骤9.2)当counter2≤3×m,进入步骤9.3;否则进入步骤9.4;
步骤9.3)生成(0,1)区间的随机数rand2,当rand2≤c2,将个体极值中目标counter2对应的任务,复制到中pitime+1”的对应位置,并删除个体pitime+1'中与目标counter2相关的任务,counter2自增1返回步骤8.2;否则,counter2自增1直接返回步骤8.2;
步骤9.4)遍历
步骤10)对步骤9)中产生的新个体
其中:c3表示个体的基因变异概率,
步骤10.1)初始化一个计数器counter3=1;
步骤10.2)当counter3≤3×m,进入步骤10.3;否则返回步骤4);
步骤10.3)生成(0,1)区间随机数rand3,当rand3≤c3,从
进一步的,所述步骤3)对应方案
其中:uι、uκ、uλ和uo分别表示编号为ι、κ、λ和ο的无人机。
实施例2
一种基于改进离散粒子群算法的多无人机协同任务调度方法,包括以下步骤
步骤1)输入目标总数2,输入目标的位置t1(50,100),t2(75,75)。
步骤2)输入无人机总数4,输入无人机的初始位置和类型u1(25,75,侦察无人机),u2(80,90,侦察无人机),u3(50,50,战斗无人机),u4(75,50,战斗无人机)。
步骤3)初始化任务调度集合plist,设定
步骤4)计算集合plist中每一个个体的适应值,下面以d1来举例说明计算方式,
步骤5)更新每一个个体的个体极值,由于是第一次迭代所以所有个体的个体极值都为自身。
步骤6)更新种群的群体极值,遍历种群中的每一个个体,选择个体极值最小的个体作为群体极值,设定初始群体极值为
步骤7)结束条件判断,当前迭代次数为0,不满足结束条件。
步骤8)将plist中的每一个个体与个体极值交叉,下面以个体
步骤9)将上述步骤得到的新个体与群体极值进行交叉,下面以个体p10'举例说明交叉方式,初始化p10”={(),(),(),(),(),()},与群体极值
步骤10)对上述步骤得到的新个体进行基于目标的概率变异操作。下面以个体p10”举例说明变异方式,设定t2被选择做变异,则从p10”中取出所有与t2相关的任务,则
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。