Matlab模拟退火算法(4)

2021-04-06 08:43

iao(2,);
newzuobiao(2,)=temp(zhixu);
newzuobiao
f=juli(newzuobiao)


%参数定义区--------------------------------------
%初始温度为10000
tmax=100;
tmin=0.001;
%温度下降速率
down=0.95;


%退火算法的函数..
figure
t=tmax;
while ttmin

for n=1500
newzuobiao=newpath(zuobiao,length);
newf=juli(newzuobiao);
if newff
zuobiao=newzuobiao;
f=newf;
elseif randexp(-(newf-f)t)
zuobiao=newzuobiao;
f=newf;
end
end
huatu=[zuobiao,zuobiao(,1)];
plot(huatu(1,),huatu(2,)),hold on
plot(huatu(1,),huatu(2,),'ro'),hold off
pause(0.00001)
t=tdown
f
end



newpath.m
function zuobiao=newpath(zuobiao,length)
%随机交换两个点的坐标..
a=ceil(rand(1,2)length);
qian=a(1);
hou=a(2);
temp=zuobiao(,qian);
zuobiao(,qian)=zuobiao(,hou);
zuobiao(,hou)=temp;

juli.m
function lucheng=juli(zuobiao)
length=max(size(zuobiao));
s=0;
for i=2length
s=s+sqrt(sum((zuobiao(,i)-zuobiao(,i-1)).^2));
end
if length~=2
s=s+sqrt(sum((zuobiao(,1)-zuobiao(
,length)).^2));
end
lucheng=s;



为了您的安全,请只打开来源可靠的网址
打开网站 取消
来自 ycdoitblogitemf8d7df2b68a00192023bf6fd.html


Matlab模拟退火算法(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:【精品】 某大学领导班子律己不严问题清单

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: