Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 粒子群优化:什么是gBest值?_Matlab_Particle Swarm_Collective Intelligence - Fatal编程技术网

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

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

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

正如我在阅读有关该算法的文章时所理解的那样,gBest值确定了粒子所发现的全局最佳值。然而,我在一个相当可忍受的实现中看到,开发人员认为gBest是当前一代粒子遇到的最佳值

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

提前感谢,,
维克托

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

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