This is the formula for the velocity update in PSO:
enter image description here

In simplified terms:
velocity(n+1) = momentum_component + cognitive_component + social_component

Now according to the formula the social and cognitive component have the same weight to the resulting velocity. So if the cognitive component vector would point into the opposite direction of the social component vector, then the particle would keep moving back and forth between the two directions and never converge.

However when running the basic PSO particles seem to always converge to the global best as if the social component is overpowering the cognitive component. How is this possible?

  • $\begingroup$ The velocity update equation for PSO does not guarantee convergence to the global minimum. It does however guarantee convergence to some point in the domain so long as the parameters $w$, $c_k$, and $c_s$ are small enough/satisfy some set of inequalities. I cannot remember these off the top of my head, but it comes down to finding the eigenvalues of a dynamical system. The algorithm gets the global minimum often since the algorithm can utilize a large number of particles all searching the space at once. $\endgroup$
    – Josh B.
    Jun 29, 2020 at 15:09
  • $\begingroup$ @JoshB. Yea that's what I meant. They almost always seem to converge to the gbest (swarms best, I accidentally mistook it for the global minimum). Can you point me to a source or link that explains this behaviour? I dont get why it guarantees convergence as you mentioned. Would love to read more about this $\endgroup$
    – wizard003
    Jul 3, 2020 at 11:33
  • 1
    $\begingroup$ I cannot find the original article that gave the criteria, but try out www12.informatik.uni-erlangen.de/people/rwanka/Ftan2015/lit/… $\endgroup$
    – Josh B.
    Jul 5, 2020 at 15:53


You must log in to answer this question.

Browse other questions tagged .