粒子群算法到底有多少分身?
今天介绍一下粒子群算法的各类变体,包括基于模拟退火的混合粒子群算法,带压缩因子的粒子群算法,基于杂交的粒子群优化算法...
1. 基础粒子群算法
Particle Swarm Optimization
由于PSO十分常见,网上有非常多的介绍与案例,此处仅简单介绍一下基础的PSO原理。

粒子群算法通过设计粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置。速度代表移动的快慢,位置代表移动的方向。
每个粒子在搜索空间中单独的搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的那个个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。
下方的视频非常形象地展示了粒子群算法的优化方式:
如果你首次接触,想更细致地了解PSO,可以下载下方的PPT文档(见文末),内含非常详尽的介绍。


图图在此处附上一个简单的测试函数用以说明PSO的原理,下方各类改进的PSO也使用该测试函数。
fitness = @(x) (x(1)-1)^2+x(2)^2


测试函数——>基础的粒子群算法函数
基础的粒子群算法函数
2. 基于模拟退火的混合粒子群算法
Simulated Annealing PSO
模拟退火算法(Simulated annealing)在搜索过程中具有概率突跳的能力,能够有效地避免搜索过程中陷入局部最优解。模拟退火算法在退火过程中不但接受好的解,而且还以一定的概率接受差的解,同时这种接受概率受到温度参数的控制,其大小随温度的下降而减小。
如果您想更细致地了解退火算法,可以点击此处。

下方给出了Simulated Annealing PSO的案例
3 带压缩因子的粒子群算法
YSPSO

篇幅限制,仅列出主要的更新模块。
参考文档
https://www.docin.com/p-1358211315.html
4 经典即变异粒子群优化算法
AsyLnCPSO
5 基于杂交的粒子群优化算法
BreedPSO
6 更多粒子群算法的变体

• 获取文中PPT+粒子群代码,关注微信公众号“图通道”后台回复:PSO

