highprecisionpso::LBestNeighborhood Class Reference

This class implements the lbest neighborhood topology for the particle swarm. More...

#include <adjacency_list_neighborhood.h>

Inheritance diagram for highprecisionpso::LBestNeighborhood:

Public Member Functions

 LBestNeighborhood (int num_neighbors)
 The constructor, which specifies the number of neighbors. More...
 
std::string GetName ()
 Returns a string representation of this object. More...
 
- Public Member Functions inherited from highprecisionpso::AdjacencyListNeighborhood
 AdjacencyListNeighborhood ()
 The constructor. More...
 
 ~AdjacencyListNeighborhood ()
 The destructor. More...
 
std::vector< mpf_t * > GetGlobalAttractorPosition ()
 Returns the position of the best global attractor. More...
 
std::vector< mpf_t * > GetGlobalAttractorPosition (int particle_id)
 Returns the position of the global attractor for the particle with the specified particle_id. More...
 
mpf_t * GetGlobalAttractorValue ()
 Returns the value of the best global attractor. More...
 
mpf_t * GetGlobalAttractorValue (int particle_id)
 Returns the value of the global attractor for the particle with the specified particle_id. More...
 
void LoadData (std::ifstream *input_stream, ProgramVersion *version_of_stored_data)
 Loads data to reset the state of the neighborhood topology to the state which was stored. More...
 
void StoreData (std::ofstream *output_stream)
 Stores the current state of this neighborhood topology such that it can completely restore the current state with this data. More...
 
void UpdateAttractorInstantly (std::vector< mpf_t * > position, mpf_t *value, int particle_id)
 Depending on the neighborhood topology the new position replaces previous global attractors if the new position is better than previous positions. More...
 
- Public Member Functions inherited from highprecisionpso::Neighborhood
virtual ~Neighborhood ()
 The destructor. More...
 
std::vector< mpf_t * > GetGlobalAttractorPosition (Particle *p)
 Returns the position of the global attractor for the given particle. More...
 
mpf_t * GetGlobalAttractorValue (Particle *p)
 Returns the value of the global attractor for the particle p. More...
 
void ProceedAllUpdates ()
 Initializes the processing of all entries in the list of pending updates for the global attractors. More...
 
void UpdateAttractor (std::vector< mpf_t * > position, mpf_t *value, Particle *p)
 Appends the tuple of specified position, value and particle to the list of pending updates for global attractors. More...
 
void UpdateAttractor (std::vector< mpf_t * > position, mpf_t *value, int particle_id)
 Appends the tuple of specified position, value and particle to the list of pending updates for global attractors. More...
 
void UpdateAttractorInstantly (std::vector< mpf_t * > position, mpf_t *value, Particle *p)
 Depending on the neighborhood topology the new position replaces previous global attractors if the new position is better than previous positions. More...
 

Protected Member Functions

void InitializeAdjacencyList ()
 This method initializes the adjacency list. More...
 

Additional Inherited Members

- Protected Attributes inherited from highprecisionpso::AdjacencyListNeighborhood
std::vector< std::vector< unsigned int > > adjacency_list
 The adjacency lists, which specify the neighborhood relationship. More...
 

Detailed Description

This class implements the lbest neighborhood topology for the particle swarm.

Each particle is connected to the next and previous l particles (according to their indices in a circular manner).

Constructor & Destructor Documentation

highprecisionpso::LBestNeighborhood::LBestNeighborhood ( int  num_neighbors)

The constructor, which specifies the number of neighbors.

num_neighbors should be an even number, such that for each particle the next and previous num_neighbors/2 particles are its neighbors.

Parameters
num_neighborsThe number of neighbors for each particle.

Member Function Documentation

std::string highprecisionpso::LBestNeighborhood::GetName ( )
virtual

Returns a string representation of this object.

Returns
The name of the object.

Implements highprecisionpso::AdjacencyListNeighborhood.

Reimplemented in highprecisionpso::RingNeighborhood.

void highprecisionpso::LBestNeighborhood::InitializeAdjacencyList ( )
protectedvirtual

This method initializes the adjacency list.

It is called after the number of particles is already set in the configuration section.

Implements highprecisionpso::AdjacencyListNeighborhood.


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