#include <parallel_swarm_search.hpp>
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()
|
noexcept |
Initializes an object of this type.
Member Function Documentation
◆ optimise()
|
virtual |
Optimises problem
, storing the result and performance characteristics of the optimisation in the returned optimise_result
.
Implements pass::optimiser.
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:
- /Users/romeo/Desktop/PASS/include/pass_bits/optimiser/parallel_swarm_search.hpp
- /Users/romeo/Desktop/PASS/src/optimiser/parallel_swarm_search.cpp