\hypertarget{classmo_v_n_sexplorer}{}\doxysection{mo\+V\+N\+Sexplorer$<$ Neighbor $>$ Class Template Reference}
\label{classmo_v_n_sexplorer}\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}


{\ttfamily \#include $<$mo\+V\+N\+Sexplorer.\+h$>$}



Inheritance diagram for mo\+V\+N\+Sexplorer$<$ Neighbor $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=334pt]{classmo_v_n_sexplorer__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for mo\+V\+N\+Sexplorer$<$ Neighbor $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmo_v_n_sexplorer__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classmo_v_n_sexplorer_a96b9e54dee3b2bb01c7854176c965ab8}\label{classmo_v_n_sexplorer_a96b9e54dee3b2bb01c7854176c965ab8}} 
typedef \mbox{\hyperlink{classeo_bit}{Neighbor\+::\+E\+OT}} {\bfseries E\+OT}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmo_v_n_sexplorer_a9f75e7650a7b84ee8bf57bcc8306e41a}{mo\+V\+N\+Sexplorer}} ()
\item 
\mbox{\hyperlink{classmo_v_n_sexplorer_a11ebddc44aca584b7d099e16cbe602ed}{mo\+V\+N\+Sexplorer}} (\mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&\+\_\+selection, \mbox{\hyperlink{classmo_acceptance_criterion}{mo\+Acceptance\+Criterion}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \&\+\_\+accept\+Crit)
\item 
\mbox{\hyperlink{classmo_v_n_sexplorer_aab52f62716d58ffbac9bc35462a47f1f}{$\sim$mo\+V\+N\+Sexplorer}} ()
\item 
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer_aef1bef902e892bbd2aa101a6c3aa24bc}{init\+Param}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
\item 
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer_a03dc7a16b7bc3059308f1588f355f636}{update\+Param}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
\item 
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer_a16f31b42c9b1bccc4f594c993d45e495}{terminate}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
\item 
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer_af83a1039d1fc6668ef2454a73ce63a11}{operator()}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
\item 
virtual bool \mbox{\hyperlink{classmo_v_n_sexplorer_a08c848ad28fcd46f19b2792f67a9fba6}{is\+Continue}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
\item 
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer_a2eeafb81ba973e1e58ef3dc3eedd59e0}{move}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
\item 
virtual bool \mbox{\hyperlink{classmo_v_n_sexplorer_ace7f78ddd813ba93bdeca385f7a044b2}{accept}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
\item 
virtual std\+::string \mbox{\hyperlink{classmo_v_n_sexplorer_a7772c590a624ccab1baa97b9a58023ca}{class\+Name}} () const
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class Neighbor$>$\newline
class mo\+V\+N\+Sexplorer$<$ Neighbor $>$}

Explorer for the \char`\"{}\+Variable Neighborhood Search\char`\"{} metaheuristic 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmo_v_n_sexplorer_a9f75e7650a7b84ee8bf57bcc8306e41a}\label{classmo_v_n_sexplorer_a9f75e7650a7b84ee8bf57bcc8306e41a}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!moVNSexplorer@{moVNSexplorer}}
\index{moVNSexplorer@{moVNSexplorer}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{moVNSexplorer()}{moVNSexplorer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
\mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Default constructor \mbox{\Hypertarget{classmo_v_n_sexplorer_a11ebddc44aca584b7d099e16cbe602ed}\label{classmo_v_n_sexplorer_a11ebddc44aca584b7d099e16cbe602ed}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!moVNSexplorer@{moVNSexplorer}}
\index{moVNSexplorer@{moVNSexplorer}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{moVNSexplorer()}{moVNSexplorer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
\mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_variable_neighborhood_selection}{mo\+Variable\+Neighborhood\+Selection}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&}]{\+\_\+selection,  }\item[{\mbox{\hyperlink{classmo_acceptance_criterion}{mo\+Acceptance\+Criterion}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \&}]{\+\_\+accept\+Crit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor 
\begin{DoxyParams}{Parameters}
{\em \+\_\+selection} & selection the \char`\"{}neighborhood\char`\"{} search heuristics during the search \\
\hline
{\em \+\_\+accept\+Crit} & acceptance criteria which compare and accept or not the two solutions \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmo_v_n_sexplorer_aab52f62716d58ffbac9bc35462a47f1f}\label{classmo_v_n_sexplorer_aab52f62716d58ffbac9bc35462a47f1f}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!````~moVNSexplorer@{$\sim$moVNSexplorer}}
\index{````~moVNSexplorer@{$\sim$moVNSexplorer}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$moVNSexplorer()}{~moVNSexplorer()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
\mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::$\sim$\mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Empty destructor 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmo_v_n_sexplorer_ace7f78ddd813ba93bdeca385f7a044b2}\label{classmo_v_n_sexplorer_ace7f78ddd813ba93bdeca385f7a044b2}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!accept@{accept}}
\index{accept@{accept}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{accept()}{accept()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual bool \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::accept (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

accept test if an amelirated neighbor was be found according to acceptance criteria 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if the neighbor ameliorate the fitness 
\end{DoxyReturn}
\mbox{\Hypertarget{classmo_v_n_sexplorer_a7772c590a624ccab1baa97b9a58023ca}\label{classmo_v_n_sexplorer_a7772c590a624ccab1baa97b9a58023ca}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!className@{className}}
\index{className@{className}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual std\+::string \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::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 from \mbox{\hyperlink{classeo_functor_base}{eo\+Functor\+Base}}.

\mbox{\Hypertarget{classmo_v_n_sexplorer_aef1bef902e892bbd2aa101a6c3aa24bc}\label{classmo_v_n_sexplorer_aef1bef902e892bbd2aa101a6c3aa24bc}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!initParam@{initParam}}
\index{initParam@{initParam}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{initParam()}{initParam()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::init\+Param (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Initialization on the initial search opeartors based on the \char`\"{}first\char`\"{} neighborhood 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the current solution \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmo_v_n_sexplorer_a08c848ad28fcd46f19b2792f67a9fba6}\label{classmo_v_n_sexplorer_a08c848ad28fcd46f19b2792f67a9fba6}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!isContinue@{isContinue}}
\index{isContinue@{isContinue}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{isContinue()}{isContinue()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual bool \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::is\+Continue (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

continue if a move is accepted 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if an ameliorated neighbor was be found 
\end{DoxyReturn}
\mbox{\Hypertarget{classmo_v_n_sexplorer_a2eeafb81ba973e1e58ef3dc3eedd59e0}\label{classmo_v_n_sexplorer_a2eeafb81ba973e1e58ef3dc3eedd59e0}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!move@{move}}
\index{move@{move}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{move()}{move()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::move (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

move the solution with to current accepted solution 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to move \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmo_v_n_sexplorer_af83a1039d1fc6668ef2454a73ce63a11}\label{classmo_v_n_sexplorer_af83a1039d1fc6668ef2454a73ce63a11}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!operator()@{operator()}}
\index{operator()@{operator()}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::operator() (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Explore the neighborhood of a solution by the \char`\"{}neighborhood\char`\"{} search heuristics 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the current solution \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classmo_v_n_sexplorer_a16f31b42c9b1bccc4f594c993d45e495}\label{classmo_v_n_sexplorer_a16f31b42c9b1bccc4f594c993d45e495}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!terminate@{terminate}}
\index{terminate@{terminate}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{terminate()}{terminate()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::terminate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

terminate\+: return the best solution found \mbox{\Hypertarget{classmo_v_n_sexplorer_a03dc7a16b7bc3059308f1588f355f636}\label{classmo_v_n_sexplorer_a03dc7a16b7bc3059308f1588f355f636}} 
\index{moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}!updateParam@{updateParam}}
\index{updateParam@{updateParam}!moVNSexplorer$<$ Neighbor $>$@{moVNSexplorer$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{updateParam()}{updateParam()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_v_n_sexplorer}{mo\+V\+N\+Sexplorer}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::update\+Param (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Change the search operators on the next neighborhood search. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the current solution \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
mo/src/explorer/mo\+V\+N\+Sexplorer.\+h\end{DoxyCompactItemize}
