模拟退火算法:
%输入:温度T、退火控制参数k、初始点x0
%输出:最优的自变量值、最大/最小值
%(1)给定初始值温度T,退火控制参数k,初始点x0(该点为随机选择点),并计算f(x0)
%(2)随机产生扰动r=(2*rand-1)delt;新店x1=x0+r,同时计算f(x1)、f(x1)-f(x0)
%(3)Metropolis准则,若f®-f0>0,接受该点(更新x0),且接受概率为p=exp(-(f®-f0)/T);
%若p>r(r为0-1上的随机数),接受该点(更新x0),否则放弃该点
%(4)执行降温操作:T=Tk;返回(2)继续
%(5)执行上述步骤,结束
差分模拟退火算法结合模拟退火的Metropolis准则替换差分进化算法(DE)的贪婪选择,下面就是基于模拟退火的差分进化算法代码:
%