\hypertarget{classeo_s_g_a}{}\doxysection{eo\+S\+GA$<$ E\+OT $>$ Class Template Reference}
\label{classeo_s_g_a}\index{eoSGA$<$ EOT $>$@{eoSGA$<$ EOT $>$}}


{\ttfamily \#include $<$eo\+S\+G\+A.\+h$>$}



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


Collaboration diagram for eo\+S\+GA$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{classeo_s_g_a__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classeo_s_g_a_a8c003d4fd8c123c9a57d0f283d1155b9}\label{classeo_s_g_a_a8c003d4fd8c123c9a57d0f283d1155b9}} 
{\bfseries eo\+S\+GA} (\mbox{\hyperlink{classeo_select_one}{eo\+Select\+One}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+cross, float \+\_\+crate, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+mutate, float \+\_\+mrate, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+cont)
\item 
\mbox{\Hypertarget{classeo_s_g_a_a7fd137dfff04d240ada343c92e839997}\label{classeo_s_g_a_a7fd137dfff04d240ada343c92e839997}} 
void \mbox{\hyperlink{classeo_s_g_a_a7fd137dfff04d240ada343c92e839997}{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}\item 
\mbox{\Hypertarget{classeo_s_g_a_a8c003d4fd8c123c9a57d0f283d1155b9}\label{classeo_s_g_a_a8c003d4fd8c123c9a57d0f283d1155b9}} 
{\bfseries eo\+S\+GA} (\mbox{\hyperlink{classeo_select_one}{eo\+Select\+One}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+select, \mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+cross, float \+\_\+crate, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+mutate, float \+\_\+mrate, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+cont)
\item 
\mbox{\Hypertarget{classeo_s_g_a_a7fd137dfff04d240ada343c92e839997}\label{classeo_s_g_a_a7fd137dfff04d240ada343c92e839997}} 
void \mbox{\hyperlink{classeo_s_g_a_a7fd137dfff04d240ada343c92e839997}{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*{Additional Inherited Members}


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

The Simple Genetic Algorithm, following Holland and Goldberg

Needs a selector (class \mbox{\hyperlink{classeo_select_one}{eo\+Select\+One}}) a crossover (eo\+Quad, i.\+e. a 2-\/$>$2 operator) and a mutation with their respective rates, of course an evaluation function (\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}) and a continuator (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}) which gives the stopping criterion. Performs full generational replacement. 

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