粒子群优化:gBest 值是什么意思?

Particle Swarm Optimization: what means gBest value?

我正在为 MATLAB 设计粒子群优化模拟器,我对 gBest 局部位置有疑问。

据我了解该算法,gBest 值标识了粒子曾经发现的全局最佳值。但是,我在一个相当可以忍受的实现中看到,开发人员将 gBest 视为粒子在当前代中遇到的最佳值。

我是不是误解了 PSO 算法的基础知识?开发人员的实施是否有误,或者只是另一种不同的方法?

提前致谢, 胜利者。

有很多方法可以微调 PSO,但是 classical algorithm of the PSO 使用 gBest 作为 swarm 最知名的位置 ,因此它不是来自仅限当前迭代。在您的算法中,您必须实现某种内存才能计算速度更新中使用的增量:

请注意,我将 pbest 称为粒子最知名位置,将 sbest 称为群体最知名位置(您的 gBest)。 c1c2 是粒子本身和群中的置信度。