智能算法:模拟退火算法

模拟退火算法是一种随机类全局优化方法。

模拟退火算法能够处理任何连续或离散型变量,其搜索方式能够根据目标函数的变化自适应调整,对任意目标函数,他总能得到问题的全局最优解。

题目同上一篇遗传算法https://www.cnblogs.com/kmxojer/p/12297880.html

opt_minmax=1; %目标优化类型:1最大化、-1最小化
sub=-1; %变量取值下限
up=2.5; %变量取值上限
delt=(up-sub)/5;
yita=0.99;
trace=[]; %模拟退火迭代性能跟踪器
k_total=3000; %迭代总次数
tx=sub:0.1:up; 
y=fun_sigv(tx);
T=max(y)-min(y); %模拟温度初始化
plot(tx,y)
xlabel('x')
ylabel('y')
title('一元函数优化结果')
hold on
x0=sub+(up-sub)*rand;
f0=fun_sigv(x0); %随机产生初始点
k=0;
plot(x0,f0,'ro','linewidth',2) %在函数图像上标出初始点位置
while kopt_minmax*f0 %迭代点优于当前点,接受迭代结果并设置为当前点
        x0=x1;
        f0=f1;
    elseif rand 
 

过程:

智能算法:模拟退火算法_第1张图片

结果:

智能算法:模拟退火算法_第2张图片

 

你可能感兴趣的:(智能算法:模拟退火算法)