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

一种基于蜂群遗传混合算法的AUV系统任务分配方法

2022-08-07 14:35:52 来源:中国专利 TAG:

一种基于蜂群遗传混合算法的auv系统任务分配方法
技术领域
1.本发明属于水下航行器控制技术领域,具体涉及一种多任务路径规划方法。


背景技术:

2.自主水下航行器(autonomous underwater vehicle,以下简称auv)是一种重要的工具,常用于海洋资源的勘探与研究。海洋环境复杂多变,为了确保auv的安全导航,其路径规划技术非常重要。auv任务分配通过构建科学健壮的数学模型,设计优化算法完成任务配置,使个体的资源得到充分利用,高效地完成任务,体现了多auv系统的高层组织形式与运行机制。因此,针对异构多auv系统和海洋环境的特殊性,为提升多auv系统的智能化水平,开展多auv系统协同任务分配方法的研究具有重要的意义。
3.由于异构多auv任务分配系统所具有的复杂性、非线性、约束性以及任务多态性等特点,传统的优化方法(如牛顿法、单纯形法)无法在短时间内遍历整个搜索空间得到最优解,而且非常容易产生搜索的“组合爆炸”。针对复杂环境的规划研究,已有的方法很难同时满足系统对结构稳定和敏捷适应的需求。因此,从分析任务、资源、环境等的关系入手,抛开理想状态下的规划,构建具有更强描述能力、更细粒度的任务分配数学模型,针对一致任务信息的静态环境中各auv携带资源有限的情况,利用不同的群智能优化方法,分别从资源层面以及整体系统层面出发,研究异构多auv系统任务分配方法。


技术实现要素:

4.为了克服现有技术的不足,本发明提供了一种基于蜂群遗传混合算法的auv系统任务分配方法,针对一致任务信息的静态环境中各auv携带资源有限的情况,利用不同的群智能优化方法,分别从资源层面以及整体系统层面出发,设计异构多auv系统任务分配方法。为了避免人工蜂群算法iabc发生“早熟”停滞现象以及该算法在进化后期最优解变化不明显问题,将算法与小生境遗传技术nga结合以优化全局搜索性能,提高了系统协作能力并改善单个auv能力不足的情况。仿真结果表明:本发明方法在保证任务分配合理的同时,能够得到在多约束条件下系统整体效能最优的任务分配以及资源配置结果。
5.本发明解决其技术问题所采用的技术方案包括如下步骤:
6.步骤1:初始化iabc算法参数与nga算法参数,设定任务集合;
7.步骤2:利用iabc算法得到每只蜜蜂满足约束条件的任务分配矩阵;
8.步骤2-1:为每只蜜蜂从任务集合中随机选择一个任务,然后依据iabc算法的概率公式选择执行任务的auv;
9.定义任务约束为:
[0010][0011][0012]
[0013][0014]
式中,n表示auv数量,m表示任务总数;x
(i,j)
表示auvi是否执行taskj,x
(i,j)
=1表示auvi执行taskj,x
(i,j)
=0表示auvi不执行taskj,auvi表示第i个auv,taskj表示第j个任务;oi为auvi的最大负荷任务数,m表示auv执行同一任务的次数;(1)式表示任意一个auv执行任务的个数不超过该auv最大负荷任务数;(2)式表示同一auv对某个任务最多执行一次;(3)式表示每个任务至少需要一个auv执行;(4)式表示所有任务需全部被auv执行;
[0015]
当遍历完所有蜜蜂后,如果能够同时满足任务约束式(1)到式(4)就进入步骤2-2,否则重新开始步骤2-1;
[0016]
步骤2-2:判断执行任务的auv是否满足航程、通信、资源约束:
[0017]
航程与通信约束为:
[0018]
d(auvi,taskj)<max(auvi)
ꢀꢀ
(5)
[0019][0020]
dis(auvi,auvg)<min[m(auvi),m(auvg)]
ꢀꢀ
(7)
[0021]
式中,d(auvi,taskj)为auvi执行taskj的航行距离,max(auvi)为auvi的最大航行距离;p为auvi执行的任务数量,dis(auvi,auvg)为auvi到auvg的通信距离,m(auvi)为auvi的最大通讯距离;(5)式为单个auv的航行距离约束;(6)式为多auv系统的航行距离约束;(7)式为auvi与auvg之间的通讯距离约束;
[0022]
资源约束为:
[0023][0024][0025]
式中,r
ai
为auvi负载的资源种类,r
tj
为taskj所需要的资源种类;为auvi负载的资源数量,k为资源种类,为taskj所需要的资源的数量;(8)式表示对于单个auvi负载的资源种类与数量要满足taskj所需的资源量;(9)式表示对于多auv系统的所有资源种类和数量之和应满足所有任务所需的资源量;
[0026]
当任务所需要的资源种类大于等于设定阈值时,该任务被定义为复杂任务;当任务所需要的资源种类小于设定阈值时,该任务被定义为简单任务;
[0027]
如果执行任务的auv同时满足式(5)到式(9)的航程、通信、资源约束,则形成任务与执行该任务的auv之间的关联关系,如果不能同时满足式(5)到式(9)的航程、通信、资源约束,则重新开始步骤2-1;所有任务与执行该任务的auv之间的关联关系构成任务分配矩阵;
[0028]
步骤3:计算步骤2得到的任务分配矩阵的效能函数u
t

[0029]
效能函数即完成所有任务的目标函数:
[0030]ut
=α1*ben*x
(i,j)-α2*d*x
(i,j)-α3*time*x
(i,j)-α4*ak[0031]
其中,为完成所有任务所获效益,f(.)表示单个任务所获收益,typ(taskj)表示任务类型,sta(taskj)表示任务状态;
[0032]
为auv执行任务消耗
距离代价;其中,m
p
与mq分别表示执行的简单任务与复杂任务数量,其和为m;n
p
表示执行简单任务的auv集合,nq表示执行复杂任务的auv集合;ck为执行复杂任务的auv个数;
[0033]
为任务完成时间;其中d
(i,j)
表示距离,vi表示速度;
[0034]
为资源均衡函数;式中,n为auv的个数,ri为auvi执行任务taskj后的剩余资源,为剩余资源的平均值,ε为对于资源消耗不公平的厌恶程度,ε值越大,对各auv消耗的资源越均衡;α1、α2、α3、α4均表示系数;
[0035]
步骤4:设定次数s和子群体数t,且s能被t整除;将步骤2和步骤3重复s次,得到s个任务分配矩阵,计算出s个效能函数值;
[0036]
步骤5:将s个效能函数值按从大到小的顺序依次分配为t个子群体;
[0037]
在t个子群体中随机选择两个子群体,在这两个子群体之间独立进行交叉变异;重新在t个子群体中随机选择两个子群体,在这两个子群体之间独立进行交叉变异;将此过程重复z次;
[0038]
再计算每个子群体的平均效能值,选择平均效能值最大的子群体,再找到平均效能值最大的子群体中最大效能值对应的任务分配矩阵作为最优分配结果;
[0039]
步骤6:重复步骤2至步骤5,直到达到设定的终止条件最大迭代次数或者最优分配结果不再变化为止;此时的最优分配结果即为全局最优分配结果。
[0040]
优选地,所述α1=0.4、α2=0.3、α3=0.2、α4=0.4。
[0041]
本发明的有益效果如下:
[0042]
1、本发明采用iabc-nga算法将多auv协同任务分配系统中的任务分配与资源分配进行融合设计,从而得到系统整体效能最优情况下的任务分配以及资源配置结果,提高了系统协作能力同时改善了单个auv能力不足的情况。
[0043]
2、本发明采用基于iabc-nga融合算法的异构多auv系统任务分配方法可以快速的收敛到最优解,得到的任务分配结果略不同于iabc算法且系统的最大效能值要高于iabc算法。
附图说明
[0044]
图1为本发明实施例基于iabc-nga算法的异构多auv任务分配方法,其中(a)任务分配结果,(b)系统效能函数值变化。
[0045]
图2为本发明实施例基于iabc的异构多auv系统任务分配结果,其中(a)任务分配结果,(b)系统效能函数值变化。
具体实施方式
[0046]
下面结合附图和实施例对本发明进一步说明。
[0047]
目前auv系统的任务分配大多是基于进化策略的模式,其存在分配效率不高、资源配置不均衡等问题。本发明提出了人工蜂群算法与小生境遗传算法结合的混合算法解决异构多auv系统与任务之间的分配关系。为了避免人工蜂群算法发生“早熟”停滞现象以及该算法在进化后期最优解变化不明显问题,将算法与小生境遗传技术结合以优化全局搜索性能,提高了系统协作能力并改善单个auv能力不足的情况。
[0048]
一种基于蜂群遗传混合算法的auv系统任务分配方法,包括如下步骤:
[0049]
步骤1:初始化iabc算法参数与nga算法参数,设定任务集合;
[0050]
步骤2:利用iabc算法得到每只蜜蜂满足约束条件的任务分配矩阵;
[0051]
步骤2-1:为每只蜜蜂从任务集合中随机选择一个任务,然后依据iabc算法的概率公式选择执行任务的auv;
[0052]
定义任务约束为:
[0053][0054][0055][0056][0057]
式中,n表示auv数量,m表示任务总数;x
(i,j)
表示auvi是否执行taskj,x
(i,j)
=1表示auvi执行taskj,x
(i,j)
=0表示auvi不执行taskj,auvi表示第i个auv,taskj表示第j个任务;oi为auvi的最大负荷任务数,m表示auv执行同一任务的次数;(1)式表示任意一个auv执行任务的个数不超过该auv最大负荷任务数;(2)式表示同一auv对某个任务最多执行一次;(3)式表示每个任务至少需要一个auv执行;(4)式表示所有任务需全部被auv执行;
[0058]
当遍历完所有蜜蜂后,如果能够同时满足任务约束式(1)到式(4)就进入步骤2-2,否则重新开始步骤2-1;
[0059]
步骤2-2:判断执行任务的auv是否满足航程、通信、资源约束:
[0060]
航程与通信约束为:
[0061]
d(auvi,taskj)<max(auvi)
ꢀꢀ
(5)
[0062][0063]
dis(auvi,auvg)<min[m(auvi),m(auvg)]
ꢀꢀ
(7)
[0064]
式中,d(auvi,taskj)为auvi执行taskj的航行距离,max(auvi)为auvi的最大航行距离;p为auvi执行的任务数量,dis(auvi,auvg)为auvi到auvg的通信距离,m(auvi)为auvi的最大通讯距离;(5)式为单个auv的航行距离约束;(6)式为多auv系统的航行距离约束;(7)式为auvi与auvg之间的通讯距离约束;
[0065]
资源约束为:
[0066][0067][0068]
式中,r
ai
为auvi负载的资源种类,r
tj
为taskj所需要的资源种类;为auvi负载的资源数量,k为资源种类,为taskj所需要的资源的数量;(8)式表示对于单个auvi负载的资源种类与数量要满足taskj所需的资源量;(9)式表示对于多auv系统的所有资源种类和数量之和应满足所有任务所需的资源量;
[0069]
当任务所需要的资源种类大于等于设定阈值时,该任务被定义为复杂任务;当任务所需要的资源种类小于设定阈值时,该任务被定义为简单任务;
[0070]
如果执行任务的auv同时满足式(5)到式(9)的航程、通信、资源约束,则形成任务与执行该任务的auv之间的关联关系,如果不能同时满足式(5)到式(9)的航程、通信、资源
约束,则重新开始步骤2-1;所有任务与执行该任务的auv之间的关联关系构成任务分配矩阵;
[0071]
步骤3:计算步骤2得到的任务分配矩阵的效能函数u
t

[0072]
效能函数即完成所有任务的目标函数:
[0073]ut
=α1*ben*x
(i,j)-α2*d*x
(i,j)-α3*time*x
(i,j)-α4*ak[0074]
其中,为完成所有任务所获效益;
[0075]
为auv执行任务消耗距离代价;其中,m
p
与mq分别表示执行的简单任务与复杂任务数量,其和为m;n
p
表示执行简单任务的auv数目,nq表示执行复杂任务的auv集合;ck为执行复杂任务的auv个数;
[0076]
为任务完成时间;
[0077]
为资源均衡函数;式中,n为auv的个数,ri为auvi执行任务taskj后的剩余资源,为剩余资源的平均值,ε为对于资源消耗不公平的厌恶程度,ε值越大,对各auv消耗的资源越均衡;
[0078]
步骤4:设定次数s和子群体数t,且s能被t整除;将步骤2和步骤3重复s次,得到s个任务分配矩阵,计算出s个效能函数值;
[0079]
步骤5:将s个效能函数值按从大到小的顺序依次分配为t个子群体;
[0080]
在t个子群体中随机选择两个子群体,在这两个子群体之间独立进行交叉变异;重新在t个子群体中随机选择两个子群体,在这两个子群体之间独立进行交叉变异;将此过程重复z次;
[0081]
再计算每个子群体的平均效能值,选择平均效能值最大的子群体,再找到平均效能值最大的子群体中最大效能值对应的任务分配矩阵作为最优分配结果;
[0082]
步骤6:重复步骤2至步骤5,直到达到设定的终止条件最大迭代次数或者最优分配结果不再变化为止;此时的最优分配结果即为全局最优分配结果。
[0083]
具体实施例:
[0084]
设置auv个数为n=8,任务个数为m=3,任务t1,t2,t3为并行任务。具体参数设置如表1、2。
[0085]
表1任务参数设置
[0086][0087]
表2 auv参数设置
[0088][0089]
1、iabc优化算法参数设置为:ρmin=0.2、cn=40、mcn=100、α=1、β=4、α1=0.4、α2=0.3、α3=0.2、α4=0.4,小生境技术参数设置为:组别数目m=5,最大遗传代数即终止条件2maxgen=100,交叉率xovr=0.6,变异率mutr=0.01,代沟ggap=0.9。
[0090]
2、利用iabc算法为每只蜜蜂重复以下步骤得到满足约束条件的任务分配矩阵。
[0091]
a.为每只蜜蜂从任务集合中随机选择一个任务,然后依据概率公式进行auv载体的选择。
[0092]
b.判断所选个体auv是否满足第一节所述的航程、通信、资源等能力约束,如果满足,根据任务资源能力约束形成auv集合;如果不满足,进行新蜜源更新操作。
[0093]
3、将已经分配的任务以及auv载体加入数据库dbs中,直到所有的任务被分配,则输出的任务分配矩阵。
[0094]
4、依据约束条件,进行多次资源配置并生成多组分配结果,产生优良种群。
[0095]
5、将经过iabc算法后得到的优良群体按照效能函数级别分为几个子群体,子群体之间独立进行交叉变异。通过将种群的规模同种群个体平均效能值相联系来实现竞争择优机制。
[0096]
6、进行融合算法更新,重复第2步至第5步,达到规定终止条件2或者全局最优分配结果不再变化为止,输出历代最优任务分配以及资源配置结果。
[0097]
本发明基于iabc-nga算法的异构多auv任务分配方法仿真结果如图1所示,针对各个任务的auv个体之间资源配置结果如表3所示。基于改进蚁群算法的异构多auv系统任务分配方法仿真结果如图2所示,针对各个任务的auv之间资源配置结果如表4所示。
[0098]
表3基于iabc-nga算法的异构多auv资源配置情况
[0099][0100]
表4基于iabc算法的异构多auv资源配置情况
[0101]
再多了解一些

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

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

相关文献