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

📄 initial.m

📁 本文以著名的旅行商问题(TSP)为例说明如何利用MATLAB语言实现模拟退火算法。
💻 M
字号:
%初始化函数

city_n=30;
for i=1:30
    solution(i)=i;
end

for i=1:60
    pos_a=round(29*rand)+1;     %随机变换城市序列
    pos_b=round(29*rand)+1;
    
    if pos_a~=pos_b
        temp=solution(pos_a);
        solution(pos_a)=solution(pos_b);
        solution(pos_b)=temp;
    end
end

%=========================================================
%计算创建最近邻表
for i=1:city_n
    for j=1:city_n
        x1=pos(i,1);
        y1=pos(i,2);
        x2=pos(j,1);
        y2=pos(j,2);
        
        dis_table(i,j)=sqrt((x1-x2)^2+(y1-y2)^2);
    end
end
for i=1:city_n
    dis_table(i,i)=inf;
end

for i=1:round(city_n/10)   %创建最近邻表
    for j=1:city_n
        m=min(dis_table(j,:));
        m_pos=min(find(m==dis_table(j,:)));
        neighbor_table(j,i)=m_pos;
        dis_table(j,m_pos)=inf;
    end
end

clear i;
clear j;
clear m;
clear m_pos;
clear pos_a;
clear pos_b;
clear temp;
clear x1;
clear x2;
clear y1;
clear y2;
clear dis_table;

⌨️ 快捷键说明

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