PSO

The particle swarm optimization is a very elegant, simple and fairly recent optimization algorithm [Kennedy EberhartKennedy Eberhart1995,Clerc KennedyClerc Kennedy2002]. It is loosely based on the notion of swarm/flocking behavior. The basic algorithm behind the optimization can be described by:


$\displaystyle v_{ij}(t + 1)$ $\displaystyle =$ $\displaystyle \chi (v_{ij}(t) + R_1 \varphi_1 (P_{ij} - x_{ij}(t)) + R_2 \varphi_2 (P_b - x_{ij}(t)))$  
$\displaystyle \chi$ $\displaystyle =$ $\displaystyle \dfrac{2k}{\vert 2 - \varphi - \sqrt{\varphi^2 - 4\varphi}\vert}$  
$\displaystyle \varphi$ $\displaystyle =$ $\displaystyle \varphi_1 + \varphi_2 > 4$  

It performs particularly well on real-valued problems with single single objectives. Table 3.4 lists the settings available for this optimization algorithm.




Table 3.4: PSO Settings
Name Description
max-velocity The maximum particle velocity as a fraction of the parameter space
cognitive-factor The PSO cognitive factor as described in the literature ($ \varphi_1$)
social-factor The PSO social factor as described in the literature ($ \varphi_2$)
constriction The velocity update constriction as described in the literature ($ \chi$).
boundary-condition The action to take when particles reach the parameter boundaries (None, Stick or Bounce). The default is Bounce.
boundary-damping A velocity damping factor when the boundary condition is Bounce.
   


Jesse van den Kieboom 2014-02-26