\hypertarget{classmoeo_s_p_e_a2}{}\doxysection{moeo\+S\+P\+E\+A2$<$ M\+O\+E\+OT $>$ Class Template Reference}
\label{classmoeo_s_p_e_a2}\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}


{\ttfamily \#include $<$moeo\+S\+P\+E\+A2.\+h$>$}



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


Collaboration diagram for moeo\+S\+P\+E\+A2$<$ M\+O\+E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmoeo_s_p_e_a2__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classmoeo_s_p_e_a2_1_1eo_dummy_eval}{eo\+Dummy\+Eval}}
\item 
class \mbox{\hyperlink{classmoeo_s_p_e_a2_1_1eo_dummy_transform}{eo\+Dummy\+Transform}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmoeo_s_p_e_a2_a19e23acfd06626501963693f3f39d342}{moeo\+S\+P\+E\+A2}} (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, \mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+archive, unsigned int \+\_\+k=1, bool \+\_\+nocopy=false)
\item 
\mbox{\hyperlink{classmoeo_s_p_e_a2_aa84e6486abac9e1ec5cad958fad3b7e3}{moeo\+S\+P\+E\+A2}} (\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_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, \mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+archive, unsigned int \+\_\+k=1, bool \+\_\+nocopy=false)
\item 
\mbox{\hyperlink{classmoeo_s_p_e_a2_a164faa3614b1d8dba859673578264f51}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&\+\_\+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, \mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+archive, unsigned int \+\_\+k=1, bool \+\_\+nocopy=false)
\item 
\mbox{\hyperlink{classmoeo_s_p_e_a2_a1231f48314aaf34f8e3df57b8ff5331c}{moeo\+S\+P\+E\+A2}} (\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, \mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+archive, unsigned int \+\_\+k=1, bool \+\_\+nocopy=false)
\item 
\mbox{\hyperlink{classmoeo_s_p_e_a2_aa4e0bca0072e7ff47df53fca40ea0266}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&\+\_\+op, \mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+archive, unsigned int \+\_\+k=1, bool \+\_\+nocopy=false)
\item 
\mbox{\hyperlink{classmoeo_s_p_e_a2_ae65e88a8fae9032638d66f0c6fdd7169}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+op, \mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+archive, unsigned int \+\_\+k=1, bool \+\_\+nocopy=false)
\item 
\mbox{\hyperlink{classmoeo_s_p_e_a2_a63ffa6b1ba476801c55dea4f593775e9}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&\+\_\+eval, \mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ M\+O\+E\+OT $>$ \&\+\_\+op, \mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&\+\_\+archive, unsigned int \+\_\+k=100, bool \+\_\+nocopy=false)
\item 
virtual void \mbox{\hyperlink{classmoeo_s_p_e_a2_a2d4d3dbe946a7e676bf24ac4e7eaf1f2}{operator()}} (\mbox{\hyperlink{classeo_pop}{eo\+Pop}}$<$ M\+O\+E\+OT $>$ \&\+\_\+pop)
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classmoeo_s_p_e_a2_a45c2831178ea5d9f2f16ac8059f6358a}\label{classmoeo_s_p_e_a2_a45c2831178ea5d9f2f16ac8059f6358a}} 
\mbox{\hyperlink{classmoeo_s_p_e_a2_1_1eo_dummy_eval}{moeo\+S\+P\+E\+A2\+::eo\+Dummy\+Eval}} {\bfseries dummy\+Eval}
\item 
\mbox{\Hypertarget{classmoeo_s_p_e_a2_a674a37340e222edc78d5eb3f617d0716}\label{classmoeo_s_p_e_a2_a674a37340e222edc78d5eb3f617d0716}} 
\mbox{\hyperlink{classmoeo_s_p_e_a2_1_1eo_dummy_transform}{moeo\+S\+P\+E\+A2\+::eo\+Dummy\+Transform}} {\bfseries dummy\+Transform}
\item 
\mbox{\hyperlink{classeo_gen_continue}{eo\+Gen\+Continue}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a62452cbf3a826dcd81141a8065b5e7e8}{default\+Gen\+Continuator}}
\item 
\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_s_p_e_a2_a07ec3abe175d715a76836ed248d6d9eb}{continuator}}
\item 
\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_s_p_e_a2_a532f4e1fbabb46756b5b51d01f3f44dd}{eval}}
\item 
\mbox{\hyperlink{classeo_pop_loop_eval}{eo\+Pop\+Loop\+Eval}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a1d8e78bcaf5b37b30c1a87c783109653}{loop\+Eval}}
\item 
\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_s_p_e_a2_acae67f14fb62aa075884b2e59b7d59b3}{pop\+Eval}}
\item 
\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_s_p_e_a2_a0c56ed8dd77389ac6eb1916c34f31279}{archive}}
\item 
\mbox{\hyperlink{classmoeo_det_tournament_select}{moeo\+Det\+Tournament\+Select}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a013c79701073066378e436bf7086ffda}{default\+Select}}
\item 
\mbox{\hyperlink{classmoeo_select_from_pop_and_arch}{moeo\+Select\+From\+Pop\+And\+Arch}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_ad5394e9c56579cb8f234f0aca5e76d51}{select}}
\item 
\mbox{\hyperlink{classeo_mon_clone_op}{eo\+Mon\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_affb3c4271962b9528fc26fff424740c8}{default\+Mon\+Op}}
\item 
\mbox{\hyperlink{classeo_quad_clone_op}{eo\+Quad\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a8f2c58555ba0d8be356bf0af65bd9e44}{default\+Quad\+Op}}
\item 
\mbox{\hyperlink{classeo_s_g_a_gen_op}{eo\+S\+G\+A\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a809c24a774487cd571c2fa59cf0ee011}{default\+S\+G\+A\+Gen\+Op}}
\item 
\mbox{\hyperlink{classmoeo_dominance_count_ranking_fitness_assignment}{moeo\+Dominance\+Count\+Ranking\+Fitness\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a821b7768d5ee8473a19a0627c2a34032}{fitness\+Assignment}}
\item 
\mbox{\hyperlink{classeo_general_breeder}{eo\+General\+Breeder}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a33b6ed2b784be34364a08ea97d32e99a}{gen\+Breed}}
\item 
\mbox{\hyperlink{classeo_select_many}{eo\+Select\+Many}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_aca3f4422dda09fefde5aa1b40eb2fcae}{select\+Many}}
\item 
\mbox{\hyperlink{classeo_select_transform}{eo\+Select\+Transform}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_ad54195f7740772261f7e5d2a3488f9bd}{select\+Transform}}
\item 
\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_s_p_e_a2_aa88af6959f4ee0e16862d64e3b2d6578}{breed}}
\item 
\mbox{\hyperlink{classmoeo_nearest_neighbor_diversity_assignment}{moeo\+Nearest\+Neighbor\+Diversity\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a2e03a5b14951d0619224c935b6606e09}{diversity\+Assignment}}
\item 
\mbox{\hyperlink{classmoeo_generational_replacement}{moeo\+Generational\+Replacement}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_a8bcbb698a4db39fee9e2f359edb55a91}{replace}}
\item 
\mbox{\hyperlink{classmoeo_euclidean_distance}{moeo\+Euclidean\+Distance}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2_ac8a20cf5a16373c0b50177035e449851}{dist}}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


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

S\+P\+E\+A2 algorithm. E. Zitzler, M. Laumanns, and L. Thiele. S\+P\+E\+A2\+: Improving the Strength Pareto Evolutionary Algorithm. Technical Report 103, Computer Engineering and Networks Laboratory (T\+IK), E\+TH Zurich, Zurich, Switzerland, 2001. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_a19e23acfd06626501963693f3f39d342}\label{classmoeo_s_p_e_a2_a19e23acfd06626501963693f3f39d342}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!moeoSPEA2@{moeoSPEA2}}
\index{moeoSPEA2@{moeoSPEA2}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoSPEA2()}{moeoSPEA2()}\hspace{0.1cm}{\footnotesize\ttfamily [1/7]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}} (\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[{\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+archive,  }\item[{unsigned int}]{\+\_\+k = {\ttfamily 1},  }\item[{bool}]{\+\_\+nocopy = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+max\+Gen} & 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 \+\_\+archive} & archive \\
\hline
{\em \+\_\+k} & the k-\/ieme distance used to fixe diversity \\
\hline
{\em \+\_\+nocopy} & boolean allow to consider copies and doublons as bad elements whose were dominated by all other M\+O\+E\+OT in fitness assignment. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_aa84e6486abac9e1ec5cad958fad3b7e3}\label{classmoeo_s_p_e_a2_aa84e6486abac9e1ec5cad958fad3b7e3}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!moeoSPEA2@{moeoSPEA2}}
\index{moeoSPEA2@{moeoSPEA2}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoSPEA2()}{moeoSPEA2()}\hspace{0.1cm}{\footnotesize\ttfamily [2/7]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}} (\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_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[{\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+archive,  }\item[{unsigned int}]{\+\_\+k = {\ttfamily 1},  }\item[{bool}]{\+\_\+nocopy = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\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 \+\_\+archive} & archive \\
\hline
{\em \+\_\+k} & the k-\/ieme distance used to fixe diversity \\
\hline
{\em \+\_\+nocopy} & boolean allow to consider copies and doublons as bad elements whose were dominated by all other M\+O\+E\+OT in fitness assignment. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_a164faa3614b1d8dba859673578264f51}\label{classmoeo_s_p_e_a2_a164faa3614b1d8dba859673578264f51}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!moeoSPEA2@{moeoSPEA2}}
\index{moeoSPEA2@{moeoSPEA2}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoSPEA2()}{moeoSPEA2()}\hspace{0.1cm}{\footnotesize\ttfamily [3/7]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&}]{\+\_\+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[{\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+archive,  }\item[{unsigned int}]{\+\_\+k = {\ttfamily 1},  }\item[{bool}]{\+\_\+nocopy = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+eval} & pop evaluation function \\
\hline
{\em \+\_\+crossover} & crossover \\
\hline
{\em \+\_\+p\+Cross} & crossover probability \\
\hline
{\em \+\_\+mutation} & mutation \\
\hline
{\em \+\_\+p\+Mut} & mutation probability \\
\hline
{\em \+\_\+archive} & archive \\
\hline
{\em \+\_\+k} & the k-\/ieme distance used to fixe diversity \\
\hline
{\em \+\_\+nocopy} & boolean allow to consider copies and doublons as bad elements whose were dominated by all other M\+O\+E\+OT in fitness assignment. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_a1231f48314aaf34f8e3df57b8ff5331c}\label{classmoeo_s_p_e_a2_a1231f48314aaf34f8e3df57b8ff5331c}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!moeoSPEA2@{moeoSPEA2}}
\index{moeoSPEA2@{moeoSPEA2}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoSPEA2()}{moeoSPEA2()}\hspace{0.1cm}{\footnotesize\ttfamily [4/7]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}} (\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[{\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+archive,  }\item[{unsigned int}]{\+\_\+k = {\ttfamily 1},  }\item[{bool}]{\+\_\+nocopy = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+eval} & evaluation function \\
\hline
{\em \+\_\+op} & general operator \\
\hline
{\em \+\_\+archive} & archive \\
\hline
{\em \+\_\+k} & the k-\/ieme distance used to fixe diversity \\
\hline
{\em \+\_\+nocopy} & boolean allow to consider copies and doublons as bad elements whose were dominated by all other M\+O\+E\+OT in fitness assignment. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_aa4e0bca0072e7ff47df53fca40ea0266}\label{classmoeo_s_p_e_a2_aa4e0bca0072e7ff47df53fca40ea0266}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!moeoSPEA2@{moeoSPEA2}}
\index{moeoSPEA2@{moeoSPEA2}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoSPEA2()}{moeoSPEA2()}\hspace{0.1cm}{\footnotesize\ttfamily [5/7]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&}]{\+\_\+op,  }\item[{\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+archive,  }\item[{unsigned int}]{\+\_\+k = {\ttfamily 1},  }\item[{bool}]{\+\_\+nocopy = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+eval} & evaluation function \\
\hline
{\em \+\_\+op} & transformer \\
\hline
{\em \+\_\+archive} & archive \\
\hline
{\em \+\_\+k} & the k-\/ieme distance used to fixe diversity \\
\hline
{\em \+\_\+nocopy} & boolean allow to consider copies and doublons as bad elements whose were dominated by all other M\+O\+E\+OT in fitness assignment. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_ae65e88a8fae9032638d66f0c6fdd7169}\label{classmoeo_s_p_e_a2_ae65e88a8fae9032638d66f0c6fdd7169}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!moeoSPEA2@{moeoSPEA2}}
\index{moeoSPEA2@{moeoSPEA2}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoSPEA2()}{moeoSPEA2()}\hspace{0.1cm}{\footnotesize\ttfamily [6/7]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&}]{\+\_\+eval,  }\item[{\mbox{\hyperlink{classeo_gen_op}{eo\+Gen\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+op,  }\item[{\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+archive,  }\item[{unsigned int}]{\+\_\+k = {\ttfamily 1},  }\item[{bool}]{\+\_\+nocopy = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+eval} & pop evaluation function \\
\hline
{\em \+\_\+op} & general operator \\
\hline
{\em \+\_\+archive} & archive \\
\hline
{\em \+\_\+k} & the k-\/ieme distance used to fixe diversity \\
\hline
{\em \+\_\+nocopy} & boolean allow to consider copies and doublons as bad elements whose were dominated by all other M\+O\+E\+OT in fitness assignment. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_a63ffa6b1ba476801c55dea4f593775e9}\label{classmoeo_s_p_e_a2_a63ffa6b1ba476801c55dea4f593775e9}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!moeoSPEA2@{moeoSPEA2}}
\index{moeoSPEA2@{moeoSPEA2}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoSPEA2()}{moeoSPEA2()}\hspace{0.1cm}{\footnotesize\ttfamily [7/7]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}} (\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 $>$ \&}]{\+\_\+eval,  }\item[{\mbox{\hyperlink{classeo_transform}{eo\+Transform}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+op,  }\item[{\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+archive,  }\item[{unsigned int}]{\+\_\+k = {\ttfamily 100},  }\item[{bool}]{\+\_\+nocopy = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Ctor with a crossover, a mutation and their corresponding rates. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+continuator} & stopping criteria \\
\hline
{\em \+\_\+eval} & pop evaluation function \\
\hline
{\em \+\_\+op} & transformer \\
\hline
{\em \+\_\+archive} & archive \\
\hline
{\em \+\_\+k} & the k-\/ieme distance used to fixe diversity \\
\hline
{\em \+\_\+nocopy} & boolean allow to consider copies and doublons as bad elements whose were dominated by all other M\+O\+E\+OT in fitness assignment. \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmoeo_s_p_e_a2_a2d4d3dbe946a7e676bf24ac4e7eaf1f2}\label{classmoeo_s_p_e_a2_a2d4d3dbe946a7e676bf24ac4e7eaf1f2}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
virtual void \mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ 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 a few generation of evolution to the population \+\_\+pop until the stopping criteria is verified. 
\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_s_p_e_a2_a0c56ed8dd77389ac6eb1916c34f31279}\label{classmoeo_s_p_e_a2_a0c56ed8dd77389ac6eb1916c34f31279}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!archive@{archive}}
\index{archive@{archive}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{archive}{archive}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_archive}{moeo\+Archive}}$<$ M\+O\+E\+OT $>$\& \mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::archive\hspace{0.3cm}{\ttfamily [protected]}}

archive \mbox{\Hypertarget{classmoeo_s_p_e_a2_aa88af6959f4ee0e16862d64e3b2d6578}\label{classmoeo_s_p_e_a2_aa88af6959f4ee0e16862d64e3b2d6578}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!breed@{breed}}
\index{breed@{breed}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::breed\hspace{0.3cm}{\ttfamily [protected]}}

breeder \mbox{\Hypertarget{classmoeo_s_p_e_a2_a07ec3abe175d715a76836ed248d6d9eb}\label{classmoeo_s_p_e_a2_a07ec3abe175d715a76836ed248d6d9eb}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!continuator@{continuator}}
\index{continuator@{continuator}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::continuator\hspace{0.3cm}{\ttfamily [protected]}}

stopping criteria \mbox{\Hypertarget{classmoeo_s_p_e_a2_a62452cbf3a826dcd81141a8065b5e7e8}\label{classmoeo_s_p_e_a2_a62452cbf3a826dcd81141a8065b5e7e8}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!defaultGenContinuator@{defaultGenContinuator}}
\index{defaultGenContinuator@{defaultGenContinuator}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ 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_s_p_e_a2_affb3c4271962b9528fc26fff424740c8}\label{classmoeo_s_p_e_a2_affb3c4271962b9528fc26fff424740c8}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!defaultMonOp@{defaultMonOp}}
\index{defaultMonOp@{defaultMonOp}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::default\+Mon\+Op\hspace{0.3cm}{\ttfamily [protected]}}

a default mutation \mbox{\Hypertarget{classmoeo_s_p_e_a2_a8f2c58555ba0d8be356bf0af65bd9e44}\label{classmoeo_s_p_e_a2_a8f2c58555ba0d8be356bf0af65bd9e44}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!defaultQuadOp@{defaultQuadOp}}
\index{defaultQuadOp@{defaultQuadOp}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::default\+Quad\+Op\hspace{0.3cm}{\ttfamily [protected]}}

a default crossover \mbox{\Hypertarget{classmoeo_s_p_e_a2_a013c79701073066378e436bf7086ffda}\label{classmoeo_s_p_e_a2_a013c79701073066378e436bf7086ffda}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!defaultSelect@{defaultSelect}}
\index{defaultSelect@{defaultSelect}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{defaultSelect}{defaultSelect}}
{\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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::default\+Select\hspace{0.3cm}{\ttfamily [protected]}}

Select\+One \mbox{\Hypertarget{classmoeo_s_p_e_a2_a809c24a774487cd571c2fa59cf0ee011}\label{classmoeo_s_p_e_a2_a809c24a774487cd571c2fa59cf0ee011}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!defaultSGAGenOp@{defaultSGAGenOp}}
\index{defaultSGAGenOp@{defaultSGAGenOp}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ 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_s_p_e_a2_ac8a20cf5a16373c0b50177035e449851}\label{classmoeo_s_p_e_a2_ac8a20cf5a16373c0b50177035e449851}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!dist@{dist}}
\index{dist@{dist}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{dist}{dist}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_euclidean_distance}{moeo\+Euclidean\+Distance}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::dist\hspace{0.3cm}{\ttfamily [protected]}}

distance \mbox{\Hypertarget{classmoeo_s_p_e_a2_a2e03a5b14951d0619224c935b6606e09}\label{classmoeo_s_p_e_a2_a2e03a5b14951d0619224c935b6606e09}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!diversityAssignment@{diversityAssignment}}
\index{diversityAssignment@{diversityAssignment}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{diversityAssignment}{diversityAssignment}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_nearest_neighbor_diversity_assignment}{moeo\+Nearest\+Neighbor\+Diversity\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::diversity\+Assignment\hspace{0.3cm}{\ttfamily [protected]}}

diversity assignment used in S\+P\+E\+A2 \mbox{\Hypertarget{classmoeo_s_p_e_a2_a532f4e1fbabb46756b5b51d01f3f44dd}\label{classmoeo_s_p_e_a2_a532f4e1fbabb46756b5b51d01f3f44dd}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!eval@{eval}}
\index{eval@{eval}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::eval\hspace{0.3cm}{\ttfamily [protected]}}

evaluation function \mbox{\Hypertarget{classmoeo_s_p_e_a2_a821b7768d5ee8473a19a0627c2a34032}\label{classmoeo_s_p_e_a2_a821b7768d5ee8473a19a0627c2a34032}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!fitnessAssignment@{fitnessAssignment}}
\index{fitnessAssignment@{fitnessAssignment}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{fitnessAssignment}{fitnessAssignment}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_dominance_count_ranking_fitness_assignment}{moeo\+Dominance\+Count\+Ranking\+Fitness\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::fitness\+Assignment\hspace{0.3cm}{\ttfamily [protected]}}

fitness assignment used in S\+P\+E\+A2 \mbox{\Hypertarget{classmoeo_s_p_e_a2_a33b6ed2b784be34364a08ea97d32e99a}\label{classmoeo_s_p_e_a2_a33b6ed2b784be34364a08ea97d32e99a}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!genBreed@{genBreed}}
\index{genBreed@{genBreed}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::gen\+Breed\hspace{0.3cm}{\ttfamily [protected]}}

general breeder \mbox{\Hypertarget{classmoeo_s_p_e_a2_a1d8e78bcaf5b37b30c1a87c783109653}\label{classmoeo_s_p_e_a2_a1d8e78bcaf5b37b30c1a87c783109653}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!loopEval@{loopEval}}
\index{loopEval@{loopEval}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{loopEval}{loopEval}}
{\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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::loop\+Eval\hspace{0.3cm}{\ttfamily [protected]}}

loop eval \mbox{\Hypertarget{classmoeo_s_p_e_a2_acae67f14fb62aa075884b2e59b7d59b3}\label{classmoeo_s_p_e_a2_acae67f14fb62aa075884b2e59b7d59b3}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!popEval@{popEval}}
\index{popEval@{popEval}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::pop\+Eval\hspace{0.3cm}{\ttfamily [protected]}}

evaluation function used to evaluate the whole population \mbox{\Hypertarget{classmoeo_s_p_e_a2_a8bcbb698a4db39fee9e2f359edb55a91}\label{classmoeo_s_p_e_a2_a8bcbb698a4db39fee9e2f359edb55a91}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!replace@{replace}}
\index{replace@{replace}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{replace}{replace}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_generational_replacement}{moeo\+Generational\+Replacement}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::replace\hspace{0.3cm}{\ttfamily [protected]}}

elitist replacement \mbox{\Hypertarget{classmoeo_s_p_e_a2_ad5394e9c56579cb8f234f0aca5e76d51}\label{classmoeo_s_p_e_a2_ad5394e9c56579cb8f234f0aca5e76d51}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!select@{select}}
\index{select@{select}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{select}{select}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_select_from_pop_and_arch}{moeo\+Select\+From\+Pop\+And\+Arch}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::select\hspace{0.3cm}{\ttfamily [protected]}}

binary tournament selection \mbox{\Hypertarget{classmoeo_s_p_e_a2_aca3f4422dda09fefde5aa1b40eb2fcae}\label{classmoeo_s_p_e_a2_aca3f4422dda09fefde5aa1b40eb2fcae}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!selectMany@{selectMany}}
\index{selectMany@{selectMany}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ M\+O\+E\+OT $>$\+::select\+Many\hspace{0.3cm}{\ttfamily [protected]}}

select\+Many \mbox{\Hypertarget{classmoeo_s_p_e_a2_ad54195f7740772261f7e5d2a3488f9bd}\label{classmoeo_s_p_e_a2_ad54195f7740772261f7e5d2a3488f9bd}} 
\index{moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ MOEOT $>$}!selectTransform@{selectTransform}}
\index{selectTransform@{selectTransform}!moeoSPEA2$<$ MOEOT $>$@{moeoSPEA2$<$ 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_s_p_e_a2}{moeo\+S\+P\+E\+A2}}$<$ 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\+S\+P\+E\+A2.\+h\end{DoxyCompactItemize}
