Paradiseo-eo sources added
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@40 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
bc1f453978
commit
c3aec878e5
3609 changed files with 342772 additions and 0 deletions
224
trunk/paradiseo-eo/doc/latex/classeo_es_mutate.tex
Normal file
224
trunk/paradiseo-eo/doc/latex/classeo_es_mutate.tex
Normal file
|
|
@ -0,0 +1,224 @@
|
|||
\section{eo\-Es\-Mutate$<$ EOT $>$ Class Template Reference}
|
||||
\label{classeo_es_mutate}\index{eoEsMutate@{eoEsMutate}}
|
||||
ES-style mutation in the large.
|
||||
|
||||
|
||||
{\tt \#include $<$eo\-Es\-Mutate.h$>$}
|
||||
|
||||
Inheritance diagram for eo\-Es\-Mutate$<$ EOT $>$::\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[height=3.71476cm]{classeo_es_mutate}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\subsection*{Public Types}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
typedef EOT::Fitness {\bf Fit\-T}\label{classeo_es_mutate_w0}
|
||||
|
||||
\begin{CompactList}\small\item\em Fitness-type. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
{\bf eo\-Es\-Mutate} ({\bf eo\-Es\-Mutation\-Init} \&\_\-init, {\bf eo\-Real\-Vector\-Bounds} \&\_\-bounds)
|
||||
\begin{CompactList}\small\item\em Initialization. \item\end{CompactList}\item
|
||||
virtual {\bf $\sim$eo\-Es\-Mutate} ()\label{classeo_es_mutate_a1}
|
||||
|
||||
\begin{CompactList}\small\item\em Virtual Destructor. \item\end{CompactList}\item
|
||||
virtual std::string {\bf class\-Name} () const
|
||||
\begin{CompactList}\small\item\em Classname. \item\end{CompactList}\item
|
||||
virtual bool {\bf operator()} ({\bf eo\-Es\-Simple}$<$ {\bf Fit\-T} $>$ \&\_\-eo)
|
||||
\begin{CompactList}\small\item\em Mutate {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})}. \item\end{CompactList}\item
|
||||
virtual bool {\bf operator()} ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$ \&\_\-eo)
|
||||
\begin{CompactList}\small\item\em Standard mutation in ES. \item\end{CompactList}\item
|
||||
virtual bool {\bf operator()} ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$ \&\_\-eo)
|
||||
\begin{CompactList}\small\item\em Correlated mutations in ES. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
void {\bf init} ({\bf eo\-Es\-Simple}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \&\_\-init)\label{classeo_es_mutate_d0}
|
||||
|
||||
\begin{CompactList}\small\item\em Initialization of simple ES. \item\end{CompactList}\item
|
||||
void {\bf init} ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \&\_\-init)
|
||||
\begin{CompactList}\small\item\em Initialization of standard ES. \item\end{CompactList}\item
|
||||
void {\bf init} ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \&\_\-init)
|
||||
\begin{CompactList}\small\item\em Initialization of full ES. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
double {\bf Tau\-Lcl}\label{classeo_es_mutate_r0}
|
||||
|
||||
\begin{CompactList}\small\item\em Local factor for mutation of std deviations. \item\end{CompactList}\item
|
||||
double {\bf Tau\-Glb}\label{classeo_es_mutate_r1}
|
||||
|
||||
\begin{CompactList}\small\item\em Global factor for mutation of std deviations. \item\end{CompactList}\item
|
||||
double {\bf Tau\-Beta}\label{classeo_es_mutate_r2}
|
||||
|
||||
\begin{CompactList}\small\item\em Factor for mutation of correlation parameters. \item\end{CompactList}\item
|
||||
{\bf eo\-Real\-Vector\-Bounds} \& {\bf bounds}\label{classeo_es_mutate_r3}
|
||||
|
||||
\begin{CompactList}\small\item\em Bounds of parameters. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsection*{Static Private Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
const double {\bf stdev\_\-eps} = 1.0e-40
|
||||
\begin{CompactList}\small\item\em Minimum stdev. \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsection{Detailed Description}
|
||||
\subsubsection*{template$<$class EOT$>$ class eo\-Es\-Mutate$<$ EOT $>$}
|
||||
|
||||
ES-style mutation in the large.
|
||||
|
||||
Obviously, valid only for eo\-ES$\ast$. It is currently valid for three types of ES chromosomes:\begin{itemize}
|
||||
\item {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})}: Exactly one stdandard-deviation\item {\bf eo\-Es\-Stdev}{\rm (p.\,\pageref{classeo_es_stdev})}: As many standard deviations as object variables\item {\bf eo\-Es\-Full}{\rm (p.\,\pageref{classeo_es_full})}: The whole guacemole: correlations, stdevs and object variables\end{itemize}
|
||||
|
||||
|
||||
Each of these three variant has it's own operator() in eo\-Es\-Mutate and intialization is also split into three cases (that share some commonalities)
|
||||
|
||||
|
||||
|
||||
Definition at line 60 of file eo\-Es\-Mutate.h.
|
||||
|
||||
\subsection{Constructor \& Destructor Documentation}
|
||||
\index{eoEsMutate@{eo\-Es\-Mutate}!eoEsMutate@{eoEsMutate}}
|
||||
\index{eoEsMutate@{eoEsMutate}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::{\bf eo\-Es\-Mutate} ({\bf eo\-Es\-Mutation\-Init} \& {\em \_\-init}, {\bf eo\-Real\-Vector\-Bounds} \& {\em \_\-bounds})\hspace{0.3cm}{\tt [inline]}}\label{classeo_es_mutate_a0}
|
||||
|
||||
|
||||
Initialization.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-init}]Proxy class for initializating the three parameters eo\-Es\-Mutate needs \item[{\em \_\-bounds}]Bounds for the objective variables \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 74 of file eo\-Es\-Mutate.h.
|
||||
|
||||
References eo\-Es\-Mutate$<$ EOT $>$::bounds, and eo\-Es\-Mutate$<$ EOT $>$::init().
|
||||
|
||||
\subsection{Member Function Documentation}
|
||||
\index{eoEsMutate@{eo\-Es\-Mutate}!className@{className}}
|
||||
\index{className@{className}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual std::string {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::class\-Name (void) const\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a2}
|
||||
|
||||
|
||||
Classname.
|
||||
|
||||
Inherited from {\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})} \begin{Desc}
|
||||
\item[See also:]{\bf eo\-Object}{\rm (p.\,\pageref{classeo_object})}\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]Name of class. \end{Desc}
|
||||
|
||||
|
||||
Reimplemented from {\bf eo\-Mon\-Op$<$ EOT $>$} {\rm (p.\,\pageref{classeo_mon_op})}.
|
||||
|
||||
Definition at line 90 of file eo\-Es\-Mutate.h.\index{eoEsMutate@{eo\-Es\-Mutate}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual bool {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Es\-Simple}$<$ {\bf Fit\-T} $>$ \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a3}
|
||||
|
||||
|
||||
Mutate {\bf eo\-Es\-Simple}{\rm (p.\,\pageref{classeo_es_simple})}.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-eo}]Individual to mutate. \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 97 of file eo\-Es\-Mutate.h.
|
||||
|
||||
References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), eo\-Rng::normal(), eo\-Es\-Simple$<$ Fit $>$::stdev, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual bool {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$ \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a4}
|
||||
|
||||
|
||||
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.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-eo}]Individual to mutate.\end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[See also:]Schwefel 1977: Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie, pp. 165 ff. \end{Desc}
|
||||
|
||||
|
||||
Definition at line 128 of file eo\-Es\-Mutate.h.
|
||||
|
||||
References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), eo\-Rng::normal(), eo\-Es\-Stdev$<$ Fit $>$::stdevs, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ virtual bool {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::operator() ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$ \& {\em \_\-eo})\hspace{0.3cm}{\tt [inline, virtual]}}\label{classeo_es_mutate_a5}
|
||||
|
||||
|
||||
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.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em \_\-eo}]Individual to mutate.\end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[See also:]\begin{itemize}
|
||||
\item H.-P. Schwefel: Internal Report of KFA Juelich, KFA-STE-IB-3/80, p. 43, 1980.\item G. Rudolph: Globale Optimierung mit parallelen Evolutionsstrategien, Diploma Thesis, University of Dortmund, 1990. \end{itemize}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 159 of file eo\-Es\-Mutate.h.
|
||||
|
||||
References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Es\-Full$<$ Fit $>$::correlations, eo\-Real\-Base\-Vector\-Bounds::folds\-In\-Bounds(), eo\-Rng::normal(), eo\-Es\-Full$<$ Fit $>$::stdevs, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Beta, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!init@{init}}
|
||||
\index{init@{init}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::init ({\bf eo\-Es\-Stdev}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \& {\em \_\-init})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_mutate_d1}
|
||||
|
||||
|
||||
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 eo\-Es\-Mutate.h.
|
||||
|
||||
References eo\-Es\-Mutate$<$ EOT $>$::bounds, eo\-Es\-Mutation\-Init::Tau\-Glb(), eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, eo\-Es\-Mutation\-Init::Tau\-Lcl(), and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.\index{eoEsMutate@{eo\-Es\-Mutate}!init@{init}}
|
||||
\index{init@{init}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::init ({\bf eo\-Es\-Full}$<$ {\bf Fit\-T} $>$, {\bf eo\-Es\-Mutation\-Init} \& {\em \_\-init})\hspace{0.3cm}{\tt [inline, private]}}\label{classeo_es_mutate_d2}
|
||||
|
||||
|
||||
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 eo\-Es\-Mutate.h.
|
||||
|
||||
References eo\-Es\-Mutate$<$ EOT $>$::init(), eo\-Es\-Mutation\-Init::Tau\-Beta(), eo\-Es\-Mutate$<$ EOT $>$::Tau\-Beta, eo\-Es\-Mutate$<$ EOT $>$::Tau\-Glb, and eo\-Es\-Mutate$<$ EOT $>$::Tau\-Lcl.
|
||||
|
||||
\subsection{Member Data Documentation}
|
||||
\index{eoEsMutate@{eo\-Es\-Mutate}!stdev_eps@{stdev\_\-eps}}
|
||||
\index{stdev_eps@{stdev\_\-eps}!eoEsMutate@{eo\-Es\-Mutate}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ const double {\bf eo\-Es\-Mutate}$<$ {\bf EOT} $>$::{\bf stdev\_\-eps} = 1.0e-40\hspace{0.3cm}{\tt [static, private]}}\label{classeo_es_mutate_v0}
|
||||
|
||||
|
||||
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 {\bf EO}{\rm (p.\,\pageref{class_e_o})} is a port from a C code that Thomas B\"{a}ck kindly donated to the community some years ago. It has been modified by Marc Schoenauer for inclusion in Evol\-C, than by Maarten Keijzer into {\bf EO}{\rm (p.\,\pageref{class_e_o})}. 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 eo\-Es\-Mutate.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
eo\-Es\-Mutate.h\end{CompactItemize}
|
||||
Loading…
Add table
Add a link
Reference in a new issue