PaGMO
1.1.5
|
Parallel Decomposition (PaDe) More...
#include <pade.h>
Public Types | |
enum | weight_generation_type { RANDOM =0, GRID =1, LOW_DISCREPANCY =2 } |
Mechanism used to generate the weight vectors. More... | |
Public Member Functions | |
pade (int gen=10, unsigned int max_parallelism=1, pagmo::problem::decompose::method_type=pagmo::problem::decompose::BI, const pagmo::algorithm::base &=pagmo::algorithm::jde(100), population::size_type=8, weight_generation_type=LOW_DISCREPANCY, const fitness_vector &=std::vector< double >()) | |
Constructor. More... | |
pade (const pade &) | |
Copy constructor. Performs a deep copy. Necessary as a pointer to a base algorithm is here contained. | |
base_ptr | clone () const |
Clone method. | |
void | evolve (population &) const |
Evolve implementation. More... | |
std::string | get_name () const |
Algorithm name. | |
std::vector< fitness_vector > | generate_weights (const unsigned int, const unsigned int) const |
Generates the weights used in the problem decomposition. More... | |
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. | |
Parallel Decomposition (PaDe)
This class implement a multi-objective optimization algorithm based on parallel decomposition. For each element of the population a different single objective problem is generated using a decomposition method. Those single-objective problems are thus solved in parallel. At the end of the evolution the population is set as the best individual for each single-objective problem.
PaDe assumes all the objectives need to be minimized.
pagmo::algorithm::pade::pade | ( | int | gen = 10 , |
unsigned int | threads = 1 , |
||
pagmo::problem::decompose::method_type | method = pagmo::problem::decompose::BI , |
||
const pagmo::algorithm::base & | solver = pagmo::algorithm::jde(100) , |
||
population::size_type | T = 8 , |
||
weight_generation_type | weight_generation = LOW_DISCREPANCY , |
||
const fitness_vector & | z = std::vector<double>() |
||
) |
Constructor.
Constructs a PaDe algorithm
[in] | gen | Number of generations to evolve. |
[in] | threads | the amounts of threads that will be used |
[in] | method | the decomposition method to use (Weighted, Tchebycheff or BI) |
[in] | solver | the algorithm to solve the single objective problems. |
[in] | T | the size of the population on each subproblem (must be an even number) |
[in] | weight_generation | the method to generate the weight vectors (RANDOM, GRID or LOW-DISCREPANCY) |
[in] | z | the reference point used for decomposition (with Tchebycheff and BI) |
value_error | if gen is negative, weight_generation is not sane |
|
virtual |
Evolve implementation.
Run the PaDe algorithm for the number of generations specified in the constructors.
[in,out] | pop | input/output pagmo::population to be evolved. |
Implements pagmo::algorithm::base.
std::vector< fitness_vector > pagmo::algorithm::pade::generate_weights | ( | const unsigned int | n_f, |
const unsigned int | n_w | ||
) | const |
|
protectedvirtual |
Extra human readable algorithm info.
Will return a formatted string displaying the parameters of the algorithm.
Reimplemented from pagmo::algorithm::base.