\hypertarget{classmoeo_n_s_g_a}{}\doxysection{moeo\+N\+S\+GA$<$ M\+O\+E\+OT $>$ Class Template Reference}
\label{classmoeo_n_s_g_a}\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}


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



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


Collaboration diagram for moeo\+N\+S\+GA$<$ M\+O\+E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmoeo_n_s_g_a__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classmoeo_n_s_g_a_1_1_dummy_eval}{Dummy\+Eval}}
\item 
class \mbox{\hyperlink{classmoeo_n_s_g_a_1_1_dummy_select}{Dummy\+Select}}
\item 
class \mbox{\hyperlink{classmoeo_n_s_g_a_1_1_dummy_transform}{Dummy\+Transform}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmoeo_n_s_g_a_a7c7b4bb55b7ee74da780f20a943809fd}{moeo\+N\+S\+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_n_s_g_a_a5f8a315499cb7e65911af0c7587144d8}{moeo\+N\+S\+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_n_s_g_a_a7f9b8318abdcd8569f1102067183834b}{moeo\+N\+S\+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_n_s_g_a_af2cbd42f833951b0e570bd42a687413b}{moeo\+N\+S\+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_n_s_g_a_aa7b6161f8474400dec44fd71a226696b}{moeo\+N\+S\+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_n_s_g_a_a632676ceb299f3318c116b2b2b386b0d}{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_n_s_g_a_a6dbb57c19ff00085df8397cebcce066d}{default\+Gen\+Continuator}}
\item 
\mbox{\hyperlink{classeo_continue}{eo\+Continue}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_n_s_g_a_aef67320e3820548b333577b33430fcbe}{continuator}}
\item 
\mbox{\Hypertarget{classmoeo_n_s_g_a_a1a1d68525a5157e6fe27756aea4752ba}\label{classmoeo_n_s_g_a_a1a1d68525a5157e6fe27756aea4752ba}} 
\mbox{\hyperlink{classmoeo_n_s_g_a_1_1_dummy_eval}{moeo\+N\+S\+G\+A\+::\+Dummy\+Eval}} {\bfseries default\+Eval}
\item 
\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_n_s_g_a_a87345f8077934415a6f3155d19385857}{eval}}
\item 
\mbox{\hyperlink{classeo_pop_loop_eval}{eo\+Pop\+Loop\+Eval}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_a8cc5104b7020dfd7102a26dd52a4040f}{default\+Pop\+Eval}}
\item 
\mbox{\hyperlink{classeo_pop_eval_func}{eo\+Pop\+Eval\+Func}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_n_s_g_a_a0836d3025e44aea04788591504b96b83}{pop\+Eval}}
\item 
\mbox{\Hypertarget{classmoeo_n_s_g_a_af4629b804461b35c6e72ef94c1d44d34}\label{classmoeo_n_s_g_a_af4629b804461b35c6e72ef94c1d44d34}} 
\mbox{\hyperlink{classmoeo_n_s_g_a_1_1_dummy_select}{moeo\+N\+S\+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_n_s_g_a_affd95fab4aed24fc866334c28e77a666}{select}}
\item 
\mbox{\hyperlink{classeo_select_many}{eo\+Select\+Many}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_a704e83818f394be387d4e763f65fb7e7}{select\+Many}}
\item 
\mbox{\hyperlink{classeo_select_transform}{eo\+Select\+Transform}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_adfe6470d8533e2f09e1bde04013e1060}{select\+Transform}}
\item 
\mbox{\hyperlink{classeo_quad_clone_op}{eo\+Quad\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_a32a1b0efe480b7512f52287fa93897e1}{default\+Quad\+Op}}
\item 
\mbox{\hyperlink{classeo_mon_clone_op}{eo\+Mon\+Clone\+Op}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_aafcaf88ba19e1416e077f318272182e0}{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_n_s_g_a_a879b4451e77b627705280373ff0a26ab}{default\+S\+G\+A\+Gen\+Op}}
\item 
\mbox{\Hypertarget{classmoeo_n_s_g_a_ae49824c1d44491dedc28ecaec4217e06}\label{classmoeo_n_s_g_a_ae49824c1d44491dedc28ecaec4217e06}} 
\mbox{\hyperlink{classmoeo_n_s_g_a_1_1_dummy_transform}{moeo\+N\+S\+G\+A\+::\+Dummy\+Transform}} {\bfseries default\+Transform}
\item 
\mbox{\hyperlink{classeo_general_breeder}{eo\+General\+Breeder}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_a3ee7a5ea8ed71859ea544741de9989f2}{gen\+Breed}}
\item 
\mbox{\hyperlink{classeo_breed}{eo\+Breed}}$<$ M\+O\+E\+OT $>$ \& \mbox{\hyperlink{classmoeo_n_s_g_a_a1538e7c32062d9d9c634b9948ca28000}{breed}}
\item 
\mbox{\hyperlink{classmoeo_dominance_depth_fitness_assignment}{moeo\+Dominance\+Depth\+Fitness\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_aeef51e1c2a2abb750c03025ac2255c37}{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_n_s_g_a_ae361fa8aed173619e2aae64dba0c504a}{diversity\+Assignment}}
\item 
\mbox{\hyperlink{classmoeo_elitist_replacement}{moeo\+Elitist\+Replacement}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a_a8470efa1ef87b6448f081ec802858a8c}{replace}}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


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

N\+S\+GA (Non-\/dominated Sorting Genetic Algorithm). N. Srinivas, K. Deb, \char`\"{}\+Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms\char`\"{}. Evolutionary Computation, Vol. 2(3), No 2, pp. 221-\/248 (1994). This class builds the N\+S\+GA algorithm only by using the fine-\/grained components of the Paradis\+E\+O-\/\+M\+O\+EO framework. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmoeo_n_s_g_a_a7c7b4bb55b7ee74da780f20a943809fd}\label{classmoeo_n_s_g_a_a7c7b4bb55b7ee74da780f20a943809fd}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!moeoNSGA@{moeoNSGA}}
\index{moeoNSGA@{moeoNSGA}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoNSGA()}{moeoNSGA()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_a5f8a315499cb7e65911af0c7587144d8}\label{classmoeo_n_s_g_a_a5f8a315499cb7e65911af0c7587144d8}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!moeoNSGA@{moeoNSGA}}
\index{moeoNSGA@{moeoNSGA}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoNSGA()}{moeoNSGA()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_a7f9b8318abdcd8569f1102067183834b}\label{classmoeo_n_s_g_a_a7f9b8318abdcd8569f1102067183834b}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!moeoNSGA@{moeoNSGA}}
\index{moeoNSGA@{moeoNSGA}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoNSGA()}{moeoNSGA()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_af2cbd42f833951b0e570bd42a687413b}\label{classmoeo_n_s_g_a_af2cbd42f833951b0e570bd42a687413b}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!moeoNSGA@{moeoNSGA}}
\index{moeoNSGA@{moeoNSGA}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoNSGA()}{moeoNSGA()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_aa7b6161f8474400dec44fd71a226696b}\label{classmoeo_n_s_g_a_aa7b6161f8474400dec44fd71a226696b}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!moeoNSGA@{moeoNSGA}}
\index{moeoNSGA@{moeoNSGA}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{moeoNSGA()}{moeoNSGA()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::\mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_a632676ceb299f3318c116b2b2b386b0d}\label{classmoeo_n_s_g_a_a632676ceb299f3318c116b2b2b386b0d}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!operator()@{operator()}}
\index{operator()@{operator()}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
virtual void \mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_a1538e7c32062d9d9c634b9948ca28000}\label{classmoeo_n_s_g_a_a1538e7c32062d9d9c634b9948ca28000}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!breed@{breed}}
\index{breed@{breed}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::breed\hspace{0.3cm}{\ttfamily [protected]}}

breeder \mbox{\Hypertarget{classmoeo_n_s_g_a_aef67320e3820548b333577b33430fcbe}\label{classmoeo_n_s_g_a_aef67320e3820548b333577b33430fcbe}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!continuator@{continuator}}
\index{continuator@{continuator}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::continuator\hspace{0.3cm}{\ttfamily [protected]}}

stopping criteria \mbox{\Hypertarget{classmoeo_n_s_g_a_a6dbb57c19ff00085df8397cebcce066d}\label{classmoeo_n_s_g_a_a6dbb57c19ff00085df8397cebcce066d}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!defaultGenContinuator@{defaultGenContinuator}}
\index{defaultGenContinuator@{defaultGenContinuator}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_aafcaf88ba19e1416e077f318272182e0}\label{classmoeo_n_s_g_a_aafcaf88ba19e1416e077f318272182e0}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!defaultMonOp@{defaultMonOp}}
\index{defaultMonOp@{defaultMonOp}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+Mon\+Op\hspace{0.3cm}{\ttfamily [protected]}}

a default mutation \mbox{\Hypertarget{classmoeo_n_s_g_a_a8cc5104b7020dfd7102a26dd52a4040f}\label{classmoeo_n_s_g_a_a8cc5104b7020dfd7102a26dd52a4040f}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!defaultPopEval@{defaultPopEval}}
\index{defaultPopEval@{defaultPopEval}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+Pop\+Eval\hspace{0.3cm}{\ttfamily [protected]}}

default pop\+Eval \mbox{\Hypertarget{classmoeo_n_s_g_a_a32a1b0efe480b7512f52287fa93897e1}\label{classmoeo_n_s_g_a_a32a1b0efe480b7512f52287fa93897e1}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!defaultQuadOp@{defaultQuadOp}}
\index{defaultQuadOp@{defaultQuadOp}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::default\+Quad\+Op\hspace{0.3cm}{\ttfamily [protected]}}

a default crossover \mbox{\Hypertarget{classmoeo_n_s_g_a_a879b4451e77b627705280373ff0a26ab}\label{classmoeo_n_s_g_a_a879b4451e77b627705280373ff0a26ab}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!defaultSGAGenOp@{defaultSGAGenOp}}
\index{defaultSGAGenOp@{defaultSGAGenOp}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+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_n_s_g_a_ae361fa8aed173619e2aae64dba0c504a}\label{classmoeo_n_s_g_a_ae361fa8aed173619e2aae64dba0c504a}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!diversityAssignment@{diversityAssignment}}
\index{diversityAssignment@{diversityAssignment}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::diversity\+Assignment\hspace{0.3cm}{\ttfamily [protected]}}

diversity assignment used in N\+S\+G\+A-\/\+II \mbox{\Hypertarget{classmoeo_n_s_g_a_a87345f8077934415a6f3155d19385857}\label{classmoeo_n_s_g_a_a87345f8077934415a6f3155d19385857}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!eval@{eval}}
\index{eval@{eval}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::eval\hspace{0.3cm}{\ttfamily [protected]}}

evaluation function \mbox{\Hypertarget{classmoeo_n_s_g_a_aeef51e1c2a2abb750c03025ac2255c37}\label{classmoeo_n_s_g_a_aeef51e1c2a2abb750c03025ac2255c37}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!fitnessAssignment@{fitnessAssignment}}
\index{fitnessAssignment@{fitnessAssignment}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}}
\doxysubsubsection{\texorpdfstring{fitnessAssignment}{fitnessAssignment}}
{\footnotesize\ttfamily template$<$class M\+O\+E\+OT $>$ \\
\mbox{\hyperlink{classmoeo_dominance_depth_fitness_assignment}{moeo\+Dominance\+Depth\+Fitness\+Assignment}}$<$ M\+O\+E\+OT $>$ \mbox{\hyperlink{classmoeo_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::fitness\+Assignment\hspace{0.3cm}{\ttfamily [protected]}}

fitness assignment used in N\+S\+G\+A-\/\+II \mbox{\Hypertarget{classmoeo_n_s_g_a_a3ee7a5ea8ed71859ea544741de9989f2}\label{classmoeo_n_s_g_a_a3ee7a5ea8ed71859ea544741de9989f2}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!genBreed@{genBreed}}
\index{genBreed@{genBreed}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::gen\+Breed\hspace{0.3cm}{\ttfamily [protected]}}

general breeder \mbox{\Hypertarget{classmoeo_n_s_g_a_a0836d3025e44aea04788591504b96b83}\label{classmoeo_n_s_g_a_a0836d3025e44aea04788591504b96b83}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!popEval@{popEval}}
\index{popEval@{popEval}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::pop\+Eval\hspace{0.3cm}{\ttfamily [protected]}}

evaluation function used to evaluate the whole population \mbox{\Hypertarget{classmoeo_n_s_g_a_a8470efa1ef87b6448f081ec802858a8c}\label{classmoeo_n_s_g_a_a8470efa1ef87b6448f081ec802858a8c}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!replace@{replace}}
\index{replace@{replace}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::replace\hspace{0.3cm}{\ttfamily [protected]}}

elitist replacement \mbox{\Hypertarget{classmoeo_n_s_g_a_affd95fab4aed24fc866334c28e77a666}\label{classmoeo_n_s_g_a_affd95fab4aed24fc866334c28e77a666}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!select@{select}}
\index{select@{select}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+GA}}$<$ M\+O\+E\+OT $>$\+::select\hspace{0.3cm}{\ttfamily [protected]}}

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

default select many \mbox{\Hypertarget{classmoeo_n_s_g_a_adfe6470d8533e2f09e1bde04013e1060}\label{classmoeo_n_s_g_a_adfe6470d8533e2f09e1bde04013e1060}} 
\index{moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ MOEOT $>$}!selectTransform@{selectTransform}}
\index{selectTransform@{selectTransform}!moeoNSGA$<$ MOEOT $>$@{moeoNSGA$<$ 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_n_s_g_a}{moeo\+N\+S\+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\+N\+S\+G\+A.\+h\end{DoxyCompactItemize}
