请选择 进入手机版 | 继续访问电脑版

Hello Mat

 找回密码
 立即注册
查看: 14234|回复: 14

2-GA算法(遗传算法)的栅格路径寻优计算

[复制链接]

1293

主题

1519

帖子

110

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22629
发表于 2018-4-7 11:58:29 | 显示全部楼层 |阅读模式
2-GA算法(遗传算法)的栅格路径寻优计算
链接:https://pan.baidu.com/s/150bjegoQh40S5HmfnQqGEQ 密码:f9tr

具体链接在halcom.cn论坛,联系人QQ:3283892722
该论坛是一个学习交流平台,我会逐一的和大家分享学习。
欢迎大家录制视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1

主程序:
  1. clc,clear,close all
  2. warning off
  3. global nvar
  4. tic
  5. %% MAP
  6. load('data2.mat');
  7. K = 4;             % 与节点自身相连的节点数
  8. [x,y,A,dij, citynum,a,b] = init_map(data2,K);
  9. %% 目标
  10. startpoint=39;  % 起始节点
  11. endpoint=18;    % 终止节点
  12. %% GA
  13. popmin = [1, 1, 1];       % Lb
  14. popmax =[ 51, 51, 51];    % Ub
  15. pc = 0.75;   % 0-1之间
  16. pm = 0.05;   % 0-1之间
  17. nvar = 3;    % 3个未知数
  18. itermax = 30; % 迭代次数
  19. sizepop = 30; % 种群
  20. %% 初始化种群
  21. for i=1:sizepop
  22.     pop(i,:) = code(popmin,popmax);    % 实数编码
  23.     [path{i}, fitness(i)] = fun_dijkstra([startpoint, pop(i,:), endpoint], A, dij );   % 目标函数值
  24. end
  25. [bestfitness,index] = min(fitness); % 极小值
  26. zbest.pop = pop(index,:);        % 最佳个体
  27. fitnessgbest = fitness;      % 个体最优
  28. gbest = pop;                 % 最优种群
  29. fitnesszbest = bestfitness;  % 全局最优
  30. zbest.path = path{index};    % 最佳个体对应的最优路径
  31. %% 迭代寻优
  32. for i=1:itermax
  33.     disp(['当前迭代次数:', num2str(i)])
  34.     % 选择算子
  35.     pop = select(sizepop,pop,fitness,popmin,popmax);
  36.     % 交叉算子
  37.     pop = cross(sizepop,pc,pop,popmin,popmax);
  38.     % 变异
  39.     pop = mut(sizepop,pm,pop,popmin,popmax);
  40.    
  41.     for j=1:sizepop
  42.         [path{j}, fitness(j)] = fun_dijkstra( [startpoint, pop(j,:), endpoint], A, dij );   % 目标函数值
  43.         if fitness(j)< fitnessgbest(j)
  44.             fitnessgbest(j) = fitness(j);
  45.             gbest(j,:) = pop(j,:);
  46.         end
  47.         if fitness(j)<fitnesszbest
  48.             fitnesszbest = fitness(j);
  49.             zbest.pop = pop(j,:);  % 最佳个体
  50.             zbest.path = path{j};  % 最佳个体对应的最优路径
  51.         end
  52.     end
  53.     fitness_iter(i) = fitnesszbest;
  54. end
  55. %% 结果显示
  56. figure,
  57. plot(fitness_iter,'ro-','linewidth',2)
  58. toc

  59. disp('最优解')
  60. disp(zbest.pop)
  61. fprintf('\n')

  62. disp('最优解对应的最优路径')
  63. disp(zbest.path)
  64. fprintf('\n')

  65. %% 绘图
  66. figure(3)
  67. colormap([0 0 0;1 1 1]),pcolor(0.5:size(a,2)+0.5,0.5:size(a,1)+0.5,b)
  68. hold on
  69. % 节点网络结构初始化
  70. for i=1:citynum
  71.     plot(x(i)+0.5,y(i)+0.5,'ro','MarkerEdgeColor','r','MarkerFaceColor','g','markersize',8);
  72.     hold on;
  73.     text(x(i)+0.5,y(i)+0.5+0.2,num2str(i),'Color',[1 0 0]);
  74. end
  75. % 连线
  76. for i=1:length(zbest.path)-1
  77.     plot([x(zbest.path(i))+0.5,x(zbest.path(i+1))+0.5],[y(zbest.path(i))+0.5,y(zbest.path(i+1))+0.5],'b-','MarkerEdgeColor','r','MarkerFaceColor','g','markersize',8,'linewidth',2);
  78. end
  79. axis tight;
  80. axis off;
  81. hold off
复制代码


参考:
【1】基于穷举法的机器人避障路径寻优(免费)
【2】智能车辆局部避障路径规划及横向运动控制研究_陈东
【3】3-PSO算法(粒子群算法)的栅格路径寻优计算

算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

0

主题

8

帖子

0

金钱

新手上路

Rank: 1

积分
8
发表于 2018-7-24 10:24:23 | 显示全部楼层
新手学习机器人路径规划,
回复 支持 反对

使用道具 举报

0

主题

6

帖子

18

金钱

新手上路

Rank: 1

积分
24
发表于 2018-8-21 17:17:47 | 显示全部楼层
新手学习一下
回复 支持 反对

使用道具 举报

0

主题

7

帖子

16

金钱

新手上路

Rank: 1

积分
23
发表于 2018-11-12 18:59:30 | 显示全部楼层
学习一下,..
回复

使用道具 举报

0

主题

7

帖子

16

金钱

新手上路

Rank: 1

积分
23
发表于 2018-11-29 12:22:44 | 显示全部楼层
学习一下,,研究
回复 支持 反对

使用道具 举报

0

主题

10

帖子

24

金钱

新手上路

Rank: 1

积分
34
发表于 2019-1-14 13:36:41 | 显示全部楼层
谢谢楼主,可以好好学习一下啦
回复 支持 反对

使用道具 举报

0

主题

3

帖子

19

金钱

新手上路

Rank: 1

积分
22
发表于 2019-1-16 10:19:33 | 显示全部楼层
新手想学习
回复 支持 反对

使用道具 举报

0

主题

3

帖子

19

金钱

新手上路

Rank: 1

积分
22
发表于 2019-1-16 10:20:06 | 显示全部楼层
谢谢楼主,可以好好学习一下啦
回复 支持 反对

使用道具 举报

0

主题

15

帖子

32

金钱

新手上路

Rank: 1

积分
47
发表于 2019-2-10 20:50:54 | 显示全部楼层

新手学习机器人路径规划,
回复 支持 反对

使用道具 举报

0

主题

12

帖子

1

金钱

新手上路

Rank: 1

积分
13
发表于 2019-6-25 19:16:27 | 显示全部楼层
好东西,目前正在学习
回复 支持 反对

使用道具 举报

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

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-4-17 05:00 , Processed in 0.213464 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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