\hypertarget{classmo_variable_neighborhood_selection}{}\doxysection{mo\+Variable\+Neighborhood\+Selection$<$ E\+OT $>$ Class Template Reference}
\label{classmo_variable_neighborhood_selection}\index{moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}}


{\ttfamily \#include $<$mo\+Variable\+Neighborhood\+Selection.\+h$>$}



Inheritance diagram for mo\+Variable\+Neighborhood\+Selection$<$ E\+OT $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmo_variable_neighborhood_selection__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual std\+::string \mbox{\hyperlink{classmo_variable_neighborhood_selection_a051705999c1f12a51aed7057b3858fa3}{class\+Name}} () const
\item 
virtual bool \mbox{\hyperlink{classmo_variable_neighborhood_selection_a64cdbb11a302a525e2f62a8e81aa3880}{cont}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+solution)=0
\item 
virtual void \mbox{\hyperlink{classmo_variable_neighborhood_selection_a24a7216e656bca63d6668cf3ac57f96a}{init}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+solution)=0
\item 
virtual void \mbox{\hyperlink{classmo_variable_neighborhood_selection_a3f22b476e239947aafc680fee671da2f}{next}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+solution)=0
\item 
virtual \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& \mbox{\hyperlink{classmo_variable_neighborhood_selection_a2dc54ad5ceb5d80d112ed3fbb0d87701}{get\+Shake}} ()=0
\item 
virtual \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$ \& \mbox{\hyperlink{classmo_variable_neighborhood_selection_a554b6d7eb2dbaa4b85d76cf69b529446}{get\+Local\+Search}} ()=0
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class E\+OT$>$\newline
class mo\+Variable\+Neighborhood\+Selection$<$ E\+O\+T $>$}

This class is used for the Variable Neighborhood Search explorer It gives the sequence of search heuristics based on the different \char`\"{}neighborhoods\char`\"{} The class is built such as the \mbox{\hyperlink{classmo_neighborhood}{mo\+Neighborhood}}" with init, next, cont and two methods to get the heuristics which shake the solution, and which give the local search 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmo_variable_neighborhood_selection_a051705999c1f12a51aed7057b3858fa3}\label{classmo_variable_neighborhood_selection_a051705999c1f12a51aed7057b3858fa3}} 
\index{moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}!className@{className}}
\index{className@{className}!moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual std\+::string \mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Return the class id. \begin{DoxyReturn}{Returns}
the class name as a std\+::string 
\end{DoxyReturn}


Reimplemented in \mbox{\hyperlink{classmo_vector_v_n_selection_af2233b470b1d71e6de5fd7ed3f041a93}{mo\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, \mbox{\hyperlink{classmo_rnd_vector_v_n_selection_ac11e6ee96edbb3c16900fb89f2b7be79}{mo\+Rnd\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, \mbox{\hyperlink{classmo_backward_vector_v_n_selection_af29318b0276ce78297bc7d0f162ded5f}{mo\+Backward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, and \mbox{\hyperlink{classmo_forward_vector_v_n_selection_acc4083fe1d1c61c05e378b80ff2e6d2d}{mo\+Forward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}.

\mbox{\Hypertarget{classmo_variable_neighborhood_selection_a64cdbb11a302a525e2f62a8e81aa3880}\label{classmo_variable_neighborhood_selection_a64cdbb11a302a525e2f62a8e81aa3880}} 
\index{moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}!cont@{cont}}
\index{cont@{cont}!moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{cont()}{cont()}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual bool \mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::cont (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_dummy}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

test if there is still some search heuristics to use \begin{DoxyReturn}{Returns}
true if there is some neighborhood to explore 
\end{DoxyReturn}


Implemented in \mbox{\hyperlink{classmo_rnd_vector_v_n_selection_a7181c777478bf4301b895a5f5830c301}{mo\+Rnd\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, \mbox{\hyperlink{classmo_backward_vector_v_n_selection_a813b96b5f5e7d24364f1b46bb1e4a326}{mo\+Backward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, and \mbox{\hyperlink{classmo_forward_vector_v_n_selection_a2f74491c5c5e1b49a5c822ec094cbeda}{mo\+Forward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}.

\mbox{\Hypertarget{classmo_variable_neighborhood_selection_a554b6d7eb2dbaa4b85d76cf69b529446}\label{classmo_variable_neighborhood_selection_a554b6d7eb2dbaa4b85d76cf69b529446}} 
\index{moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}!getLocalSearch@{getLocalSearch}}
\index{getLocalSearch@{getLocalSearch}!moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{getLocalSearch()}{getLocalSearch()}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\& \mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::get\+Local\+Search (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Get the current local search based on the current neighborhood

\begin{DoxyReturn}{Returns}
current local search 
\end{DoxyReturn}


Implemented in \mbox{\hyperlink{classmo_vector_v_n_selection_a4c05a17d8cf45bf9aa97345607195308}{mo\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}.

\mbox{\Hypertarget{classmo_variable_neighborhood_selection_a2dc54ad5ceb5d80d112ed3fbb0d87701}\label{classmo_variable_neighborhood_selection_a2dc54ad5ceb5d80d112ed3fbb0d87701}} 
\index{moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}!getShake@{getShake}}
\index{getShake@{getShake}!moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{getShake()}{getShake()}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$\mbox{\hyperlink{struct_dummy}{E\+OT}}$>$\& \mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::get\+Shake (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

Get the current \char`\"{}shake\char`\"{} operator based on the current neighborhood

\begin{DoxyReturn}{Returns}
current shake operator 
\end{DoxyReturn}


Implemented in \mbox{\hyperlink{classmo_vector_v_n_selection_a7fac8b721a1c7d6e125d767228527f11}{mo\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}.

\mbox{\Hypertarget{classmo_variable_neighborhood_selection_a24a7216e656bca63d6668cf3ac57f96a}\label{classmo_variable_neighborhood_selection_a24a7216e656bca63d6668cf3ac57f96a}} 
\index{moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}!init@{init}}
\index{init@{init}!moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{init()}{init()}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_dummy}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

put on the first search heuristics 

Implemented in \mbox{\hyperlink{classmo_rnd_vector_v_n_selection_a148fcf413b76150ac0d05b5748e19842}{mo\+Rnd\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, \mbox{\hyperlink{classmo_backward_vector_v_n_selection_a7c901e74fd8fba4d9a463fe4cc7fafbf}{mo\+Backward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, and \mbox{\hyperlink{classmo_forward_vector_v_n_selection_a5b607628c90fa73e9af7f7f89867a13c}{mo\+Forward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}.

\mbox{\Hypertarget{classmo_variable_neighborhood_selection_a3f22b476e239947aafc680fee671da2f}\label{classmo_variable_neighborhood_selection_a3f22b476e239947aafc680fee671da2f}} 
\index{moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}!next@{next}}
\index{next@{next}!moVariableNeighborhoodSelection$<$ EOT $>$@{moVariableNeighborhoodSelection$<$ EOT $>$}}
\doxysubsubsection{\texorpdfstring{next()}{next()}}
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
virtual void \mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::next (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_dummy}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

put the next search heuristics 

Implemented in \mbox{\hyperlink{classmo_rnd_vector_v_n_selection_abe990f3c5d991d808492fd43f67198e3}{mo\+Rnd\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, \mbox{\hyperlink{classmo_backward_vector_v_n_selection_af534cabb9ad9c7bf0fafe1f35f6ab546}{mo\+Backward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}, and \mbox{\hyperlink{classmo_forward_vector_v_n_selection_ab7eb00fcd1c427f15d2b8ce3222e4281}{mo\+Forward\+Vector\+V\+N\+Selection$<$ E\+O\+T $>$}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
mo/src/neighborhood/mo\+Variable\+Neighborhood\+Selection.\+h\end{DoxyCompactItemize}
