\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}