GCPSO: Guaranteed Convergence PSO
The key issue with optimisation problems is the problem of knowing when a swarm has indeed converged to a point. Generally, the swarm all tending towards a position is an indication of the goodness of that position. However, for a multitude of reasons, there are many instances when a swarm will not converge. Rather, its particles will continue to wander the search space, seemingly unable to all agree to a position to move towards. Once the convergence has happened though, the secondary problem of how to know if the swarm has converged on a global or local optima. GCPSO attempts to remedy this situation.
The Search for Better
The idea is that once a possible convergence has been detected, the swarm will make use of an additional particle whose job is to determine if, from the point of convergence to the maximal distance away, swarm radius, some better position may be found. Our additional particle will then, search within a radius determined by the current swarm radius if it can achieve some better position than the currently best position of the swarm.
If it is able to do so,then the swarm must continue to iterate in the hopes of moving away from the local optima. This searching capacity is dynamic as well in that it will widen if the swarm fails to find better positions when convergening to increase the range at which we check and shrink when the swarm does indeed find better positions as it means that we need not seach as far to find improved positions.
