⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ga_tsp.m

📁 matlab求解TSP问题源代码
💻 M
字号:
%function tsp
clc;
clear all;
citysize=30;%城市数
[D,M]=tsp(citysize);
popsize=50;%popsize为种群个数
N=1000;%N为迭代次数
pcro=0.85;
pmut=0.5;
gen=1;
minval=inf;
pop=initialize(popsize,citysize);
while gen<=N     
  val=adapt(pop,popsize,citysize,D);  
 % fitval=1./val;    %适应度
  fitval=(1000./val).^15;
  [valmin,minind]=min(val);
%保存最优
  if valmin<minval
      minval=valmin;
      minpath=pop(minind,:);
   end   
   minf(gen)=minval;                 %最短路径长度      
pop=select(pop,fitval,popsize,citysize,minpath);  %比例选择
pop=crossover(pop,pcro,popsize,citysize);  %OX交叉
pop=mutation(pop,pmut,popsize,citysize);   %变异      
drawTSP(M,minpath,minval,gen,0);
gen=gen+1;
end
drawTSP(M,minpath,minval,gen,1);
figure;plot(minf,'-r');xlabel('迭代次数');ylabel('最短路径长度');
disp('最短路径为:');disp(minpath);
disp('最短路径长度为:');disp(minval);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -