Rosetta Core  2014.16.56682
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>

Public Member Functions

 ParticleSwarmMinimizer (Multivec p_min, Multivec p_max)
 
virtual ~ParticleSwarmMinimizer ()
 
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  p_min,
Multivec  p_max 
)
core::optimization::ParticleSwarmMinimizer::~ParticleSwarmMinimizer ( )
virtual

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

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 
)
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

Referenced by run().

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: