改进的模拟退火算法

是基于 Monte-Carlo 迭代求精法的一种随机搜索算法。在搜索过程中,既能向
目标函数优化的方向迭代,又以一定的概率接受目标函数劣化的情况,从而避免陷
入局部最优点,保证获得全局最优解的可靠性。在求解组合优化问题时,模拟退火
法将每种组合状态 x i 看成某一物质体系的微观状态,而 E(x i )看成该物质体系在状
态 x i 下的内能,并用控制参数 T 类比温度。 整个模拟退火算法主要包括两个部分:Metropolis 抽样算法和缓慢的退火过
程。
2.1 Metropolis 抽样算法
对于每个温度 T,用 Metropolis 抽样法模拟该体系的热平衡态,即选择一个
初始起点 x(0),给定随机步长 Dx,在每一步中,计算出目标函数中的能量变化:
(1)
如果为负,则 Dx 被接受;如果为正值,则 Dx 以概率
(2)
被接受。因此,在某一给定温度 T 下,当前解 x(k)随 k 增加的取值序列:
x(0), x(1), x(2), …, x(i), …, x(k)所对应的准则值序列 E(x(k)) 不是
单调减的,即
要防止这种情况发生,只要令:
xx(0)=x(0)
(3)
这样,可在不改变控制过程和轨迹序列的条件下,重新构造其准则值为单调减
的最优解更新序列 xx(k),最后得到的最优解必定是搜索过程中所经历的所有状态
下的最优解。并且,在某一个温度 T 下,若从某一个 i 起,有
xx(i) = xx(i+1)= … = xx(i+q) (4)
成立,则表明连续搜索过的 q 个解都不比 xx(i) 好。因此,可以设定一个阈值
q 0 ,当 q>q 0 时,令 Metropolis 抽样算法在该 T 下停止,于是得到该温度 T 时的最
优解 xx(T)
2.2 退火过程:
选择足够高的初始温度 T 0 ,温度降低系数 χ T 可以通过试凑法来选择:
0<χ T <1 (5)
如果 χ T 太小,系统将会陷入到局部最小值;而 χ T 太大,就会增加不必要的
计算时间。
当温度逐渐降低时,对于一组给定的 M 个步长,可以进行下一次迭代过程: ; (6)
式中:――增长因子;一般选取>1,典型情况,=3,。
在退火过程中,设在某个 T i 时最后得到的最优解 xx(k) xx(T i ) ,并且有:
xx(T i ) = xx(T i+1 )= … = xx(T i+p ) (7)
成立,则表明温度连续下降 p 次后,对解的最优性没有改善,这样,可通过设
定一个阈值 p 0 ,当 p>p 0 时,退火过程停止。这时得到的当前解即为系统的全局最
优解。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a66889999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值