基于蚁群算法的三维路径规划算法以及蚁群算法的优化计算——TSP优化(Matlab代码实现)

简介: 基于蚁群算法的三维路径规划算法以及蚁群算法的优化计算——TSP优化(Matlab代码实现)

1 概述

1.1简介

当前社会, 很多用户需要在复杂的没有公路的山地地形, 快速、准确的规划出三维路径, 在避过障碍的同时达到某项指标最优。目前常用的路径规划算法, 大多数只能规划二维平面路径;而一般的三维规划算法, 大多运算算法复杂、需要很大的存储空间, 同时无法在宏观全局角度来进行路径规划。本文在已有三维山地地图的基础上, 采用一种改进的蚁群算法来解决上述问题。软件仿真结果显示, 基于改进蚁群算法的山地三维路径规划算法在路径最优值计算和规划时间上都能够较好的满足需求。


现在很多的自助游爱好者, 他们需要在复杂的山地地形, 寻找一条没有前人走过的路径来到达目的地。如何快速、准确的规划山地三维路径, 成为一个值得研究的新课题。所谓三维路径规划, 是在三维地图中规划出一条避开了无法通过的障碍, 同时满足某些指标最优的三维路径。目前常用的路径规划算法, 大多数只能规划二维平面路径; 而一般的三维规划算法, 大多运算算法复杂、需要很大的存储空间, 同时无法在宏观全局角度来进行路径规划。目前常用的三维规划算法有粒子群算法、遗传算法、A*算法等, 但粒子群算法与遗传算法只是准三维算法, 而A*算法当维数增加时计算量会急剧增加。本文在已有三维山地地图的基础上, 采用一种改进的蚁群算法来解决上述问题。


1.2 改进的蚁群算法

Dorigo M等人在90年代初提出了蚁群算法, 它是基于仿生蚂蚁搜索行为的一种进化算法。观察者发现, 蚂蚁在搜索找寻食物时, 会在爬过的路上留下分泌物, 这种分泌物包含了蚂蚁的信息素。这种信息素会慢慢挥发, 但是后续的蚂蚁能够检测到这种信息素的存在; 并且后续蚂蚁会优先选择信息素浓度较高的路径点, 同时它们在进过的时候还会再次留下信息素。这样该路径点的信息素浓度会不断增大, 同时也会更加吸引后续的蚂蚁。蚁群算法根据蚂蚁的觅食行为设计, 它具有群体智能并有分布式计算的优点, 因此它在路径选择上具有很大的潜力。


2 部分运行结果

2.1 三维路径规划算法

2.2 TSP优化算法

3 Matlab代码实现

%% 该函数用于演示基于蚁群算法的三维路径规划算法
%% 清空环境
clc
clear
%% 数据初始化
%下载数据
load  HeightData HeightData
%网格划分
LevelGrid=10;
PortGrid=21;
%起点终点网格点 
starty=10;starth=4;
endy=8;endh=5;
m=1;
%算法参数
PopNumber=10;         %种群个数
BestFitness=[];    %最佳个体
%初始信息素
pheromone=ones(21,21,21);
%% 初始搜索路径
[path,pheromone]=searchpath(PopNumber,LevelGrid,PortGrid,pheromone, ...
    HeightData,starty,starth,endy,endh); 
fitness=CacuFit(path);                          %适应度计算
[bestfitness,bestindex]=min(fitness);           %最佳适应度
bestpath=path(bestindex,:);                     %最佳路径
BestFitness=[BestFitness;bestfitness];          %适应度值记录
完整代码见:
https://pan.baidu.com/s/1-bKtBELgOR7UQUHLpmxvzQ 
                     提取码:se7z 


4 参考文献

[1]黄劲潮.一种基于改进蚁群算法的山地三维路径规划算法[J].荆楚理工学院学报,2014,29(02):40-44.

部分理论来源于网络,如有侵权请联系删除。

相关文章
|
10月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
804 0
|
10月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
1128 0
|
10月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
311 0
|
10月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
431 8
|
10月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
411 8
|
10月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
369 8
|
10月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
482 8
|
10月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
506 2
|
11月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
331 6
|
11月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
414 3

热门文章

最新文章