Halcom 发表于 2017-1-20 19:54:49

10遗传算法优化求解TSP问题--视频分享

10遗传算法优化求解TSP问题--视频分享
百度网盘链接:链接:http://pan.baidu.com/s/1geLdLVP 密码:8dra

具体链接在halcom.cn论坛,联系人QQ:3283892722
欢迎大家录制视频,并提交给我,我来设置视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1


具体的代码如下:
clc,clear,close all
warning off
tic
%% 具体的问题参数
% 城市节点的坐标
x=[41,37,54,25,7,2,68,71,54,83,64,18,22,83,91,...
    25,24,58,71,74,87,18,13,82,62,58,45,41,44,4];
y=[94,84,67,62,64,99,58,44,62,69,60,54,60,46,38,...
    38,42,69,71,78,76,40,40,7,32,35,21,26,35,50];
% plot(x,y,'ro')
citynum = 30;% citynum表示城市数目
% 城市各节点之间的距离
for i=1:citynum
    for j=1:citynum
      dij(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2); % 距离
    end
end
for i=1:citynum
    dij(i,i)= 99999999999999999;
end
%% 算法参数
itermax = 1e4;% 迭代次数
sizepop = 150; % 种群
% 初始化种群
for i=1:sizepop
    path(i,:) = randperm(citynum);               % 实数编码
    fitness(i) = ca_tsp(citynum,path(i,:),dij);    % 目标函数值
end
= min(fitness);% 极小值
zbest = path(index,:);               % 最佳个体
fitnesszbest = bestfitness;          % 全局最优
%% 寻优
for i=1:itermax
    % 交叉操作
    for j=1:5:sizepop-4
       = min( fitness(j:j+4) );
      pop(j,:) = path(flag,:);% j:j+4 最优的种群
      
      points = ;
      while(max(points)>citynum)
            points = ceil(sizepop*rand(1,2));    % 随机选取两个节点
      end
      
      pop(j+1,:) = pop(j,:);
      pop(j+1,) = pop(j+1,) ;% 策略1
      pop(j+2,:) = pop(j,:);
      pop(j+2,) = pop(j+2,) ; % 策略2
      pop(j+3,:) = pop(j,:);
      pop(j+3,) = pop(j+3,) ; % 策略3
      pop(j+4,:) = pop(j,:);
      pop(j+4,) = pop(j+4,) ;% 策略4
      fitness(j+0) = ca_tsp(citynum,pop(j+0,:),dij);    % 目标函数值
      fitness(j+1) = ca_tsp(citynum,pop(j+1,:),dij);    % 目标函数值
      fitness(j+2) = ca_tsp(citynum,pop(j+2,:),dij);    % 目标函数值
      fitness(j+3) = ca_tsp(citynum,pop(j+3,:),dij);    % 目标函数值
      fitness(j+4) = ca_tsp(citynum,pop(j+4,:),dij);    % 目标函数值
      
       = min( fitness(j:j+4) );
      if minf<fitnesszbest
            fitnesszbest = minf;
            zbest = pop(j+flag-1,:);
      end
    end
   
    path = pop;% 更新最优路径
end
toc
%% 显示结果
disp('最优路径')
zbest

figure(1)
plot(x,y,'ro');
hold on
for i=1:citynum
    if i==citynum
      plot(,,'b-')
    else
      plot(,,'b-')
    end
    text(x(zbest(i)),y(zbest(i))+1,num2str(zbest(i)))
end






大海 发表于 2017-2-13 05:37:21

{:2_31:}太棒了!

program 发表于 2017-2-19 23:21:21

好棒,顶一个,感谢余博士

Iwant 发表于 2017-2-19 23:25:43

I wish I do itpersistently

清风 发表于 2017-2-26 18:14:23

问问吾问无为谓吾问无为谓吾问无为谓吾问无为谓

sui414 发表于 2017-2-27 16:11:52

XIEXIELOUZHU

huwenping 发表于 2017-3-23 00:38:11

遗传算法优化求解TSP问题,下载学习。

醉生梦死2017 发表于 2017-4-30 15:57:00

后面的代码需要前面的代码

丶黄霸霸 发表于 2017-6-6 23:44:42

老铁看代码来了!!!

tom 发表于 2017-6-16 07:35:45

有偿代写一个细菌觅食优化算法解决车辆调度问题的模型
页: [1] 2 3
查看完整版本: 10遗传算法优化求解TSP问题--视频分享