|
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.
1.8.9.1