\hypertarget{classeo_algo_restart}{}\doxysection{eo\+Algo\+Restart$<$ E\+OT $>$ Class Template Reference}
\label{classeo_algo_restart}\index{eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}}


{\ttfamily \#include $<$eo\+Algo\+Restart.\+h$>$}



Inheritance diagram for eo\+Algo\+Restart$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{classeo_algo_restart__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for eo\+Algo\+Restart$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classeo_algo_restart__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classeo_algo_restart_1_1eo_dummy_eval}{eo\+Dummy\+Eval}}
\item 
class \mbox{\hyperlink{classeo_algo_restart_1_1eo_dummy_init}{eo\+Dummy\+Init}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_algo_restart_a1789c97fb27ef6980734f751fd90b75d}{eo\+Algo\+Restart}} (\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&init, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&pop\+\_\+eval, \mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&algo, \mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&continuator)
\item 
\mbox{\hyperlink{classeo_algo_restart_af7013ff2ea6c040ff2febd5d919f32ec}{eo\+Algo\+Restart}} (\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&init, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&eval, \mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&algo, \mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&continuator)
\item 
\mbox{\hyperlink{classeo_algo_restart_ac349f36cb9979408dd843bbbdcaa81dd}{eo\+Algo\+Restart}} (\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&pop\+\_\+eval, \mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&algo, \mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&continuator, \mbox{\hyperlink{classeo_algo_reset}{eo\+Algo\+Reset}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&reseter)
\item 
\mbox{\hyperlink{classeo_algo_restart_a84166bd6c683bd89e1b58f22f690ce2d}{eo\+Algo\+Restart}} (\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&eval, \mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&algo, \mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&continuator, \mbox{\hyperlink{classeo_algo_reset}{eo\+Algo\+Reset}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&reseter)
\item 
\mbox{\Hypertarget{classeo_algo_restart_ae83cf533ac559c3687d7efd466d0ae1d}\label{classeo_algo_restart_ae83cf533ac559c3687d7efd466d0ae1d}} 
virtual void \mbox{\hyperlink{classeo_algo_restart_ae83cf533ac559c3687d7efd466d0ae1d}{operator()}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&pop)
\begin{DoxyCompactList}\small\item\em The pure virtual function that needs to be implemented by the subclass. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_algo_restart_ad06021ebf51f506d3ac2981959356a50}\label{classeo_algo_restart_ad06021ebf51f506d3ac2981959356a50}} 
\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries \+\_\+init}
\item 
\mbox{\Hypertarget{classeo_algo_restart_ac1041b7645f7d553ccc8e740909ee8ae}\label{classeo_algo_restart_ac1041b7645f7d553ccc8e740909ee8ae}} 
\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries \+\_\+eval}
\item 
\mbox{\Hypertarget{classeo_algo_restart_a4de6bab555a59dc813ba7d622b1284a4}\label{classeo_algo_restart_a4de6bab555a59dc813ba7d622b1284a4}} 
\mbox{\hyperlink{classeo_pop_loop_eval}{eo\+Pop\+Loop\+Eval}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries \+\_\+loop\+\_\+eval}
\item 
\mbox{\Hypertarget{classeo_algo_restart_aa228e6f35ed5f7b3ddc3de9c7cf8877c}\label{classeo_algo_restart_aa228e6f35ed5f7b3ddc3de9c7cf8877c}} 
\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries \+\_\+pop\+\_\+eval}
\item 
\mbox{\Hypertarget{classeo_algo_restart_a33abf7ff9a60b4e1d0f22b37047fbd24}\label{classeo_algo_restart_a33abf7ff9a60b4e1d0f22b37047fbd24}} 
\mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries \+\_\+algo}
\item 
\mbox{\Hypertarget{classeo_algo_restart_a05c22f70a09cb98aa1a00e24f8449e2d}\label{classeo_algo_restart_a05c22f70a09cb98aa1a00e24f8449e2d}} 
\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries \+\_\+continue}
\item 
\mbox{\Hypertarget{classeo_algo_restart_a86b35767477bcaea83348e9287c28d18}\label{classeo_algo_restart_a86b35767477bcaea83348e9287c28d18}} 
\mbox{\hyperlink{classeo_algo_pop_reset}{eo\+Algo\+Pop\+Reset}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ {\bfseries \+\_\+pop\+\_\+reset}
\item 
\mbox{\Hypertarget{classeo_algo_restart_adaa8148de61054252610c784821b80a8}\label{classeo_algo_restart_adaa8148de61054252610c784821b80a8}} 
\mbox{\hyperlink{classeo_algo_reset}{eo\+Algo\+Reset}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& {\bfseries \+\_\+reseter}
\item 
\mbox{\Hypertarget{classeo_algo_restart_ada1fa6689c6e6a0894f0a74073085400}\label{classeo_algo_restart_ada1fa6689c6e6a0894f0a74073085400}} 
\mbox{\hyperlink{classeo_algo_restart_1_1eo_dummy_eval}{eo\+Dummy\+Eval}} {\bfseries \+\_\+dummy\+\_\+eval}
\item 
\mbox{\Hypertarget{classeo_algo_restart_acff73a9e6a61b558e24b4f95dba0c928}\label{classeo_algo_restart_acff73a9e6a61b558e24b4f95dba0c928}} 
\mbox{\hyperlink{classeo_algo_restart_1_1eo_dummy_init}{eo\+Dummy\+Init}} {\bfseries \+\_\+dummy\+\_\+init}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


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

An algo that restart the given algorithm on a freshly init setting.

If no reseter is specified at construction, a reset of the population is performed before each search. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classeo_algo_pop_reset}{eo\+Algo\+Pop\+Reset}} 
\end{DoxySeeAlso}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classeo_algo_restart_a1789c97fb27ef6980734f751fd90b75d}\label{classeo_algo_restart_a1789c97fb27ef6980734f751fd90b75d}} 
\index{eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}!eoAlgoRestart@{eoAlgoRestart}}
\index{eoAlgoRestart@{eoAlgoRestart}!eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoAlgoRestart()}{eoAlgoRestart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{init,  }\item[{\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{pop\+\_\+eval,  }\item[{\mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{algo,  }\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{continuator }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with an \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}

Defaults to using \mbox{\hyperlink{classeo_algo_pop_reset}{eo\+Algo\+Pop\+Reset}}.


\begin{DoxyParams}{Parameters}
{\em init} & the initialization operator \\
\hline
{\em popeval} & an evaluator for populations \\
\hline
{\em algo} & the algorithm to restart \\
\hline
{\em continuator} & a stopping criterion to manage the number of restarts \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_algo_restart_af7013ff2ea6c040ff2febd5d919f32ec}\label{classeo_algo_restart_af7013ff2ea6c040ff2febd5d919f32ec}} 
\index{eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}!eoAlgoRestart@{eoAlgoRestart}}
\index{eoAlgoRestart@{eoAlgoRestart}!eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoAlgoRestart()}{eoAlgoRestart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_init}{eo\+Init}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{init,  }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{eval,  }\item[{\mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{algo,  }\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{continuator }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with an \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}

Defaults to using \mbox{\hyperlink{classeo_algo_pop_reset}{eo\+Algo\+Pop\+Reset}}.


\begin{DoxyParams}{Parameters}
{\em init} & the initialization operator \\
\hline
{\em popeval} & an evaluator for populations \\
\hline
{\em algo} & the algorithm to restart \\
\hline
{\em continuator} & a stopping criterion to manage the number of restarts \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_algo_restart_ac349f36cb9979408dd843bbbdcaa81dd}\label{classeo_algo_restart_ac349f36cb9979408dd843bbbdcaa81dd}} 
\index{eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}!eoAlgoRestart@{eoAlgoRestart}}
\index{eoAlgoRestart@{eoAlgoRestart}!eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoAlgoRestart()}{eoAlgoRestart()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{pop\+\_\+eval,  }\item[{\mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{algo,  }\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{continuator,  }\item[{\mbox{\hyperlink{classeo_algo_reset}{eo\+Algo\+Reset}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{reseter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with an \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}} and an \mbox{\hyperlink{classeo_algo_reset}{eo\+Algo\+Reset}}


\begin{DoxyParams}{Parameters}
{\em popeval} & an evaluator for populations \\
\hline
{\em algo} & the algorithm to restart \\
\hline
{\em continuator} & a stopping criterion to manage the number of restarts \\
\hline
{\em reseter} & how to reset the search \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classeo_algo_restart_a84166bd6c683bd89e1b58f22f690ce2d}\label{classeo_algo_restart_a84166bd6c683bd89e1b58f22f690ce2d}} 
\index{eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}!eoAlgoRestart@{eoAlgoRestart}}
\index{eoAlgoRestart@{eoAlgoRestart}!eoAlgoRestart$<$ EOT $>$@{eoAlgoRestart$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{eoAlgoRestart()}{eoAlgoRestart()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_algo_restart}{eo\+Algo\+Restart}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{eval,  }\item[{\mbox{\hyperlink{classeo_algo}{eo\+Algo}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{algo,  }\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{continuator,  }\item[{\mbox{\hyperlink{classeo_algo_reset}{eo\+Algo\+Reset}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{reseter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor with an \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}} and an \mbox{\hyperlink{classeo_algo_reset}{eo\+Algo\+Reset}}


\begin{DoxyParams}{Parameters}
{\em popeval} & an evaluator for populations \\
\hline
{\em algo} & the algorithm to restart \\
\hline
{\em continuator} & a stopping criterion to manage the number of restarts \\
\hline
{\em reseter} & how to reset the search \\
\hline
\end{DoxyParams}


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