PaGMO
1.1.5
|
Replace the 'n' successive least contributors with the incoming set. More...
#include <hv_greedy_r_policy.h>
Public Member Functions | |
hv_greedy_r_policy (const double &rate=1, rate_type type=absolute, double nadir_eps=1.0) | |
Constructor from rate and rate type. More... | |
base_r_policy_ptr | clone () const |
Clone method. More... | |
std::vector< std::pair< population::size_type, std::vector< population::individual_type >::size_type > > | select (const std::vector< population::individual_type > &, const population &) const |
Assign pairs of individuals for replacement during migration. More... | |
Public Member Functions inherited from pagmo::migration::base_r_policy | |
base_r_policy (const double &rate=1, rate_type type=fractional) | |
Constructor from migration rate and type. More... | |
virtual | ~base_r_policy () |
Trivial destructor. More... | |
Public Member Functions inherited from pagmo::migration::base | |
base (const double &, rate_type) | |
Constructor from migration rate and type. More... | |
population::size_type | get_n_individuals (const population &) const |
Get number of individuals to migrate from/to input population. More... | |
std::string | human_readable () const |
Return human readable representation. More... | |
virtual | ~base () |
Destructor. More... | |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Member Functions inherited from pagmo::migration::base | |
virtual std::string | human_readable_extra () const |
Return extra information in human readable representation. More... | |
Static Protected Member Functions inherited from pagmo::migration::base | |
template<class ForwardIterator , class T > | |
static void | iota (ForwardIterator first, ForwardIterator last, T value) |
Iota function, usefull to fill iterator range with increasing values. More... | |
Protected Attributes inherited from pagmo::migration::base | |
double | m_rate |
Migration rate. More... | |
rate_type | m_type |
Migration rate type. | |
Replace the 'n' successive least contributors with the incoming set.
Policy revolving around replacing a set of successive least contributors with the incoming set of immigrants in a 'fair' way. That is: an original inhabitant of the island is only substituted if its exclusive hypervolume contribution is less than the the worst contribution of a replacing immigrant. Least contributors are chosen iteratively, thus it is regarded as a greedy strategy.
Note: If the problem is a single objective one, we fall back to the pagmo::migration::fair_r_policy instead.
Definition at line 55 of file hv_greedy_r_policy.h.
pagmo::migration::hv_greedy_r_policy::hv_greedy_r_policy | ( | const double & | rate = 1 , |
rate_type | type = absolute , |
||
double | nadir_eps = 1.0 |
||
) |
Constructor from rate and rate type.
[in] | rate | migration rate. |
[in] | type | migration rate type. |
[in] | nadir_eps | epsilon value for the nadir point computation |
Definition at line 51 of file hv_greedy_r_policy.cpp.
|
virtual |
Clone method.
Provided that the derived policy implements properly the copy constructor, virtually all implementations of this method will look like this:
return base_ptr(new derived_policy(*this));
@return migration::base_s_policy_ptr to a copy of this.
Implements pagmo::migration::base_r_policy.
Definition at line 53 of file hv_greedy_r_policy.cpp.
|
virtual |
Assign pairs of individuals for replacement during migration.
Note, that this method does not alter the target population, it just provides the replacement choice. The actual replacement is done in the archipelago class. The first element of a pair should be the index of the one from the destination population. The second one - the index of the individual from the immigrants vector which is to replace the first one.
[in] | immigrants | vector of incoming individuals. |
[in] | destination | population into which the immigrants will be replaced. |
Implements pagmo::migration::base_r_policy.
Definition at line 60 of file hv_greedy_r_policy.cpp.