欢迎来到天天文库
浏览记录
ID:17094044
大小:24.50 KB
页数:3页
时间:2018-08-27
《遗传算法模拟退火matlab编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、单钻头退火算法matlab编程clearclca=0.999;%温度衰减函数的参数t0=97;tf=3;t=t0;Markov_length=2800;%Markov链长度coordinates=[];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=co
2、ordinates(:,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_
3、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;locatedintheTomb,Dong
4、ShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcameelse%三交换ind1=0;ind2=0;ind3=0;while(ind1==ind2)
5、
6、(ind1==ind3)...
7、
8、(ind2==ind3)
9、
10、(abs(ind1-ind2)==1)ind1=cei
11、l(rand.*amount);ind2=ceil(rand.*amount);ind3=ceil(rand.*amount);endtmp1=ind1;tmp2=ind2;tmp3=ind3;%确保ind112、=tmp3;ind3=tmp1;elseif(ind313、d%检查是否满足约束%计算目标函数值(即内能)E_new=0;fori=1:(amount-1)E_new=E_new+...dist_matrix(sol_new(i),sol_new(i+1));end%再算上从最后一个城市到第一个城市的距离%E_new=E_new+...%dist_matrix(sol_new(amount),sol_new(1));locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquor14、winem
12、=tmp3;ind3=tmp1;elseif(ind313、d%检查是否满足约束%计算目标函数值(即内能)E_new=0;fori=1:(amount-1)E_new=E_new+...dist_matrix(sol_new(i),sol_new(i+1));end%再算上从最后一个城市到第一个城市的距离%E_new=E_new+...%dist_matrix(sol_new(amount),sol_new(1));locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquor14、winem
13、d%检查是否满足约束%计算目标函数值(即内能)E_new=0;fori=1:(amount-1)E_new=E_new+...dist_matrix(sol_new(i),sol_new(i+1));end%再算上从最后一个城市到第一个城市的距离%E_new=E_new+...%dist_matrix(sol_new(amount),sol_new(1));locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquor
14、winem
此文档下载收益归作者所有