OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
|
#include <Population.h>
Public Types | |
typedef Individual_t::genes_t | genes_t |
typedef std::shared_ptr < Individual_t > | individual |
typedef std::pair< unsigned int, individual > | ind_t |
typedef std::map< unsigned int, individual >::iterator | indItr_t |
population iterator type More... | |
Public Member Functions | |
Population () | |
~Population () | |
unsigned int | add_individual (individual ind) |
void | remove_individual (individual ind) |
individual | get_individual (int identity) |
individual | get_staging (int identity) |
void | commit_individuals (std::set< unsigned int > ids) |
void | keepSurvivors (std::set< unsigned int > survivors) |
bool | isRepresentedInPopulation (genes_t ind_genes) |
check if a gene set is already represented in the population More... | |
double | computeHypervolume (size_t island_id, const std::vector< double > &referencePoint) |
void | commit_individuals () |
indItr_t | stagingBegin () |
iterator begin on staging area More... | |
indItr_t | stagingEnd () |
iterator end on staging area More... | |
unsigned int | size () const |
indItr_t | begin () |
iterator begin on population container More... | |
indItr_t | end () |
iterator end on population container More... | |
indItr_t | erase (indItr_t it) |
erase individual More... | |
Private Member Functions | |
unsigned int | getFreeID () |
Private Attributes | |
std::map< unsigned int, individual > | individuals |
population container holding all individuals More... | |
std::map< unsigned int, individual > | stagingArea |
staging area for individuals probably joining population More... | |
std::queue< unsigned int > | freeids |
queue to handle free individual IDs More... | |
unsigned int | last_identity |
last used (= next free) ID More... | |
Definition at line 44 of file Population.h.
typedef Individual_t::genes_t Population< Individual_t >::genes_t |
Definition at line 53 of file Population.h.
typedef std::pair< unsigned int, individual > Population< Individual_t >::ind_t |
Definition at line 55 of file Population.h.
typedef std::map<unsigned int, individual>::iterator Population< Individual_t >::indItr_t |
population iterator type
Definition at line 58 of file Population.h.
typedef std::shared_ptr<Individual_t> Population< Individual_t >::individual |
Definition at line 54 of file Population.h.
|
inline |
Definition at line 47 of file Population.h.
References Population< Individual_t >::last_identity.
|
inline |
Definition at line 51 of file Population.h.
|
inline |
Adds an individual to the population
ind | an individual that will be added to the population |
Definition at line 65 of file Population.h.
References Population< Individual_t >::getFreeID(), and Population< Individual_t >::stagingArea.
|
inline |
iterator begin on population container
Definition at line 225 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
Definition at line 131 of file Population.h.
References Population< Individual_t >::get_staging(), Population< Individual_t >::individuals, and Population< Individual_t >::stagingArea.
|
inline |
Definition at line 206 of file Population.h.
References Population< Individual_t >::individuals, and Population< Individual_t >::stagingArea.
|
inline |
Definition at line 176 of file Population.h.
References endl(), Inform::flush(), Hypervolume::FromFile(), Population< Individual_t >::individuals, and it.
|
inline |
iterator end on population container
Definition at line 227 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
erase individual
Definition at line 229 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
Get an individual of the current population with a specific ID
identity | an ID of the individual in the population |
Definition at line 98 of file Population.h.
References Population< Individual_t >::individuals, and it.
|
inline |
Get an individual of the 'stagingArea' with a specific ID
identity | an ID of the individual in the stagingArea |
Definition at line 117 of file Population.h.
References it, and Population< Individual_t >::stagingArea.
Referenced by Population< Individual_t >::commit_individuals().
|
inlineprivate |
Manages free individual IDs
Definition at line 249 of file Population.h.
References Population< Individual_t >::freeids, and Population< Individual_t >::last_identity.
Referenced by Population< Individual_t >::add_individual().
|
inline |
check if a gene set is already represented in the population
Definition at line 165 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
Remove all non-surviving individuals from the population and put IDs back in pool of free IDs.
survivors | to keep for next generation |
Definition at line 146 of file Population.h.
References Population< Individual_t >::freeids, Population< Individual_t >::individuals, it, and Population< Individual_t >::last_identity.
|
inline |
Definition at line 74 of file Population.h.
References Population< Individual_t >::freeids, it, Population< Individual_t >::last_identity, and Population< Individual_t >::stagingArea.
|
inline |
Size of population
Definition at line 222 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
iterator begin on staging area
Definition at line 213 of file Population.h.
References Population< Individual_t >::stagingArea.
|
inline |
iterator end on staging area
Definition at line 215 of file Population.h.
References Population< Individual_t >::stagingArea.
|
private |
queue to handle free individual IDs
Definition at line 240 of file Population.h.
Referenced by Population< Individual_t >::getFreeID(), Population< Individual_t >::keepSurvivors(), and Population< Individual_t >::remove_individual().
|
private |
population container holding all individuals
Definition at line 234 of file Population.h.
Referenced by Population< Individual_t >::begin(), Population< Individual_t >::commit_individuals(), Population< Individual_t >::computeHypervolume(), Population< Individual_t >::end(), Population< Individual_t >::erase(), Population< Individual_t >::get_individual(), Population< Individual_t >::isRepresentedInPopulation(), Population< Individual_t >::keepSurvivors(), and Population< Individual_t >::size().
|
private |
last used (= next free) ID
Definition at line 243 of file Population.h.
Referenced by Population< Individual_t >::getFreeID(), Population< Individual_t >::keepSurvivors(), Population< Individual_t >::Population(), and Population< Individual_t >::remove_individual().
|
private |
staging area for individuals probably joining population
Definition at line 237 of file Population.h.
Referenced by Population< Individual_t >::add_individual(), Population< Individual_t >::commit_individuals(), Population< Individual_t >::get_staging(), Population< Individual_t >::remove_individual(), Population< Individual_t >::stagingBegin(), and Population< Individual_t >::stagingEnd().