\hypertarget{classmo_evaluated_neighborhood}{}\doxysection{mo\+Evaluated\+Neighborhood$<$ Neighbor $>$ Class Template Reference}
\label{classmo_evaluated_neighborhood}\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}


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



Inheritance diagram for mo\+Evaluated\+Neighborhood$<$ Neighbor $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=247pt]{classmo_evaluated_neighborhood__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for mo\+Evaluated\+Neighborhood$<$ Neighbor $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classmo_evaluated_neighborhood__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \mbox{\hyperlink{classeo_bit}{Neighbor\+::\+E\+OT}} \mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classmo_evaluated_neighborhood_afd7024330b0fd7c1bd429eaeafdb76fa}{mo\+Evaluated\+Neighborhood}} (\mbox{\hyperlink{classmo_neighborhood}{mo\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \&\+\_\+original\+Neighborhood, \mbox{\hyperlink{classmo_neighborhood_evaluation}{mo\+Neighborhood\+Evaluation}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \&\+\_\+nh\+Eval)
\item 
virtual bool \mbox{\hyperlink{classmo_evaluated_neighborhood_a4db50db85e455b79676d6ef179ac3d39}{is\+Random}} ()
\item 
virtual bool \mbox{\hyperlink{classmo_evaluated_neighborhood_aa3da51bc920dec8aadeab69a723cf24a}{has\+Neighbor}} (\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&\+\_\+solution)
\item 
virtual void \mbox{\hyperlink{classmo_evaluated_neighborhood_af89c78dbe6effc4b8b02f4b9663eabc8}{init}} (\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&\+\_\+solution, \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&\+\_\+neighbor)
\item 
virtual void \mbox{\hyperlink{classmo_evaluated_neighborhood_a3134d9f6be6f8f6c6ad9b2132de2b100}{next}} (\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&\+\_\+solution, \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&\+\_\+neighbor)
\item 
virtual bool \mbox{\hyperlink{classmo_evaluated_neighborhood_a5454f0a00ec46f6b25b06cec6848e121}{cont}} (\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&\+\_\+solution)
\item 
virtual std\+::string \mbox{\hyperlink{classmo_evaluated_neighborhood_a2fa45889ab0972debcaf0b2ae90fc756}{class\+Name}} () const
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classmo_evaluated_neighborhood_abf651b249fe32b793b7fc9d6beac6959}\label{classmo_evaluated_neighborhood_abf651b249fe32b793b7fc9d6beac6959}} 
\mbox{\hyperlink{classmo_neighborhood}{mo\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \& {\bfseries original\+Neighborhood}
\item 
\mbox{\Hypertarget{classmo_evaluated_neighborhood_a4797f877f5221b977ee150f3411331d5}\label{classmo_evaluated_neighborhood_a4797f877f5221b977ee150f3411331d5}} 
\mbox{\hyperlink{classmo_neighborhood_evaluation}{mo\+Neighborhood\+Evaluation}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \& {\bfseries nh\+Eval}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$class Neighbor$>$\newline
class mo\+Evaluated\+Neighborhood$<$ Neighbor $>$}

A Neighborhood for the evaluation of all neighbors in one step

It is usefull for example in a double incremental evaluation (Q\+AP, U\+B\+QP problems) This class is used in combinaison with the class \mbox{\hyperlink{classmo_neighborhood_evaluation}{mo\+Neighborhood\+Evaluation}} 

\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}\label{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!EOT@{EOT}}
\index{EOT@{EOT}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{EOT}{EOT}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
typedef \mbox{\hyperlink{classeo_bit}{Neighbor\+::\+E\+OT}} \mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}}}

Define type of a solution corresponding to Neighbor 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classmo_evaluated_neighborhood_afd7024330b0fd7c1bd429eaeafdb76fa}\label{classmo_evaluated_neighborhood_afd7024330b0fd7c1bd429eaeafdb76fa}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!moEvaluatedNeighborhood@{moEvaluatedNeighborhood}}
\index{moEvaluatedNeighborhood@{moEvaluatedNeighborhood}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{moEvaluatedNeighborhood()}{moEvaluatedNeighborhood()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
\mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_neighborhood}{mo\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \&}]{\+\_\+original\+Neighborhood,  }\item[{\mbox{\hyperlink{classmo_neighborhood_evaluation}{mo\+Neighborhood\+Evaluation}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$ \&}]{\+\_\+nh\+Eval }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Constructor 
\begin{DoxyParams}{Parameters}
{\em \+\_\+original\+Neighborhood} & the original neighborhood to apply \\
\hline
{\em \+\_\+nh\+Eval} & the evaluation function of the neighborhood \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classmo_evaluated_neighborhood_a2fa45889ab0972debcaf0b2ae90fc756}\label{classmo_evaluated_neighborhood_a2fa45889ab0972debcaf0b2ae90fc756}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!className@{className}}
\index{className@{className}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{className()}{className()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual std\+::string \mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

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


Reimplemented from \mbox{\hyperlink{classmo_neighborhood_a6ed673e57794bfe49d80a2adf6ed3e77}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_evaluated_neighborhood_a5454f0a00ec46f6b25b06cec6848e121}\label{classmo_evaluated_neighborhood_a5454f0a00ec46f6b25b06cec6848e121}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!cont@{cont}}
\index{cont@{cont}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{cont()}{cont()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual bool \mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::cont (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

give the continuation with the original neighborhood


\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if there is again a neighbor to explore 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classmo_neighborhood_a4093914507138339f3756ff5edaf6531}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_evaluated_neighborhood_aa3da51bc920dec8aadeab69a723cf24a}\label{classmo_evaluated_neighborhood_aa3da51bc920dec8aadeab69a723cf24a}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!hasNeighbor@{hasNeighbor}}
\index{hasNeighbor@{hasNeighbor}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{hasNeighbor()}{hasNeighbor()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual bool \mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::has\+Neighbor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\mbox{\hyperlink{struct_test}{Test}} if a neighbor exists 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if the neighborhood was not empty 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classmo_neighborhood_a9a4b6ca2bcf76697145509eb35baf3be}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_evaluated_neighborhood_af89c78dbe6effc4b8b02f4b9663eabc8}\label{classmo_evaluated_neighborhood_af89c78dbe6effc4b8b02f4b9663eabc8}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!init@{init}}
\index{init@{init}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{init()}{init()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&}]{\+\_\+solution,  }\item[{\mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&}]{\+\_\+neighbor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Initialization of the neighborhood with the full evaluation


\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
{\em \+\_\+neighbor} & the first neighbor \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classmo_neighborhood_a0022065ea8d42fa00768896648badf5c}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_evaluated_neighborhood_a4db50db85e455b79676d6ef179ac3d39}\label{classmo_evaluated_neighborhood_a4db50db85e455b79676d6ef179ac3d39}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!isRandom@{isRandom}}
\index{isRandom@{isRandom}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{isRandom()}{isRandom()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual bool \mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::is\+Random (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
true if the neighborhood is random (default false) 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{classmo_neighborhood_a6fc17b91d591a56424b79ce0b4b42909}{mo\+Neighborhood$<$ Neighbor $>$}}.

\mbox{\Hypertarget{classmo_evaluated_neighborhood_a3134d9f6be6f8f6c6ad9b2132de2b100}\label{classmo_evaluated_neighborhood_a3134d9f6be6f8f6c6ad9b2132de2b100}} 
\index{moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}!next@{next}}
\index{next@{next}!moEvaluatedNeighborhood$<$ Neighbor $>$@{moEvaluatedNeighborhood$<$ Neighbor $>$}}
\doxysubsubsection{\texorpdfstring{next()}{next()}}
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
virtual void \mbox{\hyperlink{classmo_evaluated_neighborhood}{mo\+Evaluated\+Neighborhood}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::next (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_evaluated_neighborhood_a8fbab33af1d0674deb3dbd0beac03e2b}{E\+OT}} \&}]{\+\_\+solution,  }\item[{\mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} \&}]{\+\_\+neighbor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Give the next neighbor with the original neighborhood 
\begin{DoxyParams}{Parameters}
{\em \+\_\+solution} & the solution to explore \\
\hline
{\em \+\_\+neighbor} & the next neighbor \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{classmo_neighborhood_a984c484c44c9852d0f971856d12092ed}{mo\+Neighborhood$<$ Neighbor $>$}}.



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