  The Particle Swarm Optimisation (PSO) algorithm has undergone countless
modifications and adaptations since its original formulation in 1995. Some of
these have become mainstream whereas many others have not been adopted and
faded away. Thus, a myriad of alternative formulations have been proposed to
the extent that the question arises as to what the basic features of an
algorithm must be to belong in the PSO family. The aim of this paper is to
establish what defines a PSO algorithm and to attempt to formulate it in such a
way that it encompasses many existing variants. Therefore, different versions
of the method may be posed as settings within the proposed unified framework.
In addition, the proposed formulation generalises, decouples and incorporates
features to the method providing more flexibility to the behaviour of each
particle. The closed forms of the trajectory difference equation are obtained,
different types of behaviour are identified, stochasticity is decoupled, and
traditionally global features such as sociometries and constraint-handling are
re-defined as particle's attributes.
