Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
core::optimization::ParticleSwarmMinimizer Class Reference

Particle Swarm Optimization engine. More...

#include <ParticleSwarmMinimizer.hh>

Inheritance diagram for core::optimization::ParticleSwarmMinimizer:
Inheritance graph
[legend]

Public Member Functions

 ParticleSwarmMinimizer (Multivec const &p_min, Multivec const &p_max)
 
 ~ParticleSwarmMinimizer () override
 
ParticleOPs run (Size num_cycles, Multifunc &f_fitness, Size num_part=50)
 
ParticleOPs run (Size num_cycles, Multifunc &f_fitness, Size num_part, Multivec init_values)
 
void run (Size num_cycles, Multifunc &f_fitness, ParticleOPs &particles)
 
void print_particles (ParticleOPs &particles, std::string header)
 helper function for displaying current particle information; calls the output operator on each particle More...
 

Protected Member Functions

virtual void score_all_particles (Multifunc &f_fitness, ParticleOPs &particles)
 

Private Attributes

Size size_
 
Real C_inertia_start_
 
Real C_inertia_end_
 
Real C_pbest_
 
Real C_lbest_
 
Real C_gbest_
 
int first_nbr_
 
int last_nbr_
 
Multivec p_min_
 
Multivec p_max_
 
Multivec p_range_
 
Multivec v_max_
 

Detailed Description

Particle Swarm Optimization engine.

Algorithm details based heavily on

Chen, Liu, Huang, Hwang, Ho (2006).
"SODOCK:  Swarm Optimization for Highly Flexible Protein-Ligand Docking"
J Comput Chem 28: 612-623, 2007

Also on http://en.wikipedia.org/wiki/Particle_swarm_optimization http://www.swarmintelligence.org/

One can imagine writing another version that distributed the work via MPI...

Constructor & Destructor Documentation

core::optimization::ParticleSwarmMinimizer::ParticleSwarmMinimizer ( Multivec const &  p_min,
Multivec const &  p_max 
)

References p_max_, p_min_, p_range_, size_, and v_max_.

core::optimization::ParticleSwarmMinimizer::~ParticleSwarmMinimizer ( )
overridedefault

Member Function Documentation

void core::optimization::ParticleSwarmMinimizer::print_particles ( ParticleOPs particles,
std::string  header 
)

helper function for displaying current particle information; calls the output operator on each particle

References core::chemical::element::I.

ParticleOPs core::optimization::ParticleSwarmMinimizer::run ( Size  num_cycles,
Multifunc f_fitness,
Size  num_part = 50 
)
ParticleOPs core::optimization::ParticleSwarmMinimizer::run ( Size  num_cycles,
Multifunc f_fitness,
Size  num_part,
Multivec  init_values 
)

References p_max_, p_min_, core::scoring::rg, run(), and size_.

void core::optimization::ParticleSwarmMinimizer::run ( Size  num_cycles,
Multifunc f_fitness,
ParticleOPs particles 
)
void core::optimization::ParticleSwarmMinimizer::score_all_particles ( Multifunc f_fitness,
ParticleOPs particles 
)
protectedvirtual

Member Data Documentation

Real core::optimization::ParticleSwarmMinimizer::C_gbest_
private

Referenced by run().

Real core::optimization::ParticleSwarmMinimizer::C_inertia_end_
private

Referenced by run().

Real core::optimization::ParticleSwarmMinimizer::C_inertia_start_
private

Referenced by run().

Real core::optimization::ParticleSwarmMinimizer::C_lbest_
private

Referenced by run().

Real core::optimization::ParticleSwarmMinimizer::C_pbest_
private

Referenced by run().

int core::optimization::ParticleSwarmMinimizer::first_nbr_
private

Referenced by run().

int core::optimization::ParticleSwarmMinimizer::last_nbr_
private

Referenced by run().

Multivec core::optimization::ParticleSwarmMinimizer::p_max_
private

Referenced by ParticleSwarmMinimizer(), and run().

Multivec core::optimization::ParticleSwarmMinimizer::p_min_
private

Referenced by ParticleSwarmMinimizer(), and run().

Multivec core::optimization::ParticleSwarmMinimizer::p_range_
private

Referenced by ParticleSwarmMinimizer(), and run().

Size core::optimization::ParticleSwarmMinimizer::size_
private

Referenced by ParticleSwarmMinimizer(), and run().

Multivec core::optimization::ParticleSwarmMinimizer::v_max_
private

Referenced by ParticleSwarmMinimizer(), and run().


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