模拟退火是一种优化算法,通过Metropolis算法的变体跳过局部最小值,寻找全局最小值。在搜索最小值时,它提供了一种有效的手段,特别适用于复杂的多维函数空间。使用该算法可以在应用其他局部最小搜索算法之前,追踪全局最小值。使用方法如下:[x0, f0] = sim_anl(f, x0, l, u, Mmax, TolFun),输入包括函数句柄f、最小值初始猜测x0、最小值下限l、最小值上限u、最大温度数Mmax和函数误差容限TolFun,输出包括建立的全局最小值候选者x0和在x0上的函数值f0。典型案例是六驼峰函数:骆驼=@(x)(4-2.1x(1).^2+x(1).^4/3).x(1).^2+x(1).x(2)+4(x(2).^2-1).*x(2).^2,在f(-0.0898,0.7126) = f(0.0898,-0.7126) = -1.0316处。