\section{mo\-Best\-Impr\-Select$<$ M $>$ Class Template Reference}
\label{classmo_best_impr_select}\index{moBestImprSelect@{moBestImprSelect}}
One of the possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select}.  


{\tt \#include $<$mo\-Best\-Impr\-Select.h$>$}

Inheritance diagram for mo\-Best\-Impr\-Select$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4cm]{classmo_best_impr_select}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item 
typedef M::EOType::Fitness \bf{Fitness}\label{classmo_best_impr_select_c4ae17435221fb0a8e8acd285210cfcb}

\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
void \bf{init} (const \bf{Fitness} \&\_\-\_\-fit)\label{classmo_best_impr_select_2d2abf9aa17dc77cbb4f41810ab7b956}

\begin{CompactList}\small\item\em Procedure which initialise the exploration. \item\end{CompactList}\item 
bool \bf{update} (const M \&\_\-\_\-move, const \bf{Fitness} \&\_\-\_\-fit)
\begin{CompactList}\small\item\em \doxyref{Function} that indicates if the current move has not improved the fitness. \item\end{CompactList}\item 
void \bf{operator()} (M \&\_\-\_\-move, \bf{Fitness} \&\_\-\_\-fit)  throw (Empty\-Selection)
\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{first\_\-time}\label{classmo_best_impr_select_352b14d206b0772eb9f40efb7beb0f13}

\begin{CompactList}\small\item\em Allowing to know if at least one move has been generated. \item\end{CompactList}\item 
M \bf{best\_\-move}\label{classmo_best_impr_select_bd86f70519f954c07ff0d8a2a3a8ff6a}

\begin{CompactList}\small\item\em The best move. \item\end{CompactList}\item 
\bf{Fitness} \bf{best\_\-fit}\label{classmo_best_impr_select_dcac897424b5805f146bb1dbb429f2fe}

\begin{CompactList}\small\item\em The best fitness. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class M$>$ class mo\-Best\-Impr\-Select$<$ M $>$}

One of the possible \doxyref{mo\-Move\-Select}{p.}{classmo_move_select}. 

All neighbors are considered, and the movement which enables the best improvement is selected. 



Definition at line 47 of file mo\-Best\-Impr\-Select.h.

\subsection{Member Function Documentation}
\index{moBestImprSelect@{mo\-Best\-Impr\-Select}!update@{update}}
\index{update@{update}!moBestImprSelect@{mo\-Best\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool \bf{mo\-Best\-Impr\-Select}$<$ M $>$::update (const M \& {\em \_\-\_\-move}, const \bf{Fitness} \& {\em \_\-\_\-fit})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmo_best_impr_select_d10e3e6f8a0277731e95ef506d064d6d}


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

If the given fitness enables an improvment, the move (\doxyref{mo\-Move}{p.}{classmo_move}) and the fitness linked to this move are saved.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move}]a move. \item[{\em \_\-\_\-fit}]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{mo\-Move\-Select$<$ M $>$} \doxyref{p.}{classmo_move_select_7c157b6e64fd417acf6e900059204eb1}.

Definition at line 72 of file mo\-Best\-Impr\-Select.h.

References mo\-Best\-Impr\-Select$<$ M $>$::best\_\-fit, mo\-Best\-Impr\-Select$<$ M $>$::best\_\-move, and mo\-Best\-Impr\-Select$<$ M $>$::first\_\-time.\index{moBestImprSelect@{mo\-Best\-Impr\-Select}!operator()@{operator()}}
\index{operator()@{operator()}!moBestImprSelect@{mo\-Best\-Impr\-Select}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ void \bf{mo\-Best\-Impr\-Select}$<$ M $>$::operator() (M \& {\em \_\-\_\-move}, \bf{Fitness} \& {\em \_\-\_\-fit})  throw (\bf{Empty\-Selection})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmo_best_impr_select_169773d4d127acd782cf379f758222da}


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 \_\-\_\-fit}]the current fitness (result of the procedure). \end{description}
\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em \doxyref{Empty\-Selection}{p.}{class_empty_selection}}]if no move has improved the fitness. \end{description}
\end{Desc}


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

Definition at line 93 of file mo\-Best\-Impr\-Select.h.

References mo\-Best\-Impr\-Select$<$ M $>$::best\_\-fit, mo\-Best\-Impr\-Select$<$ M $>$::best\_\-move, and mo\-Best\-Impr\-Select$<$ M $>$::first\_\-time.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
mo\-Best\-Impr\-Select.h\end{CompactItemize}
