\hypertarget{classMlpIndividual}{
\section{MlpIndividual Class Reference}
\label{classMlpIndividual}\index{MlpIndividual@{MlpIndividual}}
}


Concrete MLP individual for Pareto memetic optimization.  


{\ttfamily \#include $<$MlpIndividual.hpp$>$}Inheritance diagram for MlpIndividual::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classMlpIndividual}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMlpIndividual_a3ff6d5c639ca0202d9492cca87d8d2bb}{MlpIndividual} ()
\begin{DoxyCompactList}\small\item\em Construct uninitialized; only for reading values very soon. \item\end{DoxyCompactList}\item 
\hyperlink{classMlpIndividual_a80180d6a1b4543f803ecb5e17868176c}{MlpIndividual} (const \hyperlink{classMlpObjectives}{MlpObjectives} \&mobj, unique\_\-ptr$<$ \hyperlink{classjymlp_1_1Mlp}{jymlp::Mlp} $>$ imlp, shared\_\-ptr$<$ \hyperlink{classDataset}{Dataset} $>$ ids)
\begin{DoxyCompactList}\small\item\em Constructor by taking ownership of a jyu::Mlp instance and shared ownership of a dataset. \item\end{DoxyCompactList}\item 
\hypertarget{classMlpIndividual_aedf607b6354b0a3d58817d9f58bbb28a}{
{\bfseries MlpIndividual} (const \hyperlink{classMlpIndividual}{MlpIndividual} \&original)}
\label{classMlpIndividual_aedf607b6354b0a3d58817d9f58bbb28a}

\item 
\hypertarget{classMlpIndividual_ac9586de098003998efaac7a58a638c6b}{
virtual \hyperlink{classMlpIndividual_ac9586de098003998efaac7a58a638c6b}{$\sim$MlpIndividual} ()}
\label{classMlpIndividual_ac9586de098003998efaac7a58a638c6b}

\begin{DoxyCompactList}\small\item\em Default destructor. \item\end{DoxyCompactList}\item 
\hypertarget{classMlpIndividual_afe00182a2411b5895d1486521e3057e0}{
virtual void {\bfseries addUnaryOperator} (unique\_\-ptr$<$ \hyperlink{classMlpBackpropUnaryOperator}{MlpBackpropUnaryOperator} $>$ uop)}
\label{classMlpIndividual_afe00182a2411b5895d1486521e3057e0}

\item 
\hypertarget{classMlpIndividual_a6bc7c6955ad4dbb27af202d0847b28a8}{
virtual \hyperlink{classIndividual}{Individual} $\ast$ \hyperlink{classMlpIndividual_a6bc7c6955ad4dbb27af202d0847b28a8}{clone} ()}
\label{classMlpIndividual_a6bc7c6955ad4dbb27af202d0847b28a8}

\begin{DoxyCompactList}\small\item\em Cloning can use the default copy constructor, but otherwise it is specific to the derived classes. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classMlpIndividual_a95b8875bf88fc97a677ef508800ea865}{evaluate} ()
\begin{DoxyCompactList}\small\item\em Evaluate objective functions. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classMlpIndividual_a34479f041ffc11ae5ef2c580205177c6}{mutate} ()
\begin{DoxyCompactList}\small\item\em Apply evolutionary mutation operator(s). \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classMlpIndividual_a93e5b36d6afa83f533363df0716284fc}{improve} (mt19937 $\ast$mt)
\begin{DoxyCompactList}\small\item\em Apply memetic improvement operator(s). \item\end{DoxyCompactList}\item 
virtual vector$<$ double $>$ \hyperlink{classMlpIndividual_a2c1bd84977f2ffaa5007c4bfb7260884}{getTrace} ()
\begin{DoxyCompactList}\small\item\em Get measures that are interesting in post-\/run tracing; subclasses would know which measures are of importance. \item\end{DoxyCompactList}\item 
\hypertarget{classMlpIndividual_a7d7abeeec9ff61e955daaf88ff6dc7ef}{
virtual pair$<$ unique\_\-ptr$<$ \hyperlink{classIndividual}{Individual} $>$, unique\_\-ptr$<$ \hyperlink{classIndividual}{Individual} $>$ $>$ {\bfseries crossWith} (\hyperlink{classIndividual}{Individual} \&other)}
\label{classMlpIndividual_a7d7abeeec9ff61e955daaf88ff6dc7ef}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classMlpIndividual_a181ddd5722642d66aecad14bf104d56e}{impl\_\-from\_\-stream} (istream \&repr)
\begin{DoxyCompactList}\small\item\em \char`\"{}Crowding\char`\"{} value/dist. (e.g. NSGA-\/II) \item\end{DoxyCompactList}\item 
void \hyperlink{classMlpIndividual_a49700637b4237b4bca3d2d3671c7cc78}{impl\_\-to\_\-stream} (ostream \&repr)
\begin{DoxyCompactList}\small\item\em Write the actual (concrete) representation to a stream. \item\end{DoxyCompactList}\item 
void \hyperlink{classMlpIndividual_ade3d70759707bf08b73b0343b76d163f}{crossWith} (\hyperlink{classMlpIndividual}{MlpIndividual} \&other)
\begin{DoxyCompactList}\small\item\em This is specific to \hyperlink{classMlpIndividual}{MlpIndividual}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMlpIndividual_ad404f32acfc4d84600c594145f241236}{
class \hyperlink{classMlpIndividual_ad404f32acfc4d84600c594145f241236}{MlpBackpropUnaryOperator}}
\label{classMlpIndividual_ad404f32acfc4d84600c594145f241236}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Concrete MLP individual for Pareto memetic optimization. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classMlpIndividual_a3ff6d5c639ca0202d9492cca87d8d2bb}{
\index{MlpIndividual@{MlpIndividual}!MlpIndividual@{MlpIndividual}}
\index{MlpIndividual@{MlpIndividual}!MlpIndividual@{MlpIndividual}}
\subsubsection[{MlpIndividual}]{\setlength{\rightskip}{0pt plus 5cm}MlpIndividual::MlpIndividual ()}}
\label{classMlpIndividual_a3ff6d5c639ca0202d9492cca87d8d2bb}


Construct uninitialized; only for reading values very soon. \hypertarget{classMlpIndividual_a80180d6a1b4543f803ecb5e17868176c}{
\index{MlpIndividual@{MlpIndividual}!MlpIndividual@{MlpIndividual}}
\index{MlpIndividual@{MlpIndividual}!MlpIndividual@{MlpIndividual}}
\subsubsection[{MlpIndividual}]{\setlength{\rightskip}{0pt plus 5cm}MlpIndividual::MlpIndividual (const {\bf MlpObjectives} \& {\em mobj}, \/  unique\_\-ptr$<$ {\bf jymlp::Mlp} $>$ {\em imlp}, \/  shared\_\-ptr$<$ {\bf Dataset} $>$ {\em ids})}}
\label{classMlpIndividual_a80180d6a1b4543f803ecb5e17868176c}


Constructor by taking ownership of a jyu::Mlp instance and shared ownership of a dataset. All of these are required for meaningful computations. 

\subsection{Member Function Documentation}
\hypertarget{classMlpIndividual_ade3d70759707bf08b73b0343b76d163f}{
\index{MlpIndividual@{MlpIndividual}!crossWith@{crossWith}}
\index{crossWith@{crossWith}!MlpIndividual@{MlpIndividual}}
\subsubsection[{crossWith}]{\setlength{\rightskip}{0pt plus 5cm}void MlpIndividual::crossWith ({\bf MlpIndividual} \& {\em other})\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classMlpIndividual_ade3d70759707bf08b73b0343b76d163f}


This is specific to \hyperlink{classMlpIndividual}{MlpIndividual}. FIXME: Probably to go away. 

Implements \hyperlink{classIndividual_aa4b376475c4078ed8decc17c16f26c1b}{Individual}.\hypertarget{classMlpIndividual_a95b8875bf88fc97a677ef508800ea865}{
\index{MlpIndividual@{MlpIndividual}!evaluate@{evaluate}}
\index{evaluate@{evaluate}!MlpIndividual@{MlpIndividual}}
\subsubsection[{evaluate}]{\setlength{\rightskip}{0pt plus 5cm}void MlpIndividual::evaluate ()\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classMlpIndividual_a95b8875bf88fc97a677ef508800ea865}


Evaluate objective functions. Is to be called before getting values, if any operators have been applied. The concrete derived class must assign objective values when this is called. 

Implements \hyperlink{classIndividual_a4bc4ae3cc82bcb6e27600f597fe0136b}{Individual}.\hypertarget{classMlpIndividual_a2c1bd84977f2ffaa5007c4bfb7260884}{
\index{MlpIndividual@{MlpIndividual}!getTrace@{getTrace}}
\index{getTrace@{getTrace}!MlpIndividual@{MlpIndividual}}
\subsubsection[{getTrace}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ double $>$ MlpIndividual::getTrace ()\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classMlpIndividual_a2c1bd84977f2ffaa5007c4bfb7260884}


Get measures that are interesting in post-\/run tracing; subclasses would know which measures are of importance. By default, the objectives are returned as a vector object. 

Reimplemented from \hyperlink{classIndividual_a96eba94e7973e8f55588bd7cb8dc2be9}{Individual}.\hypertarget{classMlpIndividual_a181ddd5722642d66aecad14bf104d56e}{
\index{MlpIndividual@{MlpIndividual}!impl\_\-from\_\-stream@{impl\_\-from\_\-stream}}
\index{impl\_\-from\_\-stream@{impl\_\-from\_\-stream}!MlpIndividual@{MlpIndividual}}
\subsubsection[{impl\_\-from\_\-stream}]{\setlength{\rightskip}{0pt plus 5cm}void MlpIndividual::impl\_\-from\_\-stream (istream \& {\em repr})\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classMlpIndividual_a181ddd5722642d66aecad14bf104d56e}


\char`\"{}Crowding\char`\"{} value/dist. (e.g. NSGA-\/II) Read the actual (concrete) representation from a stream. 

Implements \hyperlink{classIndividual_a01b00ea4947684913020b88ea6968a5f}{Individual}.\hypertarget{classMlpIndividual_a49700637b4237b4bca3d2d3671c7cc78}{
\index{MlpIndividual@{MlpIndividual}!impl\_\-to\_\-stream@{impl\_\-to\_\-stream}}
\index{impl\_\-to\_\-stream@{impl\_\-to\_\-stream}!MlpIndividual@{MlpIndividual}}
\subsubsection[{impl\_\-to\_\-stream}]{\setlength{\rightskip}{0pt plus 5cm}void MlpIndividual::impl\_\-to\_\-stream (ostream \& {\em repr})\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classMlpIndividual_a49700637b4237b4bca3d2d3671c7cc78}


Write the actual (concrete) representation to a stream. 

Implements \hyperlink{classIndividual_a42739a633bc7263e4eadb5e745a82601}{Individual}.\hypertarget{classMlpIndividual_a93e5b36d6afa83f533363df0716284fc}{
\index{MlpIndividual@{MlpIndividual}!improve@{improve}}
\index{improve@{improve}!MlpIndividual@{MlpIndividual}}
\subsubsection[{improve}]{\setlength{\rightskip}{0pt plus 5cm}void MlpIndividual::improve (mt19937 $\ast$ {\em mt})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classMlpIndividual_a93e5b36d6afa83f533363df0716284fc}


Apply memetic improvement operator(s). Up to the concrete class. 

Implements \hyperlink{classIndividual_ad56de759959b719e51873c1cabe574a1}{Individual}.\hypertarget{classMlpIndividual_a34479f041ffc11ae5ef2c580205177c6}{
\index{MlpIndividual@{MlpIndividual}!mutate@{mutate}}
\index{mutate@{mutate}!MlpIndividual@{MlpIndividual}}
\subsubsection[{mutate}]{\setlength{\rightskip}{0pt plus 5cm}void MlpIndividual::mutate ()\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classMlpIndividual_a34479f041ffc11ae5ef2c580205177c6}


Apply evolutionary mutation operator(s). Up to the concrete class. 

Implements \hyperlink{classIndividual_aa86bbece0507640edb4f4b2714a162f4}{Individual}.

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
src/MlpIndividual.hpp\item 
src/MlpIndividual.cpp\end{DoxyCompactItemize}
