\hypertarget{classmoeo_m_o_g_a}{}\doxysection{moeo\+M\+O\+GA$<$ M\+O\+E\+OT $>$ Class Template Reference}
\label{classmoeo_m_o_g_a}\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}


{\ttfamily \#include $<$moeo\+M\+O\+G\+A.\+h$>$}



Inheritance diagram for moeo\+M\+O\+GA$<$ M\+O\+E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=348pt]{classmoeo_m_o_g_a__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for moeo\+M\+O\+GA$<$ M\+O\+E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmoeo_m_o_g_a__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classmoeo_m_o_g_a_1_1_dummy_eval}{Dummy\+Eval}}
\item 
class \mbox{\hyperlink{classmoeo_m_o_g_a_1_1_dummy_select}{Dummy\+Select}}
\item 
class \mbox{\hyperlink{classmoeo_m_o_g_a_1_1_dummy_transform}{Dummy\+Transform}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmoeo_m_o_g_a_a32f6dbdaf20d7b4799f651f3e1490de3}{moeo\+M\+O\+GA}} (unsigned int \+\_\+max\+Gen, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+crossover, double \+\_\+p\+Cross, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+mutation, double \+\_\+p\+Mut, double \+\_\+niche\+Size=0.\+5)
\item 
\mbox{\hyperlink{classmoeo_m_o_g_a_aadb97c9c040ef255d95aa2f0a856ac41}{moeo\+M\+O\+GA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+op, double \+\_\+niche\+Size=0.\+5)
\item 
\mbox{\hyperlink{classmoeo_m_o_g_a_ae4d0c28d6278dea2e6627216dd240495}{moeo\+M\+O\+GA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop\+Eval, \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+op, double \+\_\+niche\+Size=0.\+5)
\item 
\mbox{\hyperlink{classmoeo_m_o_g_a_a85b03145716321f014f223159f410b8a}{moeo\+M\+O\+GA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ M\+O\+E\+OT $>$ \&\+\_\+transform, double \+\_\+niche\+Size=0.\+5)
\item 
\mbox{\hyperlink{classmoeo_m_o_g_a_a62ba40c9cc23fb6e71b00478fdb8ae29}{moeo\+M\+O\+GA}} (\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&\+\_\+continuator, \mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop\+Eval, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ M\+O\+E\+OT $>$ \&\+\_\+transform, double \+\_\+niche\+Size=0.\+5)
\item 
virtual void \mbox{\hyperlink{classmoeo_m_o_g_a_ae7069f71eeb45d437625ba701ce20302}{operator()}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop)
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classeo_gen_continue}{eo\+Gen\+Continue}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_aa214c62445516bb41653ec9c099a68c6}{default\+Gen\+Continuator}}
\item 
\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_m_o_g_a_a14f2988b8a1c9c9988286ee598bc3af3}{continuator}}
\item 
\mbox{\Hypertarget{classmoeo_m_o_g_a_a72cfe2a09c99b9393ac0996e18a56bbd}\label{classmoeo_m_o_g_a_a72cfe2a09c99b9393ac0996e18a56bbd}} 
\mbox{\hyperlink{classmoeo_m_o_g_a_1_1_dummy_eval}{moeo\+M\+O\+G\+A\+::\+Dummy\+Eval}} {\bfseries default\+Eval}
\item 
\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_m_o_g_a_ade7aaed9ab738ca7cedba47dbbbeb6a6}{eval}}
\item 
\mbox{\hyperlink{classeo_pop_loop_eval}{eo\+Pop\+Loop\+Eval}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_ae18d8b54c0c9d32b2d4a2649f80f8ae4}{default\+Pop\+Eval}}
\item 
\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_m_o_g_a_a26a2f74730397c83aa0902d42599c6c0}{pop\+Eval}}
\item 
\mbox{\Hypertarget{classmoeo_m_o_g_a_acfc7f9f56ac6b2ac2ee085e8d349db24}\label{classmoeo_m_o_g_a_acfc7f9f56ac6b2ac2ee085e8d349db24}} 
\mbox{\hyperlink{classmoeo_m_o_g_a_1_1_dummy_select}{moeo\+M\+O\+G\+A\+::\+Dummy\+Select}} {\bfseries default\+Select}
\item 
\mbox{\hyperlink{classmoeo_det_tournament_select}{moeo\+Det\+Tournament\+Select}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a89491eb0bd1fb1daf59e3d6864a2ece9}{select}}
\item 
\mbox{\hyperlink{classeo_select_many}{eo\+Select\+Many}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a6099fb0a21f561b1e3eed70fb584708c}{select\+Many}}
\item 
\mbox{\hyperlink{classeo_select_transform}{eo\+Select\+Transform}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a4920198c10436ac031d6afbb38aa2dc9}{select\+Transform}}
\item 
\mbox{\hyperlink{classeo_quad_clone_op}{eo\+Quad\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a2150319e0e9a86e48c51e53121bb3b92}{default\+Quad\+Op}}
\item 
\mbox{\hyperlink{classeo_mon_clone_op}{eo\+Mon\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a7d18c77ac5e18c7cc0e9cd935e485b02}{default\+Mon\+Op}}
\item 
\mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_ab6bbb256da198b9db4b23c32524054c2}{default\+S\+G\+A\+Gen\+Op}}
\item 
\mbox{\Hypertarget{classmoeo_m_o_g_a_a50d24a4b0b41b36db9ce7e8b571a4018}\label{classmoeo_m_o_g_a_a50d24a4b0b41b36db9ce7e8b571a4018}} 
\mbox{\hyperlink{classmoeo_m_o_g_a_1_1_dummy_transform}{moeo\+M\+O\+G\+A\+::\+Dummy\+Transform}} {\bfseries default\+Transform}
\item 
\mbox{\hyperlink{classeo_general_breeder}{eo\+General\+Breeder}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a92299cc8bf60332623f1b0cf363aa2e9}{gen\+Breed}}
\item 
\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_m_o_g_a_a5b445d93377232530d049a98bf7ae5e5}{breed}}
\item 
\mbox{\hyperlink{classmoeo_dominance_rank_fitness_assignment}{moeo\+Dominance\+Rank\+Fitness\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_ae74a218c9cc886eca78844612d8c226f}{fitness\+Assignment}}
\item 
\mbox{\hyperlink{classmoeo_front_by_front_sharing_diversity_assignment}{moeo\+Front\+By\+Front\+Sharing\+Diversity\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a097c33df6f44121ac957c694c0254daf}{diversity\+Assignment}}
\item 
\mbox{\hyperlink{classmoeo_elitist_replacement}{moeo\+Elitist\+Replacement}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a_a91dedccc66046e9a9607ce880851d4ac}{replace}}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


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

M\+O\+GA. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmoeo_m_o_g_a_a32f6dbdaf20d7b4799f651f3e1490de3}\label{classmoeo_m_o_g_a_a32f6dbdaf20d7b4799f651f3e1490de3}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!moeoMOGA@{moeoMOGA}}
\index{moeoMOGA@{moeoMOGA}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoMOGA()}{moeoMOGA()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}} (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+max\+Gen,  }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+eval,  }\item[{\mbox{\hyperlink{classeo_quad_op}{eo\+Quad\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+crossover,  }\item[{double}]{\+\_\+p\+Cross,  }\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+mutation,  }\item[{double}]{\+\_\+p\+Mut,  }\item[{double}]{\+\_\+niche\+Size = {\ttfamily 0.5} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+max\+Gen} & maximum number of generations before stopping \\
\hline
{\em \+\_\+eval} & evaluation function \\
\hline
{\em \+\_\+crossover} & crossover \\
\hline
{\em \+\_\+p\+Cross} & crossover probability \\
\hline
{\em \+\_\+mutation} & mutation \\
\hline
{\em \+\_\+p\+Mut} & mutation probability \\
\hline
{\em \+\_\+niche\+Size} & niche size \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_m_o_g_a_aadb97c9c040ef255d95aa2f0a856ac41}\label{classmoeo_m_o_g_a_aadb97c9c040ef255d95aa2f0a856ac41}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!moeoMOGA@{moeoMOGA}}
\index{moeoMOGA@{moeoMOGA}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoMOGA()}{moeoMOGA()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continuator,  }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+eval,  }\item[{\mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+op,  }\item[{double}]{\+\_\+niche\+Size = {\ttfamily 0.5} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a \mbox{\hyperlink{classeo_continue}{eo\+Continue}} and a \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+eval} & evaluation function \\
\hline
{\em \+\_\+op} & variation operators \\
\hline
{\em \+\_\+niche\+Size} & niche size \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_m_o_g_a_ae4d0c28d6278dea2e6627216dd240495}\label{classmoeo_m_o_g_a_ae4d0c28d6278dea2e6627216dd240495}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!moeoMOGA@{moeoMOGA}}
\index{moeoMOGA@{moeoMOGA}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoMOGA()}{moeoMOGA()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continuator,  }\item[{\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+pop\+Eval,  }\item[{\mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+op,  }\item[{double}]{\+\_\+niche\+Size = {\ttfamily 0.5} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a \mbox{\hyperlink{classeo_continue}{eo\+Continue}}, a eo\+Pop\+Eval and a \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+pop\+Eval} & population evaluation function \\
\hline
{\em \+\_\+op} & variation operators \\
\hline
{\em \+\_\+niche\+Size} & niche size \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_m_o_g_a_a85b03145716321f014f223159f410b8a}\label{classmoeo_m_o_g_a_a85b03145716321f014f223159f410b8a}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!moeoMOGA@{moeoMOGA}}
\index{moeoMOGA@{moeoMOGA}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoMOGA()}{moeoMOGA()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continuator,  }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+eval,  }\item[{\mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+transform,  }\item[{double}]{\+\_\+niche\+Size = {\ttfamily 0.5} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a \mbox{\hyperlink{classeo_continue}{eo\+Continue}} and a \mbox{\hyperlink{classeo_transform}{eo\+Transform}}. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+eval} & evaluation function \\
\hline
{\em \+\_\+transform} & variation operator \\
\hline
{\em \+\_\+niche\+Size} & niche size \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_m_o_g_a_a62ba40c9cc23fb6e71b00478fdb8ae29}\label{classmoeo_m_o_g_a_a62ba40c9cc23fb6e71b00478fdb8ae29}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!moeoMOGA@{moeoMOGA}}
\index{moeoMOGA@{moeoMOGA}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoMOGA()}{moeoMOGA()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continuator,  }\item[{\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+pop\+Eval,  }\item[{\mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+transform,  }\item[{double}]{\+\_\+niche\+Size = {\ttfamily 0.5} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a \mbox{\hyperlink{classeo_continue}{eo\+Continue}}, a eo\+Pop\+Eval and a \mbox{\hyperlink{classeo_transform}{eo\+Transform}}. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+pop\+Eval} & population evaluation function \\
\hline
{\em \+\_\+transform} & variation operator \\
\hline
{\em \+\_\+niche\+Size} & niche size \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmoeo_m_o_g_a_ae7069f71eeb45d437625ba701ce20302}\label{classmoeo_m_o_g_a_ae7069f71eeb45d437625ba701ce20302}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
virtual void \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::operator() (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+pop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Apply the algorithm to the population \+\_\+pop until the stopping criteria is satified. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+pop} & the population \\
\hline
\end{DoxyParams}


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



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classmoeo_m_o_g_a_a5b445d93377232530d049a98bf7ae5e5}\label{classmoeo_m_o_g_a_a5b445d93377232530d049a98bf7ae5e5}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!breed@{breed}}
\index{breed@{breed}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{breed}{breed}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ M\+O\+E\+OT $>$\& \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::breed\hspace{0.3cm}{\ttfamily [protected]}}

breeder \mbox{\Hypertarget{classmoeo_m_o_g_a_a14f2988b8a1c9c9988286ee598bc3af3}\label{classmoeo_m_o_g_a_a14f2988b8a1c9c9988286ee598bc3af3}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!continuator@{continuator}}
\index{continuator@{continuator}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{continuator}{continuator}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$\& \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::continuator\hspace{0.3cm}{\ttfamily [protected]}}

stopping criteria \mbox{\Hypertarget{classmoeo_m_o_g_a_aa214c62445516bb41653ec9c099a68c6}\label{classmoeo_m_o_g_a_aa214c62445516bb41653ec9c099a68c6}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!defaultGenContinuator@{defaultGenContinuator}}
\index{defaultGenContinuator@{defaultGenContinuator}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{defaultGenContinuator}{defaultGenContinuator}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_gen_continue}{eo\+Gen\+Continue}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+Gen\+Continuator\hspace{0.3cm}{\ttfamily [protected]}}

a continuator based on the number of generations (used as default) \mbox{\Hypertarget{classmoeo_m_o_g_a_a7d18c77ac5e18c7cc0e9cd935e485b02}\label{classmoeo_m_o_g_a_a7d18c77ac5e18c7cc0e9cd935e485b02}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!defaultMonOp@{defaultMonOp}}
\index{defaultMonOp@{defaultMonOp}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{defaultMonOp}{defaultMonOp}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_mon_clone_op}{eo\+Mon\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+Mon\+Op\hspace{0.3cm}{\ttfamily [protected]}}

a default mutation \mbox{\Hypertarget{classmoeo_m_o_g_a_ae18d8b54c0c9d32b2d4a2649f80f8ae4}\label{classmoeo_m_o_g_a_ae18d8b54c0c9d32b2d4a2649f80f8ae4}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!defaultPopEval@{defaultPopEval}}
\index{defaultPopEval@{defaultPopEval}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{defaultPopEval}{defaultPopEval}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop_loop_eval}{eo\+Pop\+Loop\+Eval}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+Pop\+Eval\hspace{0.3cm}{\ttfamily [protected]}}

default pop\+Eval \mbox{\Hypertarget{classmoeo_m_o_g_a_a2150319e0e9a86e48c51e53121bb3b92}\label{classmoeo_m_o_g_a_a2150319e0e9a86e48c51e53121bb3b92}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!defaultQuadOp@{defaultQuadOp}}
\index{defaultQuadOp@{defaultQuadOp}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{defaultQuadOp}{defaultQuadOp}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_quad_clone_op}{eo\+Quad\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+Quad\+Op\hspace{0.3cm}{\ttfamily [protected]}}

a default crossover \mbox{\Hypertarget{classmoeo_m_o_g_a_ab6bbb256da198b9db4b23c32524054c2}\label{classmoeo_m_o_g_a_ab6bbb256da198b9db4b23c32524054c2}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!defaultSGAGenOp@{defaultSGAGenOp}}
\index{defaultSGAGenOp@{defaultSGAGenOp}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{defaultSGAGenOp}{defaultSGAGenOp}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+S\+G\+A\+Gen\+Op\hspace{0.3cm}{\ttfamily [protected]}}

an object for genetic operators (used as default) \mbox{\Hypertarget{classmoeo_m_o_g_a_a097c33df6f44121ac957c694c0254daf}\label{classmoeo_m_o_g_a_a097c33df6f44121ac957c694c0254daf}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!diversityAssignment@{diversityAssignment}}
\index{diversityAssignment@{diversityAssignment}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{diversityAssignment}{diversityAssignment}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_front_by_front_sharing_diversity_assignment}{moeo\+Front\+By\+Front\+Sharing\+Diversity\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::diversity\+Assignment\hspace{0.3cm}{\ttfamily [protected]}}

diversity assignment used in N\+S\+G\+A-\/\+II \mbox{\Hypertarget{classmoeo_m_o_g_a_ade7aaed9ab738ca7cedba47dbbbeb6a6}\label{classmoeo_m_o_g_a_ade7aaed9ab738ca7cedba47dbbbeb6a6}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!eval@{eval}}
\index{eval@{eval}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{eval}{eval}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$\& \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::eval\hspace{0.3cm}{\ttfamily [protected]}}

evaluation function \mbox{\Hypertarget{classmoeo_m_o_g_a_ae74a218c9cc886eca78844612d8c226f}\label{classmoeo_m_o_g_a_ae74a218c9cc886eca78844612d8c226f}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!fitnessAssignment@{fitnessAssignment}}
\index{fitnessAssignment@{fitnessAssignment}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{fitnessAssignment}{fitnessAssignment}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_dominance_rank_fitness_assignment}{moeo\+Dominance\+Rank\+Fitness\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::fitness\+Assignment\hspace{0.3cm}{\ttfamily [protected]}}

fitness assignment used in N\+S\+G\+A-\/\+II \mbox{\Hypertarget{classmoeo_m_o_g_a_a92299cc8bf60332623f1b0cf363aa2e9}\label{classmoeo_m_o_g_a_a92299cc8bf60332623f1b0cf363aa2e9}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!genBreed@{genBreed}}
\index{genBreed@{genBreed}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{genBreed}{genBreed}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_general_breeder}{eo\+General\+Breeder}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::gen\+Breed\hspace{0.3cm}{\ttfamily [protected]}}

general breeder \mbox{\Hypertarget{classmoeo_m_o_g_a_a26a2f74730397c83aa0902d42599c6c0}\label{classmoeo_m_o_g_a_a26a2f74730397c83aa0902d42599c6c0}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!popEval@{popEval}}
\index{popEval@{popEval}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{popEval}{popEval}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$\& \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::pop\+Eval\hspace{0.3cm}{\ttfamily [protected]}}

evaluation function used to evaluate the whole population \mbox{\Hypertarget{classmoeo_m_o_g_a_a91dedccc66046e9a9607ce880851d4ac}\label{classmoeo_m_o_g_a_a91dedccc66046e9a9607ce880851d4ac}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!replace@{replace}}
\index{replace@{replace}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{replace}{replace}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_elitist_replacement}{moeo\+Elitist\+Replacement}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::replace\hspace{0.3cm}{\ttfamily [protected]}}

elitist replacement \mbox{\Hypertarget{classmoeo_m_o_g_a_a89491eb0bd1fb1daf59e3d6864a2ece9}\label{classmoeo_m_o_g_a_a89491eb0bd1fb1daf59e3d6864a2ece9}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!select@{select}}
\index{select@{select}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{select}{select}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_det_tournament_select}{moeo\+Det\+Tournament\+Select}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::select\hspace{0.3cm}{\ttfamily [protected]}}

binary tournament selection \mbox{\Hypertarget{classmoeo_m_o_g_a_a6099fb0a21f561b1e3eed70fb584708c}\label{classmoeo_m_o_g_a_a6099fb0a21f561b1e3eed70fb584708c}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!selectMany@{selectMany}}
\index{selectMany@{selectMany}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{selectMany}{selectMany}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_select_many}{eo\+Select\+Many}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::select\+Many\hspace{0.3cm}{\ttfamily [protected]}}

default select many \mbox{\Hypertarget{classmoeo_m_o_g_a_a4920198c10436ac031d6afbb38aa2dc9}\label{classmoeo_m_o_g_a_a4920198c10436ac031d6afbb38aa2dc9}} 
\index{moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}!selectTransform@{selectTransform}}
\index{selectTransform@{selectTransform}!moeoMOGA$<$ MOEOT $>$@{moeoMOGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{selectTransform}{selectTransform}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classeo_select_transform}{eo\+Select\+Transform}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_m_o_g_a}{moeo\+M\+O\+GA}}$<$ M\+O\+E\+OT $>$\+::select\+Transform\hspace{0.3cm}{\ttfamily [protected]}}

select transform 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
moeo/src/algo/moeo\+M\+O\+G\+A.\+h\end{DoxyCompactItemize}
