pass::parallel_swarm_search Class Reference

#include <parallel_swarm_search.hpp>

Inheritance diagram for pass::parallel_swarm_search:
Collaboration diagram for pass::parallel_swarm_search:

Public Member Functions

 parallel_swarm_search () noexcept
 
virtual optimise_result optimise (const pass::problem &problem)
 
- Public Member Functions inherited from pass::optimiser
 optimiser (const std::string &name)
 

Public Attributes

arma::uword swarm_size
 
double inertia
 
double cognitive_acceleration
 
double social_acceleration
 
double neighbourhood_probability
 
- Public Attributes inherited from pass::optimiser
double acceptable_fitness_value
 
arma::uword maximal_iterations
 
arma::uword maximal_evaluations
 
std::chrono::nanoseconds maximal_duration
 
const std::string name
 

Detailed Description

Implements "Parallel Swarm Search" - a new Algorithm basen on the Standard Particle Swarm Optimisation 2011 algorithm (http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=6557848)

The initialisation variables can be found in (http://clerc.maurice.free.fr/pso/SPSO_descriptions.pdf)

Constructor & Destructor Documentation

◆ parallel_swarm_search()

pass::parallel_swarm_search::parallel_swarm_search ( )
noexcept

Initializes an object of this type.

Member Function Documentation

◆ optimise()

pass::optimise_result pass::parallel_swarm_search::optimise ( const pass::problem problem)
virtual

Optimises problem, storing the result and performance characteristics of the optimisation in the returned optimise_result.

Implements pass::optimiser.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ cognitive_acceleration

double pass::parallel_swarm_search::cognitive_acceleration

Particles are pulled towards their personal best found parameter with a strength

Is initialized to 0.5 + log(2).

◆ inertia

double pass::parallel_swarm_search::inertia

Controls the inertia of the particles:

Is initialized to 1 / (2 * log(2)).

◆ neighbourhood_probability

double pass::parallel_swarm_search::neighbourhood_probability

Probability of a particle to be in the neighbourhood of another particle. Must be in range [0, 1].

Is initialized to 1 - (1 - 1/population_size)^3. Based on Clerc description (Method 2) http://clerc.maurice.free.fr/pso/random_topology.pdf

◆ social_acceleration

double pass::parallel_swarm_search::social_acceleration

Particles are pulled towards the global best found parameter with a strength

Is initialized to 0.5 + log(2).

◆ swarm_size

arma::uword pass::parallel_swarm_search::swarm_size

The number of particles used during optimisation.

Is initialized to 40.


The documentation for this class was generated from the following files: