This class implements the lbest neighborhood topology for the particle swarm. More...
#include <adjacency_list_neighborhood.h>
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_neighbors The number of neighbors for each particle.
Member Function Documentation
|
virtual |
Returns a string representation of this object.
- Returns
- The name of the object.
Implements highprecisionpso::AdjacencyListNeighborhood.
Reimplemented in highprecisionpso::RingNeighborhood.
|
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:
- src/neighborhood/adjacency_list_neighborhood.h