Concrete MLP individual for Pareto memetic optimization. More...
#include <MlpIndividual.hpp>
Public Member Functions | |
MlpIndividual () | |
Construct uninitialized; only for reading values very soon. | |
MlpIndividual (const MlpObjectives &mobj, unique_ptr< jymlp::Mlp > imlp, shared_ptr< Dataset > ids) | |
Constructor by taking ownership of a jyu::Mlp instance and shared ownership of a dataset. | |
MlpIndividual (const MlpIndividual &original) | |
virtual | ~MlpIndividual () |
Default destructor. | |
virtual void | addUnaryOperator (unique_ptr< MlpBackpropUnaryOperator > uop) |
virtual Individual * | clone () |
Cloning can use the default copy constructor, but otherwise it is specific to the derived classes. | |
virtual void | evaluate () |
Evaluate objective functions. | |
virtual void | mutate () |
Apply evolutionary mutation operator(s). | |
virtual void | improve (mt19937 *mt) |
Apply memetic improvement operator(s). | |
virtual vector< double > | getTrace () |
Get measures that are interesting in post-run tracing; subclasses would know which measures are of importance. | |
virtual pair< unique_ptr < Individual >, unique_ptr < Individual > > | crossWith (Individual &other) |
Protected Member Functions | |
void | impl_from_stream (istream &repr) |
"Crowding" value/dist. (e.g. NSGA-II) | |
void | impl_to_stream (ostream &repr) |
Write the actual (concrete) representation to a stream. | |
void | crossWith (MlpIndividual &other) |
This is specific to MlpIndividual. | |
Friends | |
class | MlpBackpropUnaryOperator |
Concrete MLP individual for Pareto memetic optimization.
MlpIndividual::MlpIndividual | ( | ) |
Construct uninitialized; only for reading values very soon.
MlpIndividual::MlpIndividual | ( | const MlpObjectives & | mobj, | |
unique_ptr< jymlp::Mlp > | imlp, | |||
shared_ptr< Dataset > | ids | |||
) |
Constructor by taking ownership of a jyu::Mlp instance and shared ownership of a dataset.
All of these are required for meaningful computations.
void MlpIndividual::crossWith | ( | MlpIndividual & | other | ) | [protected, virtual] |
void MlpIndividual::evaluate | ( | ) | [virtual] |
Evaluate objective functions.
Is to be called before getting values, if any operators have been applied. The concrete derived class must assign objective values when this is called.
Implements Individual.
vector< double > MlpIndividual::getTrace | ( | ) | [virtual] |
Get measures that are interesting in post-run tracing; subclasses would know which measures are of importance.
By default, the objectives are returned as a vector object.
Reimplemented from Individual.
void MlpIndividual::impl_from_stream | ( | istream & | repr | ) | [protected, virtual] |
"Crowding" value/dist. (e.g. NSGA-II)
Read the actual (concrete) representation from a stream.
Implements Individual.
void MlpIndividual::impl_to_stream | ( | ostream & | repr | ) | [protected, virtual] |
Write the actual (concrete) representation to a stream.
Implements Individual.
void MlpIndividual::improve | ( | mt19937 * | mt | ) | [virtual] |
void MlpIndividual::mutate | ( | ) | [virtual] |