什么是粒子群优化?
粒子群优化是一种基于种群的算法,其中一组个体粒子在整个区域内分步移动。称为粒子的个体的集合在整个区域内步进移动。在每一步,算法计算每个粒子的目标函数值。计算完成后,算法将确定每个粒子的新速度。粒子移动后,算法会重新评估它们的目标函数。
该算法的灵感来源于鸟群或昆虫群。每个粒子都会被吸引到它迄今为止找到的最佳位置,以及群中任何成员找到的最佳位置。经过一些步骤后,种群会聚集在一个地点,或聚集在几个地点,或继续迁移。
该算法基于种群,而不是单个当前点。这样,particleswarm
与遗传算法(参阅 什么是遗传算法?)相似。
在算法的迭代 n 中,一个粒子的速度 v(n) 取决于以下值:
它遇到的最佳目标函数值的位置,s(n)。
在邻域中目标函数值最佳的位置,g(n)。
先前的速度 v(n – 1)。
粒子 x(n) 的位置根据其速度更新:
调整以保持在边界内。
粒子的速度大致按照以下方程更新:
这里,r(1) 和 r(2) 是 0 到 1 之间的随机标量值,W(n) 是迭代过程中调整的惯性因子。该算法采用随机变换的邻域,并在遇到优化点时进行调整。请参阅粒子群优化算法。
如图所示,粒子的初始速度似乎是随机的,但经过几次迭代后,粒子群可以收敛到局部甚至全局解。