目录
老饼讲解:一步一步上手学习

【原理】智能优化算法-本质剖析

作者 : 老饼 发表日期 : 2025-11-19 15:01:25 更新日期 : 2026-05-15 11:55:22
老饼讲解-简单易懂,干货满满,爽过嗦螺!


好了,上节我们弄清楚了模拟退火每一步是怎么干的,那么这节终于来讲干货了!经过这一节,我们会明白模拟退火每一步背后的意图是什么,其实应该说,所有智能优化算法的背后到底在干什么,看完就一通百通了。

一、优化算法-核心解说

优化算法要解决的,就是找一个,使得目标函数值最小化,而优化算法则是先初始化一个解,然后通过一定的机制来迭代,使得f(x)不断的越来越小,最终达到终止条件,就输出历史找到的最优解。

在剖析模拟退火算法之前,我们先来梳理一下优化算法的核心。

1.1. 智能算法的三个核心机制

好了,智能算法一般有三个核心机制,用来解决三个问题。

1. 下降机制

要有个机制,使随着x的迭代,在概率上趋向于越来越小。

2. 收敛机制

 要有个机制,在未阶段,能收敛到局部最优:

收敛到局部最优

如图所示,在未阶段,如果处于 ,就要让它收敛到对应的局部最优

3. 跳出局部最优机制

 要有个机制,在到达局部最优时,仍有机会跳出这个局部最优:

跳出局部最优

特别的是,要能跳出一些小的局部最优,被小坑小洼坑到实在太不划算了。

上面三个机制,是为了让解有更好的质量,而设定的机制。而在求解速度上,还希望能以更少的迭代次数,找到更好的解,这又是另外的锦上添花了。

二、模拟退火算法- 原理剖析

好了,我们再重新来看下模拟退火算法,看看它到底是以什么样的方式,来实现上面的三种机制的。

2.1. 模拟退火算法-机制简述

我们先来简单回顾一下,模拟退火算法大概干了什么,如下:

 模拟退火算法

如图所示,模拟退火算法的机制简述如下:

1. 模拟退火每次用一个邻解作为新解。

- 如果新解比旧解更加优秀,就接受新解。

- 如果新解不如旧解,则根据一定概率接受新解。

 2. 在新解不如旧解时,接受新解的概率与两个解的质量差、当前温度负相关。

好了,模拟退火算法的核心内容大概就是这样,这样看是糊里糊涂,不知道它到底想干什么的,下面我们把它对应到智能优化算法的机制上,就很容易理解它了。

2.2. 模拟退火算法-机制剖析

1. 模拟退火-下降机制

我们先来看模拟退火的下降机制,在模拟退火中,因为新解更好时一定接受,而新解质量越差,接受概率越小。所以随着迭代次数,在概率上,会渐渐越来越优秀,这就是模拟退火为什么能让解越来越优秀了。

2. 模拟退火-收敛机制 

再看模拟退火在末阶段时,是如何收敛的。在模拟退火中,当迭代次数足够大时,模拟退火将不再接受更差的解,如此一来,就会一直沿着邻域更优秀的解迭代,直到局部最优,这就是模拟退火为了末阶段的收敛而设计的机制了。

3. 模拟退火-跳出局部最优机制

最后,我们看下模拟退火为了跳出局部最优,都干了什么。

模拟退火算法中,“按概率接受差解”,为什么要这样干呢?就是为了跳出局部最优,它让解在遇到局部最优时,还有一定的概率跳出局部最优,所以温度较高时,接受差解的概率就越大,实际就是为跳出局部最优而放开的一个口子。

好了,这样重新看了一遍模拟退火算法,它每一步到底想干什么,意图是啥,就都被我们摸清了,相信大家现在再回头去看模拟退火算法的流程,就会清楚很多了。

总结

好了,这节我们说了智能优化算法的三个核心问题,只要抓住这三个核心,学任何一个智能算法时,都去思考它到底为这三个核心问题设计了什么样的机制,就能完全明白它到底是在干什么了,学起来就会非常的轻松。如果不了解这三个核心问题,看智能算法,只能听它讲故事,而认识到这三个问题后,就会明白那些故事只是套在外面的华衣,而更内在的,应该是看它怎么解决这三个核心问题。



图标 评论
添加评论