Skip to content

Implementation of a vanilla Particle Swarm Optimization (PSO). (School Project - 2017)

Notifications You must be signed in to change notification settings

DrayWilliams1/vanillaPSO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

vanillaPSO

Completed in 2017, this is a project where the purpose was to implement a vanilla PSO and investigate the performance using different parameter configurations, comparing the performance to random search. Random search, in this context, refers to a uniform random sampling of the search space. This can be accomplished by sampling and evaluating random (feasible) points uniformly within the search space.

The PSO algorithm is a stochastic search technique that is applicable to real-valued optimization problems. However, it’s performance is rather sensitive to the values assigned to its control parameters, namely the inertia weight, the cognitive acceleration coefficient (c1), and the social acceleration coefficient (c2). Poor parameter values can lead to performance that is even worse than random search

A few details on the PSO Algorithm:

  • Uses the Rastrigin function
  • Initialization: a random initial population of particles, each particle has a valid initial position and velocity. Typically, a swarm will consist of 20–40 particles.
  • Neighbourhood Topology: a global-best neighbourhood such that the neighbourhood best refers to the best solution found by any particle throughout the course of the search.
  • Boundary Constraints: particles are permitted to exit the feasible region, but only allow updating of the personal best when a solution is feasible.
  • Iteration Strategy: a synchronous iteration strategy.
  • Termination Criterion: fixed maximum number of iterations.

Additional notes on the testing can be found in the pdf report.

About

Implementation of a vanilla Particle Swarm Optimization (PSO). (School Project - 2017)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages