• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: Matlab
  • 标签: travel  

资源简介

该代用于实现旅行商问题,实现最优路径的规划,且总里程能达到最小,我们采用模拟退火算法实现

资源截图

代码片段和文件信息


%模拟退火算法之旅行商算法 

%ij.txt存放的是各点经纬度 

clc;clear 

load ij.txt;%加载目标数据ij.txt存放25x8矩阵 

x=ij(:1:2:8);%x为25x4矩阵 

x=x(:);%x化为100x1矩阵 

y=ij(:2:2:8);%y为25x4矩阵 

y=y(:);%y化为100x1矩阵 

sj=[x y];%100x2矩阵 

d1=[7040];%起始点 

sj=[d1;sj;d1];%首尾添加上出发点和终点 

sj=sj*pi/180;%角度化为弧度 

%计算距离 

d=zeros(102);%先建一个102x102的空的距离矩阵,再把对应距离填进去 

%A(R cos x1 cos y1  R sin x1 cos y1  R sin y1 ) 

%B(R cos x2 cos y2  R sin x2 cos y2  R sin y2 ) 

%其中 R = 6370 为地球半径。 

%A B 两点的实际距离: 

%d = R arccos[cos(x1 ? x2 ) cos y1 cos y2 + sin y1 sin y2 ] 

for i=1:102 

    for j=i+1:102 

        d(ij)=6370*acos(cos(sj(i1)-sj(j1))*cos(sj(i2))*cos(sj(j2))... 
            +sin(sj(i2))*sin(sj(j2))); 

    end 

end 

%上述的d为上三角矩阵,根据对称性,化为对称矩阵d矩阵包含各点间的距离信息 

d=d+d‘; 
di

评论

共有 条评论

相关资源