PaGMO
1.1.5
|
"Strength Pareto Evolutionary Algorithm (SPEA2)" More...
#include <spea2.h>
Public Member Functions | |
spea2 (int gen=100, double cr=0.95, double eta_c=10, double m=0.01, double eta_m=50, int archive_size=0) | |
Constructor. More... | |
base_ptr | clone () const |
Clone method. | |
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. | |
"Strength Pareto Evolutionary Algorithm (SPEA2)"
Strength Pareto Evolutionary Algorithm (SPEA2) is a multi-objective optimization algorithm. The quality of an individual is measured taking into consideration its pareto strenght and its distance to its K-th neighbour, where It uses an external archive in which are stored the non dominated solutions found so far. The size of the archive is kept constant throughout the run by mean of a truncation operator taking into consideration the distance of each individual to its closest neighbours.
pagmo::algorithm::spea2::spea2 | ( | int | gen = 100 , |
double | cr = 0.95 , |
||
double | eta_c = 10 , |
||
double | m = 0.01 , |
||
double | eta_m = 50 , |
||
int | archive_size = 0 |
||
) |
Constructor.
Constructs a SPEA2 algorithm
[in] | gen | Number of generations to evolve. |
[in] | cr | Crossover probability |
[in] | eta_c | Distribution index for crossover |
[in] | m | Mutation probability |
[in] | eta_m | Distribution index for mutation |
[in] | archive_size | the size of the non_dominated archive. If archive_size=0 then the archive size is set equal to the population size. The population returned after evolve has a size equal to archive_size |
value_error | if gen is negative |
|
virtual |
Evolve implementation.
Run the SPEA2 algorithm for the number of generations specified in the constructors.
[in,out] | pop | input/output pagmo::population to be evolved. |
Implements pagmo::algorithm::base.
|
protectedvirtual |
Extra human readable algorithm info.
Will return a formatted string displaying the parameters of the algorithm.
Reimplemented from pagmo::algorithm::base.