模拟退火算法(MATLAB实现).pdf

模拟退火算法(MATLAB实现).pdf

ID:52929883

大小:357.92 KB

页数:4页

时间:2020-04-01

模拟退火算法(MATLAB实现).pdf_第1页
模拟退火算法(MATLAB实现).pdf_第2页
模拟退火算法(MATLAB实现).pdf_第3页
模拟退火算法(MATLAB实现).pdf_第4页
资源描述:

《模拟退火算法(MATLAB实现).pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、模拟火算法(MATLAB实现)实验用例:用模拟退火算法解决如下10个城市的TSP问题,该问题最优解为f2.691。opt表110个城市的坐标城市X坐标Y坐标城市X坐标Y坐标10.66830.253660.22930.761020.61950.263470.51710.941430.40000.443980.87320.653640.24390.146390.68780.521950.17070.2293100.84880.3609编程实现用MATLAB实现模拟退火算法时,共编制了5个m文件,分别如下1、swap.mfunction[new

2、path,position]=swap(oldpath,number)%对oldpath进行互换操作%number为产生的新路径的个数%position为对应newpath互换的位置m=length(oldpath);%城市的个数newpath=zeros(number,m);position=sort(randi(m,number,2),2);%随机产生交换的位置fori=1:numbernewpath(i,:)=oldpath;%交换路径中选中的城市newpath(i,position(i,1))=oldpath(position(i,

3、2));newpath(i,position(i,2))=oldpath(position(i,1));end2、pathfare.mfunction[objval]=pathfare(fare,path)%计算路径path的代价objval%path为1到n的排列,代表城市的访问顺序;%fare为代价矩阵,且为方阵。[m,n]=size(path);objval=zeros(1,m);fori=1:mforj=2:nobjval(i)=objval(i)+fare(path(i,j-1),path(i,j));endobjval(i)=o

4、bjval(i)+fare(path(i,n),path(i,1));end模拟火算法(MATLAB实现)3、distance.mfunction[fare]=distance(coord)%根据各城市的距离坐标求相互之间的距离%fare为各城市的距离,coord为各城市的坐标[~,m]=size(coord);%m为城市的个数fare=zeros(m);fori=1:m%外层为行forj=i:m%内层为列fare(i,j)=...(sum((coord(:,i)-coord(:,j)).^2))^0.5;fare(j,i)=fare(i,

5、j);%距离矩阵对称endend4、myplot.mfunction[]=myplot(path,coord,pathfar)%做出路径的图形%path为要做图的路径,coord为各个城市的坐标%pathfar为路径path对应的费用len=length(path);clf;holdon;title(['近似最短路径如下,费用为',num2str(pathfar)]);plot(coord(1,:),coord(2,:),'ok');pause(0.4);forii=2:lenplot(coord(1,path([ii-1,ii])),co

6、ord(2,path([ii-1,ii])),'-b');x=sum(coord(1,path([ii-1,ii])))/2;y=sum(coord(2,path([ii-1,ii])))/2;text(x,y,['(',num2str(ii-1),')']);pause(0.4);endplot(coord(1,path([1,len])),coord(2,path([1,len])),'-b');x=sum(coord(1,path([1,len])))/2;y=sum(coord(2,path([1,len])))/2;text(x,

7、y,['(',num2str(len),')']);pause(0.4);holdoff;5、mySAA.m%模拟退火算法(SimulatedAnnealingAlgorithm)MATLAB程序模拟火算法(MATLAB实现)clear;%程序参数设定Coord=...%城市的坐标Coordinates[0.66830.61950.40.24390.17070.22930.51710.87320.68780.8488;...0.25360.26340.44390.14630.22930.7610.94140.65360.52190.3609

8、];t0=1;%初温t0iLk=20;%内循环最大迭代次数iLkoLk=50;%外循环最大迭代次数oLklam=0.95;%λlambdaistd=0.001;%若内循环函数值方

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

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

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