PaGMO  1.1.5
Public Member Functions | Friends
pagmo::migration::base_s_policy Class Referenceabstract

Base class for migration selection policies. More...

#include <base_s_policy.h>

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

Public Member Functions

 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...
 
virtual base_s_policy_ptr clone () const =0
 Clone method. More...
 
virtual std::vector< population::individual_type > select (population &pop) const =0
 Select individuals to emigrate from the given population. 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

Base class for migration selection policies.

The task of a migration selection policy is to select in a population the individuals that will emigrate. The selection is performed by the pure virtual select() method.

The base::get_n_individuals() method for this class is meant to represent the number of individuals emigrating from the population.

Author
Marek RuciƄski (marek.nosp@m..ruc.nosp@m.inski.nosp@m.@gma.nosp@m.il.co.nosp@m.m)
Francesco Biscani (blues.nosp@m.carn.nosp@m.i@gma.nosp@m.il.c.nosp@m.om)

Definition at line 54 of file base_s_policy.h.

Constructor & Destructor Documentation

pagmo::migration::base_s_policy::base_s_policy ( const double &  rate = 1,
rate_type  type = absolute 
)

Constructor from migration rate and type.

By default, one single individual will be selected for migration.

Parameters
[in]ratemigration rate.
[in]typemigration rate type.
See also
migration::base::base().

Definition at line 39 of file base_s_policy.cpp.

pagmo::migration::base_s_policy::~base_s_policy ( )
virtual

Trivial destructor.

No side effects.

Definition at line 46 of file base_s_policy.cpp.

Member Function Documentation

virtual base_s_policy_ptr pagmo::migration::base_s_policy::clone ( ) const
pure 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.

Implemented in pagmo::migration::hv_greedy_s_policy, pagmo::migration::best_s_policy, pagmo::migration::hv_best_s_policy, pagmo::migration::best_kill_s_policy, and pagmo::migration::random_s_policy.

virtual std::vector<population::individual_type> pagmo::migration::base_s_policy::select ( population &  pop) const
pure 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.

Implemented in pagmo::migration::hv_greedy_s_policy, pagmo::migration::best_s_policy, pagmo::migration::hv_best_s_policy, pagmo::migration::best_kill_s_policy, and pagmo::migration::random_s_policy.


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