CN107219858B - 一种改进萤火虫算法的多无人机协同耦合任务分配方法 - Google Patents

一种改进萤火虫算法的多无人机协同耦合任务分配方法 Download PDF

Info

Publication number
CN107219858B
CN107219858B CN201710281909.2A CN201710281909A CN107219858B CN 107219858 B CN107219858 B CN 107219858B CN 201710281909 A CN201710281909 A CN 201710281909A CN 107219858 B CN107219858 B CN 107219858B
Authority
CN
China
Prior art keywords
task
firefly
target
value
unmanned aerial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201710281909.2A
Other languages
English (en)
Other versions
CN107219858A (zh
Inventor
张耀中
谢松岩
胡波
张建东
史国庆
李飞龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201710281909.2A priority Critical patent/CN107219858B/zh
Publication of CN107219858A publication Critical patent/CN107219858A/zh
Application granted granted Critical
Publication of CN107219858B publication Critical patent/CN107219858B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Abstract

本发明提供了一种改进萤火虫算法的多无人机协同耦合任务分配方法,涉及任务规划设计领域,为一种具有特殊编解码结构的混合离散萤火虫算法,根据对同时具有时间耦合约束和特殊耦合约束的多无人机协同任务分配问题进行研究,提出数学模型并进行任务解算,本发明具有较好的通用性,通过多次的仿真验证获得的数据分析,使得模型更加完善,迭代过程简短,收敛速度快;以最小化无人机的最大航程为整体优化目标,通过分段整数编码的方式有效地表示多无人机协同任务分配方案,并通过改进的DE‑DFA算法在解空间里寻找最优解,快速有效地解决耦合任务环境下的多无人机任务分配问题,为解决耦合任务环境下的多无人机任务分配问题提供解决方案。

Description

一种改进萤火虫算法的多无人机协同耦合任务分配方法
技术领域
本发明涉及任务规划设计领域,尤其是一种无人机协同作战的规划方法。
背景技术
任务规划系统设计在很多领域的成功应用,为国防事业以及工业生产带来了很大提升,多无人机协同任务规划问题是一类具有多种约束的组合优化问题,也是一类典型的NP-Hard问题,具有高度复杂性。本发明以多无人机协同执行具有复杂耦合约束关系的SEAD任务为研究背景,充分考虑无人机的异构性、资源有限性以及任务间的耦合约束,包括确认、打击和毁伤评估三种子任务的时间耦合约束以及目标间的特殊耦合约束,以组合优化理论和新兴的优化算法为数学工具,对耦合任务环境下的多无人机协同任务规划问题进行深入研究。
萤火虫算法(Firefly Algorithm,FA)是由Xin-She Yang于2008年提出的,它源自对自然界中萤火虫群体行为的模拟,是一种新兴的高级元启发式优化算法。该算法的优化机制是通过不同萤火虫个体之间的互相吸引达到寻找最优解的目的,因而是一种群智能(Swarm Intelligence)随机优化算法,其概念简单,流程清晰,需要调整的参数少,容易实现,因而受到众多国内外学者的关注。
萤火虫算法作为一种新兴的优化算法已在诸多领域展现了良好的应用前景,在任务规划系统设计领域的应用中,多数研究在建模时进行了一定程度的简化处理,并且没有考虑任务中存在的耦合约束关系,目前还没有文献将萤火虫算法及相关改进算法应用于同时具有时间耦合约束和特殊耦合约束的多无人机协同任务分配问题。
发明内容
为了克服现有技术的不足,本发明提供一种具有特殊编解码结构的混合离散萤火虫算法,即DE-DFA算法,根据对同时具有时间耦合约束和特殊耦合约束的多无人机协同任务分配问题进行研究,提出数学模型并进行任务解算。
本发明解决其技术问题所采用的技术方案的详细步骤如下:
步骤1:构建特殊耦合下的任务分配模型
在该步骤中,存在如下定义:
定义1:U={U1,U2,…,Ui,…,UM}为无人机集合,其中Ui表示第i架无人机,M表示无人机总数;
定义2:T={T1,T2,…,Tj,…,TN}为目标集合,其中Tj表示第j个目标,N为目标总数;
定义3:Taskjh为目标Tj的第h种任务,h=1,2,3,当h=1为确认,h=2为打击,h=3为毁伤评估;
定义4:Ujh为能够执行任务Taskjh的无人机集合;
定义5:TaskSequencei={task1>task2>task3>…>taskni}为无人机Ui的任务序列;其中ni表示分配给无人机Ui的任务数量,taskni表示无人机Ui需要执行的任务;
定义6:Routei={UPi,taskP1,taskP2,…,taskPni,B}为无人机Ui的路径序列,taskPni表示无人机Ui执行任务n时所在的位置,UPi表示无人机i的初始位置,B表示无人机返回基地的位置;
定义7:Voyi为无人机Ui的航程,其中i=1,2,…,M;
定义8:Voymaxi为无人机Ui的最大航程;
定义9:Ri为无人机Ui的武器载荷数量;
定义10:tijh为无人机Ui执行任务Taskjh消耗的执行时间;
定义11:sTk为任务k的开始被执行时刻;
定义12:eTk为任务k的完成时刻;
定义13:Inter_min为打击任务和毁伤评估任务间的最小时间间隔;
定义14:Inter_max为打击任务和毁伤评估任务间的最大时间间隔;
定义15:决策变量:
Figure GDA0001337171710000021
Figure GDA0001337171710000022
确认目标函数:选择无人机最大航程最短作为任务规划指标,该任务规划指标是将各无人机中的最大航程最小化,即目标函数为:
Figure GDA0001337171710000023
确认特殊耦合约束:特殊耦合约束指在在某一时刻,两个不同位置的目标同时被打击时,该约束针对同时执行且优先级如下面所述的两种目标,存在如下两种特殊耦合约束:
(1)任务同时执行约束:目标Ti和目标Tj必须同时打击,则有约束:
Figure GDA0001337171710000031
式(2)中,
Figure GDA0001337171710000032
和inter分别表示目标Ti的开始打击时刻、目标Tj的开始打击时刻和打击目标Ti和Tj的时间间隔;
(2)任务优先级约束:目标Tk必须在Tl被确认之前被毁伤评估,则有约束:
Figure GDA0001337171710000033
式中,
Figure GDA0001337171710000034
分别表示目标Tk的毁伤评估结束时刻和目标Tl的确认开始时刻;
具有复杂耦合约束下的多无人机任务分配数学模型:
Figure GDA0001337171710000041
步骤2:萤火虫编码
将萤火虫表示为1×2Nt维数组,Nt为所有任务数量,Nt=3×N,采用整数编码的形式,每个萤火虫分为两部分,前Nt维表示任务分配部分,从左至右分别表示第i个目标的确认、打击和毁伤评估任务,即第1、2、3维代表第1个目标的确认、打击和毁伤评估任务,第4、5、6维代表第2个目标的确认、打击和毁伤任务,并以此类推,i=1,2,…,N,每一维的取值由数组中每一维所对应任务的可执行无人机集合中的元素数量决定决定;后Nt维表示任务排序部分,由3组所有目标的编号组成,从左至右,目标Tj第h次出现分别对应该目标的确认、打击和毁坏评估任务,即目标Tj第1次出现表示无人机i的确认,目标Tj第2次出现表示无人机i的打击,目标Tj第3次出现表示无人机i的毁伤评估;
步骤3:种群初始化
比较萤火虫之间的余弦相似度,当任意两只萤火虫余弦相似度超过设定的阈值ξ,则对其中一个萤火虫重新初始化,即对该萤火虫的数值随机化,其中阈值ξ取值在0.6-0.7之间,余弦相似度公式为:
Figure GDA0001337171710000051
其中,Xi和Xj分别指萤火虫i和萤火虫j所对应的向量;
步骤4:萤火虫位置更新
1)萤火虫位置进行β更新,具体步骤如下:
Setp1:计算萤火虫Xi和Xj的海明距离Hij,海明距离为两个萤火虫个体的位置向量中互相对应的数不相等的对数,并找到Xi和Xj中对应相等的元素;
Setp2:计算Xi对Xj相对吸引度βij,其中
Figure GDA0001337171710000052
Hij为萤火虫i与萤火虫j的海明距离,γ是移动步长,β0表示在γ=0处萤火虫的初始吸引力;
Setp3:对于Xi和Xj中每一个不对应相等的元素ta,取随机数r,若r<βij,则ta取Xi和Xj中对应元素的值,若r≥βij,则取Xi和Xj中本身对应元素的值;
2)在进行β更新后,萤火虫个体Xj的任务排序部分TSj存在非法解,对萤火虫个体进行修正,具体修正步骤为:
a)令S1=TSj、S2=TSi、L=length(S1)、p=1、q=1,TSi为萤火虫Xi的任务排序部分,TSj为萤火虫Xj的任务排序部分,L取萤火虫个体任务排序部分的长度,即任务总数;
b)找出S2中第一个等于S1(p)的元素的索引值p1,令S1(p)=0,S2(p1)=0,其中S1(p)为p值对应的S1
c)令p=p+1,若p≤L,则返回执行步骤b),否则执行步骤d);
d)若S1(q)不等于0,则在S2找到第一个非零元素的位置索引值p2,令S1(q)=S2(p2),S2(p2)=0,其中S1(q)为q值对应的S1
e)令q=q+1,若q≤L,则执行步骤d),否则结束;
3)进行α更新
在萤火虫算法中,α为步长因子,其公式为:
tai=int(tai+α(rand-1/2)) (5)
式(5)中,tai表示萤火虫任务分配部分某个元素的值,int是对参数取整操作,rand为随机因子;
4)对α更新后的编码进行非法修正,非法修正即为对每一位元素进行可行性判断:若元素的值在元素的取值范围内,则不用修正,若元素的值超出取值范围,则以距离边界值最近的点代替元素值;
步骤5:萤火虫个体重构
1)对于萤火虫个体的TS部分,采用基于邻域搜索的变异方法,其操作步骤如下:
Step1:在个体的任务排序部分随机选择r个位,并生成其排序的所有邻域;
Step2:计算所有邻域的目标函数,选出目标函数值最高的个体作为最佳个体,并代替原来的个体;
2)交叉操作
采用随迭代次数指数递增的交叉概率因子:
Cr=Crmin+(Crmax-Crmin)×exp(-a×(1-t/T)b) (6)
式(6)中,Cr为交叉概率因子,Crmin和Crmax分别为最小交叉率和最大交叉率,且Crmin=0.4,Crmax=0.6;a=40,b=4,T为设定的最大迭代次数,t为当前迭代次数,交叉操作得到的新个体
Figure GDA0001337171710000061
的取值为:
Figure GDA0001337171710000062
其中,
Figure GDA0001337171710000063
为交叉操作得到的新个体,
Figure GDA0001337171710000064
是需要交叉操作的个体,
Figure GDA0001337171710000065
为不需要进行交叉操作的个体,jrand为随机数;
3)选择操作
在原始个体
Figure GDA0001337171710000068
和经交叉操作后得到的新个体
Figure GDA0001337171710000066
之间选择目标函数值大的个体保留到下一代,选择操作为:
Figure GDA0001337171710000067
其中,Xt i是第t代的第i个个体,Ut i是第t代经交叉后得到的个体,fitness为目标函数;
步骤6:特殊耦合约束的处理
用矩阵Ts∈R3N×3N表示目标或任务间存在的特殊耦合约束关系,
Figure GDA0001337171710000071
表示任务i与任务j的特殊耦合约束,其取值规则为:
Figure GDA0001337171710000072
步骤7:萤火虫个体解码与目标函数的计算
具体的解码步骤如下:
Step1:对任务分配部分进行解码
(1)初始化各无人机的任务集合为空集,即
Figure GDA0001337171710000073
(2)从左至右依次读取萤火虫个体第k位上的值i,k=1,2,…,2N,通过j=fix(i/2)+1和h=mod(i/2)分别得到j和h的值,将Taskjh加入到TaskSequencei中;
Step2:对任务排序部分进行解码
(1)从左至右依次读取萤火虫个体第k位上的值j,k=1,2,…,2N,每个j为目标Tj上的一个任务,若j是第h次出现,则表示Taskjh,当k=2N得到所有任务的排列顺序TaskS;
(2)将TaskSequencei根据TaskS重新排列任务顺序,当Taskjh和Taskkl均在TaskSequencei中时,则以从左到右的顺序,若Taskjh在TaskS中的位置在Taskkl前面,则yijhkl=1,若Taskjh在TaskS中的位置在Taskkl后面,则yijhkl=-1;否则yijhkl=0;
至此,解码结束,得到各无人机的任务执行序列TaskSequencei
本发明的有益效果在于具有较好的通用性,通过多次的仿真验证获得的数据分析,使得模型更加完善;迭代过程简短,收敛速度快;以最小化无人机的最大航程为整体优化目标,通过分段整数编码的方式有效地表示多无人机协同任务分配方案,并通过改进的DE-DFA算法在解空间里寻找最优解,能够快速并有效地解决耦合任务环境下的多无人机任务分配问题,为解决耦合任务环境下的多无人机任务分配问题提供一种新的解决方案。
附图说明
图1为本发明的DE-DFA算法流程图。
图2为本发明的战场态势图。
图3为本发明的DE-DFA算法收敛曲线。
图4为本发明的任务分配甘特图。
图5为本发明无人机执行任务过程的路径规划图,其中图5(a)为无人机1和无人机5执行任务时的路径规划图,图5(b)为无人机2和无人机4执行任务时的路径规划图,图5(c)为无人机3和无人机7执行任务时的路径规划图,图5(d)为无人机6执行任务时的路径规划图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
图1为本发明的DE-DFA算法流程图,本发明的详细步骤如下:
步骤1:构建特殊耦合下的任务分配模型
在该步骤中,存在如下定义:
定义1:U={U1,U2,…,Ui,…,UM}为无人机集合,其中Ui表示第i架无人机,M表示无人机总数;
定义2:T={T1,T2,…,Tj,…,TN}为目标集合,其中Tj表示第j个目标,N为目标总数;
定义3:Taskjh为目标Tj的第h种任务,h=1,2,3,当h=1为确认,h=2为打击,h=3为毁伤评估;
定义4:Ujh为能够执行任务Taskjh的无人机集合;
定义5:TaskSequencei={task1>task2>task3>…>taskni}为无人机Ui的任务序列;其中ni表示分配给无人机Ui的任务数量,taskni表示无人机Ui需要执行的任务;
定义6:Routei={UPi,taskP1,taskP2,…,taskPni,B}为无人机Ui的路径序列,taskPni表示无人机Ui执行任务n时所在的位置,UPi表示无人机i的初始位置,B表示无人机返回基地的位置;
定义7:Voyi为无人机Ui的航程,其中i=1,2,…,M;
定义8:Voymaxi为无人机Ui的最大航程;
定义9:Ri为无人机Ui的武器载荷数量;
定义10:tijh为无人机Ui执行任务Taskjh消耗的执行时间;
定义11:sTk为任务k的开始被执行时刻;
定义12:eTk为任务k的完成时刻;
定义13:Inter_min为打击任务和毁伤评估任务间的最小时间间隔;
定义14:Inter_max为打击任务和毁伤评估任务间的最大时间间隔;
定义15:决策变量:
Figure GDA0001337171710000091
Figure GDA0001337171710000092
确认目标函数:选择无人机最大航程最短作为任务规划指标,该任务规划指标是将各无人机中的最大航程最小化,引导任务分配策略朝着最小化每架无人机航程的方向进行,即目标函数为:
Figure GDA0001337171710000093
确认特殊耦合约束:特殊耦合约束指在在某一时刻,两个不同位置的目标同时被打击时,该约束针对同时执行且优先级如下面所述的两种目标,存在如下两种特殊耦合约束:
(1)任务同时执行约束:目标Ti和目标Tj必须同时打击,则有约束:
Figure GDA0001337171710000094
式(2)中,
Figure GDA0001337171710000095
和inter分别表示目标Ti的开始打击时刻、目标Tj的开始打击时刻和打击目标Ti和Tj的时间间隔;
(2)任务优先级约束:目标Tk必须在Tl被确认之前被毁伤评估,则有约束:
Figure GDA0001337171710000096
式(3)中,
Figure GDA0001337171710000097
分别表示目标Tk的毁伤评估结束时刻和目标Tl的确认开始时刻;
具有复杂耦合约束下的多无人机任务分配数学模型:
Figure GDA0001337171710000101
步骤2:萤火虫编码
将萤火虫表示为1×2Nt维数组,Nt为所有任务数量,Nt=3×N,采用整数编码的形式,每个萤火虫分为两部分,前Nt维表示任务分配部分,从左至右分别表示第i个目标的确认、打击和毁伤评估任务,即第1、2、3维代表第1个目标的确认、打击和毁伤评估任务,第4、5、6维代表第2个目标的确认、打击和毁伤任务,并以此类推,i=1,2,…,N,每一维的取值由数组中每一维所对应任务的可执行无人机集合中的元素数量决定决定;后Nt维表示任务排序部分,由3组所有目标的编号组成,从左至右,目标Tj第h次出现分别对应该目标的确认、打击和毁坏评估任务,即目标Tj第1次出现表示无人机i的确认,目标Tj第2次出现表示无人机i的打击,目标Tj第3次出现表示无人机i的毁伤评估;
如311232213依次表示执行无人机3的确认,无人机1的确认和打击,无人机2的确认,无人机3的打击,无人机2的打击和毁伤评估,无人机1的毁伤评估,无人机3的毁伤评估。
步骤3:种群初始化
选择随机产生的方式对萤火虫种群进行初始化,为了确保初始产生的萤火虫能较均匀地分布在解空间,从而防止种群过早陷入局部最优解,在随机初始化的过程中,比较萤火虫之间的余弦相似度,当任意两只萤火虫余弦相似度超过设定的阈值ξ,则对其中一个萤火虫重新初始化,即对该萤火虫的数值随机化,其中阈值ξ取值在0.6-0.7之间,余弦相似度公式为:
Figure GDA0001337171710000111
其中,Xi和Xj分别指萤火虫i和萤火虫j所对应的向量;
步骤4:萤火虫位置更新
1)萤火虫位置进行β更新,具体步骤如下:
Setp1:计算萤火虫Xi和Xj的海明距离Hij,海明距离为两个萤火虫个体的位置向量中互相对应的数不相等的对数,如两个萤火虫的位置向量分别是[2 5 4 3 6 1 8]、[2 4 53 8 1 6],则它们的海明距离是4,并找到Xi和Xj中对应相等的元素;
Setp2:计算Xi对Xj相对吸引度βij,其中
Figure GDA0001337171710000112
Hij为萤火虫i与萤火虫j的海明距离,γ是移动步长,β0表示在γ=0处萤火虫的初始吸引力;
Setp3:对于Xi和Xj中每一个不对应相等的元素ta,取随机数r,若r<βij,则ta取Xi和Xj中对应元素的值,若r≥βij,则取Xi和Xj中本身对应元素的值;
2)在进行β更新后,萤火虫个体Xj的任务排序部分TSj存在非法解,因为TSj部分是重复三次对目标进行排序,并以编号代替,所以每个目标均会且仅会出现三次,在β更新后,某些目标出现次数可能会少于3次,也有可能多于三次,这样的编码是不合理的,因而需要对萤火虫个体进行修正,具体修正步骤为:
a)令S1=TSj、S2=TSi、L=length(S1)、p=1、q=1,TSi为萤火虫Xi的任务排序部分,TSj为萤火虫Xj的任务排序部分,L取萤火虫个体任务排序部分的长度,即任务总数;
b)找出S2中第一个等于S1(p)的元素的索引值p1,令S1(p)=0,S2(p1)=0,其中S1(p)为p值对应的S1
c)令p=p+1,若p≤L,则返回执行步骤b),否则执行步骤d);
d)若S1(q)不等于0,则在S2找到第一个非零元素的位置索引值p2,令S1(q)=S2(p2),S2(p2)=0,其中S1(q)为q值对应的S1
e)令q=q+1,若q≤L,则执行步骤d),否则结束;
3)进行α更新
在萤火虫算法中,α为步长因子,其作用是帮助萤火虫个体在其周围进行小范围的随机扰动,在对萤火虫个体进行β更新后,对更新后的个体的任务分配部分采用随机扰动的α更新,其目的是使得算法具有一定的局部随机搜索能力,α为步长因子,其公式为:
tai=int(tai+α(rand-1/2)) (5)
式(5)中,tai表示萤火虫任务分配部分某个元素的值,int是对参数取整操作,rand为随机因子;
4)在α更新后,萤火虫个体的任务分配部分出现非法解,因为任务分配部分的每个位都代表一个固定的任务,而每个任务都关联着可选无人机集合Ujh(以编号表示),α更新可能会使得某些元素的取值超出该集合,所以有必要对更新后的编码进行非法修正,为避免使得算法过于复杂,尽量简化修正操作。
对α更新后的编码进行非法修正,非法修正即为对每一位元素进行可行性判断:若元素的值在元素的取值范围内,则不用修正,若元素的值超出取值范围,则以距离边界值最近的点代替元素值;
步骤5:萤火虫个体重构
1)对于萤火虫个体的TS部分,采用基于邻域搜索的变异方法,其操作步骤如下:
Step1:在个体的任务排序部分随机选择r个位,并生成其排序的所有邻域;
Step2:计算所有邻域的目标函数,选出目标函数值最高的个体作为最佳个体,并代替原来的个体;
2)交叉操作
为了提高种群的多样性,通过变异操作产生变异个体后需要进行交叉操作,而为了能够更好地平衡差分算子的全局搜索能力与局部搜索能力,采用随迭代次数指数递增的交叉概率因子:
采用随迭代次数指数递增的交叉概率因子:
Cr=Crmin+(Crmax-Crmin)×exp(-a×(1-t/T)b) (6)
式(6)中,Cr为交叉概率因子,Crmin和Crmax分别为最小交叉率和最大交叉率,且Crmin=0.4,Crmax=0.6;a=40,b=4,T为设定的最大迭代次数,t为当前迭代次数,交叉操作得到的新个体
Figure GDA0001337171710000131
的取值为:
Figure GDA0001337171710000132
其中,
Figure GDA0001337171710000133
为交叉操作得到的新个体,
Figure GDA0001337171710000134
是需要交叉操作的个体,
Figure GDA0001337171710000135
为不需要进行交叉操作的个体,jrand为随机数;
3)选择操作
为了保持后代种群数量的恒定,也为了进化朝着更优的方向进行,算法的下一步采用贪婪策略进行选择,在原始个体
Figure GDA0001337171710000136
和经交叉操作后得到的新个体
Figure GDA0001337171710000137
之间选择目标函数值大的个体保留到下一代,选择操作为:
Figure GDA0001337171710000138
其中,Xt i是第t代的第i个个体,Ut i是第t代经交叉后得到的个体,fitness为目标函数;
步骤6:特殊耦合约束的处理
特殊耦合约束分为任务同时执行约束和任务优先级约束两种,虽然对于特殊耦合约束是针对目标而言,但是将其细化到每个子任务之间,用矩阵Ts∈R3N×3N表示目标或任务间存在的特殊耦合约束关系,
Figure GDA0001337171710000139
表示任务i与任务j的特殊耦合约束,其取值规则为:
Figure GDA00013371717100001310
步骤7:萤火虫个体解码与目标函数的计算
具体的解码步骤如下:
Step1:对任务分配部分进行解码
(1)初始化各无人机的任务集合为空集,即
Figure GDA0001337171710000141
(2)从左至右依次读取萤火虫个体第k位上的值i,k=1,2,…,2N,通过j=fix(i/2)+1和h=mod(i/2)分别得到j和h的值,将Taskjh加入到TaskSequencei中;
Step2:对任务排序部分进行解码
(1)从左至右依次读取萤火虫个体第k位上的值j,k=1,2,…,2N,每个j为目标Tj上的一个任务,若j是第h次出现,则表示Taskjh,当k=2N得到所有任务的排列顺序TaskS;
(2)将TaskSequencei根据TaskS重新排列任务顺序,当Taskjh和Taskkl均在TaskSequencei中时,则以从左到右的顺序,若Taskjh在TaskS中的位置在Taskkl前面,则yijhkl=1,若Taskjh在TaskS中的位置在Taskkl后面,则yijhkl=-1;否则yijhkl=0;
至此,解码结束,得到各无人机的任务执行序列TaskSequencei
在对个体解码后,可以得到每架无人机的任务执行序列TaskSequencei,由于采用的目标函数为对最大航程的最小化,为了满足时间耦合约束,无人机有可能会因等待时机而在目标上空处于盘旋状态,盘旋过程中,无人机虽然不执行任何任务却仍要消耗燃油,因而在计算航程时仅仅计算目标与无人机之间的距离是不够的。无人机在执行任务过程中的速度vi保持固定,因此,以“航程=飞行速度*飞行时间”计算无人机的航程,飞行时间为无人机开始执行任务到完成最后一个任务的时间段,考虑到无人机最终需要返回预先设置的基地,在航程后加上无人机最后一个任务到基地的距离作为最终的无人机航程。
为了满足特殊耦合约束,对萤火虫个体进行解码后计算目标函数时,对每架无人机的任务序列中的任务按照公式(9)判断与其存在特殊耦合约束的任务的分配情况;
由于无人机在同一时刻只能执行一个任务,即不能将具有任务同时执行约束的多个任务添加到同一架无人机的任务序列中,而对于设计的萤火虫个体来说很难完全避免,即使在初始化编码中添加避免逻辑,还是很难保证在个体更新中完全避免,鉴于此,从目标函数的角度出发,从算法寻优的角度去避免,当对萤火虫个体计算目标函数值时,若发现某无人机的任务序列中包含具有任务同时执行约束的任务,则令该萤火虫个体的适应度函数值为极差值。
本发明的实施例中,仿真环境为:Intel 2.53GHz主频,2G内存的PC机,Windows7操作系统,Matlab2014a平台。
我方有7架无人机,敌方有10个待摧毁目标,每个目标需要执行目标确认、打击和效果评估三类任务,三类任务间具有时间强耦合性,无人机配置及初始位置信息如表1所示,目标位置及着陆基地位置信息如表2所示,任务初始时刻t=0。
表1
Figure GDA0001337171710000151
表2
Figure GDA0001337171710000152
整个战场的态势如图2所示,为方便表示,将所有任务进行编号,对于目标taskjh的编号no表示为:
no=(j-1)*3+h
表3为无人机与任务的执行时间表,表中inf表示无穷大,即该无人机不能执行该任务。
表3
Figure GDA0001337171710000161
表3(续)
Figure GDA0001337171710000162
表3(续)
Figure GDA0001337171710000163
在战术考虑下,具有以下的特殊耦合约束:
(1)目标1和目标8需要同时被确认;
(2)目标4和目标10需要同时被打击;
(3)目标6需要在目标5被确认之前进行毁伤评估。
鉴于对任务同时执行约束的定义,令inter=0.5h,即当两个任务被执行的时间间隔不超过0.5h,则满足任务同时执行约束,以上特殊耦合约束表示为:
Figure GDA0001337171710000164
Figure GDA0001337171710000165
Figure GDA0001337171710000166
式中,
Figure GDA0001337171710000167
Figure GDA0001337171710000168
分别表示目标1、目标8、目标4、目标10和目标5的确认开始时刻,
Figure GDA0001337171710000169
表示目标6的毁伤评估结束时刻;
仿真结果与分析:
采用提出的DE-DFA算法进行求解,具体的参数配置为:种群规模n=50,最大迭代次数为100次,β0=1,α=0.5,ωg=0.4,其中β0是初始吸引力,α是随机参数,ωg为变异概率,个体变异时的邻域范围为5,求得的最优分配方案以及各无人机的任务序列如表4所示,目标的被执行时刻如表5所示,本发明的迭代收敛过程如图3所示。
表4
Figure GDA0001337171710000171
表5
Figure GDA0001337171710000172
由表5可以看出,目标1和目标8分别在t=6.25h和t=6.7315h时被无人机2和无人机3确认,满足目标1和目标8同时被确认的特殊耦合约束,目标4和目标10分别在t=25.3784h和t=25.2045时被无人机6和无人机5打击,满足二者被同时打击的特殊耦合约束;目标6在t=21.9453h时被无人机4执行毁伤评估任务,目标5在t=24.1786h时被无人机4确认,满足目标6在目标5被确认之前被毁伤评估的任务优先级约束。此外,根据表4和表5的结果可以看出,任务分配结果同样满足时间耦合约束及其他约束,结果表明,本发明提出的DE-DFA算法能够有效地解决同时存在特殊耦合约束和时间耦合约束的多无人机协同任务分配问题。
图4为本发明的任务分配甘特图,图5为本发明无人机执行任务过程的路径规划图,其中图5(a)为无人机1和无人机5执行任务时的路径规划图,图5(b)为无人机2和无人机4执行任务时的路径规划图,图5(c)为无人机3和无人机7执行任务时的路径规划图,图5(d)为无人机6执行任务时的路径规划图。

Claims (1)

1.一种改进萤火虫算法的多无人机协同耦合任务分配方法,其特征在于包括下述步骤:
步骤1:构建特殊耦合下的任务分配模型
在该步骤中,存在如下定义:
定义1:U={U1,U2,…,Ui,…,UM}为无人机集合,其中Ui表示第i架无人机,M表示无人机总数;
定义2:T={T1,T2,…,Tj,…,TN}为目标集合,其中Tj表示第j个目标,N为目标总数;
定义3:Taskjh为目标Tj的第h种任务,h=1,2,3,当h=1为确认,h=2为打击,h=3为毁伤评估;
定义4:Ujh为能够执行任务Taskjh的无人机集合;
定义5:TaskSequencei={task1>task2>task3>…>taskni}为无人机Ui的任务序列;其中ni表示分配给无人机Ui的任务数量,taskni表示无人机Ui需要执行的任务;
定义6:Routei={UPi,taskP1,taskP2,…,taskPni,B}为无人机Ui的路径序列,taskPni表示无人机Ui执行任务n时所在的位置,UPi表示无人机i的初始位置,B表示无人机返回基地的位置;
定义7:Voyi为无人机Ui的航程,其中i=1,2,…,M;
定义8:Voymaxi为无人机Ui的最大航程;
定义9:Ri为无人机Ui的武器载荷数量;
定义10:tijh为无人机Ui执行任务Taskjh消耗的执行时间;
定义11:sTk为任务k的开始被执行时刻;
定义12:eTk为任务k的完成时刻;
定义13:Inter_min为打击任务和毁伤评估任务间的最小时间间隔;
定义14:Inter_max为打击任务和毁伤评估任务间的最大时间间隔;
定义15:决策变量:
Figure FDA0002208928020000021
Figure FDA0002208928020000022
确认目标函数:选择无人机最大航程最短作为任务规划指标,该任务规划指标是将各无人机中的最大航程最小化,即目标函数为:
Figure FDA0002208928020000023
确认特殊耦合约束:特殊耦合约束指在任务执行过程中的某一时刻,有两个目标需要同时被打击,则特殊耦合约束如下式(2)所示,同时在任务执行时有两个目标具有被处理的优先级关系,则特殊耦合约束如下式(3)所示:
(1)任务同时执行约束:目标Ti和目标Tj必须同时打击,则有约束:
Figure FDA0002208928020000024
式(2)中,
Figure FDA0002208928020000025
和inter分别表示目标Ti的开始打击时刻、目标Tj的开始打击时刻和打击目标Ti和Tj的时间间隔;
(2)任务优先级约束:目标Tk必须在Tl被确认之前被毁伤评估,则有约束:
Figure FDA0002208928020000026
式中,
Figure FDA0002208928020000027
分别表示目标Tk的毁伤评估结束时刻和目标Tl的确认开始时刻;
具有复杂耦合约束下的多无人机任务分配数学模型:
Figure FDA0002208928020000031
步骤2:萤火虫编码
将萤火虫表示为1×2Nt维数组,Nt为所有任务数量,Nt=3×N,采用整数编码的形式,每个萤火虫分为两部分,前Nt维表示任务分配部分,从左至右分别表示第i个目标的确认、打击和毁伤评估任务,即第1、2、3维代表第1个目标的确认、打击和毁伤评估任务,第4、5、6维代表第2个目标的确认、打击和毁伤任务,并以此类推,i=1,2,…,N,每一维的取值由数组中每一维所对应任务的可执行无人机集合中的元素数量决定决定;后Nt维表示任务排序部分,由3组所有目标的编号组成,从左至右,目标Tj第h次出现分别对应该目标的确认、打击和毁坏评估任务,即目标Tj第1次出现表示无人机i的确认,目标Tj第2次出现表示无人机i的打击,目标Tj第3次出现表示无人机i的毁伤评估;
步骤3:种群初始化
比较萤火虫之间的余弦相似度,当任意两只萤火虫余弦相似度超过设定的阈值ξ,则对其中一个萤火虫重新初始化,即对该萤火虫的数值随机化,其中阈值ξ取值在0.6-0.7之间,余弦相似度公式为:
Figure FDA0002208928020000041
其中,Xi和Xj分别指萤火虫i和萤火虫j所对应的向量;
步骤4:萤火虫位置更新
1)萤火虫位置进行β更新,具体步骤如下:
Setp1:计算萤火虫Xi和Xj的海明距离Hij,海明距离为两个萤火虫个体的位置向量中互相对应的数不相等的对数,并找到Xi和Xj中对应相等的元素;
Setp2:计算Xi对Xj相对吸引度βij,其中
Figure FDA0002208928020000042
Hij为萤火虫i与萤火虫j的海明距离,γ是移动步长,β0表示在γ=0处萤火虫的初始吸引力;
Setp3:对于Xi和Xj中每一个不对应相等的元素ta,取随机数r,若r<βij,则ta取Xi和Xj中对应元素的值,若r≥βij,则取Xi和Xj中本身对应元素的值;
2)在进行β更新后,萤火虫个体Xj的任务排序部分TSj存在非法解,对萤火虫个体进行修正,具体修正步骤为:
a)令S1=TSj、S2=TSi、L=length(S1)、p=1、q=1,TSi为萤火虫Xi的任务排序部分,TSj为萤火虫Xj的任务排序部分,L取萤火虫个体任务排序部分的长度,即任务总数;
b)找出S2中第一个等于S1(p)的元素的索引值p1,令S1(p)=0,S2(p1)=0,其中S1(p)为p值对应的S1
c)令p=p+1,若p≤L,则返回执行步骤b),否则执行步骤d);
d)若S1(q)不等于0,则在S2找到第一个非零元素的位置索引值p2,令S1(q)=S2(p2),S2(p2)=0,其中S1(q)为q值对应的S1
e)令q=q+1,若q≤L,则执行步骤d),否则结束;
3)进行α更新
在萤火虫算法中,α为步长因子,其公式为:
tai=int(tai+α(rand-1/2)) (5)
式(5)中,tai表示萤火虫任务分配部分某个元素的值,int是对参数取整操作,rand为随机因子;
4)对α更新后的编码进行非法修正,非法修正即为对每一位元素进行可行性判断:若元素的值在元素的取值范围内,则不用修正,若元素的值超出取值范围,则以距离边界值最近的点代替元素值;
步骤5:萤火虫个体重构
1)对于萤火虫个体的TS部分,采用基于邻域搜索的变异方法,其操作步骤如下:Step1:在个体的任务排序部分随机选择r个位,并生成其排序的所有邻域;
Step2:计算所有邻域的目标函数,选出目标函数值最高的个体作为最佳个体,并代替原来的个体;
2)交叉操作
采用随迭代次数指数递增的交叉概率因子:
Cr=Crmin+(Crmax-Crmin)×exp(-a×(1-t/T)b) (6)
式(6)中,Cr为交叉概率因子,Crmin和Crmax分别为最小交叉率和最大交叉率,且Crmin=0.4,Crmax=0.6;a=40,b=4,T为设定的最大迭代次数,t为当前迭代次数,交叉操作得到的新个体
Figure FDA0002208928020000051
的取值为:
Figure FDA0002208928020000052
其中,
Figure FDA0002208928020000053
为交叉操作得到的新个体,
Figure FDA0002208928020000054
是需要交叉操作的个体,
Figure FDA0002208928020000055
为不需要进行交叉操作的个体,jrand为随机数;
3)选择操作
在原始个体
Figure FDA0002208928020000056
和经交叉操作后得到的新个体
Figure FDA0002208928020000057
之间选择目标函数值大的个体保留到下一代,选择操作为:
Figure FDA0002208928020000058
其中,Xt i是第t代的第i个个体,Ut i是第t代经交叉后得到的个体,fitness为目标函数;
步骤6:特殊耦合约束的处理
用矩阵Ts∈R3N×3N表示目标或任务间存在的特殊耦合约束关系,
Figure FDA0002208928020000061
表示任务i与任务j的特殊耦合约束,其取值规则为:
Figure FDA0002208928020000062
步骤7:萤火虫个体解码与目标函数的计算
具体的解码步骤如下:
Step1:对任务分配部分进行解码
(1)初始化各无人机的任务集合为空集,即
Figure FDA0002208928020000063
(2)从左至右依次读取萤火虫个体第k位上的值i,k=1,2,…,2N,通过j=fix(i/2)+1和h=mod(i/2)分别得到j和h的值,将Taskjh加入到TaskSequencei中;
Step2:对任务排序部分进行解码
(1)从左至右依次读取萤火虫个体第k位上的值j,k=1,2,…,2N,每个j为目标Tj上的一个任务,若j是第h次出现,则表示Taskjh,当k=2N得到所有任务的排列顺序TaskS;
(2)将TaskSequencei根据TaskS重新排列任务顺序,当Taskjh和Taskkl均在TaskSequencei中时,则以从左到右的顺序,若Taskjh在TaskS中的位置在Taskkl前面,则yijhkl=1,若Taskjh在TaskS中的位置在Taskkl后面,则yijhkl=-1;否则yijhkl=0;
至此,解码结束,得到各无人机的任务执行序列TaskSequencei
CN201710281909.2A 2017-04-26 2017-04-26 一种改进萤火虫算法的多无人机协同耦合任务分配方法 Expired - Fee Related CN107219858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710281909.2A CN107219858B (zh) 2017-04-26 2017-04-26 一种改进萤火虫算法的多无人机协同耦合任务分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710281909.2A CN107219858B (zh) 2017-04-26 2017-04-26 一种改进萤火虫算法的多无人机协同耦合任务分配方法

Publications (2)

Publication Number Publication Date
CN107219858A CN107219858A (zh) 2017-09-29
CN107219858B true CN107219858B (zh) 2020-04-03

Family

ID=59944825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710281909.2A Expired - Fee Related CN107219858B (zh) 2017-04-26 2017-04-26 一种改进萤火虫算法的多无人机协同耦合任务分配方法

Country Status (1)

Country Link
CN (1) CN107219858B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109613921B (zh) * 2019-01-08 2021-07-30 智慧航海(青岛)科技有限公司 基于快速移动萤火虫算法的无人船舶局部路径规划方法
CN110069074B (zh) * 2019-04-17 2020-08-18 南京航空航天大学 一种基于多目标三点定位的无人机协同航迹规划方法
CN109934422B (zh) * 2019-04-25 2021-06-29 中国人民解放军国防科技大学 一种基于时间序列数据分析的神经网络风速预测方法
CN110162043B (zh) * 2019-05-17 2020-10-09 北京航空航天大学 一种多目标点同时到达约束下的集群任务分配和控制方法
CN110320932B (zh) * 2019-06-21 2021-08-31 西安电子科技大学 一种基于微分进化算法的编队队形重构方法
CN110599097B (zh) * 2019-09-17 2023-04-18 九江学院 一种基于萤火虫算法的双梯队库存路径优化设计方法
CN111260031B (zh) * 2020-01-14 2022-03-01 西北工业大学 一种基于深度强化学习的无人机集群目标防卫方法
CN112130586B (zh) * 2020-09-29 2021-12-21 南京航空航天大学 一种基于资源树的分布式异构无人机联盟构成方法
CN112596373B (zh) * 2020-10-27 2023-05-23 西北工业大学 一种基于量子萤火虫算法的无人机姿控参数智能整定方法
CN113537738A (zh) * 2021-06-30 2021-10-22 北京航空航天大学 一种多循环与多约束融合的航空应急救援效能评估方法
CN115016537B (zh) * 2022-06-20 2024-03-29 中国人民解放军国防科技大学 一种sead场景下异构无人机配置与任务规划联合优化方法
CN115329595B (zh) * 2022-08-31 2023-04-14 哈尔滨工业大学 一种基于知识与经验的无人机集群任务规划方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360214B (zh) * 2011-09-02 2013-03-06 哈尔滨工程大学 一种基于萤火虫算法的舰船路径规划方法
CN102768536B (zh) * 2012-07-20 2014-06-25 哈尔滨工程大学 一种基于多目标萤火虫算法的路径规划方法
CN102901498B (zh) * 2012-09-21 2015-03-25 北京航空航天大学 一种不确定环境下的无人飞行器编队协同搜索和动态任务分配方法
CN103279793B (zh) * 2013-04-25 2015-11-11 北京航空航天大学 一种确定环境下的无人飞行器编队任务分配方法
CN104573812B (zh) * 2014-07-07 2018-06-01 广西民族大学 一种基于粒子萤火虫群优化算法的无人机航路路径确定方法
CN104406593A (zh) * 2014-12-03 2015-03-11 广西民族大学 一种确定无人机航路最优路径的方法
CN104700165B (zh) * 2015-03-27 2016-05-11 合肥工业大学 一种多无人机舰机协同路径规划方法
CN105045095B (zh) * 2015-08-17 2017-12-26 南京航空航天大学 一种多无人机应急救灾任务分配方法
CN105225003B (zh) * 2015-09-23 2018-11-30 西北工业大学 一种布谷鸟搜索算法解决uav多任务侦察决策问题的方法
CN105739303B (zh) * 2015-12-29 2019-11-22 沈阳航空航天大学 基于滚动时域法的多无人机协同打击任务分配方法
CN105635006B (zh) * 2016-01-12 2018-11-23 南京信息工程大学 一种基于dna萤火虫优化的小波盲均衡方法
CN105760959A (zh) * 2016-02-24 2016-07-13 武汉大学 一种基于两阶段萤火虫编码的机组组合优化方法
CN105824937A (zh) * 2016-03-17 2016-08-03 合肥工业大学 一种基于二进制萤火虫算法的属性选择方法
CN105911992B (zh) * 2016-06-14 2019-02-22 广东技术师范学院 一种移动机器人的自动规划路径方法及移动机器人
CN106094833B (zh) * 2016-07-19 2018-12-28 重庆邮电大学 一种基于混沌萤火虫算法的移动机器人路径规划方法

Also Published As

Publication number Publication date
CN107219858A (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
CN107219858B (zh) 一种改进萤火虫算法的多无人机协同耦合任务分配方法
CN106990792B (zh) 混合引力搜索算法的多无人机协同时序耦合任务分配方法
Jia et al. Cooperative multiple task assignment problem with stochastic velocities and time windows for heterogeneous unmanned aerial vehicles using a genetic algorithm
CN107515618A (zh) 一种考虑时间窗口的异构无人机协同任务分配方法
CN107330560B (zh) 一种考虑时序约束的异构飞行器多任务协同分配方法
CN106815644B (zh) 机器学习方法和系统
CN110766254A (zh) 一种基于改进遗传算法的多无人机协同任务分配方法
CN108053119A (zh) 一种求解零等待流水车间调度问题的改进粒子群优化算法
CN108171315B (zh) 基于smc粒子群算法的多无人机任务分配方法
CN113671987B (zh) 基于非死锁合同网算法的多机分布式时序任务分配方法
Aleman et al. A tabu search with vocabulary building approach for the vehicle routing problem with split demands
CN111798114A (zh) 一种模型训练、订单处理方法、装置、设备及存储介质
CN113821973B (zh) 一种多阶段武器目标分配的自适应优化方法
Yu et al. An extended flexible job shop scheduling model for flight deck scheduling with priority, parallel operations, and sequence flexibility
CN110969362A (zh) 一种云计算系统下多目标任务调度方法及系统
CN114417735A (zh) 一种跨区域联合作战中的多无人机协同任务规划方法
CN113805604B (zh) 一种基于差分进化和模拟退火的多任务规划搜索方法
Fu et al. A multi-objective pigeon inspired optimization algorithm for fuzzy production scheduling problem considering mould maintenance
CN115494873A (zh) 时序约束下一种基于蒙特卡洛树搜索架构的异构多无人机协同任务分配方法
Jing et al. Cooperative task assignment for heterogeneous multi-UAVs based on differential evolution algorithm
Tao et al. Decentralized Multi⁃ agent Task Planning for Heterogeneous UAV Swarm.
CN112395690A (zh) 基于强化学习的舰载机舰面保障流程优化方法
CN115564374A (zh) 协同多任务重分配方法、装置、设备及可读存储介质
CN113487031A (zh) 一种基于改进模拟退火融合遗传算法的多无人机任务分配方法
CN116009569A (zh) Sead任务场景下一种基于多类型基因染色体遗传算法的异构多无人机任务规划方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200403

Termination date: 20210426

CF01 Termination of patent right due to non-payment of annual fee