\hypertarget{classmoeo_i_l_s}{}\doxysection{moeo\+I\+LS$<$ M $>$ Class Template Reference}
\label{classmoeo_i_l_s}\index{moeoILS$<$ M $>$@{moeoILS$<$ M $>$}}


Iterated Local Search (I\+LS)  




{\ttfamily \#include $<$moeo\+I\+L\+S.\+h$>$}



Inheritance diagram for moeo\+I\+LS$<$ M $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=292pt]{classmoeo_i_l_s__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for moeo\+I\+LS$<$ M $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=292pt]{classmoeo_i_l_s__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classmoeo_i_l_s_ac18e96badbc938ff6fffd7569b1c620b}\label{classmoeo_i_l_s_ac18e96badbc938ff6fffd7569b1c620b}} 
typedef M\+::\+E\+O\+Type {\bfseries M\+O\+E\+OT}
\item 
\mbox{\Hypertarget{classmoeo_i_l_s_a60bc53509e5c6487678fe5a970f2a863}\label{classmoeo_i_l_s_a60bc53509e5c6487678fe5a970f2a863}} 
typedef M\+O\+E\+O\+T\+::\+Objective\+Vector {\bfseries Objective\+Vector}
\item 
\mbox{\Hypertarget{classmoeo_i_l_s_a7dbe6e4203165fb6ed23904d830d9ad3}\label{classmoeo_i_l_s_a7dbe6e4203165fb6ed23904d830d9ad3}} 
typedef M\+O\+E\+O\+T\+::\+Fitness {\bfseries Fitness}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmoeo_i_l_s_a7eaca8f626053235ca8dfbfd98e5e26c}{moeo\+I\+LS}} (\mbox{\hyperlink{classmoeo_sol_algo}{moeo\+Sol\+Algo}}$<$ M\+O\+E\+OT $>$ \&\+\_\+algorithm, mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&\+\_\+continue, \mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&\+\_\+acceptance\+\_\+criterion, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+perturbation, \mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&\+\_\+full\+\_\+evaluation)
\begin{DoxyCompactList}\small\item\em Generic constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classmoeo_i_l_s_a289b7661526901994a7bb6158a5b8659}{moeo\+I\+LS}} (mo\+Move\+Init$<$ M $>$ \&\+\_\+move\+\_\+initializer, mo\+Next\+Move$<$ M $>$ \&\+\_\+next\+\_\+move\+\_\+generator, mo\+Move\+Incr\+Eval$<$ M, Objective\+Vector $>$ \&\+\_\+incremental\+\_\+evaluation, \mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&\+\_\+singler, mo\+Move\+Select$<$ M $>$ \&\+\_\+move\+\_\+selection, mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&\+\_\+continue, \mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&\+\_\+acceptance\+\_\+criterion, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+perturbation)
\begin{DoxyCompactList}\small\item\em Constructor for using a mo\+HC. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classmoeo_i_l_s_ac6bb95bfcbf37b73dab628e9d7662d60}{moeo\+I\+LS}} (mo\+Move\+Init$<$ M $>$ \&\+\_\+move\+\_\+initializer, mo\+Next\+Move$<$ M $>$ \&\+\_\+next\+\_\+move\+\_\+generator, mo\+Move\+Incr\+Eval$<$ M, Objective\+Vector $>$ \&\+\_\+incremental\+\_\+evaluation, \mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&\+\_\+singler, \mbox{\hyperlink{classmo_tabu_list}{mo\+Tabu\+List}}$<$ M $>$ \&\+\_\+tabu\+\_\+list, mo\+Aspir\+Crit$<$ M $>$ \&\+\_\+aspiration\+\_\+criterion, mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&\+\_\+mo\+T\+S\+\_\+continue, mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&\+\_\+continue, \mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&\+\_\+acceptance\+\_\+criterion, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+perturbation)
\begin{DoxyCompactList}\small\item\em Constructor for using a \mbox{\hyperlink{classmo_t_s}{mo\+TS}} for the mo\+Algo. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classmoeo_i_l_s_aaad135918ffc3f981f151ab525584a12}{moeo\+I\+LS}} (mo\+Rand\+Move$<$ M $>$ \&\+\_\+random\+\_\+move\+\_\+generator, mo\+Move\+Incr\+Eval$<$ M, Objective\+Vector $>$ \&\+\_\+incremental\+\_\+evaluation, \mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&\+\_\+singler, mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&\+\_\+mo\+S\+A\+\_\+continue, double \+\_\+initial\+\_\+temperature, \mbox{\hyperlink{classmo_cooling_schedule}{mo\+Cooling\+Schedule}} \&\+\_\+cooling\+\_\+schedule, mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&\+\_\+continue, \mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&\+\_\+acceptance\+\_\+criterion, \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&\+\_\+perturbation)
\begin{DoxyCompactList}\small\item\em Constructor for using a \mbox{\hyperlink{classmo_s_a}{mo\+SA}} for the mo\+Algo. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classmoeo_i_l_s_aabef8f379110045e0032542492232b86}{operator()}} (M\+O\+E\+OT \&\+\_\+solution)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{struct_function}{Function}} which launches the I\+LS. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class M$>$\newline
class moeo\+I\+L\+S$<$ M $>$}

Iterated Local Search (I\+LS) 

Class which describes the algorithm for a iterated local search. Adapts the \mbox{\hyperlink{classmo_i_l_s}{mo\+I\+LS}} for a multi-\/objective problem using a \mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}. M is for Move 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmoeo_i_l_s_a7eaca8f626053235ca8dfbfd98e5e26c}\label{classmoeo_i_l_s_a7eaca8f626053235ca8dfbfd98e5e26c}} 
\index{moeoILS$<$ M $>$@{moeoILS$<$ M $>$}!moeoILS@{moeoILS}}
\index{moeoILS@{moeoILS}!moeoILS$<$ M $>$@{moeoILS$<$ M $>$}}
\doxysubsubsection{\texorpdfstring{moeoILS()}{moeoILS()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$class M $>$ \\
\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}}$<$ M $>$\+::\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmoeo_sol_algo}{moeo\+Sol\+Algo}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+algorithm,  }\item[{mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continue,  }\item[{\mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+acceptance\+\_\+criterion,  }\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+perturbation,  }\item[{\mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+full\+\_\+evaluation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Generic constructor. 

Generic constructor using a mo\+Algo


\begin{DoxyParams}{Parameters}
{\em \+\_\+algorithm} & The solution based heuristic to use. \\
\hline
{\em \+\_\+continue} & The stopping criterion. \\
\hline
{\em \+\_\+acceptance\+\_\+criterion} & The acceptance criterion. \\
\hline
{\em \+\_\+perturbation} & The pertubation generator. \\
\hline
{\em \+\_\+full\+\_\+evaluation} & The evaluation function. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_i_l_s_a289b7661526901994a7bb6158a5b8659}\label{classmoeo_i_l_s_a289b7661526901994a7bb6158a5b8659}} 
\index{moeoILS$<$ M $>$@{moeoILS$<$ M $>$}!moeoILS@{moeoILS}}
\index{moeoILS@{moeoILS}!moeoILS$<$ M $>$@{moeoILS$<$ M $>$}}
\doxysubsubsection{\texorpdfstring{moeoILS()}{moeoILS()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$class M $>$ \\
\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}}$<$ M $>$\+::\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}} (\begin{DoxyParamCaption}\item[{mo\+Move\+Init$<$ M $>$ \&}]{\+\_\+move\+\_\+initializer,  }\item[{mo\+Next\+Move$<$ M $>$ \&}]{\+\_\+next\+\_\+move\+\_\+generator,  }\item[{mo\+Move\+Incr\+Eval$<$ M, Objective\+Vector $>$ \&}]{\+\_\+incremental\+\_\+evaluation,  }\item[{\mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+singler,  }\item[{mo\+Move\+Select$<$ M $>$ \&}]{\+\_\+move\+\_\+selection,  }\item[{mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continue,  }\item[{\mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+acceptance\+\_\+criterion,  }\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+perturbation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Constructor for using a mo\+HC. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+move\+\_\+initializer} & The move initialisation (for the mo\+HC). \\
\hline
{\em \+\_\+next\+\_\+move\+\_\+generator} & The move generator (for the mo\+HC). \\
\hline
{\em \+\_\+incremental\+\_\+evaluation} & The partial evaluation function (for the mo\+HC). \\
\hline
{\em \+\_\+singler} & a single\+Objectivizer to translate objective\+Vectors into fitness \\
\hline
{\em \+\_\+move\+\_\+selection} & The move selection strategy (for the mo\+HC). \\
\hline
{\em \+\_\+continue} & The stopping criterion. \\
\hline
{\em \+\_\+acceptance\+\_\+criterion} & The acceptance criterion. \\
\hline
{\em \+\_\+perturbation} & The pertubation generator. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_i_l_s_ac6bb95bfcbf37b73dab628e9d7662d60}\label{classmoeo_i_l_s_ac6bb95bfcbf37b73dab628e9d7662d60}} 
\index{moeoILS$<$ M $>$@{moeoILS$<$ M $>$}!moeoILS@{moeoILS}}
\index{moeoILS@{moeoILS}!moeoILS$<$ M $>$@{moeoILS$<$ M $>$}}
\doxysubsubsection{\texorpdfstring{moeoILS()}{moeoILS()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$class M $>$ \\
\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}}$<$ M $>$\+::\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}} (\begin{DoxyParamCaption}\item[{mo\+Move\+Init$<$ M $>$ \&}]{\+\_\+move\+\_\+initializer,  }\item[{mo\+Next\+Move$<$ M $>$ \&}]{\+\_\+next\+\_\+move\+\_\+generator,  }\item[{mo\+Move\+Incr\+Eval$<$ M, Objective\+Vector $>$ \&}]{\+\_\+incremental\+\_\+evaluation,  }\item[{\mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+singler,  }\item[{\mbox{\hyperlink{classmo_tabu_list}{mo\+Tabu\+List}}$<$ M $>$ \&}]{\+\_\+tabu\+\_\+list,  }\item[{mo\+Aspir\+Crit$<$ M $>$ \&}]{\+\_\+aspiration\+\_\+criterion,  }\item[{mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+mo\+T\+S\+\_\+continue,  }\item[{mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continue,  }\item[{\mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+acceptance\+\_\+criterion,  }\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+perturbation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Constructor for using a \mbox{\hyperlink{classmo_t_s}{mo\+TS}} for the mo\+Algo. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+move\+\_\+initializer} & The move initialisation (for the \mbox{\hyperlink{classmo_t_s}{mo\+TS}}). \\
\hline
{\em \+\_\+next\+\_\+move\+\_\+generator} & The move generator (for the \mbox{\hyperlink{classmo_t_s}{mo\+TS}}). \\
\hline
{\em \+\_\+incremental\+\_\+evaluation} & The partial evaluation function (for the \mbox{\hyperlink{classmo_t_s}{mo\+TS}}). \\
\hline
{\em \+\_\+singler} & a single\+Objectivizer to translate objective\+Vectors into fitness \\
\hline
{\em \+\_\+tabu\+\_\+list} & The tabu list (for the \mbox{\hyperlink{classmo_t_s}{mo\+TS}} !!!!). \\
\hline
{\em \+\_\+aspiration\+\_\+criterion} & The aspiration criterion (for the \mbox{\hyperlink{classmo_t_s}{mo\+TS}}). \\
\hline
{\em \+\_\+mo\+T\+S\+\_\+continue} & The stopping criterion (for the \mbox{\hyperlink{classmo_t_s}{mo\+TS}}). \\
\hline
{\em \+\_\+continue} & The stopping criterion. \\
\hline
{\em \+\_\+acceptance\+\_\+criterion} & The acceptance criterion. \\
\hline
{\em \+\_\+perturbation} & The pertubation generator. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmoeo_i_l_s_aaad135918ffc3f981f151ab525584a12}\label{classmoeo_i_l_s_aaad135918ffc3f981f151ab525584a12}} 
\index{moeoILS$<$ M $>$@{moeoILS$<$ M $>$}!moeoILS@{moeoILS}}
\index{moeoILS@{moeoILS}!moeoILS$<$ M $>$@{moeoILS$<$ M $>$}}
\doxysubsubsection{\texorpdfstring{moeoILS()}{moeoILS()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$class M $>$ \\
\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}}$<$ M $>$\+::\mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}} (\begin{DoxyParamCaption}\item[{mo\+Rand\+Move$<$ M $>$ \&}]{\+\_\+random\+\_\+move\+\_\+generator,  }\item[{mo\+Move\+Incr\+Eval$<$ M, Objective\+Vector $>$ \&}]{\+\_\+incremental\+\_\+evaluation,  }\item[{\mbox{\hyperlink{classmoeo_single_objectivization}{moeo\+Single\+Objectivization}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+singler,  }\item[{mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+mo\+S\+A\+\_\+continue,  }\item[{double}]{\+\_\+initial\+\_\+temperature,  }\item[{\mbox{\hyperlink{classmo_cooling_schedule}{mo\+Cooling\+Schedule}} \&}]{\+\_\+cooling\+\_\+schedule,  }\item[{mo\+Sol\+Continue$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+continue,  }\item[{\mbox{\hyperlink{classmo_comparator}{mo\+Comparator}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+acceptance\+\_\+criterion,  }\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ M\+O\+E\+OT $>$ \&}]{\+\_\+perturbation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Constructor for using a \mbox{\hyperlink{classmo_s_a}{mo\+SA}} for the mo\+Algo. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+random\+\_\+move\+\_\+generator} & The random move generator (for the \mbox{\hyperlink{classmo_s_a}{mo\+SA}}). \\
\hline
{\em \+\_\+incremental\+\_\+evaluation} & The partial evaluation function (for the \mbox{\hyperlink{classmo_s_a}{mo\+SA}}). \\
\hline
{\em \+\_\+singler} & a single\+Objectivizer to translate objective\+Vectors into fitness \\
\hline
{\em \+\_\+mo\+S\+A\+\_\+continue} & The stopping criterion (for the \mbox{\hyperlink{classmo_s_a}{mo\+SA}}). \\
\hline
{\em \+\_\+initial\+\_\+temperature} & The initial temperature (for the \mbox{\hyperlink{classmo_s_a}{mo\+SA}}). \\
\hline
{\em \+\_\+cooling\+\_\+schedule} & The cooling schedule (for the \mbox{\hyperlink{classmo_s_a}{mo\+SA}}). \\
\hline
{\em \+\_\+continue} & The stopping criterion. \\
\hline
{\em \+\_\+acceptance\+\_\+criterion} & The acceptance criterion. \\
\hline
{\em \+\_\+perturbation} & The pertubation generator. \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmoeo_i_l_s_aabef8f379110045e0032542492232b86}\label{classmoeo_i_l_s_aabef8f379110045e0032542492232b86}} 
\index{moeoILS$<$ M $>$@{moeoILS$<$ M $>$}!operator()@{operator()}}
\index{operator()@{operator()}!moeoILS$<$ M $>$@{moeoILS$<$ M $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$class M $>$ \\
bool \mbox{\hyperlink{classmoeo_i_l_s}{moeo\+I\+LS}}$<$ M $>$\+::operator() (\begin{DoxyParamCaption}\item[{M\+O\+E\+OT \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\mbox{\hyperlink{struct_function}{Function}} which launches the I\+LS. 

The I\+LS has to improve a current solution.


\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & a current solution to improve. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
moeo/src/scalar\+Stuffs/algo/moeo\+I\+L\+S.\+h\end{DoxyCompactItemize}
