123 lines
9.4 KiB
TeX
123 lines
9.4 KiB
TeX
\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}
|