#include <eoEsMutate.h>
Inheritance diagram for eoEsMutate< EOT >:

Public Types | |
| typedef EOT::Fitness | FitT |
| Fitness-type. | |
Public Member Functions | |
| eoEsMutate (eoEsMutationInit &_init, eoRealVectorBounds &_bounds) | |
| Initialization. | |
| virtual | ~eoEsMutate () |
| Virtual Destructor. | |
| virtual std::string | className () const |
| Classname. | |
| virtual bool | operator() (eoEsSimple< FitT > &_eo) |
| Mutate eoEsSimple. | |
| virtual bool | operator() (eoEsStdev< FitT > &_eo) |
| Standard mutation in ES. | |
| virtual bool | operator() (eoEsFull< FitT > &_eo) |
| Correlated mutations in ES. | |
Private Member Functions | |
| void | init (eoEsSimple< FitT >, eoEsMutationInit &_init) |
| Initialization of simple ES. | |
| void | init (eoEsStdev< FitT >, eoEsMutationInit &_init) |
| Initialization of standard ES. | |
| void | init (eoEsFull< FitT >, eoEsMutationInit &_init) |
| Initialization of full ES. | |
Private Attributes | |
| double | TauLcl |
| Local factor for mutation of std deviations. | |
| double | TauGlb |
| Global factor for mutation of std deviations. | |
| double | TauBeta |
| Factor for mutation of correlation parameters. | |
| eoRealVectorBounds & | bounds |
| Bounds of parameters. | |
Static Private Attributes | |
| const double | stdev_eps = 1.0e-40 |
| Minimum stdev. | |
Obviously, valid only for eoES*. It is currently valid for three types of ES chromosomes:
Each of these three variant has it's own operator() in eoEsMutate and intialization is also split into three cases (that share some commonalities)
Definition at line 60 of file eoEsMutate.h.
|
||||||||||||||||
|
Initialization.
Definition at line 74 of file eoEsMutate.h. References eoEsMutate< EOT >::bounds, and eoEsMutate< EOT >::init(). |
|
||||||||||
|
Classname. Inherited from eoObject
Reimplemented from eoMonOp< EOT >. Definition at line 90 of file eoEsMutate.h. |
|
||||||||||
|
Mutate eoEsSimple.
Definition at line 97 of file eoEsMutate.h. References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsSimple< Fit >::stdev, and eoEsMutate< EOT >::TauLcl. |
|
||||||||||
|
Standard mutation in ES. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Standard mutation of object variables and standard deviations in ESs. If there are fewer different standard deviations available than the dimension of the objective function requires, the last standard deviation is responsible for ALL remaining object variables.
Definition at line 128 of file eoEsMutate.h. References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsStdev< Fit >::stdevs, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl. |
|
||||||||||
|
Correlated mutations in ES. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Mutation of object variables, standard deviations, and their correlations in ESs.
Definition at line 159 of file eoEsMutate.h. References eoEsMutate< EOT >::bounds, eoEsFull< Fit >::correlations, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsFull< Fit >::stdevs, eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl. |
|
||||||||||||||||
|
Initialization of standard ES. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Definition at line 228 of file eoEsMutate.h. References eoEsMutate< EOT >::bounds, eoEsMutationInit::TauGlb(), eoEsMutate< EOT >::TauGlb, eoEsMutationInit::TauLcl(), and eoEsMutate< EOT >::TauLcl. |
|
||||||||||||||||
|
Initialization of full ES. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Definition at line 244 of file eoEsMutate.h. References eoEsMutate< EOT >::init(), eoEsMutationInit::TauBeta(), eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl. |
|
|||||
|
Minimum stdev. If you let the step-size go to 0, self-adaptation stops, therefore we give a lower bound. The actual value used is somewhat arbitrary and the is no theoretical reasoning known for it (Sep 2005). The code that we have in EO is a port from a C code that Thomas Bäck kindly donated to the community some years ago. It has been modified by Marc Schoenauer for inclusion in EvolC, than by Maarten Keijzer into EO. The exact value was adjusted based on practice. Removing this doesn't work well, but it was never tried to figure out what the best value would be. Definition at line 284 of file eoEsMutate.h. |
1.3.9.1