[已答复] Matlab为什么模拟退火算法要以一定概率接受劣解?

[复制链接]
lvzhen2 发表于 2011-3-16 12:36:07
我不懂为什么模拟退火算法要以一定概率接受劣解。我觉得每次通过比较适应度之后,具有好的适应度的解被保留下来作为当前的最优解,为什么下一次如果遇到一个适应度不如它的,还要按概率接受这个劣解?为什么这就是防止陷入局部最优?若刚刚劣解被接受了,而被那个劣解替代的解刚好是全局最优解,那又怎么办?就是不太明白怎么个防止陷入局部最优法

4 条回复


lishicheng100 发表于 2011-3-16 12:52:58
模拟退火算法,再次听说

xyq078322 发表于 2011-3-16 14:54:55
这个东西 你得看数学证明方面的东西。
就是这个意思吧,退火算法可以说是牺牲了一定的精度来换取全局最优解,用退火肯定达不到最优解。概率接受就是在等温的状态下为了跳出局部最优解。你要是看数学证明的话就可以发现随着温度的下降最后是以概率1收敛到最优解的。你说的问题也有的,所以有的记录当前最优解的方式存在啊,就是单独弄出来一个数专门记录当前最优解的.....

bsx711 发表于 2011-3-18 10:46:18
有没有模拟退火算法优化BP神经网络方面的matlab程序资料呢

466308547 发表于 2021-11-24 22:04:48
xyq078322 发表于 2011-3-16 14:54
这个东西 你得看数学证明方面的东西。
就是这个意思吧,退火算法可以说是牺牲了一定的精度来换取全局最优解 ...

新解的产生不是随机的吗?为什么还要专门弄一个准则来判定?我不是只要比较当前解和新解的目标函数值就可以了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表