基于群智能的路径规划算法(三)------遗传算法

   本系列文章主要记录学习基于群智能的路径规划算法过程中的一些关键知识点,并按照理解对其进行描述和进行相关思考。

   主要学习资料是来自 小黎的Ally 的 《第2期课程-基于群智能的三维路径规划算法》,视频链接如下(点击链接可跳转):

   https://space.bilibili.com/477041559/channel/seriesdetail?sid=863038

   本篇文章是本系列的第三篇文章 :遗传算法



本系列文章链接 (点击可跳转):

-----------------------------------------------------------------------------

   基于群智能的路径规划算法(一)------粒子群算法
   基于群智能的路径规划算法(二)------蚁群算法
   基于群智能的路径规划算法(三)------遗传算法
   基于群智能的路径规划算法(四)------人工蜂群算法
   基于群智能的路径规划算法(五)------狼群算法
   基于群智能的路径规划算法(六)------人工鱼群算法

-----------------------------------------------------------------------------


   一、遗传算法简介

   遗传算法(Genetic Algorithm,GA)源于自然界“自然选择”和“优胜劣汰”的进化规律,是进化计算的一个分支,是一种模拟自然界生物进化过程的随机搜索算法。简单易懂、通用、鲁棒性强、适合并行处理,可用于解决各种复杂优化问题。

   通常,蚂蚁会以较大的概率优先选择信息素浓度较高的路径,并释放一定量的信息素,以增强该条路径上的信息素浓度,这样,会形成一个正反馈。最终,蚂蚁能够找到一条从巢穴到食物源的最佳路径,即距离最短。


   二、遗传算法相关概念和术语

   (1)染色体:携带基因信息的数据结构,不同的染色体组合表征不同的问题解。

   (2)个体(individual) :不同的染色体组合就代表一个个体;

   (3)种群(population):个体的集合,该集合内个体数称为种群的大小;

   (4)进化(evolution):种群的不断迭代使其品质不断改良;

   (5)适应度(fitness) :个体适应环境性能的评价指标(目标函数);

   (6)选择(selection):指以一定的概率从种群中选择若干个体进行交配的操作;

   (7)交叉(crossover):在两个染色体的某一相同位置处DNA被切断,其前后两串别交叉组合形成两个新的染色体,又称基因重组,俗称“杂交”;

   (8)变异(mutation):种群在迭代过程中,基因会产生突变,也即是染色体发生变异,这些新的染色体表现出新的性状;


   三、将蚁群算法应用于路径规划

   将遗传算法的染色体视为三维空间的控制点,即一个染色体对应着一个控制点,显然染色体个数越多,控制点越多,最终生成的三维路径越有可能接近理论最优解。

   交叉操作可以考虑将某两个个体的染色体(控制点的x/y/z坐标序列)进行两两交换

   变异操作可以考虑将某个个体的某一个染色体(控制点)的x/y/z坐标用另一个随机数代替。


   四、算法流程


   ① Step1:随机产生一组初始个体构成初始种群,并评价每一个个体的适应度;

   ② Step2:判断算法收敛准则是否满足。若满足则输出搜索结果;否则执行以下步骤;

   ③ Step3:根据适应度大小以一定概率按照轮盘赌法执行选择操作;

   ④ Step4:按交叉概率执行交叉操作;

   ⑤ Step5:按变异概率执行变异操作;

   ⑥ Step6:返回Step2.


   五、轮盘选择法

   轮盘赌的核心思想就是对于每个待选择的点,其对应的概率越大,被选中的可能性就越大,通过将每个点对应的概率除以所有点对应概率之和的方式来对每个点对应的概率进行处理,处理后,每个点对应的概率相加即为1,然后将这些点依次摆放在0~1的一维数轴上,其概率值越大,所占用的数轴长度就越大(注意跟摆放位置无关,可任意摆放),摆放完成后每个点也就对应于0 ~ 1数轴上一个小区间,比如第1个点的概率是0.05,第2个点的概率是0.03,第3个点的概率是0.1 … …,则第1个点对应的区间为0 ~ 0.05,第2个点对应的区间为0.05 ~ 0.08 ,第3个点对应的区间率为0.08 ~ 0.18,以此类推,这样我们随机产生一个0 ~ 1之间的随机数,该随机数落在那个区间,那个点即为被选中的点。


   六、编程实现思路

   对 小黎的Ally 提供的程序 的实现思路总结如下:

   首先初始化种群,按照设定的种群数量和每条路径关键点个数进行种群初始化,在设定的空间范围内随机生成每个个体的路径关键点,然后对每个个体随机生成的关键点按照x、y,z的坐标值从小到大重新排序,使得该个体的关键点中坐标值小的点放在前面,即后一个关键点的x,y,z值均大于前一个关键点的x,y,z值。使用B样条曲线把关键点拟合成路径,并计算种群中每个个体的适用度(依然以路径长度作为适应度),并判断是否更新个体最优及种群最优,完成初始化。

   思考:这里对随机生成的关键点进行排序的实现方式有一定的缺陷,仅适用于程序中设定的起点位于地图的左下角,终点位于地图右上角的这种情况,鲁棒性较差,修改起点或终点坐标后,效果可能会很差。所以程序进行实现,能够自动计算从任意起点到任意终点的方向,并按照自动计算出的方向进行排序。

   然后,按照设定的迭代次数开始进行循环迭代,在每次迭代中,先按照轮盘赌的方法(在本程序中适用度越低的个体,即路径越优的个体,被选中的概率越大)按照设定的选择比率选出一定数量的个体作为父代,然后进行交叉操作,将选出来的父代中每两个分为一组产生下一代个体,产生方式为先将选出的父代复制一份生成初始化的子代,然后对于每组均产生一个大于0小于每条路径关键点个数(也就是染色体个数)的随机数,以该随机数为分界点,交换每组初始化子代的部分关键点,比如某组的两个父代为 1 2 3 4 5 6 和 9 8 7 6 5 4,假设位于0~6的随机数为4,生成的子代为 1 2 3 4 5 4 和 9 8 7 6 5 6 。接下来依旧按照跟初始化步骤介绍的排序操作一样,对新生成的子代个体的坐标值进行重新排序,然后按照变异概率对新生成的子代进行变异操作,就是以随机数来取代某些关键点,并重新进行排序。然后将子代和这些子代的父代组成新的种群(之前没被选择作父代的个体即为被淘汰的个体),然后计算新的种群的适应度,并判断是否更新个体最优和群体最优。

   本轮迭代结束,开始进行下一次迭代 ,直至完成设定的迭代次数


   七、运行效果示例:

在这里插入图片描述



   上面的示例中100次迭代后的适应度为182.93,而理论最优适应度为160.75,可知算法陷入了局部最优,且100次迭代耗时达到了1分40秒,规划效率和路径质量均不理想。


  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、选题背景 随着科技的不断发展,机器人技术逐渐成为了人们关注的热点之一。而在现代物流、制造、煤矿等行业中,巡检机器人已成为智能物流、智能制造、智能煤矿的重要组成部分。而基于巡检机器人导航技术中,路径规划是其中的关键环节之一。目前,市面上有很多路径规划算法,如A*算法、Dijkstra算法、RRT算法等。但这些算法都有其局限性,所以我们需要一种更加高效、精准的算法。 二、选题意义 本课题旨在提出一种基于双向长短时记忆网络(Bi-LSTM)的巡检机器人路径规划算法,该算法利用Bi-LSTM的高效性能和能力,可以更加准确地对巡检机器人路径进行规划。同时,该算法具有以下优点: 1. 准确性高:Bi-LSTM能够实现序列到序列的映射,可以更精准地对路径进行规划。 2. 效率高:Bi-LSTM采用并行运算,可以大幅度缩短路径规划所需时间。 3. 适应性强:Bi-LSTM能够适应不同巡检机器人的路径规划需求,使路径规划更加灵活。 、研究内容 本课题的具体研究内容包括: 1. 分析巡检机器人路径规划问题,研究现有路径规划算法的优缺点。 2. 设计基于双向长短时记忆网络的巡检机器人路径规划算法,提高路径规划的准确性和效率。 3. 对算法进行编程实现并进行实验验证,评估算法的性能和可行性。 四、研究方法 本课题的研究方法主要包括: 1. 文献研究:对现有的巡检机器人路径规划算法进行分析、总结并提取其优缺点,为后续的算法设计提供参考。 2. 算法设计:依据巡检机器人的行动特点,设计适合该机器人路径规划需求的基于Bi-LSTM的路径规划算法。 3. 编程实现与实验验证:利用Python等编程语言实现算法,利用真实的机器人数据和统计分析方法对算法进行验证,评估算法的性能和可行性。 五、进度计划 本课题的进度计划如下: 阶段 | 工作内容 | 时间安排 --|--|-- 第一阶段 | 文献研究和算法设计 | 2022年10月-2023年3月 第二阶段 | 算法编程实现和实验验证 | 2023年4月-2023年9月 第阶段 | 数据分析和性能评估 | 2023年10月-2024年1月 第四阶段 | 论文撰写及答辩 | 2024年2月-2024年5月 六、预期成果 本课题预期达到以下成果: 1. 设计出一种基于Bi-LSTM的巡检机器人路径规划算法,通过实验验证该算法的性能和可行性。 2. 对比该算法与传统的路径规划算法,得出该算法的优势和不足。 3. 提出该算法在巡检机器人等领域中的应用前景,并对路径规划领域提出一些建议。 4. 完成论文的撰写和答辩。 七、参考文献 [1] 秦华杰. 基于遗传算法和Dijkstra算法路径规划及其应用研究[D]. 河南大学, 2006. [2] 张旭, 王恒鹏. 基于RL和A*算法的无人机路径规划研究[J]. 计算机工程与应用, 2020, 56(2): 60-66. [3] 徐伟, 何桂军, 刘手旺. 基于改进的A*算法的无人机路径规划[J]. 系统仿真学报, 2021, 33(1): 92-100. [4] Hochreiter S && Schmidhuber J. Long Short-Term Memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕羽★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值