模拟退火算法TSP问题matlab.doc

模拟退火算法TSP问题matlab.doc

ID:59153410

大小:37.50 KB

页数:4页

时间:2020-09-11

模拟退火算法TSP问题matlab.doc_第1页
模拟退火算法TSP问题matlab.doc_第2页
模拟退火算法TSP问题matlab.doc_第3页
模拟退火算法TSP问题matlab.doc_第4页
资源描述:

《模拟退火算法TSP问题matlab.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、TSP问题数据,52个城市的坐标:城市编号X坐标Y坐标城市编号X坐标Y坐标城市编号X坐标Y坐标15655751951087537770610225185205603653879564533457502130046539720635494568522520585407606505845655234804154147596068806602483562542952607252302597558043875920852510002612152454470050095801175271320315455558151065011302812504004683048511

2、1605620296601804711706512122058030410250488306101314652003142055549605625141530532575665505953601584568033115011605113407251672537034700580521740245171456653568559553184156353668561052clearclca=0.99;%温度衰减函数的参数t0=97;tf=3;t=t0;Markov_length=10000;%Markov链长度coordinates=[1565.0575.0;225

3、.0185.0;3345.0750.0;4945.0685.0;5845.0655.0;6880.0660.0;725.0230.0;8525.01000.0;9580.01175.0;10650.01130.0;111605.0620.0;121220.0580.0;131465.0200.0;141530.05.0;15845.0680.0;16725.0370.0;17145.0665.0;18415.0635.0;19510.0875.0;20560.0365.0;21300.0465.0;22520.0585.0;23480.0415.0;24835

4、.0625.0;25975.0580.0;261215.0245.0;271320.0315.0;281250.0400.0;29660.0180.0;30410.0250.0;31420.0555.0;32575.0665.0;331150.01160.0;34700.0580.0;35685.0595.0;36685.0610.0;37770.0610.0;38795.0645.0;39720.0635.0;40760.0650.0;41475.0960.0;4295.0260.0;43875.0920.0;44700.0500.0;45555.0815.

5、0;46830.0485.0;471170.065.0;48830.0610.0;49605.0625.0;50595.0360.0;511340.0725.0;521740.0245.0;];coordinates(:,1)=[];amount=size(coordinates,1);%城市的数目%通过向量化的方法计算距离矩阵dist_matrix=zeros(amount,amount);coor_x_tmp1=coordinates(:,1)*ones(1,amount);coor_x_tmp2=coor_x_tmp1';coor_y_tmp1=coor

6、dinates(:,2)*ones(1,amount);coor_y_tmp2=coor_y_tmp1';dist_matrix=sqrt((coor_x_tmp1-coor_x_tmp2).^2+...(coor_y_tmp1-coor_y_tmp2).^2);sol_new=1:amount;%产生初始解%sol_new是每次产生的新解;sol_current是当前解;sol_best是冷却中的最好解;E_current=inf;E_best=inf;%E_current是当前解对应的回路距离;%E_new是新解的回路距离;%E_best是最优解的sol_

7、current=sol_new;sol_best=sol_new;p=1;whilet>=tfforr=1:Markov_length%Markov链长度%产生随机扰动if(rand<0.5)%随机决定是进行两交换还是三交换%两交换ind1=0;ind2=0;while(ind1==ind2)ind1=ceil(rand.*amount);ind2=ceil(rand.*amount);endtmp1=sol_new(ind1);sol_new(ind1)=sol_new(ind2);sol_new(ind2)=tmp1;else%三交换ind1=0;ind2

8、=0;ind3=0;while(ind

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。