\hypertarget{classeo_uniform_mutation}{}\doxysection{eo\+Uniform\+Mutation$<$ E\+OT $>$ Class Template Reference}
\label{classeo_uniform_mutation}\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}


{\ttfamily \#include $<$Tutorial/eo\+Real\+Op.\+h$>$}



Inheritance diagram for eo\+Uniform\+Mutation$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_uniform_mutation__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Uniform\+Mutation$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_uniform_mutation__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_uniform_mutation_a9ee65d4be2167987b8ea6b69db7521e1}{eo\+Uniform\+Mutation}} (const double \&\+\_\+epsilon, const double \&\+\_\+p\+\_\+change=1.\+0)
\item 
\mbox{\hyperlink{classeo_uniform_mutation_a49bcc26cd217f6cb5e6ba31779e35cb0}{eo\+Uniform\+Mutation}} (\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, const double \&\+\_\+epsilon, const double \&\+\_\+p\+\_\+change=1.\+0)
\item 
\mbox{\hyperlink{classeo_uniform_mutation_a39b5f92a4dacd3a9c8cc21b2ed568d56}{eo\+Uniform\+Mutation}} (\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, const std\+::vector$<$ double $>$ \&\+\_\+epsilon, const std\+::vector$<$ double $>$ \&\+\_\+p\+\_\+change)
\item 
\mbox{\Hypertarget{classeo_uniform_mutation_aed806fd79da9f966fd408d1d2925472e}\label{classeo_uniform_mutation_aed806fd79da9f966fd408d1d2925472e}} 
virtual std\+::string \mbox{\hyperlink{classeo_uniform_mutation_aed806fd79da9f966fd408d1d2925472e}{class\+Name}} () const
\begin{DoxyCompactList}\small\item\em The class name. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classeo_uniform_mutation_ae10e14554c2de5521fe6287da333dd05}{operator()}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+eo)
\item 
\mbox{\hyperlink{classeo_uniform_mutation_a9ee65d4be2167987b8ea6b69db7521e1}{eo\+Uniform\+Mutation}} (const double \&\+\_\+epsilon, const double \&\+\_\+p\+\_\+change=1.\+0)
\item 
\mbox{\hyperlink{classeo_uniform_mutation_a49bcc26cd217f6cb5e6ba31779e35cb0}{eo\+Uniform\+Mutation}} (\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, const double \&\+\_\+epsilon, const double \&\+\_\+p\+\_\+change=1.\+0)
\item 
\mbox{\hyperlink{classeo_uniform_mutation_a39b5f92a4dacd3a9c8cc21b2ed568d56}{eo\+Uniform\+Mutation}} (\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, const std\+::vector$<$ double $>$ \&\+\_\+epsilon, const std\+::vector$<$ double $>$ \&\+\_\+p\+\_\+change)
\item 
\mbox{\Hypertarget{classeo_uniform_mutation_aed806fd79da9f966fd408d1d2925472e}\label{classeo_uniform_mutation_aed806fd79da9f966fd408d1d2925472e}} 
virtual std\+::string \mbox{\hyperlink{classeo_uniform_mutation_aed806fd79da9f966fd408d1d2925472e}{class\+Name}} () const
\begin{DoxyCompactList}\small\item\em The class name. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classeo_uniform_mutation_ae10e14554c2de5521fe6287da333dd05}{operator()}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+eo)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class E\+OT$>$\newline
class eo\+Uniform\+Mutation$<$ E\+O\+T $>$}

\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}} -\/-\/$>$ changes all values of the std\+::vector by uniform choice with range epsilon with probability p\+\_\+change per variable 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_uniform_mutation_a9ee65d4be2167987b8ea6b69db7521e1}\label{classeo_uniform_mutation_a9ee65d4be2167987b8ea6b69db7521e1}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!eoUniformMutation@{eoUniformMutation}}
\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformMutation()}{eoUniformMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}} (\begin{DoxyParamCaption}\item[{const double \&}]{\+\_\+epsilon,  }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor without bounds == unbounded variables \+:-\/) not very clean, but who\textquotesingle{}s doing unbounded optimization anyway? and it\textquotesingle{}s there mostly for backward compatibility


\begin{DoxyParams}{Parameters}
{\em \+\_\+epsilon} & the range for uniform nutation \\
\hline
{\em \+\_\+p\+\_\+change} & the probability to change a given coordinate \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_uniform_mutation_a49bcc26cd217f6cb5e6ba31779e35cb0}\label{classeo_uniform_mutation_a49bcc26cd217f6cb5e6ba31779e35cb0}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!eoUniformMutation@{eoUniformMutation}}
\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformMutation()}{eoUniformMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{const double \&}]{\+\_\+epsilon,  }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with bounds 
\begin{DoxyParams}{Parameters}
{\em \+\_\+bounds} & an \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} that contains the bounds \\
\hline
{\em \+\_\+epsilon} & the range for uniform mutation -\/ a double to be scaled \\
\hline
{\em \+\_\+p\+\_\+change} & the one probability to change all coordinates \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_uniform_mutation_a39b5f92a4dacd3a9c8cc21b2ed568d56}\label{classeo_uniform_mutation_a39b5f92a4dacd3a9c8cc21b2ed568d56}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!eoUniformMutation@{eoUniformMutation}}
\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformMutation()}{eoUniformMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{const std\+::vector$<$ double $>$ \&}]{\+\_\+epsilon,  }\item[{const std\+::vector$<$ double $>$ \&}]{\+\_\+p\+\_\+change }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with bounds 
\begin{DoxyParams}{Parameters}
{\em \+\_\+bounds} & an \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} that contains the bounds \\
\hline
{\em \+\_\+epsilon} & the V\+E\+C\+T\+OR of ranges for uniform mutation \\
\hline
{\em \+\_\+p\+\_\+change} & the V\+E\+C\+T\+OR of probabilities for each coordinates \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_uniform_mutation_a9ee65d4be2167987b8ea6b69db7521e1}\label{classeo_uniform_mutation_a9ee65d4be2167987b8ea6b69db7521e1}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!eoUniformMutation@{eoUniformMutation}}
\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformMutation()}{eoUniformMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}} (\begin{DoxyParamCaption}\item[{const double \&}]{\+\_\+epsilon,  }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor without bounds == unbounded variables \+:-\/) not very clean, but who\textquotesingle{}s doing unbounded optimization anyway? and it\textquotesingle{}s there mostly for backward compatibility


\begin{DoxyParams}{Parameters}
{\em \+\_\+epsilon} & the range for uniform nutation \\
\hline
{\em \+\_\+p\+\_\+change} & the probability to change a given coordinate \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_uniform_mutation_a49bcc26cd217f6cb5e6ba31779e35cb0}\label{classeo_uniform_mutation_a49bcc26cd217f6cb5e6ba31779e35cb0}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!eoUniformMutation@{eoUniformMutation}}
\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformMutation()}{eoUniformMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{const double \&}]{\+\_\+epsilon,  }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with bounds 
\begin{DoxyParams}{Parameters}
{\em \+\_\+bounds} & an \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} that contains the bounds \\
\hline
{\em \+\_\+epsilon} & the range for uniform mutation -\/ a double to be scaled \\
\hline
{\em \+\_\+p\+\_\+change} & the one probability to change all coordinates \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_uniform_mutation_a39b5f92a4dacd3a9c8cc21b2ed568d56}\label{classeo_uniform_mutation_a39b5f92a4dacd3a9c8cc21b2ed568d56}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!eoUniformMutation@{eoUniformMutation}}
\index{eoUniformMutation@{eoUniformMutation}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoUniformMutation()}{eoUniformMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds,  }\item[{const std\+::vector$<$ double $>$ \&}]{\+\_\+epsilon,  }\item[{const std\+::vector$<$ double $>$ \&}]{\+\_\+p\+\_\+change }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with bounds 
\begin{DoxyParams}{Parameters}
{\em \+\_\+bounds} & an \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} that contains the bounds \\
\hline
{\em \+\_\+epsilon} & the V\+E\+C\+T\+OR of ranges for uniform mutation \\
\hline
{\em \+\_\+p\+\_\+change} & the V\+E\+C\+T\+OR of probabilities for each coordinates \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classeo_uniform_mutation_ae10e14554c2de5521fe6287da333dd05}\label{classeo_uniform_mutation_ae10e14554c2de5521fe6287da333dd05}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
bool \mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::operator() (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_dummy}{E\+OT}} \&}]{\+\_\+eo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Do it! 
\begin{DoxyParams}{Parameters}
{\em \+\_\+eo} & The indi undergoing the mutation \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classeo_u_f_a786e028409366dc273e19104f17ba68a}{eo\+U\+F$<$ E\+O\+T \&, bool $>$}}.

\mbox{\Hypertarget{classeo_uniform_mutation_ae10e14554c2de5521fe6287da333dd05}\label{classeo_uniform_mutation_ae10e14554c2de5521fe6287da333dd05}} 
\index{eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!eoUniformMutation$<$ EOT $>$@{eoUniformMutation$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
bool \mbox{\hyperlink{classeo_uniform_mutation}{eo\+Uniform\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::operator() (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_dummy}{E\+OT}} \&}]{\+\_\+eo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Do it! 
\begin{DoxyParams}{Parameters}
{\em \+\_\+eo} & The indi undergoing the mutation \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classeo_u_f_a786e028409366dc273e19104f17ba68a}{eo\+U\+F$<$ E\+O\+T \&, bool $>$}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
deprecated/eo/src/es/eo\+Real\+Op.\+h\end{DoxyCompactItemize}
