找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3072|回复: 1
打印 上一主题 下一主题
收起左侧

蚁群算法的路径规划matlab源码

[复制链接]
跳转到指定楼层
楼主
蚁群优化算法源代码1、蚁群算法的优化计算-旅行商问题(TSP)优化-MATLAB源代码; 2、基于蚁群算法的二维路径规划算法-MATLAB源代码; 3、基于蚁群算法的三维路径规划算法-MATLAB源代码;


matlab源程序如下:
  1. %% 该函数用于演示基于蚁群算法的三维路径规划算法

  2. %% 清空环境
  3. clc
  4. clear

  5. %% 数据初始化

  6. %下载数据
  7. load  HeightData HeightData

  8. %网格划分
  9. LevelGrid=10;
  10. PortGrid=21;

  11. %起点终点网格点
  12. starty=10;starth=4;
  13. endy=8;endh=5;
  14. m=1;
  15. %算法参数
  16. PopNumber=10;         %种群个数
  17. BestFitness=[];    %最佳个体

  18. %初始信息素
  19. pheromone=ones(21,21,21);

  20. %% 初始搜索路径
  21. [path,pheromone]=searchpath(PopNumber,LevelGrid,PortGrid,pheromone, ...
  22.     HeightData,starty,starth,endy,endh);
  23. fitness=CacuFit(path);                          %适应度计算
  24. [bestfitness,bestindex]=min(fitness);           %最佳适应度
  25. bestpath=path(bestindex,:);                     %最佳路径
  26. BestFitness=[BestFitness;bestfitness];          %适应度值记录

  27. %% 信息素更新
  28. rou=0.2;
  29. cfit=100/bestfitness;
  30. for i=2:PortGrid-1
  31.     pheromone(i,bestpath(i*2-1),bestpath(i*2))= ...
  32.         (1-rou)*pheromone(i,bestpath(i*2-1),bestpath(i*2))+rou*cfit;
  33. end
  34.    
  35. %% 循环寻找最优路径
  36. for kk=1:100
  37.      
  38.     %% 路径搜索
  39.     [path,pheromone]=searchpath(PopNumber,LevelGrid,PortGrid,...
  40.         pheromone,HeightData,starty,starth,endy,endh);
  41.    
  42.     %% 适应度值计算更新
  43.     fitness=CacuFit(path);                              
  44.     [newbestfitness,newbestindex]=min(fitness);     
  45.     if newbestfitness<bestfitness
  46.         bestfitness=newbestfitness;
  47.         bestpath=path(newbestindex,:);
  48.     end
  49.     BestFitness=[BestFitness;bestfitness];
  50.    
  51.     %% 更新信息素
  52.     cfit=100/bestfitness;
  53.     for i=2:PortGrid-1
  54.         pheromone(i,bestpath(i*2-1),bestpath(i*2))=(1-rou)* ...
  55.             pheromone(i,bestpath(i*2-1),bestpath(i*2))+rou*cfit;
  56.     end

  57. end

  58. %% 最佳路径
  59. for i=1:21
  60.     a(i,1)=bestpath(i*2-1);
  61.     a(i,2)=bestpath(i*2);
  62. end
  63. figure(1)
  64. x=1:21;
  65. y=1:21;
  66. [x1,y1]=meshgrid(x,y);
  67. mesh(x1,y1,HeightData)
  68. axis([1,21,1,21,0,2000])
  69. hold on
  70. k=1:21;
  71. plot3(k(1)',a(1,1)',a(1,2)'*200,'--o','LineWidth',2,...
  72.                        'MarkerEdgeColor','k',...
  73.                        'MarkerFaceColor','g',...
  74.                        'MarkerSize',10)
  75. plot3(k(21)',a(21,1)',a(21,2)'*200,'--o','LineWidth',2,...
  76.                        'MarkerEdgeColor','k',...
  77.                        'MarkerFaceColor','g',...
  78.                        'MarkerSize',10)
  79.                    text(k(1)',a(1,1)',a(1,2)'*200,'S');
  80. text(k(21)',a(21,1)',a(21,2)'*200,'T');
  81. xlabel('km','fontsize',12);
  82. ylabel('km','fontsize',12);
  83. zlabel('m','fontsize',12);
  84. title('三维路径规划空间','fontsize',12)
  85. set(gcf, 'Renderer', 'ZBuffer')
  86. hold on
  87. plot3(k',a(:,1)',a(:,2)'*200,'--o')

  88. %% 适应度变化
  89. figure(2)
  90. plot(BestFitness)
  91. title('最佳个体适应度变化趋势')
  92. xlabel('迭代次数')
  93. ylabel('适应度值')
复制代码

所有资料51hei提供下载:
蚁群优化算法源代码1、蚁群算法的优化计算-旅行商问题(TSP)优化-MATLAB源代码; 2、.rar (11.71 KB, 下载次数: 45)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:499737 发表于 2019-3-28 10:54 | 只看该作者
bucuo
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表