一种基于改进离散粒子群算法的多无人机协同任务调度方法与流程

文档序号:18669072发布日期:2019-09-13 20:38阅读:303来源:国知局
一种基于改进离散粒子群算法的多无人机协同任务调度方法与流程

本发明涉及多无人机协同领域,尤其涉及一种改进基于离散粒子群算法的多无人机任务调度方法。



背景技术:

在多无人机自组织任务中,对于任务调度控制直接影响多机协同系统的工作效率,因此本发明将使用粒子群算法重点研究多无人机自组织任务调度控制。本发明研究的多无人机任务调度控制是指在覆盖区域中发现了敌方目标后,合理地将对敌方目标的侦察、攻击和打击评估任务分配给执行任务的无人机。与传统的任务调度不同,在执行多无人机协同目标攻击任务时,无人机的任务调度需要满足多个复杂的约束,为此本发明将提出一种基于改进离散粒子群算法的多异构无人机任务调度算法实现任务的预先分配,以保证任务完成的效能最高。



技术实现要素:

技术问题:在多无人机协同多目标攻击任务的调度中,任务的调度方案必须满足多个复杂的约束条件,并且在使用离散粒子群算法进行优化的时候,通过迭代又出的新的粒子往往很难满足任务的约束条件,在更新完成之后还需要对产生的新的粒子进行二次检测和修改,大大增加了算法的复杂性和降低了算法的效率,并且粒子群算法手里速度极快,非常容易陷入局部极值当中。

技术方案:为了解决现有技术中的问题,本发明提供了一种基于改进离散粒子群算法的多无人机协同任务调度方法,包括以下步骤:

一种基于改进离散粒子群算法的多无人机协同任务调度方法,包括以下步骤:

步骤1)输入敌方目标的总数量m,遍历每一个目标tj,输入目标tj的纵横坐标所述j表示目标的编号;

步骤2)输入无人机总数量n,遍历每一个无人机uk,输入无人机uk的纵横坐标和无人机的类型所述无人机的类型包括侦察无人机和战斗无人机两种,所述k表示无人机的编号;

步骤3)初始化空的任务调度集合plist,将所有目标放到一个队列当中,每个目标tj依次包括目标的侦察任务攻击任务和打击效果评估任务从目标队列中随机选择一个目标取出第一个任务,根据任务的类型,从对应无人机中随机选择无人机匹配,当目标的任务为空,将目标移除队列,当队列为空得到一个调度方案将方案放入plist当中,重复上述步骤直到集合中的个体数量达到c,所述i表示方案的编号,所述time表示算法迭代的次数;

步骤4)遍历方案集合plist中的每一个方案,计算每一个调度方案的效能

其中:ξ表示第i个方案中的第ξ个无人机的编号,在中于每一个无人机uξ都有一个任务的执行序列tlistξ,

所述dξ表示无人机ξ在执行任务过程中的总航程,所述分别表示第个目标的侦察任务、第τ个目标的打击效果评估任务、第σ个目标的侦察任务和第υ个目标的打击效果评估任务,

其中:δt表示执行任务的飞行距离和等待旋转的距离之和,所述执行任务的飞行距离是指无人机在执行任务的过程中飞行的距离,等待旋转距离表示无人机在等待前提任务完成所做的自选的飞行距离,n表示无人机的总数量,max{dξ}表示所有无人机当中航程最大无人机的航程,所述效能是指在执行任务过程中所有无人机的平均航程和无人机的最大暴露时间的加权求和,所述无人机的最大暴露时间使用最大航程表示,ω1表示无人机的平均航程在效能函数中所占权重,ω2表示无人机最大暴露时间在效能函数中所占权重;分别表示第个目标的纵横坐标,分别表示第τ个目标的纵横坐标,分别表示第σ个目标的纵横坐标,分别表示第υ个目标的纵横坐标;

步骤5)更新第time次迭代时每个个体的个体极值遍历方案集合plist中的每一个方案,当赋值给反之将赋值给当time=0,则

步骤6)更新第time次迭代时种群的群体极值gbest,遍历方案集合plist中的每一个方案,当赋值给gbest;当time=0,则f(gbest)=+∞;

步骤7)当time=timemax,方法结束,输出群体极值gbest,所述timemax表示预先设定的迭代阈值;反之time自增1进入步骤8);

步骤8)将当前方案与个体极值交叉,

其中:c1表示与个体极值的基因交叉的概率,表示交叉后产生的新个体,fc()表示改进的二进制交叉方式,具体交叉流程如下:

步骤8.1)初始化一个长度为3×m,并且元素为空的方案初始化一个计数器counter=1;

步骤8.2)当counter≤3×m,进入步骤8.3;否则进入步骤8.4;

步骤8.3)生成(0,1)区间随机数rand,当rand≤c1,将个体极值中目标counter对应的任务,复制到中的对应位置,并删除个体中与目标counter相关的任务,counter自增1返回步骤8.2;否则,counter自增1直接返回步骤8.2;

步骤8.4)遍历中的每一个元素,当该元素为空,就从个体中依次取出元素填充到中进入步骤9;

步骤9)将步骤8)中产生的新个体与群体极值gbest交叉,

其中:c2表示与群体极值的基因交叉概率,表示交叉后产生的新个体,具体交叉流程如下:

步骤9.1)初始化一个长度为,并且元素为空的方案初始化一个计数器counter2=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;

步骤10)对步骤9)中产生的新个体执行变异操作,

其中:c3表示个体的基因变异概率,表示迭代产生的新粒子,fm()表示改进的基因变异方式,具体流程如下:

步骤10.1)初始化一个计数器counter3=1;

步骤10.2)当counter3≤3×m,进入步骤10.3;否则返回步骤4);

步骤10.3)生成(0,1)区间随机数rand3,当rand3≤c3,从中移除所有与目标counter3相关的任务,将移除的任务按先后次序随机插入中,counter3自增1返回步骤10.2;否则,counter3自增1返回步骤10.2;

进一步的,所述步骤3)对应方案的编码方式为:

其中:uι、uκ、uλ和u°分别表示编号为ι、κ、λ和ο的无人机。

有益效果:本发明采用以上技术方案与现有技术相比,具有以下技术效果:

本发明一种基于改进离散粒子群算法的多无人机协同任务调度方法,个体方案通过基于目标的概率交叉方式向个体极值和群体极值学习,不断优化调整自身,在通过基于目标的概率变异方式增加种群的多样性,从而满足了多无人机协同任务调度的约束条件,同时避免了算法陷入局部极值。具体来说:

(1)本发明通过借鉴遗传算法中的变异操作改经了离散粒子群算法,解决了算法容易下如局部极值的问题。

(2)本发明通过基于目标的概率交叉和概率变异方式,解决了多无人机协同目标打击任务的约束问题。

附图说明

图1是使用改进离散粒子群算法的多无人机协同任务调度方法的流程图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

实施例1

一种基于改进离散粒子群算法的多无人机协同任务调度方法,包括以下步骤:

步骤1)输入敌方目标的总数量m,遍历每一个目标tj,输入目标tj的纵横坐标所述j表示目标的编号;

步骤2)输入无人机总数量n,遍历每一个无人机uk,输入无人机uk的纵横坐标和无人机的类型所述无人机的类型包括侦察无人机和战斗无人机两种,所述k表示无人机的编号;

步骤3)初始化空的任务调度集合plist,将所有目标放到一个队列当中,每个目标tj依次包括目标的侦察任务攻击任务和打击效果评估任务从目标队列中随机选择一个目标取出第一个任务,根据任务的类型,从对应无人机中随机选择无人机匹配,当目标的任务为空,将目标移除队列,当队列为空得到一个调度方案将方案放入plist当中,重复上述步骤直到集合中的个体数量达到c,所述i表示方案的编号,所述time表示算法迭代的次数;

步骤4)遍历方案集合plist中的每一个方案,计算每一个调度方案的效能

其中:ξ表示第i个方案中的第ξ个无人机的编号,在中于每一个无人机uξ都有一个任务的执行序列tlistξ,

所述dξ表示无人机ξ在执行任务过程中的总航程,所述分别表示第个目标的侦察任务、第τ个目标的打击效果评估任务、第σ个目标的侦察任务和第υ个目标的打击效果评估任务,

其中:δt表示执行任务的飞行距离和等待旋转的距离之和,所述执行任务的飞行距离是指无人机在执行任务的过程中飞行的距离,等待旋转距离表示无人机在等待前提任务完成所做的自选的飞行距离,n表示无人机的总数量,max{dξ}表示所有无人机当中航程最大无人机的航程,所述效能是指在执行任务过程中所有无人机的平均航程和无人机的最大暴露时间的加权求和,所述无人机的最大暴露时间使用最大航程表示,ω1表示无人机的平均航程在效能函数中所占权重,ω2表示无人机最大暴露时间在效能函数中所占权重;分别表示第个目标的纵横坐标,分别表示第τ个目标的纵横坐标,分别表示第σ个目标的纵横坐标,分别表示第υ个目标的纵横坐标;

步骤5)更新第time次迭代时每个个体的个体极值遍历方案集合plist中的每一个方案,当赋值给反之将赋值给当time=0,则

步骤6)更新第time次迭代时种群的群体极值gbest,遍历方案集合plist中的每一个方案,当赋值给gbest;当time=0,则f(gbest)=+∞;

步骤7)当time=timemax,方法结束,输出群体极值gbest,所述timemax表示预先设定的迭代阈值;反之time自增1进入步骤8);

步骤8)将当前方案与个体极值交叉,

其中:c1表示与个体极值的基因交叉的概率,表示交叉后产生的新个体,fc()表示改进的二进制交叉方式,具体交叉流程如下:

步骤8.1)初始化一个长度为3×m,并且元素为空的方案初始化一个计数器counter=1;

步骤8.2)当counter≤3×m,进入步骤8.3;否则进入步骤8.4;

步骤8.3)生成(0,1)区间随机数rand,当rand≤c1,将个体极值中目标counter对应的任务,复制到中的对应位置,并删除个体中与目标counter相关的任务,counter自增1返回步骤8.2;否则,counter自增1直接返回步骤8.2;

步骤8.4)遍历中的每一个元素,当该元素为空,就从个体中依次取出元素填充到中进入步骤9;

步骤9)将步骤8)中产生的新个体与群体极值gbest交叉,

其中:c2表示与群体极值的基因交叉概率,表示交叉后产生的新个体,具体交叉流程如下:

步骤9.1)初始化一个长度为,并且元素为空的方案初始化一个计数器counter2=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;

步骤10)对步骤9)中产生的新个体执行变异操作,

其中:c3表示个体的基因变异概率,表示迭代产生的新粒子,fm()表示改进的基因变异方式,具体流程如下:

步骤10.1)初始化一个计数器counter3=1;

步骤10.2)当counter3≤3×m,进入步骤10.3;否则返回步骤4);

步骤10.3)生成(0,1)区间随机数rand3,当rand3≤c3,从中移除所有与目标counter3相关的任务,将移除的任务按先后次序随机插入中,counter3自增1返回步骤10.2;否则,counter3自增1返回步骤10.2;

进一步的,所述步骤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来举例说明计算方式,由p10可知

步骤5)更新每一个个体的个体极值,由于是第一次迭代所以所有个体的个体极值都为自身。

步骤6)更新种群的群体极值,遍历种群中的每一个个体,选择个体极值最小的个体作为群体极值,设定初始群体极值为

步骤7)结束条件判断,当前迭代次数为0,不满足结束条件。

步骤8)将plist中的每一个个体与个体极值交叉,下面以个体来举例说明交叉方式,初始化与个体极值基于目标进行概率交叉,设定t1被选择做交叉,则先从局部极值中取出t1相关任务,再从中删除t1相关任务,则由于的局部极值就是自身,所以与自身交叉后和得到的还是自己则同理可以计算得到

步骤9)将上述步骤得到的新个体与群体极值进行交叉,下面以个体p10'举例说明交叉方式,初始化p10”={(),(),(),(),(),()},与群体极值基于目标进行概率交叉,设定只有目标t1被选择做交叉操作,先将群体极值中有关目标t1的任务复制到p10”中,则再将p10'中关于目标t1的任务删除,则剩余的p10'遍历p10”中的每一个元素,使用p10'中的元素依次补齐p10”得到同理可计算得到

步骤10)对上述步骤得到的新个体进行基于目标的概率变异操作。下面以个体p10”举例说明变异方式,设定t2被选择做变异,则从p10”中取出所有与t2相关的任务,则重新随机选择无人机分配后再次插入,得到待所有新个体都变异完毕,进入步骤4进行下一轮迭代。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1