metropolis准则函数

来源:互联网 发布:凸包问题数据 编辑:程序博客网 时间:2024/05/16 19:57

以一定的概率接受恶化解,从而使算法具有逃脱局部极值和避免过早收敛的全局优化能力,接受准则为:

Y={1,exp(df/t),df>0df  0,

df为新生成的染色体适应度与父个体染色体适应度之差,即df = f(new)-f(old),t 为退火过程的控制参数。

查阅metropolis的那篇论文可以看到,整个算法核心在于计算系统能量变化ΔE,如果其小于0,则表明新移动会将系统的能量降低,于是接受(越低越稳定),如果其大于0,则生成0到1之间的一个随机数α,并与exp(ΔE/kT)进行比较,如果α>exp(ΔE/kT)则拒绝新移动,反之则接受,这就表示以一定概率接受恶化解。
只是这里我有一点不明白,为什么要生成一个随机数而不是用一个定值?文章后面好像解释说,这样可以使整个空间各态历经,利用了蒙特卡洛的思想,然而,还是不太明白。

PPT

0 0
原创粉丝点击