三维路径规划基于matlab蚁群算法三维路径规划含Matlab源码 179期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三维路径规划基于matlab蚁群算法三维路径规划含Matlab源码 179期相关的知识,希望对你有一定的参考价值。
一、简介
1 蚁群算法的提出
蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。遗传算法在模式识别、神经网络、机器学习、工业优化控制、自适应控制、生物科学、社会科学等方面都得到应用。
2 算法的基本原理
二、源代码
%% 该函数用于演示基于蚁群算法的三维路径规划算法
%% 清空环境
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]; %适应度值记录
%% 信息素更新
rou=0.2;
cfit=100/bestfitness;
for i=2:PortGrid-1
pheromone(i,bestpath(i*2-1),bestpath(i*2))= ...
(1-rou)*pheromone(i,bestpath(i*2-1),bestpath(i*2))+rou*cfit;
end
%% 循环寻找最优路径
for kk=1:100
%% 路径搜索
[path,pheromone]=searchpath(PopNumber,LevelGrid,PortGrid,...
pheromone,HeightData,starty,starth,endy,endh);
%% 适应度值计算更新
fitness=CacuFit(path);
[newbestfitness,newbestindex]=min(fitness);
if newbestfitness<bestfitness
bestfitness=newbestfitness;
bestpath=path(newbestindex,:);
end
BestFitness=[BestFitness;bestfitness];
%% 更新信息素
cfit=100/bestfitness;
for i=2:PortGrid-1
pheromone(i,bestpath(i*2-1),bestpath(i*2))=(1-rou)* ...
pheromone(i,bestpath(i*2-1),bestpath(i*2))+rou*cfit;
end
end
三、运行结果
四、备注
版本:2014a
完整代码或代写加1564658423
以上是关于三维路径规划基于matlab蚁群算法三维路径规划含Matlab源码 179期的主要内容,如果未能解决你的问题,请参考以下文章
三维路径规划基于matlab蚁群算法无人机三维路径规划含Matlab源码 1278期
BAS三维路径规划基于matlab蚁群算法结合天牛须算法农用无人机三维路径规划含Matlab源码 2341期
三维路径规划基于matlab粒子群算法无人机三维路径规划含Matlab源码 192期