Halcom 发表于 2018-4-7 11:58:29

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

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

主程序:clc,clear,close all
warning off
global nvar
tic
%% MAP
load('data2.mat');
K = 4;             % 与节点自身相连的节点数
= init_map(data2,K);
%% 目标
startpoint=39;% 起始节点
endpoint=18;    % 终止节点
%% GA
popmin = ;       % Lb
popmax =[ 51, 51, 51];    % Ub
pc = 0.75;   % 0-1之间
pm = 0.05;   % 0-1之间
nvar = 3;    % 3个未知数
itermax = 30; % 迭代次数
sizepop = 30; % 种群
%% 初始化种群
for i=1:sizepop
    pop(i,:) = code(popmin,popmax);    % 实数编码
    = fun_dijkstra(, A, dij );   % 目标函数值
end
= min(fitness); % 极小值
zbest.pop = pop(index,:);      % 最佳个体
fitnessgbest = fitness;      % 个体最优
gbest = pop;               % 最优种群
fitnesszbest = bestfitness;% 全局最优
zbest.path = path{index};    % 最佳个体对应的最优路径
%% 迭代寻优
for i=1:itermax
    disp(['当前迭代次数:', num2str(i)])
    % 选择算子
    pop = select(sizepop,pop,fitness,popmin,popmax);
    % 交叉算子
    pop = cross(sizepop,pc,pop,popmin,popmax);
    % 变异
    pop = mut(sizepop,pm,pop,popmin,popmax);
   
    for j=1:sizepop
       = fun_dijkstra( , A, dij );   % 目标函数值
      if fitness(j)< fitnessgbest(j)
            fitnessgbest(j) = fitness(j);
            gbest(j,:) = pop(j,:);
      end
      if fitness(j)<fitnesszbest
            fitnesszbest = fitness(j);
            zbest.pop = pop(j,:);% 最佳个体
            zbest.path = path{j};% 最佳个体对应的最优路径
      end
    end
    fitness_iter(i) = fitnesszbest;
end
%% 结果显示
figure,
plot(fitness_iter,'ro-','linewidth',2)
toc

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

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

%% 绘图
figure(3)
colormap(),pcolor(0.5:size(a,2)+0.5,0.5:size(a,1)+0.5,b)
hold on
% 节点网络结构初始化
for i=1:citynum
    plot(x(i)+0.5,y(i)+0.5,'ro','MarkerEdgeColor','r','MarkerFaceColor','g','markersize',8);
    hold on;
    text(x(i)+0.5,y(i)+0.5+0.2,num2str(i),'Color',);
end
% 连线
for i=1:length(zbest.path)-1
    plot(,,'b-','MarkerEdgeColor','r','MarkerFaceColor','g','markersize',8,'linewidth',2);
end
axis tight;
axis off;
hold off

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

浮夸的答案 发表于 2018-7-24 10:24:23

新手学习机器人路径规划,

hy007 发表于 2018-8-21 17:17:47

新手学习一下

zhougc 发表于 2018-11-12 18:59:30

学习一下,..

zhougc 发表于 2018-11-29 12:22:44

学习一下,,研究

sx1644 发表于 2019-1-14 13:36:41

谢谢楼主,可以好好学习一下啦

archer 发表于 2019-1-16 10:19:33

新手想学习

archer 发表于 2019-1-16 10:20:06

谢谢楼主,可以好好学习一下啦

wdd123456 发表于 2019-2-10 20:50:54


新手学习机器人路径规划,

virtualccc 发表于 2019-6-25 19:16:27

好东西,目前正在学习
页: [1] 2
查看完整版本: 2-GA算法(遗传算法)的栅格路径寻优计算