首页 > 解决方案 > 模拟退火算法中探索和利用的区别

问题描述

在进化算法中,维持了两个主要能力,即探索和开发。

在探索中,算法在新区域中寻找新的解决方案,而开发意味着使用已经存在的解决方案并对其进行细化,以提高其适应度。

在模拟退火中,我不明白什么时候Exploration发生Exploitation

例如在遗传算法中:Exploration发生在CrossoverMutation步骤中,而选择发生在Exploitation步骤中。

标签: searchoptimizationsimulated-annealing

解决方案


我从未见过这些术语Exploration以及Exploration与模拟退火 (SA) 的关系。这是因为没有真正形成一棵树,只有来自当前状态的一长串提案,并且可能接受一个状态。所以这个结构更像是一把长长的梳子,而不是一棵树,每颗牙齿都是一个有可能被接受的提议状态。

所以请记住,在 SA 上应用这些术语并不常见 - 但无论如何我都会尝试使用这些术语通常适用于使用树状结构搜索的算法的评论。

你可以——如果你真的想——将条款投射到模拟退火上——比探索/开发在每一步都发生,但在开始时,SA 被允许更疯狂地探索,因为温度仍然很高——因此它几乎可以接受每一个状态。您可以将 SA 的早期阶段称为更多探索。随着温度的降低,它不太可能接受具有较高能量/目标的状态,但仍然接受所有导致较低能量/目标的状态,您可以称之为Exploration相位。


推荐阅读