matlab求解tsp问题

qq_44987755 2019-05-07 02:01:53
改进的遗传算法在路径优化问题中的应用! 仿真结果应该是三个图 一个是没改进的城市路线 一个是改进的城市路线 还有一个是路线总和对比 我的少了一个没改进的城市路线对比 !求大神指点原因!跪求!!! 仿真主程序如下: %% 清除之前的记录 close all; clear all; clc; %% 输入数据 global cord MN=20;%点的个数 cord=rand(MN,2).*100;%坐标 tic %% 编码方式 顺序 lizisize=size(cord,1);%变量个数 %设置变量、基因的取值范围,0-100.给定ceil(log2((100-0)/1))*lizisize %% 算法系数 popsize=200;%种群大小 Generationnmax=1000;%变异代数 pcrossover=0.4;%交叉概率 0.3-0.8 pmutation=0.2;%变异概率0.01-0.2 %% 范围以及定义初始代 population=zeros(popsize,lizisize);%随机数 for ii=1:popsize population(ii,:)=randperm(lizisize); end%随机产生的初始代 %% 开始迭代 Generation=1; f_mean=zeros(1,Generationnmax);%平均值 f_best=zeros(1,Generationnmax);%最优解 while Generation<Generationnmax+1 [fitness,fitvalue,cumsump]=fitness_all(population);%计算目标值 f_mean(Generation)=mean(fitness); %计算此代的平均值 [gbest1,num1]=min(fitvalue);%计算此代的最优解 f_best(Generation)=gbest1;%存储最优解 bestsofar=population(num1,:);%最初最优的决策 % 更迭算子 smnew=zeros(1,lizisize); for j=1:2:popsize seln=selection(population,cumsump); %选择操作 scro=crossover_GA(population,seln,pcrossover);%交叉操作 smnew(j,:)=mution_GA(scro(1,:),pmutation);%变异操作 smnew(j+1,:)=mution_GA(scro(2,:),pmutation);%变异操作 end population=smnew; population(1,:)=bestsofar; %% 改进1 numa=randperm(popsize-1,1)+1; for i=[1,numa] [burft,~]=fit_all(population(i,:)); for j=1:40 burf=mution_GA(population(i,:),1); [burft1,~]=fit_all(burf); if burft1<burft population(i,:)=burf; burft=burft1; end end end %% 改进3 Generation=Generation+1; Generation end [fitness,~]=fitness_all(population); [~,num4]=min(fitness); [f1,road]=fit_all(population(num4,:)); % now_best=road; time=toc; figure(1); hand1=plot(1:Generation-1,f_best); set(hand1,'color','b','linestyle','- -','linewidth',1.0,'markersize',2) title('路径优化') hold on; xlabel('种群代数');ylabel('目标值'); legend('最优目标值'); box off;hold off; figure(2) for i=1:lizisize-1 plot([cord(bestsofar(i),1),cord(bestsofar(i+1),1)],[cord(bestsofar(i),2),cord(bestsofar(i+1),2)],... 'color','b','linestyle','-','linewidth',1.0,'markersize',2); hold on end plot([cord(bestsofar(1),1),cord(bestsofar(end),1)],[cord(bestsofar(1),2),cord(bestsofar(end),2)],... 'color','b','linestyle','-','linewidth',1.0,'markersize',2); hold on title('路径优化') %% % % $$e^{\pi i} + 1 = 0$$ % xlabel('种群代数');ylabel('目标值'); legend('最优目标值'); box off;hold off;
...全文
124 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧