Algorithms - Asynchronous Parallel Particle Swarm Optimization (PSO)

The OSTRICH asynchronous parallel particle swarm optimization algorithm

Initial Publication:

Modified:

The following optional group will configure the asynchronous parallel PSO algorithm and will be processed if [ProgramType] is set to “APPSO”.

BeginAPPSO
SwarmSize            [swarm]
NumGenerations       [ngen]
ConstrictionFactor   [cfact]
CognitiveParam       [cwght]
SocialParam          [swght]
InertiaWeight        [iwght]
InertiaReductionRate [irate]
EndAPPSO
BeginAPPSO
SwarmSize            20
NumGenerations       50
ConstrictionFactor   1.00
CognitiveParam       2.00
SocialParam          2.00
InertiaWeight        1.20
InertiaReductionRate 0.10
EndAPPSO

Figure 1: General Format (left) and Example (right) of the APPSO Algorithm Group

Where BeginAPPSO and EndAPPSO are parsing tags that wrap a set of algorithm configuration variables. These variables are described below:

  • SwarmSize: The size of the particle swarm. The default value is 20.
  • NumGenerations: The number of generations in the PSO. The default value is 50.
  • ConstrictionFactor: The value of χ¬ in the PSO algorithm. Setting¬ less than 1.00 will restrict the searchable design space after each iteration and accelerate convergence, but can lead to entrapment in local minima. The default value is 1.00.
  • CognitiveParam: The weight given to the local knowledge of each particle. High values (relative to the SocialParam) will cause particles to bias their search to the area surrounding each particles local best. The default value is 2.00.
  • SocialParam: The weight given to the global (social) knowledge of each particle. High values (relative to the CognitiveParam) will cause particles to bias their search to the area surrounding the global best. The default value is 2.00.
  • InertiaWeight: The initial weight given to the velocity used in each particle’s previous generation of movement. High values tend to cause particles to ’overshoot’ their destination, which is desirable in initial generations because it allows for more complete exploration of the design space. The default is 1.2.
  • InertiaReductionRate: Relative reduction rate for the inertia weight. As the optimization proceeds, the inertia weight is reduced by InertiaReductionRate × 100% of its current value. This reduces overshoot over successive generations such that late-generation searches are clustered around the global best solution. If this value is set to linear, the inertia weight will be linearly reduced from its initial value to a final value (i.e. at the last generation) of zero. The default value is 0.10.

References

Venter, G.,Sobieszczanski-Sobieski, J. 2006. Parallel particle swarm optimization algorithm accelerated by asynchronous evaluations. Journal of Aerospace Computing, Information, and Communication 3, 123-137.