108 lines
6.5 KiB
TeX
108 lines
6.5 KiB
TeX
\hypertarget{classmo_mon_op_perturb}{}\doxysection{mo\+Mon\+Op\+Perturb$<$ Neighbor $>$ Class Template Reference}
|
|
\label{classmo_mon_op_perturb}\index{moMonOpPerturb$<$ Neighbor $>$@{moMonOpPerturb$<$ Neighbor $>$}}
|
|
|
|
|
|
{\ttfamily \#include $<$mo\+Mon\+Op\+Perturb.\+h$>$}
|
|
|
|
|
|
|
|
Inheritance diagram for mo\+Mon\+Op\+Perturb$<$ Neighbor $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{classmo_mon_op_perturb__inherit__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
|
|
|
|
Collaboration diagram for mo\+Mon\+Op\+Perturb$<$ Neighbor $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{classmo_mon_op_perturb__coll__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsection*{Public Types}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\Hypertarget{classmo_mon_op_perturb_a2932b46150a3fa30a1394efed86ac089}\label{classmo_mon_op_perturb_a2932b46150a3fa30a1394efed86ac089}}
|
|
typedef \mbox{\hyperlink{classeo_bit}{Neighbor\+::\+E\+OT}} {\bfseries E\+OT}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classmo_mon_op_perturb_aa994c848e97b15ebb8a81365be25ebc1}{mo\+Mon\+Op\+Perturb}} (\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&\+\_\+mon\+Op, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&\+\_\+full\+Eval, unsigned int \+\_\+nb\+Perturbation=1)
|
|
\item
|
|
\mbox{\hyperlink{classmo_mon_op_perturb_a6a118ae1da2ee2ceeedb8c323657418b}{mo\+Mon\+Op\+Perturb}} (\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&\+\_\+mon\+Op, \mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&\+\_\+full\+Eval, unsigned int \+\_\+nb\+Perturbation\+Min, unsigned int \+\_\+nb\+Perturbation\+Max)
|
|
\item
|
|
bool \mbox{\hyperlink{classmo_mon_op_perturb_abddd466e35bb662b5c75351f76a474a6}{operator()}} (\mbox{\hyperlink{classeo_bit}{E\+OT}} \&\+\_\+solution)
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsection*{Additional Inherited Members}
|
|
|
|
|
|
\doxysubsection{Detailed Description}
|
|
\subsubsection*{template$<$class Neighbor$>$\newline
|
|
class mo\+Mon\+Op\+Perturb$<$ Neighbor $>$}
|
|
|
|
Perturbation operator using only a \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}
|
|
|
|
\doxysubsection{Constructor \& Destructor Documentation}
|
|
\mbox{\Hypertarget{classmo_mon_op_perturb_aa994c848e97b15ebb8a81365be25ebc1}\label{classmo_mon_op_perturb_aa994c848e97b15ebb8a81365be25ebc1}}
|
|
\index{moMonOpPerturb$<$ Neighbor $>$@{moMonOpPerturb$<$ Neighbor $>$}!moMonOpPerturb@{moMonOpPerturb}}
|
|
\index{moMonOpPerturb@{moMonOpPerturb}!moMonOpPerturb$<$ Neighbor $>$@{moMonOpPerturb$<$ Neighbor $>$}}
|
|
\doxysubsubsection{\texorpdfstring{moMonOpPerturb()}{moMonOpPerturb()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
|
|
\mbox{\hyperlink{classmo_mon_op_perturb}{mo\+Mon\+Op\+Perturb}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_mon_op_perturb}{mo\+Mon\+Op\+Perturb}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&}]{\+\_\+mon\+Op, }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&}]{\+\_\+full\+Eval, }\item[{unsigned int}]{\+\_\+nb\+Perturbation = {\ttfamily 1} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Constructor
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+mon\+Op} & an \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}} (pertubation operator) \\
|
|
\hline
|
|
{\em \+\_\+full\+Eval} & a full evaluation function \\
|
|
\hline
|
|
{\em \+\_\+nb\+Perturbation} & number of operator executions for perturbation \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\mbox{\Hypertarget{classmo_mon_op_perturb_a6a118ae1da2ee2ceeedb8c323657418b}\label{classmo_mon_op_perturb_a6a118ae1da2ee2ceeedb8c323657418b}}
|
|
\index{moMonOpPerturb$<$ Neighbor $>$@{moMonOpPerturb$<$ Neighbor $>$}!moMonOpPerturb@{moMonOpPerturb}}
|
|
\index{moMonOpPerturb@{moMonOpPerturb}!moMonOpPerturb$<$ Neighbor $>$@{moMonOpPerturb$<$ Neighbor $>$}}
|
|
\doxysubsubsection{\texorpdfstring{moMonOpPerturb()}{moMonOpPerturb()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
|
|
\mbox{\hyperlink{classmo_mon_op_perturb}{mo\+Mon\+Op\+Perturb}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::\mbox{\hyperlink{classmo_mon_op_perturb}{mo\+Mon\+Op\+Perturb}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&}]{\+\_\+mon\+Op, }\item[{\mbox{\hyperlink{classeo_eval_func}{eo\+Eval\+Func}}$<$ \mbox{\hyperlink{classeo_bit}{E\+OT}} $>$ \&}]{\+\_\+full\+Eval, }\item[{unsigned int}]{\+\_\+nb\+Perturbation\+Min, }\item[{unsigned int}]{\+\_\+nb\+Perturbation\+Max }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Constructor with random value at each iteration of the number of perturbation moves
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+mon\+Op} & an \mbox{\hyperlink{classeo_mon_op}{eo\+Mon\+Op}} (pertubation operator) \\
|
|
\hline
|
|
{\em \+\_\+full\+Eval} & a full evaluation function \\
|
|
\hline
|
|
{\em \+\_\+nb\+Perturbation\+Min} & minimum number of operator executions for perturbation \\
|
|
\hline
|
|
{\em \+\_\+nb\+Perturbation\+Max} & maximum number of operator executions for perturbation \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
|
|
\doxysubsection{Member Function Documentation}
|
|
\mbox{\Hypertarget{classmo_mon_op_perturb_abddd466e35bb662b5c75351f76a474a6}\label{classmo_mon_op_perturb_abddd466e35bb662b5c75351f76a474a6}}
|
|
\index{moMonOpPerturb$<$ Neighbor $>$@{moMonOpPerturb$<$ Neighbor $>$}!operator()@{operator()}}
|
|
\index{operator()@{operator()}!moMonOpPerturb$<$ Neighbor $>$@{moMonOpPerturb$<$ Neighbor $>$}}
|
|
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
|
|
{\footnotesize\ttfamily template$<$class Neighbor $>$ \\
|
|
bool \mbox{\hyperlink{classmo_mon_op_perturb}{mo\+Mon\+Op\+Perturb}}$<$ \mbox{\hyperlink{classmo_bit_neighbor}{Neighbor}} $>$\+::operator() (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_bit}{E\+OT}} \&}]{\+\_\+solution }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Apply mon\+Op on the solution
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+solution} & to perturb \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\begin{DoxyReturn}{Returns}
|
|
value of mon\+Op
|
|
\end{DoxyReturn}
|
|
|
|
|
|
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
|
|
\item
|
|
mo/src/perturb/mo\+Mon\+Op\+Perturb.\+h\end{DoxyCompactItemize}
|