PaGMO  1.1.5
Public Member Functions | Friends
pagmo::migration::hv_greedy_s_policy Class Reference

Choose 'n' successive greatest contributors migration policy. More...

#include <hv_greedy_s_policy.h>

Inheritance diagram for pagmo::migration::hv_greedy_s_policy:
Inheritance graph
[legend]

Public Member Functions

 hv_greedy_s_policy (const double &rate=1, rate_type type=absolute, double nadir_eps=1.0)
 Constructor from migration rate and type. More...
 
base_s_policy_ptr clone () const
 Clone method. More...
 
std::vector< population::individual_typeselect (population &) const
 Select individuals to emigrate from the given population. More...
 
- Public Member Functions inherited from pagmo::migration::base_s_policy
 base_s_policy (const double &rate=1, rate_type type=absolute)
 Constructor from migration rate and type. More...
 
virtual ~base_s_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.
 

Detailed Description

Choose 'n' successive greatest contributors migration policy.

This policy revolves around choosing the individuals that contribute the greatest amount of volume to the total hypervolume. Individuals 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::best_s_policy instead.

See also
Karl Bringmann, Tobias Friedrich, "An efficient algorithm for computing hypervolume contributions", Evolutionary Computation, v.18 n.3, p.383-402, Fall 2010
Karl Bringmann, Tobias Friedrich, "Don't be greedy when calculating hypervolume contributions", Proceedings of the 10th International Workshop on Foundations of Genetic Algorithms (FOGA), pp. 103-112, ACM Press, 2009.
Author
Marcus Maertens (mmarc.nosp@m.usx@.nosp@m.gmail.nosp@m..com)
Krzysztof Nowak (kn@ki.nosp@m.ryx..nosp@m.net)

Definition at line 52 of file hv_greedy_s_policy.h.

Constructor & Destructor Documentation

pagmo::migration::hv_greedy_s_policy::hv_greedy_s_policy ( const double &  rate = 1,
rate_type  type = absolute,
double  nadir_eps = 1.0 
)

Constructor from migration rate and type.

Parameters
[in]ratemigration rate.
[in]typemigration rate type.
[in]nadir_epsepsilon value for the nadir point computation
See also
base_s_policy::base_s_policy.

Definition at line 49 of file hv_greedy_s_policy.cpp.

Member Function Documentation

base_s_policy_ptr pagmo::migration::hv_greedy_s_policy::clone ( ) const
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_s_policy.

Definition at line 51 of file hv_greedy_s_policy.cpp.

std::vector< population::individual_type > pagmo::migration::hv_greedy_s_policy::select ( population pop) const
virtual

Select individuals to emigrate from the given population.

This is the method that actually implements the policy. Output vector should contain copies of selected individuals.

Parameters
[in,out]popsource population. In some cases (see best_kill_s-policy) it can be modified (e.g. killing the selected individual)
Returns
a vector containing selected individuals.

Implements pagmo::migration::base_s_policy.

Definition at line 56 of file hv_greedy_s_policy.cpp.


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