|
PaGMO
1.1.5
|
S-metric selection evolutionary multiobjective optimisation algorithm (SMS-EMOA) More...
#include <sms_emoa.h>

Public Member Functions | |
| sms_emoa (const sms_emoa &) | |
| Copy constructor. More... | |
| sms_emoa (int gen=100, int sel_m=2, double cr=0.95, double eta_c=10, double m=0.01, double eta_m=50) | |
| Constructor. More... | |
| sms_emoa (pagmo::util::hv_algorithm::base_ptr hv_algorithm, int gen=100, int sel_m=2, double cr=0.95, double eta_c=10, double m=0.01, double eta_m=50) | |
| Constructor. More... | |
| base_ptr | clone () const |
| Clone method. | |
| pagmo::util::hv_algorithm::base_ptr | get_hv_algorithm () const |
| Get the hypervolume algorithm used for the computation. More... | |
| void | evolve (population &) const |
| Evolve implementation. More... | |
| std::string | get_name () const |
| Algorithm name. | |
Public Member Functions inherited from pagmo::algorithm::base | |
| base () | |
| Default constructor. More... | |
| virtual | ~base () |
| Trivial destructor. More... | |
| std::string | human_readable () const |
| Return human readable representation of the algorithm. More... | |
| void | set_screen_output (const bool p) |
| Setter-Getter for protected m_screen_output data. More... | |
| bool | get_screen_output () const |
| Gets screen output. More... | |
| void | reset_rngs (const unsigned int) const |
| Resets the seed of the internal rngs using a user-provided seed. More... | |
Protected Member Functions | |
| std::string | human_readable_extra () const |
| Extra human readable algorithm info. More... | |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Protected Attributes inherited from pagmo::algorithm::base | |
| bool | m_screen_output |
| Indicates to the derived class whether to print stuff on screen. | |
| rng_double | m_drng |
| Random number generator for double-precision floating point values. | |
| rng_uint32 | m_urng |
| Random number generator for unsigned integer values. | |
| unsigned int | m_fevals |
| A counter for the number of function evaluations. | |
S-metric selection evolutionary multiobjective optimisation algorithm (SMS-EMOA)
SMS-EMOA is a S-metric (hypervolume indicator) based evolutionary algorithm.
Definition at line 46 of file sms_emoa.h.
| pagmo::algorithm::sms_emoa::sms_emoa | ( | const sms_emoa & | orig | ) |
Copy constructor.
Copy constructor of SMS-EMOA.
| [in] | orig | Original instance of SMS-EMOA to make a copy from |
Definition at line 68 of file sms_emoa.cpp.
| pagmo::algorithm::sms_emoa::sms_emoa | ( | int | gen = 100, |
| int | sel_m = 2, |
||
| double | cr = 0.95, |
||
| double | eta_c = 10, |
||
| double | m = 0.01, |
||
| double | eta_m = 50 |
||
| ) |
Constructor.
Constructs the SMS-EMOA algorithm.
| [in] | gen | Number of generations to evolve. |
| [in] | sel_m | Selection method of the algorithm. If sel_m=1, least_contributor is used for the computation regardless of the number of fronts. If sel_m=2, domination count is used in case there are more than one front. |
| [in] | cr | Crossover probability |
| [in] | eta_c | Distribution index for crossover |
| [in] | m | Mutation probability |
| [in] | eta_m | Distribution index for mutation |
| value_error | if gen is negative, crossover probability is not , mutation probability or mutation width is not , |
Definition at line 56 of file sms_emoa.cpp.
| pagmo::algorithm::sms_emoa::sms_emoa | ( | pagmo::util::hv_algorithm::base_ptr | hv_algorithm, |
| int | gen = 100, |
||
| int | sel_m = 2, |
||
| double | cr = 0.95, |
||
| double | eta_c = 10, |
||
| double | m = 0.01, |
||
| double | eta_m = 50 |
||
| ) |
Constructor.
Constructs the SMS-EMOA algorithm with the preferred hypervolume algorithm for computation.
| [in] | gen | Number of generations to evolve. |
| [in] | sel_m | Selection method of the algorithm. If sel_m=1, least_contributor is used for the computation regardless of the number of fronts. If sel_m=2, domination count is used in case there are more than one front. |
| [in] | cr | Crossover probability |
| [in] | eta_c | Distribution index for crossover |
| [in] | m | Mutation probability |
| [in] | eta_m | Distribution index for mutation |
| [in] | hv_algorithm | Hypervolume algorithm used for the computation of the least contributor |
| value_error | if gen is negative, crossover probability is not , mutation probability or mutation width is not , |
Definition at line 90 of file sms_emoa.cpp.
|
virtual |
Evolve implementation.
Run the SMS-EMOA evolve routine.
| [in,out] | pop | input/output pagmo::population to be evolved. |
Implements pagmo::algorithm::base.
Definition at line 341 of file sms_emoa.cpp.
| pagmo::util::hv_algorithm::base_ptr pagmo::algorithm::sms_emoa::get_hv_algorithm | ( | ) | const |
Get the hypervolume algorithm used for the computation.
Returns an instance of the algorithm currently set for the computation of the least_contributor.
Definition at line 103 of file sms_emoa.cpp.
|
protectedvirtual |
Extra human readable algorithm info.
Will return a formatted string displaying the parameters of the algorithm.
Reimplemented from pagmo::algorithm::base.
Definition at line 389 of file sms_emoa.cpp.
1.8.9.1