git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@40 331e1502-861f-0410-8da2-ba01fb791d7f
254 lines
7.9 KiB
Groff
254 lines
7.9 KiB
Groff
.TH "eoEsMutate" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*-
|
||
.ad l
|
||
.nh
|
||
.SH NAME
|
||
eoEsMutate \- ES-style mutation in the large.
|
||
|
||
.PP
|
||
.SH SYNOPSIS
|
||
.br
|
||
.PP
|
||
\fC#include <eoEsMutate.h>\fP
|
||
.PP
|
||
Inherits \fBeoMonOp< EOT >\fP.
|
||
.PP
|
||
.SS "Public Types"
|
||
|
||
.in +1c
|
||
.ti -1c
|
||
.RI "typedef EOT::Fitness \fBFitT\fP"
|
||
.br
|
||
.RI "\fIFitness-type. \fP"
|
||
.in -1c
|
||
.SS "Public Member Functions"
|
||
|
||
.in +1c
|
||
.ti -1c
|
||
.RI "\fBeoEsMutate\fP (\fBeoEsMutationInit\fP &_init, \fBeoRealVectorBounds\fP &_bounds)"
|
||
.br
|
||
.RI "\fIInitialization. \fP"
|
||
.ti -1c
|
||
.RI "virtual \fB~eoEsMutate\fP ()"
|
||
.br
|
||
.RI "\fIVirtual Destructor. \fP"
|
||
.ti -1c
|
||
.RI "virtual std::string \fBclassName\fP () const "
|
||
.br
|
||
.RI "\fIClassname. \fP"
|
||
.ti -1c
|
||
.RI "virtual bool \fBoperator()\fP (\fBeoEsSimple\fP< \fBFitT\fP > &_eo)"
|
||
.br
|
||
.RI "\fIMutate \fBeoEsSimple\fP. \fP"
|
||
.ti -1c
|
||
.RI "virtual bool \fBoperator()\fP (\fBeoEsStdev\fP< \fBFitT\fP > &_eo)"
|
||
.br
|
||
.RI "\fIStandard mutation in ES. \fP"
|
||
.ti -1c
|
||
.RI "virtual bool \fBoperator()\fP (\fBeoEsFull\fP< \fBFitT\fP > &_eo)"
|
||
.br
|
||
.RI "\fICorrelated mutations in ES. \fP"
|
||
.in -1c
|
||
.SS "Private Member Functions"
|
||
|
||
.in +1c
|
||
.ti -1c
|
||
.RI "void \fBinit\fP (\fBeoEsSimple\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP &_init)"
|
||
.br
|
||
.RI "\fIInitialization of simple ES. \fP"
|
||
.ti -1c
|
||
.RI "void \fBinit\fP (\fBeoEsStdev\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP &_init)"
|
||
.br
|
||
.RI "\fIInitialization of standard ES. \fP"
|
||
.ti -1c
|
||
.RI "void \fBinit\fP (\fBeoEsFull\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP &_init)"
|
||
.br
|
||
.RI "\fIInitialization of full ES. \fP"
|
||
.in -1c
|
||
.SS "Private Attributes"
|
||
|
||
.in +1c
|
||
.ti -1c
|
||
.RI "double \fBTauLcl\fP"
|
||
.br
|
||
.RI "\fILocal factor for mutation of std deviations. \fP"
|
||
.ti -1c
|
||
.RI "double \fBTauGlb\fP"
|
||
.br
|
||
.RI "\fIGlobal factor for mutation of std deviations. \fP"
|
||
.ti -1c
|
||
.RI "double \fBTauBeta\fP"
|
||
.br
|
||
.RI "\fIFactor for mutation of correlation parameters. \fP"
|
||
.ti -1c
|
||
.RI "\fBeoRealVectorBounds\fP & \fBbounds\fP"
|
||
.br
|
||
.RI "\fIBounds of parameters. \fP"
|
||
.in -1c
|
||
.SS "Static Private Attributes"
|
||
|
||
.in +1c
|
||
.ti -1c
|
||
.RI "const double \fBstdev_eps\fP = 1.0e-40"
|
||
.br
|
||
.RI "\fIMinimum stdev. \fP"
|
||
.in -1c
|
||
.SH "Detailed Description"
|
||
.PP
|
||
|
||
.SS "template<class EOT> class eoEsMutate< EOT >"
|
||
ES-style mutation in the large.
|
||
|
||
Obviously, valid only for eoES*. It is currently valid for three types of ES chromosomes:
|
||
.IP "\(bu" 2
|
||
\fBeoEsSimple\fP: Exactly one stdandard-deviation
|
||
.IP "\(bu" 2
|
||
\fBeoEsStdev\fP: As many standard deviations as object variables
|
||
.IP "\(bu" 2
|
||
\fBeoEsFull\fP: The whole guacemole: correlations, stdevs and object variables
|
||
.PP
|
||
.PP
|
||
Each of these three variant has it's own operator() in eoEsMutate and intialization is also split into three cases (that share some commonalities)
|
||
.PP
|
||
Definition at line 60 of file eoEsMutate.h.
|
||
.SH "Constructor & Destructor Documentation"
|
||
.PP
|
||
.SS "template<class EOT> \fBeoEsMutate\fP< \fBEOT\fP >::\fBeoEsMutate\fP (\fBeoEsMutationInit\fP & _init, \fBeoRealVectorBounds\fP & _bounds)\fC [inline]\fP"
|
||
.PP
|
||
Initialization.
|
||
.PP
|
||
\fBParameters:\fP
|
||
.RS 4
|
||
\fI_init\fP Proxy class for initializating the three parameters eoEsMutate needs
|
||
.br
|
||
\fI_bounds\fP Bounds for the objective variables
|
||
.RE
|
||
.PP
|
||
|
||
.PP
|
||
Definition at line 74 of file eoEsMutate.h.
|
||
.PP
|
||
References eoEsMutate< EOT >::bounds, and eoEsMutate< EOT >::init().
|
||
.SH "Member Function Documentation"
|
||
.PP
|
||
.SS "template<class EOT> virtual std::string \fBeoEsMutate\fP< \fBEOT\fP >::className (void) const\fC [inline, virtual]\fP"
|
||
.PP
|
||
Classname.
|
||
.PP
|
||
Inherited from \fBeoObject\fP
|
||
.PP
|
||
\fBSee also:\fP
|
||
.RS 4
|
||
\fBeoObject\fP
|
||
.RE
|
||
.PP
|
||
\fBReturns:\fP
|
||
.RS 4
|
||
Name of class.
|
||
.RE
|
||
.PP
|
||
|
||
.PP
|
||
Reimplemented from \fBeoMonOp< EOT >\fP.
|
||
.PP
|
||
Definition at line 90 of file eoEsMutate.h.
|
||
.SS "template<class EOT> virtual bool \fBeoEsMutate\fP< \fBEOT\fP >::operator() (\fBeoEsSimple\fP< \fBFitT\fP > & _eo)\fC [inline, virtual]\fP"
|
||
.PP
|
||
Mutate \fBeoEsSimple\fP.
|
||
.PP
|
||
\fBParameters:\fP
|
||
.RS 4
|
||
\fI_eo\fP Individual to mutate.
|
||
.RE
|
||
.PP
|
||
|
||
.PP
|
||
Definition at line 97 of file eoEsMutate.h.
|
||
.PP
|
||
References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsSimple< Fit >::stdev, and eoEsMutate< EOT >::TauLcl.
|
||
.SS "template<class EOT> virtual bool \fBeoEsMutate\fP< \fBEOT\fP >::operator() (\fBeoEsStdev\fP< \fBFitT\fP > & _eo)\fC [inline, virtual]\fP"
|
||
.PP
|
||
Standard mutation in ES.
|
||
.PP
|
||
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
||
.PP
|
||
Standard mutation of object variables and standard deviations in ESs.
|
||
.PP
|
||
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.
|
||
.PP
|
||
\fBParameters:\fP
|
||
.RS 4
|
||
\fI_eo\fP Individual to mutate.
|
||
.RE
|
||
.PP
|
||
\fBSee also:\fP
|
||
.RS 4
|
||
Schwefel 1977: Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie, pp. 165 ff.
|
||
.RE
|
||
.PP
|
||
|
||
.PP
|
||
Definition at line 128 of file eoEsMutate.h.
|
||
.PP
|
||
References eoEsMutate< EOT >::bounds, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsStdev< Fit >::stdevs, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl.
|
||
.SS "template<class EOT> virtual bool \fBeoEsMutate\fP< \fBEOT\fP >::operator() (\fBeoEsFull\fP< \fBFitT\fP > & _eo)\fC [inline, virtual]\fP"
|
||
.PP
|
||
Correlated mutations in ES.
|
||
.PP
|
||
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
||
.PP
|
||
Mutation of object variables, standard deviations, and their correlations in ESs.
|
||
.PP
|
||
\fBParameters:\fP
|
||
.RS 4
|
||
\fI_eo\fP Individual to mutate.
|
||
.RE
|
||
.PP
|
||
\fBSee also:\fP
|
||
.RS 4
|
||
.IP "\(bu" 2
|
||
H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80, p. 43, 1980.
|
||
.IP "\(bu" 2
|
||
G. Rudolph: Globale Optimierung mit parallelen Evolutionsstrategien, Diploma Thesis, University of Dortmund, 1990.
|
||
.PP
|
||
.RE
|
||
.PP
|
||
|
||
.PP
|
||
Definition at line 159 of file eoEsMutate.h.
|
||
.PP
|
||
References eoEsMutate< EOT >::bounds, eoEsFull< Fit >::correlations, eoRealBaseVectorBounds::foldsInBounds(), eoRng::normal(), eoEsFull< Fit >::stdevs, eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl.
|
||
.SS "template<class EOT> void \fBeoEsMutate\fP< \fBEOT\fP >::init (\fBeoEsStdev\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP & _init)\fC [inline, private]\fP"
|
||
.PP
|
||
Initialization of standard ES.
|
||
.PP
|
||
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
||
.PP
|
||
Definition at line 228 of file eoEsMutate.h.
|
||
.PP
|
||
References eoEsMutate< EOT >::bounds, eoEsMutationInit::TauGlb(), eoEsMutate< EOT >::TauGlb, eoEsMutationInit::TauLcl(), and eoEsMutate< EOT >::TauLcl.
|
||
.SS "template<class EOT> void \fBeoEsMutate\fP< \fBEOT\fP >::init (\fBeoEsFull\fP< \fBFitT\fP >, \fBeoEsMutationInit\fP & _init)\fC [inline, private]\fP"
|
||
.PP
|
||
Initialization of full ES.
|
||
.PP
|
||
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
||
.PP
|
||
Definition at line 244 of file eoEsMutate.h.
|
||
.PP
|
||
References eoEsMutate< EOT >::init(), eoEsMutationInit::TauBeta(), eoEsMutate< EOT >::TauBeta, eoEsMutate< EOT >::TauGlb, and eoEsMutate< EOT >::TauLcl.
|
||
.SH "Member Data Documentation"
|
||
.PP
|
||
.SS "template<class EOT> const double \fBeoEsMutate\fP< \fBEOT\fP >::\fBstdev_eps\fP = 1.0e-40\fC [static, private]\fP"
|
||
.PP
|
||
Minimum stdev.
|
||
.PP
|
||
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).
|
||
.PP
|
||
The code that we have in \fBEO\fP 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 \fBEO\fP. The exact value was adjusted based on practice.
|
||
.PP
|
||
Removing this doesn't work well, but it was never tried to figure out what the best value would be.
|
||
.PP
|
||
Definition at line 284 of file eoEsMutate.h.
|
||
|
||
.SH "Author"
|
||
.PP
|
||
Generated automatically by Doxygen for EO from the source code.
|