Contains all necessary resources required to execute PSO using a python script and to document and the readings in a .xml database.
Particle swarm optimization (PSO) is one of the bio-inspired algorithm that searches for an optimal solution in the solution space. It is different from other optimization algorithms in the sense that only the objective function is needed and it is not dependent on the gradient or any differential form of the objective
Particle Swarm Optimisation begins with a initializing population (Similar to generic algorithms). However unlike Generic algorithm, each particle is given a randomized velocity to explore the search space of its own accord. NOTE: Here a particle refers to a solution within the search space of the PSO.
- Best fitness of a particle: The best solution achieved so far by a particular particle i (i.e Local Best).
- Best fitness of the swarm: The best solution achieved so far by any particel in the swarm (i.e Global Best).
- Velocity and position update of each particle: For exploring and exploiting the search space to loacte the optimal solution.
The result of the process is first displayed in the form of a plot using the matplotlib library.
In the above image the triangles represent the initializing population of particles. The squares that gradually accumalate towards each other are the generation of particles that eventually coincide towards the optimal solution.
After this, The detailed information of all the iteration of the algorithm are documented in the Test_WB.xlsx file.