为了增强粒子群的全局搜索能力,RPSO 引入了一个 排斥机制,使得粒子间存在排斥力,避免粒子过度聚集。通过增加排斥力,粒子在逼近全局最优解的过程中依然保持一定的多样性,从而增强跳出局部最优的能力。
RPSO 的改进要点如下:
-
排斥力的引入:在粒子更新时,额外增加一项排斥力,它与其他粒子的位置有关。这一项的计算公式为:
F r e p u l s i o n ( i ) = ∑ j ≠ i r e p u l s i o n _ c o e f f ⋅ ( x i − x j ) d i s t a n c e 2 F_{repulsion}(i) = \sum_{j \neq i} \frac{repulsion\_coeff \cdot (x_i - x_j)}{distance^2} Frepulsion(i)=j=i∑distance2repulsion_coeff⋅(xi−xj)
其中,
repulsion_coeff
是排斥系数,distance
是粒子 i 和粒子 j 的距离。 -
速度更新公式(包含排斥项):
v i ( t + 1 ) = w ⋅ v i ( t ) + c 1 ⋅ r 1 ⋅ ( p i − x i ( t ) ) + c 2 ⋅ r 2 ⋅ ( g − x i ( t ) ) + F r e p u l s i o n ( i ) v_i(t + 1) = w \cdot v_i(t) + c_1 \cdot r_1 \cdot (p_i - x_i(t)) + c_2 \cdot r_2 \cdot (g - x_i(t)) + F_{repulsion}(i) vi(t+1)=w⋅vi(t)+c1⋅r1⋅(pi−xi(t))+c2⋅r2⋅(g−xi(t))+Frepulsion(i)