[发明专利]混合引力搜索算法的多无人机协同时序耦合任务分配方法有效
申请号: | 201710368627.6 | 申请日: | 2017-05-23 |
公开(公告)号: | CN106990792B | 公开(公告)日: | 2019-12-27 |
发明(设计)人: | 张耀中;李飞龙;胡波;张建东;史国庆;谢松岩 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G05D1/12 | 分类号: | G05D1/12 |
代理公司: | 61204 西北工业大学专利中心 | 代理人: | 金凤 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 混合 引力 搜索 算法 无人机 协同 时序 耦合 任务 分配 方法 | ||
1.一种混合引力搜索算法的多无人机协同时序耦合任务分配方法,其特征在于包括下述步骤:
步骤一:构建时间耦合约束下的多无人机协同任务分配模型
对多无人机协同执行压制敌方防空系统(Suppression of Enemy Air Defence,SEAD)任务分配问题做出定义,并对适应度函数和任务约束进行说明,具体定义如下:
定义1:设U={1,2,3,...i...,M}表示无人机集合,其中元素i=1,2,3,…,M,表示第i架无人机,M表示无人机的数量;
定义2:T={1,2,3,...j...,N}表示目标集合,其中元素j=1,2,3,…,N,表示第j个目标,N表示目标的数量;
定义3:设Task={t11,t12,t21.t22,...,tjh,...,tN1,tN2}表示任务集合,其中tjh表示第j个目标上的第h种任务,h=1,2,当h=1表示打击任务,当h=2表示毁伤评估任务;
定义4:Ujh表示能够执行任务tjh的无人机集合;
定义5:TaskSequencei={task1>task2>task3>...>taskl>...taskni}表示一共i架无人机的任务序列,其中元素taskl∈Task,l=1,2,3,…,ni,ni表示分配给第i架无人机的任务数量;
定义6:Routei={UPi,taskP1,taskP2,...,taskPk,...,taskPni,BP}表示第i架无人机的路径序列,UPi为第i架无人机的初始位置,taskPk为任务序列TaskSequencei表示第k个任务的位置,k=1,2,3,…,ni,BP为基地的位置;
定义7:Voyi表示第i架无人机的航程;
定义8:Voymaxi表示第i架无人机的最大航程;
定义9:Ri表示第i架无人机的武器载荷数量;
定义10:tijh表示第i架无人机执行任务tjh消耗的执行时间;
定义11:sTg,g∈Task,表示任务g的开始被执行时刻;
定义12:eTg,g∈Task,表示任务g的完成时刻;
定义13:Inter_min表示打击任务和毁伤评估任务间的最小时间间隔;
定义14:Inter_max表示打击任务和毁伤评估任务间的最大时间间隔;
定义15:定义二维决策变量xijh∈{0,1}表示每个任务的分配情况,下标i、j、h分别表示无人机编号、目标编号以及任务类型,其具体取值遵循如下规则:
定义16:其中G(t)表示t时刻的引力常数,G(t)初始值为9.8,计算公式为:
其中,T表示最大迭代次数,G0和α为固定常数;
定义17:best和worst分别表示在迭代中GSA个体的最大适应度函数值和最小适应度函数值,M表示GSA个体的质量,a表示GSA个体的加速度;
1.构建适应度函数
本发明中选择无人机最大航程最短作为任务规划指标,即
F为本发明构造的适应度函数;
在定义4的前提下,以匀速运动规律计算无人机的航程,则第i架无人机的航程为:
式(2)中,是定义12中表示任务taskni的完成时刻,vi表示无人机Ui的巡航速度,本发明假设无人机的巡航速度为固定值,dis(taskni,BP)为任务taskni与基地BP的欧式距离,计算公式为
式(3)中,xBP、yBP、分别为基地BP与任务taskni的横纵坐标;
2.任务约束
本发明任务分配问题中的约束条件如下:
(1)每个任务都必须被执行:
(2)每个任务只能被执行一次:
(3)每架无人机至少被分配一个任务,即:
(4)时序约束
公式(8)中是任务taskj(h+1)的开始被执行时刻;
(5)航程约束
Voyi≤Voymaxi (9)
(6)武器载荷资源约束
(7)打击任务和毁伤评估任务的时间间隔约束
eTtaskj2+Inter_min≤sTtaskj3 (11)
eTtaskj2+Inter_max≥sTtaskj3 (12)
步骤二:基于遗传算子的引力搜索算法设计
步骤2.1:个体离散化编码
本发明采用分段编码方式对引力搜索算法中的个体进行编码,以一个1×4N维向量表示引力搜索算法的个体;
个体编码分为两部分:任务分配(Task Allocation,TA))部分和任务排序(TaskSequencing,TS)部分;
定义18:设TG=[TA TS]为一个1×4N维向量,表示一个引力搜索个体,TG分为两部分,其中TA表示任务分配部分,为2N维数组,TS表示任务排序部分,为2N维数组;
(1)任务分配部分:该部分表示N个目标共有2N个任务的分配情况,即N个目标的2N个任务如何分配给无人机i,共有2N个元素,分别代表着2N个任务,2N个元素从左往右,依次对应任务t11、t12、t21、...、tN1、tN2,例如t21表示无人机完成第二个目标的打击任务,t22表示无人机完成第二个目标的毁伤评估任务;
(2)任务排序部分:该部分表示所有任务的排序情况,该部分2N个元素都有目标的编号编码,分别代表着2N个任务,2N个元素从左往右依次对应目标任务t11、t12、t21、...、tN1、tN2,每个目标第一次出现即为打击任务,第二次出现即为毁伤评估任务;
步骤2.2:种群初始化
本发明采用随机产生的方式对个体种群进行初始化,具体方法为使用MATLAB仿真软件将一组自己设定的种群在任务约束条件下循环得出一组满足任务约束条件的初始种群,以随机初始化的方法对每个个体进行初始化编码,对于任务分配部分,每一位任务分配元素代表一个具体的任务tjh,随机从能够执行任务tjh的无人机集合Ujh中选取一个元素作为该位的取值,对于任务排序部分,以两组目标序号的随机排序表示该部分的位置,个体的速度初始化为0;
步骤2.3:个体解码
在任务分配部分,依次读取每一位元素的值VAjh,其中j=1,2,…,N,h=1,2,VAjh∈U,表示第VAjh架无人机,并将任务tjh添加到第VAjh架无人机的任务集中,最终得到各无人机的任务分配集合;
在任务排序部分,每一个元素的值VSd∈T,d=1,2,…,2N,表示第VSd个目标,每个目标有两种任务,因而每个目标会出现2次,第一次表示该目标的攻击任务,即代表任务第二次表示该目标的毁伤评估任务,即代表任务任务排序部分对所有任务进行顺序执行,对各无人机的任务分配集合中的元素进行排序,从而得到各无人机的任务执行序列;
综上,个体解码的具体步骤如下:
Step1:对任务分配部分进行解码
(1)初始化各无人机的任务集合为空集,即
(2)VAk1=TAL(2k-1),其中TAL为目标数量,i=VAk1,将任务tk1加入TaskSequencei中;
(3)VAk2=TAL(2k),i=VAk2,将任务tk2加入TaskSequencei中;
(4)k=k+1,若k≤N,转到步骤(2);否则结束;
Step2:对任务排序部分进行解码
(a)从左至右依次读取任务排序部分的第k位上的目标j的值,k=1,2,…,2N,每个j代表目标Tj上的一个任务,若j是第h次出现,则表示Taskjh,当k=2N得到所有任务的排列顺序TaskS;
(b)将TaskSequencei根据TaskS重新排列任务顺序:当Taskjh和Taskkl都在TaskSequencei中时,则以从左到右的顺序来比较;
至此,解码结束,得到各无人机的任务执行新序列TaskSequencej;
步骤2.4:适应度函数计算适应度
依据步骤一中的适应度函数进行计算,即
F为本发明构造的适应度函数;
步骤2.5:更新种群的全局最优、局部最优和局部最差
根据步骤2.4中求得的种群中各个粒子的适应度函数值,更新种群的全局最优、局部最优和局部最差;
步骤2.6:个体更新
个体i在第l维获得的加速度等于其受到合力与其自身惯性质量的比值,计算公式为:
式(13)中Mii(t)为个体i在t时刻的惯性质量;Fil(t)表示个体i在t时刻万有引力的大小,表示个体i在t时刻在万有引力Fil(t)作用下的加速度,l表示个体i的第l维;
每一次更新过程中,个体i根据引力产生的加速度更新自身的速度和位置,更新方式如公式(14)所示:
表示粒子i在t+1时刻的速度,表示粒子i在t时刻的速度,表示粒子i在t+1时刻的位置,表示粒子i在t时刻的位置,randi表示粒子i在MATLAB仿真下的一个随机数;
对更新后的个体位置进行修正:首先对每一个个体位置)采用对于小数点后的一位四舍五入进行取整,其次,对个体位置取整后的每一位进行合法判断:若该位的值不在该位表示任务的可执行无人机集合内,则将离该位最近的一位,以集合的离该位元素最近的元素代替;
判断整个种群的迭代次数是否达到设定的最大迭代次数,若是,则结束流程;否则返回步骤2.3中的step1继续循环求解。
2.根据权利要求1所述混合引力搜索算法的多无人机协同时序耦合任务分配方法,其特征在于:
对于步骤2.6的更新,引入遗传算法的交叉和变异操作进行更新,所述的更新步骤为:
a)交叉:本发明利用POX交叉方法对个体的任务排序部分进行交叉操作,所述的交叉操作每一次只产生一个新个体,具体步骤如下:
Step1:从目标集{T1,T2,…,Tn}随机抽取一个目标子集Tset;
Step2:选择需要进行交叉操作的个体X1和X2,若X1的适应度函数值大于X2的适应度函数值,则将X1中包含在目标子集Tset中的目标复制到新的个体C中,X1保持位置和顺序不变;
Setp3:将X2中不包含在Tset中的目标同样复制到新的个体C中,保持个体X1和X2顺序不变;
Step4:若新个体C的适应度函数值大于X2,则保存新个体C,并替代原来的个体X2;
b)变异:本发明采用基于邻域搜索的变异方法,其具体操作步骤如下:
Step1:在个体的任务排序部分随机选择r个位,并生成个体排序的所有邻域;Step2:计算任务元素所有邻域的适应度函数值,选出适应度函数值最大的个体作为子代,并代替原来的个体。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710368627.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种输电线路杆塔的三维建模系统及方法
- 下一篇:一种新型平单轴跟踪支架