\section{moeo\-NSGAII$<$ MOEOT $>$ Class Template Reference}
\label{classmoeoNSGAII}\index{moeoNSGAII@{moeoNSGAII}}
NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S.  


{\tt \#include $<$moeo\-NSGAII.h$>$}

Inheritance diagram for moeo\-NSGAII$<$ MOEOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmoeoNSGAII}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\bf{moeo\-NSGAII} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op)
\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item 
\bf{moeo\-NSGAII} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op)
\begin{CompactList}\small\item\em Simple ctor with a \doxyref{eo\-Transform}. \item\end{CompactList}\item 
\bf{moeo\-NSGAII} (unsigned int \_\-max\-Gen, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \&\_\-crossover, double \_\-p\-Cross, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \&\_\-mutation, double \_\-p\-Mut)
\begin{CompactList}\small\item\em Ctor with a crossover, a mutation and their corresponding rates. \item\end{CompactList}\item 
\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \&\_\-op)
\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. \item\end{CompactList}\item 
\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \&\_\-continuator, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \&\_\-eval, \bf{eo\-Transform}$<$ MOEOT $>$ \&\_\-op)
\begin{CompactList}\small\item\em Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. \item\end{CompactList}\item 
virtual void \bf{operator()} (\bf{eo\-Pop}$<$ MOEOT $>$ \&\_\-pop)
\begin{CompactList}\small\item\em Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\bf{eo\-Gen\-Continue}$<$ MOEOT $>$ \bf{default\-Gen\-Continuator}\label{classmoeoNSGAII_2bc5adbd55a32faead1c4ac0cbac3b35}

\begin{CompactList}\small\item\em a continuator based on the number of generations (used as default) \item\end{CompactList}\item 
\bf{eo\-Continue}$<$ MOEOT $>$ \& \bf{continuator}\label{classmoeoNSGAII_7eb1e36631eebbe3216167b1077e3a53}

\begin{CompactList}\small\item\em stopping criteria \item\end{CompactList}\item 
\bf{eo\-Pop\-Loop\-Eval}$<$ MOEOT $>$ \bf{pop\-Eval}\label{classmoeoNSGAII_5b042567e51f014b3fe841346d9830a0}

\begin{CompactList}\small\item\em evaluation function used to evaluate the whole population \item\end{CompactList}\item 
\bf{moeo\-Det\-Tournament\-Select}$<$ MOEOT $>$ \bf{select}\label{classmoeoNSGAII_6134c5baa1c6921aaacd67f6f452871a}

\begin{CompactList}\small\item\em binary tournament selection \item\end{CompactList}\item 
\bf{moeo\-Fast\-Non\-Dominated\-Sorting\-Fitness\-Assignment}$<$ MOEOT $>$ \bf{fitness\-Assignment}\label{classmoeoNSGAII_2cf7c853cc4213664b0654b1e5a8862a}

\begin{CompactList}\small\item\em fitness assignment used in NSGA-II \item\end{CompactList}\item 
\bf{moeo\-Front\-By\-Front\-Crowding\-Diversity\-Assignment}$<$ MOEOT $>$ \bf{diversity\-Assignment}\label{classmoeoNSGAII_4abf4583668c6f145f4dbb0a24d2dae0}

\begin{CompactList}\small\item\em diversity assignment used in NSGA-II \item\end{CompactList}\item 
\bf{moeo\-Elitist\-Replacement}$<$ MOEOT $>$ \bf{replace}\label{classmoeoNSGAII_75bc4b735c5de2a6fc93b2f2b63c7251}

\begin{CompactList}\small\item\em elitist replacement \item\end{CompactList}\item 
\bf{eo\-SGAGen\-Op}$<$ MOEOT $>$ \bf{default\-SGAGen\-Op}\label{classmoeoNSGAII_a2050440184979533f2c403bb044c064}

\begin{CompactList}\small\item\em an object for genetic operators (used as default) \item\end{CompactList}\item 
\bf{eo\-General\-Breeder}$<$ MOEOT $>$ \bf{gen\-Breed}\label{classmoeoNSGAII_2099c3069a7da12485578fc66ff71ff1}

\begin{CompactList}\small\item\em general breeder \item\end{CompactList}\item 
\bf{eo\-Breed}$<$ MOEOT $>$ \& \bf{breed}\label{classmoeoNSGAII_17954849435e579d74bf37ed7b9063fc}

\begin{CompactList}\small\item\em breeder \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class MOEOT$>$ class moeo\-NSGAII$<$ MOEOT $>$}

NSGA-II (Non-dominated Sorting Genetic Algorithm II) as described in: Deb, K., S. 

Agrawal, A. Pratap, and T. Meyarivan : \char`\"{}A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II\char`\"{}. In IEEE Transactions on Evolutionary Computation, Vol. 6, No 2, pp 182-197 (April 2002). This class builds the NSGA-II algorithm only by using the fine-grained components of the Paradis\-EO-MOEO framework. 



Definition at line 37 of file moeo\-NSGAII.h.

\subsection{Constructor \& Destructor Documentation}
\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt  [inline]}}\label{classmoeoNSGAII_a13ddb75d60e2956905a9eacca2e0b2e}


Simple ctor with a \doxyref{eo\-Gen\-Op}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description}
\end{Desc}


Definition at line 47 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt  [inline]}}\label{classmoeoNSGAII_56a2b2ab62b2a4025f1d122e3cfa2aa2}


Simple ctor with a \doxyref{eo\-Transform}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description}
\end{Desc}


Definition at line 59 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (unsigned int {\em \_\-max\-Gen}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Quad\-Op}$<$ MOEOT $>$ \& {\em \_\-crossover}, double {\em \_\-p\-Cross}, \bf{eo\-Mon\-Op}$<$ MOEOT $>$ \& {\em \_\-mutation}, double {\em \_\-p\-Mut})\hspace{0.3cm}{\tt  [inline]}}\label{classmoeoNSGAII_996e1b2683378ae1880b7520814aa9c9}


Ctor with a crossover, a mutation and their corresponding rates. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-max\-Gen}]number of generations before stopping \item[{\em \_\-eval}]evaluation function \item[{\em \_\-crossover}]crossover \item[{\em \_\-p\-Cross}]crossover probability \item[{\em \_\-mutation}]mutation \item[{\em \_\-p\-Mut}]mutation probability \end{description}
\end{Desc}


Definition at line 74 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Gen\-Op}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt  [inline]}}\label{classmoeoNSGAII_1797f01afde01d155e559522df12ae05}


Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Gen\-Op}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description}
\end{Desc}


Definition at line 87 of file moeo\-NSGAII.h.\index{moeoNSGAII@{moeo\-NSGAII}!moeoNSGAII@{moeoNSGAII}}
\index{moeoNSGAII@{moeoNSGAII}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ \bf{moeo\-NSGAII}$<$ MOEOT $>$::\bf{moeo\-NSGAII} (\bf{eo\-Continue}$<$ MOEOT $>$ \& {\em \_\-continuator}, \bf{eo\-Eval\-Func}$<$ MOEOT $>$ \& {\em \_\-eval}, \bf{eo\-Transform}$<$ MOEOT $>$ \& {\em \_\-op})\hspace{0.3cm}{\tt  [inline]}}\label{classmoeoNSGAII_a2b8d5b2ca7e7fd5845c6cda896b75c6}


Ctor with a continuator (instead of \_\-max\-Gen) and a \doxyref{eo\-Transform}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-continuator}]stopping criteria \item[{\em \_\-eval}]evaluation function \item[{\em \_\-op}]variation operator \end{description}
\end{Desc}


Definition at line 99 of file moeo\-NSGAII.h.

\subsection{Member Function Documentation}
\index{moeoNSGAII@{moeo\-NSGAII}!operator()@{operator()}}
\index{operator()@{operator()}!moeoNSGAII@{moeo\-NSGAII}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class MOEOT$>$ virtual void \bf{moeo\-NSGAII}$<$ MOEOT $>$::operator() (\bf{eo\-Pop}$<$ MOEOT $>$ \& {\em \_\-pop})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmoeoNSGAII_60ba3ed4287efe81e1ff66b22e1d2e14}


Apply a few generation of evolution to the population \_\-pop until the stopping criteria is verified. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-pop}]the population \end{description}
\end{Desc}


Definition at line 109 of file moeo\-NSGAII.h.

References moeo\-NSGAII$<$ MOEOT $>$::breed, moeo\-NSGAII$<$ MOEOT $>$::continuator, moeo\-NSGAII$<$ MOEOT $>$::diversity\-Assignment, moeo\-NSGAII$<$ MOEOT $>$::fitness\-Assignment, moeo\-NSGAII$<$ MOEOT $>$::pop\-Eval, and moeo\-NSGAII$<$ MOEOT $>$::replace.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
moeo\-NSGAII.h\end{CompactItemize}
