\section{moFirstImprSelect$<$ M $>$ Class Template Reference}
\label{classmo_first_impr_select}\index{moFirstImprSelect@{moFirstImprSelect}}
One possible \doxyref{moMoveSelect}{p.}{classmo_move_select}.  


{\tt \#include $<$moFirstImprSelect.h$>$}

Inheritance diagram for moFirstImprSelect$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_first_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item 
typedef M::EOType::Fitness {\bf Fitness}\label{classmo_first_impr_select_64763ce3e6d2873266624382b407fa5a}

\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
virtual void {\bf init} (const {\bf Fitness} \&\_\-fitness)
\begin{CompactList}\small\item\em Procedure which initialise the exploration. \item\end{CompactList}\item 
bool {\bf update} (const M \&\_\-move, const {\bf Fitness} \&\_\-fitness)
\begin{CompactList}\small\item\em {\bf Function} that indicates if the current move has not improved the fitness. \item\end{CompactList}\item 
void {\bf operator()} (M \&\_\-move, {\bf Fitness} \&\_\-fitness)
\begin{CompactList}\small\item\em Procedure which saved the best move and fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
bool {\bf valid}\label{classmo_first_impr_select_a99c0586ba07449234705c17a258d58c}

\begin{CompactList}\small\item\em Allow to know if at least one move has improved the solution. \item\end{CompactList}\item 
M {\bf best\_\-move}\label{classmo_first_impr_select_dfed419a608dd7c41f07fa1f1279cb8c}

\begin{CompactList}\small\item\em Best stored movement. \item\end{CompactList}\item 
{\bf Fitness} {\bf initial\_\-fitness}\label{classmo_first_impr_select_669f8f2f74e71bf2b7fdabfc9cca2c0e}

\begin{CompactList}\small\item\em Initial fitness. \item\end{CompactList}\item 
{\bf Fitness} {\bf best\_\-fitness}\label{classmo_first_impr_select_287937f5c059b078ccec94e86e0a8238}

\begin{CompactList}\small\item\em Best stored fitness. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class moFirstImprSelect$<$ M $>$}

One possible \doxyref{moMoveSelect}{p.}{classmo_move_select}. 

The neighborhood is explored until a move enables an improvment of the current solution. 

Definition at line 48 of file moFirstImprSelect.h.

\subsection{Member Function Documentation}
\index{moFirstImprSelect@{moFirstImprSelect}!init@{init}}
\index{init@{init}!moFirstImprSelect@{moFirstImprSelect}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ virtual void {\bf moFirstImprSelect}$<$ M $>$::init (const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmo_first_impr_select_a923437ecc3db50e7052b002a9a1bbf8}


Procedure which initialise the exploration. 

It save the current fitness as the initial value for the fitness. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-fitness}]The current fitness. \end{description}
\end{Desc}


Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_58038bd859632c1bd022d23d9792bdca}.

Definition at line 60 of file moFirstImprSelect.h.

References moFirstImprSelect$<$ M $>$::initial\_\-fitness, and moFirstImprSelect$<$ M $>$::valid.\index{moFirstImprSelect@{moFirstImprSelect}!update@{update}}
\index{update@{update}!moFirstImprSelect@{moFirstImprSelect}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moFirstImprSelect}$<$ M $>$::update (const M \& {\em \_\-move}, const {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmo_first_impr_select_f68b7ee7b35bf7347c16006f0587d313}


{\bf Function} that indicates if the current move has not improved the fitness. 

If the given fitness enables an improvment, the move (\doxyref{moMove}{p.}{classmo_move}) should be applied to the current solution.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move}]a move. \item[{\em \_\-fitness}]a fitness linked to the move. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true if the move does not improve the fitness. \end{Desc}


Implements {\bf moMoveSelect$<$ M $>$} \doxyref{}{p.}{classmo_move_select_5b4d3b2f030cca80c563c3db0c4af404}.

Definition at line 75 of file moFirstImprSelect.h.

References moFirstImprSelect$<$ M $>$::best\_\-fitness, moFirstImprSelect$<$ M $>$::best\_\-move, moFirstImprSelect$<$ M $>$::initial\_\-fitness, and moFirstImprSelect$<$ M $>$::valid.\index{moFirstImprSelect@{moFirstImprSelect}!operator()@{operator()}}
\index{operator()@{operator()}!moFirstImprSelect@{moFirstImprSelect}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void {\bf moFirstImprSelect}$<$ M $>$::operator() (M \& {\em \_\-move}, {\bf Fitness} \& {\em \_\-fitness})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmo_first_impr_select_976569efd882886cb13184daeba79766}


Procedure which saved the best move and fitness. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-move}]the current move (result of the procedure). \item[{\em \_\-fitness}]the current fitness (result of the procedure). \end{description}
\end{Desc}


Implements {\bf eoBF$<$ M \&, M::EOType::Fitness \&, void $>$}.

Definition at line 96 of file moFirstImprSelect.h.

References moFirstImprSelect$<$ M $>$::best\_\-fitness, moFirstImprSelect$<$ M $>$::best\_\-move, and moFirstImprSelect$<$ M $>$::valid.

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