云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于模拟退火算法的TSP算法

基于模拟退火算法的TSP算法

  • 62 次阅读
  • 3 次下载
  • 2026/1/27 10:13:12

clc; clear; close all; %% tic

T0=1000; % 初始温度 Tend=1e-3; % 终止温度

L=500; % 各温度下的迭代次数(链长) q=0.9; %降温速率

%% 加载数据 X=[ ];

D=Distanse(X); %计算距离矩阵 N=size(D,1); %城市的个数 %% 初始解

S1=randperm(N); %随机产生一个初始路线

%% 画出随机解的路径图 DrawPath(S1,X) pause(0.0001)

%% 输出随机解的路径和总距离 disp('初始种群中的一个随机值:') OutputPath(S1);

Rlength=PathLength(D,S1);

disp(['总距离:',num2str(Rlength)]);

%% 计算迭代的次数Time

Time=ceil(double(solve(['1000*(0.9)^x=',num2str(Tend)]))); count=0; %迭代计数

Obj=zeros(Time,1); %目标值矩阵初始化

track=zeros(Time,N); %每代的最优路线矩阵初始化 %% 迭代 while T0>Tend

count=count+1; %更新迭代次数 temp=zeros(L,N+1); for k=1:L

%% 产生新解

S2=NewAnswer(S1);

%% Metropolis法则判断是否接受新解

[S1,R]=Metropolis(S1,S2,D,T0); %Metropolis 抽样算法 temp(k,:)=[S1 R]; %记录下一路线的及其路程 end

%% 记录每次迭代过程的最优路线

[d0,index]=min(temp(:,end)); %找出当前温度下最优路线

if count==1 || d0

Obj(count)=d0; %如果当前温度下最优路程小于上一路程则记录当前路程 else

Obj(count)=Obj(count-1);%如果当前温度下最优路程大于上一路程则记录上一路程 end

track(count,:)=temp(index,1:end-1); %记录当前温度的最优路线 T0=q*T0; %降温

fprintf(1,'%d\\n',count) %输出当前迭代次数 end

%% 优化过程迭代图 figure

plot(1:count,Obj) xlabel('迭代次数') ylabel('距离') title('优化过程')

%% 最优解的路径图 DrawPath(track(end,:),X)

%% 输出最优解的路线和总距离 disp('最优解:') S=track(end,:); p=OutputPath(S);

disp(['总距离:',num2str(PathLength(D,S))]);

disp('-------------------------------------------------------------') toc

搜索更多关于: 基于模拟退火算法的TSP算法 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

clc; clear; close all; %% tic T0=1000; % 初始温度 Tend=1e-3; % 终止温度 L=500; % 各温度下的迭代次数(链长) q=0.9; %降温速率 %% 加载数据 X=[ ]; D=Distanse(X); %计算距离矩阵 N=size(D,1); %城市的个数 %% 初始解 S1=randperm(N); %随机产生一个初始路线 %% 画出随机解的路径图 DrawPath(S1,X) pause(0.0001) %% 输出随机解的路径和总距离 disp('初始种群中的一个随机值:') OutputPath(S1); Rlength=PathLength(D,S1); disp

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com