OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <Population.h>
Public Types | |
typedef Individual_t::genes_t | genes_t |
typedef boost::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 45 of file Population.h.
typedef Individual_t::genes_t Population< Individual_t >::genes_t |
Definition at line 54 of file Population.h.
typedef std::pair< unsigned int, individual > Population< Individual_t >::ind_t |
Definition at line 56 of file Population.h.
typedef std::map<unsigned int, individual>::iterator Population< Individual_t >::indItr_t |
population iterator type
Definition at line 59 of file Population.h.
typedef boost::shared_ptr<Individual_t> Population< Individual_t >::individual |
Definition at line 55 of file Population.h.
|
inline |
Definition at line 48 of file Population.h.
References Population< Individual_t >::last_identity.
|
inline |
Definition at line 52 of file Population.h.
|
inline |
Adds an individual to the population
ind | an individual that will be added to the population |
Definition at line 66 of file Population.h.
References Population< Individual_t >::getFreeID(), and Population< Individual_t >::stagingArea.
|
inline |
iterator begin on population container
Definition at line 226 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
Definition at line 207 of file Population.h.
References Population< Individual_t >::individuals, and Population< Individual_t >::stagingArea.
|
inline |
Definition at line 132 of file Population.h.
References Population< Individual_t >::get_staging(), Population< Individual_t >::individuals, and Population< Individual_t >::stagingArea.
|
inline |
Definition at line 177 of file Population.h.
References endl(), Inform::flush(), Hypervolume::FromFile(), and Population< Individual_t >::individuals.
|
inline |
iterator end on population container
Definition at line 228 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
erase individual
Definition at line 230 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 99 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
Get an individual of the 'stagingArea' with a specific ID
identity | an ID of the individual in the stagingArea |
Definition at line 118 of file Population.h.
References Population< Individual_t >::stagingArea.
Referenced by Population< Individual_t >::commit_individuals().
|
inlineprivate |
Manages free individual IDs
Definition at line 250 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 166 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 147 of file Population.h.
References Population< Individual_t >::freeids, Population< Individual_t >::individuals, and Population< Individual_t >::last_identity.
|
inline |
Definition at line 75 of file Population.h.
References Population< Individual_t >::freeids, Population< Individual_t >::last_identity, and Population< Individual_t >::stagingArea.
|
inline |
Size of population
Definition at line 223 of file Population.h.
References Population< Individual_t >::individuals.
|
inline |
iterator begin on staging area
Definition at line 214 of file Population.h.
References Population< Individual_t >::stagingArea.
|
inline |
iterator end on staging area
Definition at line 216 of file Population.h.
References Population< Individual_t >::stagingArea.
|
private |
queue to handle free individual IDs
Definition at line 241 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 235 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 244 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 238 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().