\section{moILS$<$ M $>$ Class Template Reference}
\label{classmo_i_l_s}\index{moILS@{moILS}}
Iterated Local Search (ILS).  


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

Inheritance diagram for moILS$<$ M $>$::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classmo_i_l_s}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf moILS} ({\bf moAlgo}$<$ {\bf EOT} $>$ \&\_\-\_\-algo, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Generic constructor. \item\end{CompactList}\item 
{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \&\_\-\_\-move\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moMoveSelect}$<$ M $>$ \&\_\-\_\-move\_\-select, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Constructor for using a \doxyref{moHC}{p.}{classmo_h_c} for the \doxyref{moAlgo}{p.}{classmo_algo}. \item\end{CompactList}\item 
{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \&\_\-\_\-move\_\-init, {\bf moNextMove}$<$ M $>$ \&\_\-\_\-next\_\-move, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moTabuList}$<$ M $>$ \&\_\-\_\-tabu\_\-list, {\bf moAspirCrit}$<$ M $>$ \&\_\-\_\-aspir\_\-crit, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-moTS\_\-continue, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Constructor for using a \doxyref{moTS}{p.}{classmo_t_s} for the \doxyref{moAlgo}{p.}{classmo_algo}. \item\end{CompactList}\item 
{\bf moILS} ({\bf moRandMove}$<$ M $>$ \&\_\-\_\-move\_\-rand, {\bf moMoveIncrEval}$<$ M $>$ \&\_\-\_\-incr\_\-eval, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-moSA\_\-continue, double \_\-\_\-init\_\-temp, {\bf moCoolingSchedule} \&\_\-\_\-cool\_\-sched, {\bf moSolContinue}$<$ {\bf EOT} $>$ \&\_\-\_\-continue, {\bf moComparator}$<$ {\bf EOT} $>$ \&\_\-\_\-acceptance\_\-criterion, {\bf eoMonOp}$<$ {\bf EOT} $>$ \&\_\-\_\-perturbation, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \&\_\-\_\-full\_\-eval)
\begin{CompactList}\small\item\em Constructor for using a \doxyref{moSA}{p.}{classmo_s_a} for the \doxyref{moAlgo}{p.}{classmo_algo}. \item\end{CompactList}\item 
bool {\bf operator()} ({\bf EOT} \&\_\-\_\-sol)
\begin{CompactList}\small\item\em {\bf Function} which launches the ILS. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Types}
\begin{CompactItemize}
\item 
typedef M::EOType {\bf EOT}\label{classmo_i_l_s_c81bafc611e4d4fd44347cf7162198c7}

\begin{CompactList}\small\item\em Alias for the type. \item\end{CompactList}\item 
typedef EOT::Fitness {\bf Fitness}\label{classmo_i_l_s_8c464a9eae064a78eff75d4c722b619c}

\begin{CompactList}\small\item\em Alias for the fitness. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
{\bf moAlgo}$<$ {\bf EOT} $>$ \& {\bf algo}\label{classmo_i_l_s_8373e40b60afdd761789a97b47adece9}

\begin{CompactList}\small\item\em The solution based heuristic. \item\end{CompactList}\item 
{\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\bf cont}\label{classmo_i_l_s_c3046ba0a31a35470391987ac37afd64}

\begin{CompactList}\small\item\em The stopping criterion. \item\end{CompactList}\item 
{\bf moComparator}$<$ {\bf EOT} $>$ \& {\bf acceptance\_\-criterion}\label{classmo_i_l_s_295f6d0342c67bd3dc4cb82e2adc26be}

\begin{CompactList}\small\item\em The acceptance criterion. \item\end{CompactList}\item 
{\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\bf perturbation}\label{classmo_i_l_s_f667a1bda06b6d221292df9aba3db8a2}

\begin{CompactList}\small\item\em The perturbation generator. \item\end{CompactList}\item 
{\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\bf full\_\-eval}\label{classmo_i_l_s_8000f02fac668d51026e458c9febce7c}

\begin{CompactList}\small\item\em The full evaluation function. \item\end{CompactList}\end{CompactItemize}


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

Iterated Local Search (ILS). 

Class which describes the algorithm for a iterated local search. 



Definition at line 25 of file moILS.h.

\subsection{Constructor \& Destructor Documentation}
\index{moILS@{moILS}!moILS@{moILS}}
\index{moILS@{moILS}!moILS@{moILS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moAlgo}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-algo}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt  [inline]}}\label{classmo_i_l_s_f7f2fc1f905954d78edcec0e3ca53551}


Generic constructor. 

Generic constructor using a \doxyref{moAlgo}{p.}{classmo_algo}

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-algo}]The solution based heuristic to use. \item[{\em \_\-\_\-continue}]The stopping criterion. \item[{\em \_\-\_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-\_\-perturbation}]The pertubation generator. \item[{\em \_\-\_\-full\_\-eval}]The evaluation function. \end{description}
\end{Desc}


Definition at line 46 of file moILS.h.\index{moILS@{moILS}!moILS@{moILS}}
\index{moILS@{moILS}!moILS@{moILS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moMoveSelect}$<$ M $>$ \& {\em \_\-\_\-move\_\-select}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt  [inline]}}\label{classmo_i_l_s_c4ebdab294ee1085ddcb9bf2a6882cf0}


Constructor for using a \doxyref{moHC}{p.}{classmo_h_c} for the \doxyref{moAlgo}{p.}{classmo_algo}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-init}]The move initialisation (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-\_\-next\_\-move}]The move generator (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-\_\-incr\_\-eval}]The partial evaluation function (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-\_\-move\_\-select}]The move selection strategy (for the \doxyref{moHC}{p.}{classmo_h_c}). \item[{\em \_\-\_\-continue}]The stopping criterion. \item[{\em \_\-\_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-\_\-perturbation}]The pertubation generator. \item[{\em \_\-\_\-full\_\-eval}]The evaluation function. \end{description}
\end{Desc}


Definition at line 62 of file moILS.h.\index{moILS@{moILS}!moILS@{moILS}}
\index{moILS@{moILS}!moILS@{moILS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moMoveInit}$<$ M $>$ \& {\em \_\-\_\-move\_\-init}, {\bf moNextMove}$<$ M $>$ \& {\em \_\-\_\-next\_\-move}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moTabuList}$<$ M $>$ \& {\em \_\-\_\-tabu\_\-list}, {\bf moAspirCrit}$<$ M $>$ \& {\em \_\-\_\-aspir\_\-crit}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-moTS\_\-continue}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt  [inline]}}\label{classmo_i_l_s_d27e3435b8f6592091431fde6f185769}


Constructor for using a \doxyref{moTS}{p.}{classmo_t_s} for the \doxyref{moAlgo}{p.}{classmo_algo}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-init}]The move initialisation (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-\_\-next\_\-move}]The move generator (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-\_\-incr\_\-eval}]The partial evaluation function (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-\_\-tabu\_\-list}]The tabu list (for the \doxyref{moTS}{p.}{classmo_t_s} !!!!). \item[{\em \_\-\_\-aspir\_\-crit}]The aspiration criterion (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-\_\-moTS\_\-continue}]The stopping criterion (for the \doxyref{moTS}{p.}{classmo_t_s}). \item[{\em \_\-\_\-continue}]The stopping criterion. \item[{\em \_\-\_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-\_\-perturbation}]The pertubation generator. \item[{\em \_\-\_\-full\_\-eval}]The evaluation function. \end{description}
\end{Desc}


Definition at line 82 of file moILS.h.\index{moILS@{moILS}!moILS@{moILS}}
\index{moILS@{moILS}!moILS@{moILS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ {\bf moILS}$<$ M $>$::{\bf moILS} ({\bf moRandMove}$<$ M $>$ \& {\em \_\-\_\-move\_\-rand}, {\bf moMoveIncrEval}$<$ M $>$ \& {\em \_\-\_\-incr\_\-eval}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-moSA\_\-continue}, double {\em \_\-\_\-init\_\-temp}, {\bf moCoolingSchedule} \& {\em \_\-\_\-cool\_\-sched}, {\bf moSolContinue}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-continue}, {\bf moComparator}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-acceptance\_\-criterion}, {\bf eoMonOp}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-perturbation}, {\bf eoEvalFunc}$<$ {\bf EOT} $>$ \& {\em \_\-\_\-full\_\-eval})\hspace{0.3cm}{\tt  [inline]}}\label{classmo_i_l_s_292acc5218e8f148e8b174f183820696}


Constructor for using a \doxyref{moSA}{p.}{classmo_s_a} for the \doxyref{moAlgo}{p.}{classmo_algo}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-move\_\-rand}]The random move generator (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-\_\-incr\_\-eval}]The partial evaluation function (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-\_\-moSA\_\-continue}]The stopping criterion (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-\_\-init\_\-temp}]The initial temperature (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-\_\-cool\_\-sched}]The cooling scheduler (for the \doxyref{moSA}{p.}{classmo_s_a}). \item[{\em \_\-\_\-continue}]The stopping criterion. \item[{\em \_\-\_\-acceptance\_\-criterion}]The acceptance criterion. \item[{\em \_\-\_\-perturbation}]The pertubation generator. \item[{\em \_\-\_\-full\_\-eval}]The evaluation function. \end{description}
\end{Desc}


Definition at line 102 of file moILS.h.

\subsection{Member Function Documentation}
\index{moILS@{moILS}!operator()@{operator()}}
\index{operator()@{operator()}!moILS@{moILS}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class M$>$ bool {\bf moILS}$<$ M $>$::operator() ({\bf EOT} \& {\em \_\-\_\-sol})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmo_i_l_s_b3954a77b43fee31122d2a210b2a82d7}


{\bf Function} which launches the ILS. 

The ILS has to improve a current solution. As the \doxyref{moSA}{p.}{classmo_s_a}, the \doxyref{moTS}{p.}{classmo_t_s} and the \doxyref{moHC}{p.}{classmo_h_c}, it can be used for HYBRIDATION in an evolutionnary algorithm.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em \_\-\_\-sol}]a current solution to improve. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]TRUE. \end{Desc}


Implements {\bf eoUF$<$ M::EOType \&, bool $>$}.

Definition at line 119 of file moILS.h.

References moILS$<$ M $>$::acceptance\_\-criterion, moILS$<$ M $>$::algo, moILS$<$ M $>$::cont, moILS$<$ M $>$::full\_\-eval, and moILS$<$ M $>$::perturbation.

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