本发明涉及无人艇自主控制,具体涉及一种基于改进遗传算法的无人艇清障任务分配方法。
背景技术:
1、目前,国内外有关任务分配问题进行了大量的研究,任务分配主要目的是保证执行任务耗能少、距离短、时间短等,但受实际使用场景的约束,任务规模、复杂度等增加了任务分配问题的求解难度。目前主要方法有,群体智能算法、合同网算法和进化算法等。群体智能算法是模拟自然界生物种群的行为的算法,典型的群算法有蚁群算法、粒子群算法以及蜂群算法等。合同网算法源于商务过程中的合同机制,通过设定招标者、投标者和中标者角色模仿任务协商,对资源进行合理分析评估,从而实现任务分配。进化算法包括遗传算法、遗传规划、进化规划等,都是模仿自然界中生物进化与遗传的机理,用于解决大规模复杂工程技术问题。其中遗传算法是典型的进化算法,该方法是基于自然选择的全局随机搜索和优化方法,遵循“适者生存”这一基本的达尔文进化原理,并且在进化过程中进行有组织但又随机的信息交换,随着种群的进化,优良个体的基因被逐渐保留并加以重组,不断产出新的更佳的个体。此过程类似生物进化,优良特征被不断的继承下来,如此反复进化,产生种群最优或次优解。
2、遗传算法最初由j.holland于1975年提出,是一种通过模拟自然界生物进化中的遗传学机理进行寻优的方法。该方法首先对种群进行初始化,给出一组问题的初始解,然后进行个体选择、交叉和变异等遗传操作生成新的满足适应度的解,重复上述过程直至产生满足目标的最优解。在遗传算法“种群选择”的过程中,参考的重要因素是个体的适应度,算法根据个体适应度来选择留存到下一代的进化者,适应度高的个体被选择的几率更大,这部分被选中的个体通过交叉、变异等一系列遗传操作,实现个体基因的变换重组。由于在生物进化过程中遗传性保证了基因的延续和稳定,变异性创造了基因的多样,由此遗传算法不仅丰富了种群数量,同时优化了个体质量,使得优秀基因得以保存,这反映到算法上,则是不断地优化解并逐渐趋于最优解。遗传算法作为一种适应性极强的进化算法,几乎不受场景和问题类型的限制,不存在复杂的求导操作或特殊规则,直接在问题的解空间进行随机搜索。同时,遗传算法也存在编码方式难、局部搜索能力弱等问题,对遗传算法的应用研究及改进是目前优化领域的热点问题。
3、现有技术的无人艇在执行清障任务时,行至障碍物上方,利用投放设备投放爆破物,以清理障碍物,但是当多台无人艇共同执行清障任务时,现有技术缺乏高效的任务分配方法,容易造成部分无人艇闲置,影响清障任务执行效率。
技术实现思路
1、本发明要解决的技术问题是:提出一种基于改进遗传算法的无人艇清障任务分配方法,能够综合考虑障碍物目标位置分布、各艇航行速度及携带爆破物数量等因素,为每艘无人艇合理分配清障目标序列,保证任务顺利执行的前提下各艇工作量均衡,提高任务整体执行效率。
2、为解决上述技术问题,本发明采用的技术方案是:
3、一种基于改进遗传算法的无人艇清障任务分配方法,包括如下步骤:
4、s1,构建多艇协同清障任务分配模型;
5、s2,确定无人艇集群初始位置、障碍物目标位置分布、无人艇速度及携带爆破物数量;
6、s3,利用双染色体编码方式对无人艇和目标任务序列对应关系进行编码,并初始化种群;
7、s4,通过适应度函数评价种群适应度,计算个体的适应度值,判断是否满足进化终止条件,若是,则输出最佳个体,结束分配流程,若否,则继续执行步骤s5;
8、s5,从种群中选择要保留到下一代的个体,并计算个体产生子代的数量,使适应度高的个体生成多个子代,同时保留适应度差的个体产生少量子代;
9、s6,按照交叉概率对个体进行交叉匹配,交换两个父代个体的基因片段,并按照变异概率对个体执行对应的变异操作,以产生新个体;当满足进化终止条件时,输出最佳个体,即无人艇清障任务最佳分配序列,否则重新执行步骤s4。
10、进一步的,在步骤s1中,所述构建多艇协同清障任务分配模型,具体包括如下步骤:
11、s11,假设执行清障任务的无人艇集群为u={u1,u2,...,un},无人艇ui,i∈[1,n]的起始坐标记为携带爆破物量为无人艇在清障任务中的航行速度记为待清除障碍物目标为m={m1,m2,...,mm},障碍物mj,j∈[1,m]的坐标记为障碍物mj与障碍物mk,k∈[1,m]间的欧氏距离为:
12、
13、无人艇ui分配的障碍物目标记作包含集合m中的个目标;
14、s12,确定多艇协同清障任务分配目标函数:
15、
16、其中,为无人艇ui从初始位置到障碍物mj的距离,和为无人艇和障碍物是否关联的示性函数,λ1和λ2分别为距离代价和时耗代价系数;
17、s13,确定约束条件:
18、1)无人艇携带的爆破物数量要大于所分配的障碍物目标数量,
19、
20、2)无人艇需要灭除所有目标,且每个目标只能被分配给一艘无人艇,满足:
21、
22、3)每艘无人艇至少分配一个目标,满足:
23、
24、进一步的,在步骤s3中,所述双染色体编码方式,其中一条染色体表示无人艇序列u,另一条染色体表示目标序列m;染色体上的基因位表示无人艇或目标编号,两条染色体的等位基因代表无人艇与目标的映射关系。
25、其中,所述初始化种群,具体为:
26、对于m个障碍物目标,用1到m对其进行编号,再随机生成染色体基因是1到m的序列,同时,再在另一条染色体的等位基因上生成1到n中的任意数,即得到无人艇对障碍物目标的访问序列。
27、进一步的,在步骤s4中,所述适应度函数设置为:
28、
29、进一步的,在步骤s5中,种群中的个体i产生子代数量为:
30、
31、其中popmax为个体最多可生成的子代数量,popmin为个体最少可生成的子代数量,fi为个体i的适应度,minf为个体最佳适应度,maxf为个体最差适应度。
32、进一步的,在步骤s6中,所述变异操作,具体包括:
33、1)交换变异
34、随机交换目标序列中两个目标的位置,即
35、
36、2)逆转变异
37、将目标序列中某片段进行随机逆转,即
38、
39、3)插入变异
40、将目标序列中某目标随机插入到另一位置,即
41、
42、4)局部变异
43、对于相距较近的目标点mj和mk,若在上述遗传操作中被分配至不同的无人艇up和uq,则在上述无人艇之间随机交换目标点,并计算适应度值,若适应值减小,则更新目标序列;否则,不做改变。
44、进一步的,所述进化终止条件,包括:目标个体不再变化或达到最大迭代次数。
45、本发明与现有技术相比具有以下主要的优点:
46、1、本发明提出了一种基于改进遗传算法的无人艇清障任务分配方法,通过综合考虑障碍物目标位置分布、各艇航行速度及携带爆破物数量等因素,合理确定任务目标,精准分析任务约束,构建贴合实际使用场景的多艇协同任务分配数学模型,为每艘无人艇合理分配清障目标序列,保证清障任务的顺利执行。
47、2、本发明采用改进的遗传算法求解多艇协同清障任务分配问题,通过加入繁殖选择策略,保证个体信息的全面性;通过局部变异操作,增强算法局部搜索能力;在确保无人艇清障总航路最短的同时均衡各艇执行任务的时间,实现各艇目标的协同分配,大幅提高任务整体执行效率。