adding the problem configuration interface to irace interface
problem_config_mapping created
This commit is contained in:
parent
8fa2270ffd
commit
e79679b3c9
14462 changed files with 182271 additions and 6 deletions
133
Doxygen doc/latex/classeo_algo_foundry.tex
Normal file
133
Doxygen doc/latex/classeo_algo_foundry.tex
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
\hypertarget{classeo_algo_foundry}{}\doxysection{eo\+Algo\+Foundry$<$ E\+OT $>$ Class Template Reference}
|
||||
\label{classeo_algo_foundry}\index{eoAlgoFoundry$<$ EOT $>$@{eoAlgoFoundry$<$ EOT $>$}}
|
||||
|
||||
|
||||
{\ttfamily \#include $<$eo\+Algo\+Foundry.\+h$>$}
|
||||
|
||||
|
||||
|
||||
Inheritance diagram for eo\+Algo\+Foundry$<$ E\+OT $>$\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=350pt]{classeo_algo_foundry__inherit__graph}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
|
||||
Collaboration diagram for eo\+Algo\+Foundry$<$ E\+OT $>$\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=336pt]{classeo_algo_foundry__coll__graph}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\Hypertarget{classeo_algo_foundry_a5eefbd94b16a4394e1af72a75d3d8fd7}\label{classeo_algo_foundry_a5eefbd94b16a4394e1af72a75d3d8fd7}}
|
||||
{\bfseries eo\+Algo\+Foundry} (size\+\_\+t nb\+\_\+operators)
|
||||
\item
|
||||
void \mbox{\hyperlink{classeo_algo_foundry_a58066b28eefc4e15efb7f55a18f90d2e}{select}} (std\+::vector$<$ size\+\_\+t $>$ \mbox{\hyperlink{classeo_algo_foundry_a4d09893b926c1d81fe22d60dbee57c79}{encoding}})
|
||||
\item
|
||||
size\+\_\+t \& \mbox{\hyperlink{classeo_algo_foundry_a4330a983b77169d032a1d81702f70414}{at}} (size\+\_\+t i)
|
||||
\item
|
||||
\mbox{\Hypertarget{classeo_algo_foundry_a1a1300901dfb0de546878e696468e571}\label{classeo_algo_foundry_a1a1300901dfb0de546878e696468e571}}
|
||||
size\+\_\+t {\bfseries size} () const
|
||||
\item
|
||||
std\+::vector$<$ size\+\_\+t $>$ \mbox{\hyperlink{classeo_algo_foundry_a4d09893b926c1d81fe22d60dbee57c79}{encoding}} () const
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Protected Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\Hypertarget{classeo_algo_foundry_a4df8bfe46e39efd81dadcba6e069246c}\label{classeo_algo_foundry_a4df8bfe46e39efd81dadcba6e069246c}}
|
||||
const size\+\_\+t {\bfseries \+\_\+size}
|
||||
\item
|
||||
\mbox{\Hypertarget{classeo_algo_foundry_a059d99e2fc1013fb56ac4835681d5959}\label{classeo_algo_foundry_a059d99e2fc1013fb56ac4835681d5959}}
|
||||
std\+::vector$<$ size\+\_\+t $>$ {\bfseries \+\_\+encoding}
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Additional Inherited Members}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
\subsubsection*{template$<$class E\+OT$>$\newline
|
||||
class eo\+Algo\+Foundry$<$ E\+O\+T $>$}
|
||||
|
||||
Interface of a Foundry\+: a class that instantiate an \mbox{\hyperlink{classeo_algo}{eo\+Algo}} on-\/the-\/fly, given a choice of its operators.
|
||||
|
||||
The chosen operators are encoded in a vector of indices.
|
||||
|
||||
The foundry subclass should first be set up with sets of operators of the same interface, held within an \mbox{\hyperlink{classeo_operator_foundry}{eo\+Operator\+Foundry}} member.
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{classeo_operator_foundry}{eoOperatorFoundry< eoSelectOne<EOT>}} > selectors;}
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
In a second step, the operators to be used should be selected by indicating their index, just like if the foundry was an array\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{foundry.select(\{0, 1, 2\});}
|
||||
\DoxyCodeLine{\textcolor{comment}{// \string^ \string^ \string^}}
|
||||
\DoxyCodeLine{\textcolor{comment}{// | | |}}
|
||||
\DoxyCodeLine{\textcolor{comment}{// | | + 3d operator}}
|
||||
\DoxyCodeLine{\textcolor{comment}{// | + 2d operator}}
|
||||
\DoxyCodeLine{\textcolor{comment}{// + 1st operator}}
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
If you don\textquotesingle{}t (want to) recall the order of the operators in the encoding, you can use the {\ttfamily index()} member of \mbox{\hyperlink{classeo_operator_foundry}{eo\+Operator\+Foundry}}, for example\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{foundry.at(foundry.continuators.index()) = 2; \textcolor{comment}{// select the third continuator}}
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Now, you must implement the foundry just like any \mbox{\hyperlink{classeo_algo}{eo\+Algo}}, by using the \mbox{\hyperlink{classeo_pop}{eo\+Pop}} interface\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{foundry(pop);}
|
||||
\DoxyCodeLine{@encode}
|
||||
\DoxyCodeLine{It will instantiate the needed operators (only) and the algorithm itself on-\/the-\/fly,}
|
||||
\DoxyCodeLine{and then run it.}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{@note: Thanks to the underlying \mbox{\hyperlink{classeo_operator_foundry}{eoOperatorFoundry}}, not all the added operators are instantiated.}
|
||||
\DoxyCodeLine{Every instantiation is deferred upon actual use. That way, you can still reconfigure them}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{classeo_algo_foundry_a4330a983b77169d032a1d81702f70414}{at}} any time with `eoForgeOperator::setup`, \textcolor{keywordflow}{for} example:}
|
||||
\DoxyCodeLine{@code}
|
||||
\DoxyCodeLine{foundry.selector.at(0).setup(0.5); \textcolor{comment}{// using constructor's arguments}}
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
\begin{DoxyWarning}{Warning}
|
||||
If the managed constructor takes a reference Y\+OU S\+H\+O\+U\+LD A\+B\+S\+O\+L\+U\+T\+E\+LY wrap it in a {\ttfamily std\+::ref} when using {\ttfamily add} or {\ttfamily setup}, or it will silently be passed as a copy, which would effectively disable any link between operators.
|
||||
\end{DoxyWarning}
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{classeo_algo_foundry_a4330a983b77169d032a1d81702f70414}\label{classeo_algo_foundry_a4330a983b77169d032a1d81702f70414}}
|
||||
\index{eoAlgoFoundry$<$ EOT $>$@{eoAlgoFoundry$<$ EOT $>$}!at@{at}}
|
||||
\index{at@{at}!eoAlgoFoundry$<$ EOT $>$@{eoAlgoFoundry$<$ EOT $>$}}
|
||||
\doxysubsubsection{\texorpdfstring{at()}{at()}}
|
||||
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
||||
size\+\_\+t\& \mbox{\hyperlink{classeo_algo_foundry}{eo\+Algo\+Foundry}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::at (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{i }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
Access to the index of the currently selected operator. \mbox{\Hypertarget{classeo_algo_foundry_a4d09893b926c1d81fe22d60dbee57c79}\label{classeo_algo_foundry_a4d09893b926c1d81fe22d60dbee57c79}}
|
||||
\index{eoAlgoFoundry$<$ EOT $>$@{eoAlgoFoundry$<$ EOT $>$}!encoding@{encoding}}
|
||||
\index{encoding@{encoding}!eoAlgoFoundry$<$ EOT $>$@{eoAlgoFoundry$<$ EOT $>$}}
|
||||
\doxysubsubsection{\texorpdfstring{encoding()}{encoding()}}
|
||||
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
||||
std\+::vector$<$size\+\_\+t$>$ \mbox{\hyperlink{classeo_algo_foundry}{eo\+Algo\+Foundry}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::encoding (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
Return the underlying encoding vector. \mbox{\Hypertarget{classeo_algo_foundry_a58066b28eefc4e15efb7f55a18f90d2e}\label{classeo_algo_foundry_a58066b28eefc4e15efb7f55a18f90d2e}}
|
||||
\index{eoAlgoFoundry$<$ EOT $>$@{eoAlgoFoundry$<$ EOT $>$}!select@{select}}
|
||||
\index{select@{select}!eoAlgoFoundry$<$ EOT $>$@{eoAlgoFoundry$<$ EOT $>$}}
|
||||
\doxysubsubsection{\texorpdfstring{select()}{select()}}
|
||||
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
||||
void \mbox{\hyperlink{classeo_algo_foundry}{eo\+Algo\+Foundry}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::select (\begin{DoxyParamCaption}\item[{std\+::vector$<$ size\+\_\+t $>$}]{encoding }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
Select indices of all the operators.
|
||||
|
||||
i.\+e. Select an algorithm to instantiate.
|
||||
|
||||
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
eo/src/eo\+Algo\+Foundry.\+h\end{DoxyCompactItemize}
|
||||
Loading…
Add table
Add a link
Reference in a new issue