0

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

据我了解阅读该算法,gBest 值确定了粒子发现的全局最佳值。然而,我在一个相当可以忍受的实现中看到,开发人员认为 gBest 是粒子在 CURRENT 一代中遇到的最佳值。

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

在此先感谢维克多。

4

1 回答 1

0

微调 PSO 的方法有很多,但是 PSO 的经典算法使用gBest的是swarm best known position,因此它不仅仅来自当前迭代。在您的算法中,您必须实现某种内存才能计算速度更新中使用的增量:

三角洲

请注意,我将其称为pbest粒子最佳位置和sbest群体最佳位置(您的 gBest)。c1是粒子本身和c2群体中的置信水平。

于 2016-01-28T12:55:38.130 回答