文章 "群体优化算法:粒子群(PSO)"

 

新文章 群体优化算法:粒子群(PSO)已发布:

在本文中,我将研究流行的粒子群优化(PSO)算法。 之前,我们曾讨论过优化算法的重要特征,如收敛性、收敛率、稳定性、可伸缩性,并开发了一个测试台,并研究了最简单的 RNG 算法。

由于我采用了与图例 2 中描述的本系列的第一篇文章(我将在未来继续这样做)相同的结构来构建算法,因此我们将算法连接到测试台并不困难。

当在测试台运行时,我们将看到类似于下面显示的动画。 在这种情况下,我们可以清楚地看到一群粒子的行为。 群体行为真的很像自然界中的群体。 在函数的热图上,它以密集云的形式移动。

您可能还记得,黑色圆圈表示函数的全局最优值(最大值),而黑点表示在当前迭代时获得的搜索算法的最佳平均坐标。 我解释一下平均值的来源。 热图在坐标上是二维的,正在优化的函数可以包含数百个变量(测量值)。 故此,结果按坐标取平均值。

n1

  基于 Skin 测试函数的 PSO

n2

  基于 Forest 测试函数的 PSO

n3

  基于 Megacity 测试函数的 PSO

正如您在动画中看到的,测试表明 PSO 可以很好地应对平滑的第一个函数,但仅在优化两个变量的时候。 随着搜索空间维度的增加,算法的效率急剧下降。 这在第二个和第三个离散函数上尤其明显。 结果明显比上一篇文章中描述的随机算法更差。 我们将回到结果,并在形成结果比较表格时详细讨论它们。

作者:Andrey Dik