199 lines
12 KiB
TeX
199 lines
12 KiB
TeX
\hypertarget{classmo_index_neighbor}{}\doxysection{mo\+Index\+Neighbor$<$ E\+OT, Fitness $>$ Class Template Reference}
|
|
\label{classmo_index_neighbor}\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
|
|
|
|
{\ttfamily \#include $<$mo\+Index\+Neighbor.\+h$>$}
|
|
|
|
|
|
|
|
Inheritance diagram for mo\+Index\+Neighbor$<$ E\+OT, Fitness $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=245pt]{classmo_index_neighbor__inherit__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
|
|
|
|
Collaboration diagram for mo\+Index\+Neighbor$<$ E\+OT, Fitness $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=245pt]{classmo_index_neighbor__coll__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classmo_index_neighbor_ad077e83cb9f7520f143ae412ab2e03f4}{mo\+Index\+Neighbor}} ()
|
|
\item
|
|
\mbox{\hyperlink{classmo_index_neighbor_acc51889423abee4cf7025aff7ebf18bf}{mo\+Index\+Neighbor}} (const \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}} \&\+\_\+n)
|
|
\item
|
|
\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$ \& \mbox{\hyperlink{classmo_index_neighbor_ae9c7759bbd2c3421b3aff933d71c37a8}{operator=}} (const \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$ \&\+\_\+source)
|
|
\item
|
|
virtual std\+::string \mbox{\hyperlink{classmo_index_neighbor_a5677017fdc29481fd851261935063db4}{class\+Name}} () const
|
|
\item
|
|
unsigned int \mbox{\hyperlink{classmo_index_neighbor_a98b4825dbe37db73a1da5bfb1f240bfc}{index}} () const
|
|
\item
|
|
void \mbox{\hyperlink{classmo_index_neighbor_a6bebcaf22ff2dd045e229580934c27ec}{index}} (unsigned int \+\_\+key)
|
|
\item
|
|
virtual void \mbox{\hyperlink{classmo_index_neighbor_aa8251206c8fc5178d29181d6e4147243}{index}} (E\+OT \&\+\_\+solution, unsigned int \+\_\+key)
|
|
\item
|
|
virtual bool \mbox{\hyperlink{classmo_index_neighbor_a38819d295643cd444361256bf4dc99e3}{equals}} (\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT $>$ \&\+\_\+neighbor)
|
|
\item
|
|
virtual void \mbox{\hyperlink{classmo_index_neighbor_a588c63b282323f7fda44ab269c36738b}{print\+On}} (std\+::ostream \&\+\_\+os) const
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsection*{Protected Attributes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\Hypertarget{classmo_index_neighbor_ab7259d8c6bc297057938cd413a943c63}\label{classmo_index_neighbor_ab7259d8c6bc297057938cd413a943c63}}
|
|
unsigned int {\bfseries key}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsection*{Additional Inherited Members}
|
|
|
|
|
|
\doxysubsection{Detailed Description}
|
|
\subsubsection*{template$<$class E\+OT, class Fitness = typename E\+O\+T\+::\+Fitness$>$\newline
|
|
class mo\+Index\+Neighbor$<$ E\+O\+T, Fitness $>$}
|
|
|
|
Index Neighbor
|
|
|
|
\doxysubsection{Constructor \& Destructor Documentation}
|
|
\mbox{\Hypertarget{classmo_index_neighbor_ad077e83cb9f7520f143ae412ab2e03f4}\label{classmo_index_neighbor_ad077e83cb9f7520f143ae412ab2e03f4}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!moIndexNeighbor@{moIndexNeighbor}}
|
|
\index{moIndexNeighbor@{moIndexNeighbor}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{moIndexNeighbor()}{moIndexNeighbor()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Default Constructor \mbox{\Hypertarget{classmo_index_neighbor_acc51889423abee4cf7025aff7ebf18bf}\label{classmo_index_neighbor_acc51889423abee4cf7025aff7ebf18bf}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!moIndexNeighbor@{moIndexNeighbor}}
|
|
\index{moIndexNeighbor@{moIndexNeighbor}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{moIndexNeighbor()}{moIndexNeighbor()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$ \&}]{\+\_\+n }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Copy Constructor
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+n} & the neighbor to copy \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
|
|
\doxysubsection{Member Function Documentation}
|
|
\mbox{\Hypertarget{classmo_index_neighbor_a5677017fdc29481fd851261935063db4}\label{classmo_index_neighbor_a5677017fdc29481fd851261935063db4}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!className@{className}}
|
|
\index{className@{className}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{className()}{className()}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
virtual std\+::string \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::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}
|
|
|
|
|
|
Implements \mbox{\hyperlink{classeo_object_a1c02745db786e7bb46dea93b560fe685}{eo\+Object}}.
|
|
|
|
|
|
|
|
Reimplemented in \mbox{\hyperlink{classmo_bit_neighbor_a34e921c45d1a1201820b235fc66efdc3}{mo\+Bit\+Neighbor$<$ double $>$}}.
|
|
|
|
\mbox{\Hypertarget{classmo_index_neighbor_a38819d295643cd444361256bf4dc99e3}\label{classmo_index_neighbor_a38819d295643cd444361256bf4dc99e3}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!equals@{equals}}
|
|
\index{equals@{equals}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{equals()}{equals()}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
virtual bool \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::equals (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT $>$ \&}]{\+\_\+neighbor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+neighbor} & a neighbor \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\begin{DoxyReturn}{Returns}
|
|
if \+\_\+neighbor and this one are equals
|
|
\end{DoxyReturn}
|
|
\mbox{\Hypertarget{classmo_index_neighbor_a98b4825dbe37db73a1da5bfb1f240bfc}\label{classmo_index_neighbor_a98b4825dbe37db73a1da5bfb1f240bfc}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!index@{index}}
|
|
\index{index@{index}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{index()}{index()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
unsigned int \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::index (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Getter \begin{DoxyReturn}{Returns}
|
|
index of the Index\+Neighbor
|
|
\end{DoxyReturn}
|
|
\mbox{\Hypertarget{classmo_index_neighbor_aa8251206c8fc5178d29181d6e4147243}\label{classmo_index_neighbor_aa8251206c8fc5178d29181d6e4147243}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!index@{index}}
|
|
\index{index@{index}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{index()}{index()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
virtual void \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::index (\begin{DoxyParamCaption}\item[{E\+OT \&}]{\+\_\+solution, }\item[{unsigned int}]{\+\_\+key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}
|
|
|
|
Setter The \char`\"{}parameters\char`\"{} of the neighbor is a function of key and the current solution for example, for variable length solution
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+solution} & solution from which the neighborhood is visited \\
|
|
\hline
|
|
{\em \+\_\+key} & index of the Index\+Neighbor \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
|
|
Reimplemented in \mbox{\hyperlink{classmo_indexed_swap_neighbor_adf1ab16204bfeeef2c061e9041cc179e}{mo\+Indexed\+Swap\+Neighbor$<$ E\+O\+T, Fitness $>$}}, and \mbox{\hyperlink{classmo_shift_neighbor_a23f858ad969d8e5ddaf38156f76021ba}{mo\+Shift\+Neighbor$<$ E\+O\+T, Fitness $>$}}.
|
|
|
|
\mbox{\Hypertarget{classmo_index_neighbor_a6bebcaf22ff2dd045e229580934c27ec}\label{classmo_index_neighbor_a6bebcaf22ff2dd045e229580934c27ec}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!index@{index}}
|
|
\index{index@{index}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{index()}{index()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
void \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::index (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Setter \+: Only set the index which not depends on the current solution
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+key} & index of the Index\+Neighbor \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\mbox{\Hypertarget{classmo_index_neighbor_ae9c7759bbd2c3421b3aff933d71c37a8}\label{classmo_index_neighbor_ae9c7759bbd2c3421b3aff933d71c37a8}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!operator=@{operator=}}
|
|
\index{operator=@{operator=}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
\mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$E\+OT, Fitness$>$\& \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$ \&}]{\+\_\+source }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Assignment operator
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+source} & the source neighbor \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\mbox{\Hypertarget{classmo_index_neighbor_a588c63b282323f7fda44ab269c36738b}\label{classmo_index_neighbor_a588c63b282323f7fda44ab269c36738b}}
|
|
\index{moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}!printOn@{printOn}}
|
|
\index{printOn@{printOn}!moIndexNeighbor$<$ EOT, Fitness $>$@{moIndexNeighbor$<$ EOT, Fitness $>$}}
|
|
\doxysubsubsection{\texorpdfstring{printOn()}{printOn()}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT , class Fitness = typename E\+O\+T\+::\+Fitness$>$ \\
|
|
virtual void \mbox{\hyperlink{classmo_index_neighbor}{mo\+Index\+Neighbor}}$<$ E\+OT, Fitness $>$\+::print\+On (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}
|
|
|
|
Write object with its index
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+os} & A std\+::ostream. \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
|
|
Reimplemented from \mbox{\hyperlink{class_e_o_a3a022b10acf3d67e61c253caf1d76356}{E\+O$<$ typename E\+O\+T\+::\+Fitness $>$}}.
|
|
|
|
|
|
|
|
Reimplemented in \mbox{\hyperlink{classmo_bit_neighbor_a2304396d98282814387c4c194fbb69a4}{mo\+Bit\+Neighbor$<$ Fitness $>$}}, and \mbox{\hyperlink{classmo_bit_neighbor_a2304396d98282814387c4c194fbb69a4}{mo\+Bit\+Neighbor$<$ double $>$}}.
|
|
|
|
|
|
|
|
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
|
|
\item
|
|
mo/src/neighborhood/mo\+Index\+Neighbor.\+h\end{DoxyCompactItemize}
|