\hypertarget{classeo_s_g_a_gen_op}{}\doxysection{eo\+S\+G\+A\+Gen\+Op$<$ E\+OT $>$ Class Template Reference} \label{classeo_s_g_a_gen_op}\index{eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}} {\ttfamily \#include $<$eo\+S\+G\+A\+Gen\+Op.\+h$>$} Inheritance diagram for eo\+S\+G\+A\+Gen\+Op$<$ E\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_s_g_a_gen_op__inherit__graph} \end{center} \end{figure} Collaboration diagram for eo\+S\+G\+A\+Gen\+Op$<$ E\+OT $>$\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{classeo_s_g_a_gen_op__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classeo_s_g_a_gen_op_a5b8450443995c781f32299caa2d72394}{eo\+S\+G\+A\+Gen\+Op}} (\mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+cross, double \+\_\+p\+Cross, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+mut, double \+\_\+p\+Mut) \item virtual void \mbox{\hyperlink{classeo_s_g_a_gen_op_abffa9921d70b9999c708e20b973939b2}{apply}} (\mbox{\hyperlink{classeo_populator}{eo\+Populator}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop) \item virtual unsigned \mbox{\hyperlink{classeo_s_g_a_gen_op_a2d691b170862603bea7850a53ff7c39a}{max\+\_\+production}} (void) \item \mbox{\Hypertarget{classeo_s_g_a_gen_op_a2aafeee74848f232af283d3b4ef5c0b3}\label{classeo_s_g_a_gen_op_a2aafeee74848f232af283d3b4ef5c0b3}} virtual std\+::string {\bfseries class\+Name} () const \item \mbox{\hyperlink{classeo_s_g_a_gen_op_a5b8450443995c781f32299caa2d72394}{eo\+S\+G\+A\+Gen\+Op}} (\mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+cross, double \+\_\+p\+Cross, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+mut, double \+\_\+p\+Mut) \item virtual void \mbox{\hyperlink{classeo_s_g_a_gen_op_abffa9921d70b9999c708e20b973939b2}{apply}} (\mbox{\hyperlink{classeo_populator}{eo\+Populator}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&\+\_\+pop) \item virtual unsigned \mbox{\hyperlink{classeo_s_g_a_gen_op_a2d691b170862603bea7850a53ff7c39a}{max\+\_\+production}} (void) \item \mbox{\Hypertarget{classeo_s_g_a_gen_op_a2aafeee74848f232af283d3b4ef5c0b3}\label{classeo_s_g_a_gen_op_a2aafeee74848f232af283d3b4ef5c0b3}} virtual std\+::string {\bfseries class\+Name} () const \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Detailed Description} \subsubsection*{template$<$class E\+OT$>$\newline class eo\+S\+G\+A\+Gen\+Op$<$ E\+O\+T $>$} \mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}} (for Simple GA) mimicks the usual crossover with proba p\+Cross + mutation with proba p\+Mut inside an eo\+General\+Op It does it exactly as class \mbox{\hyperlink{classeo_s_g_a_transform}{eo\+S\+G\+A\+Transform}}, i.\+e. only accepts quadratic crossover and unary mutation It was introduced for didactic reasons, but seems to be popular \+:-\/) \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classeo_s_g_a_gen_op_a5b8450443995c781f32299caa2d72394}\label{classeo_s_g_a_gen_op_a5b8450443995c781f32299caa2d72394}} \index{eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}!eoSGAGenOp@{eoSGAGenOp}} \index{eoSGAGenOp@{eoSGAGenOp}!eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoSGAGenOp()}{eoSGAGenOp()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+cross, }\item[{double}]{\+\_\+p\+Cross, }\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+mut, }\item[{double}]{\+\_\+p\+Mut }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor from crossover (with proba) and mutation (with proba) Builds the sequential op that first applies a proportional choice between the crossover and nothing (cloning), then the mutation \mbox{\Hypertarget{classeo_s_g_a_gen_op_a5b8450443995c781f32299caa2d72394}\label{classeo_s_g_a_gen_op_a5b8450443995c781f32299caa2d72394}} \index{eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}!eoSGAGenOp@{eoSGAGenOp}} \index{eoSGAGenOp@{eoSGAGenOp}!eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{eoSGAGenOp()}{eoSGAGenOp()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ \mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+cross, }\item[{double}]{\+\_\+p\+Cross, }\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+mut, }\item[{double}]{\+\_\+p\+Mut }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Ctor from crossover (with proba) and mutation (with proba) Builds the sequential op that first applies a proportional choice between the crossover and nothing (cloning), then the mutation \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classeo_s_g_a_gen_op_abffa9921d70b9999c708e20b973939b2}\label{classeo_s_g_a_gen_op_abffa9921d70b9999c708e20b973939b2}} \index{eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}!apply@{apply}} \index{apply@{apply}!eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{apply()}{apply()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_populator}{eo\+Populator}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} do the job\+: delegate to op Implements \mbox{\hyperlink{classeo_gen_op_a7f068857fa57b4f399d2b447481c6448}{eo\+Gen\+Op$<$ E\+O\+T $>$}}. \mbox{\Hypertarget{classeo_s_g_a_gen_op_abffa9921d70b9999c708e20b973939b2}\label{classeo_s_g_a_gen_op_abffa9921d70b9999c708e20b973939b2}} \index{eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}!apply@{apply}} \index{apply@{apply}!eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{apply()}{apply()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ virtual void \mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_populator}{eo\+Populator}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} do the job\+: delegate to op Implements \mbox{\hyperlink{classeo_gen_op_a7f068857fa57b4f399d2b447481c6448}{eo\+Gen\+Op$<$ E\+O\+T $>$}}. \mbox{\Hypertarget{classeo_s_g_a_gen_op_a2d691b170862603bea7850a53ff7c39a}\label{classeo_s_g_a_gen_op_a2d691b170862603bea7850a53ff7c39a}} \index{eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}!max\_production@{max\_production}} \index{max\_production@{max\_production}!eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{max\_production()}{max\_production()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ virtual unsigned \mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::max\+\_\+production (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} inherited from \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}} Implements \mbox{\hyperlink{classeo_gen_op_aaeaf1af3f0c36a94096b622a6c14241f}{eo\+Gen\+Op$<$ E\+O\+T $>$}}. \mbox{\Hypertarget{classeo_s_g_a_gen_op_a2d691b170862603bea7850a53ff7c39a}\label{classeo_s_g_a_gen_op_a2d691b170862603bea7850a53ff7c39a}} \index{eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}!max\_production@{max\_production}} \index{max\_production@{max\_production}!eoSGAGenOp$<$ EOT $>$@{eoSGAGenOp$<$ EOT $>$}} \doxysubsubsection{\texorpdfstring{max\_production()}{max\_production()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily template$<$class E\+OT $>$ \\ virtual unsigned \mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::max\+\_\+production (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}} inherited from \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}} Implements \mbox{\hyperlink{classeo_gen_op_aaeaf1af3f0c36a94096b622a6c14241f}{eo\+Gen\+Op$<$ E\+O\+T $>$}}. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item deprecated/eo/src/eo\+S\+G\+A\+Gen\+Op.\+h\end{DoxyCompactItemize}