1983年Kirkpatrick使用模拟退火来求解组合最优化问题,尽管1953年Metropolis等人已经提出了模拟退火的思想。
也就是说1983年模拟退火开始被大量使用。它是模拟固体退火的过程,固体退火后,温度降低,能量也随之降低。如果我们把每个温度下的状态看做可行解,把能量看做是目标函数值,就会发现它与组合最优化问题非常相似。
它是一种全局搜索算法,利用Metropolis控制温度下降过程来实现模拟退火。温度比较高时,接受差解的可能性/概率较高,温度较低时,接受差解的概率变小,趋近于爬山算法。这也很合理,温度高,也就是一开始,接受差解以保持解空间的多样性;待到后面温度降低,开始仔细搜索。也就是同时顾及到了搜索空间的多样性(横向)和质量(纵向)。
关键点有三个:怎么定义邻域结构,这往往是核心所在。也就是一个状态怎么变到另一个状态的(在随机过程中这被叫做马尔科夫过程)。还有温度怎么转换