Matlab 粒子群优化:什么是gBest值?
我正在为MATLAB设计一个粒子群优化模拟器,我对gBest局部位置有疑问 正如我在阅读有关该算法的文章时所理解的那样,gBest值确定了粒子所发现的全局最佳值。然而,我在一个相当可忍受的实现中看到,开发人员认为gBest是当前一代粒子遇到的最佳值 我是否误解了PSO算法的基础知识?开发人员的实现是错误的,还是仅仅是另一种不同的方法 提前感谢,,Matlab 粒子群优化:什么是gBest值?,matlab,particle-swarm,collective-intelligence,Matlab,Particle Swarm,Collective Intelligence,我正在为MATLAB设计一个粒子群优化模拟器,我对gBest局部位置有疑问 正如我在阅读有关该算法的文章时所理解的那样,gBest值确定了粒子所发现的全局最佳值。然而,我在一个相当可忍受的实现中看到,开发人员认为gBest是当前一代粒子遇到的最佳值 我是否误解了PSO算法的基础知识?开发人员的实现是错误的,还是仅仅是另一种不同的方法 提前感谢,, 维克托 有很多方法可以微调PSO,但是PSO使用gBest作为群体最知名的位置,因此它不仅仅来自当前迭代。在您的算法中,为了计算速度更新中使用的增量,
维克托 有很多方法可以微调PSO,但是PSO使用
gBest
作为群体最知名的位置,因此它不仅仅来自当前迭代。在您的算法中,为了计算速度更新中使用的增量,您必须实现某种内存:
请注意,我将pbest
称为粒子的最佳已知位置,将sbest
称为粒子群的最佳已知位置(您的gBest)c1
和c2
是粒子本身和群中的置信水平