git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@661 331e1502-861f-0410-8da2-ba01fb791d7f
245 lines
17 KiB
TeX
245 lines
17 KiB
TeX
\hypertarget{classpeoSyncMultiStart}{
|
|
\section{peo\-Sync\-Multi\-Start$<$ EOT $>$ Class Template Reference}
|
|
\label{classpeoSyncMultiStart}\index{peoSyncMultiStart@{peoSyncMultiStart}}
|
|
}
|
|
The \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population.
|
|
|
|
|
|
{\tt \#include $<$peo\-Sync\-Multi\-Start.h$>$}
|
|
|
|
Inheritance diagram for peo\-Sync\-Multi\-Start$<$ EOT $>$::\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[height=4cm]{classpeoSyncMultiStart}
|
|
\end{center}
|
|
\end{figure}
|
|
\subsection*{Public Member Functions}
|
|
\begin{CompactItemize}
|
|
\item
|
|
\hyperlink{classpeoSyncMultiStart_d29f94aad3c1f443bfffc8b6aee0704c}{peo\-Sync\-Multi\-Start} (\bf{eo\-Continue}$<$ EOT $>$ \&\_\-\_\-cont, \bf{eo\-Select}$<$ EOT $>$ \&\_\-\_\-select, \bf{eo\-Replacement}$<$ EOT $>$ \&\_\-\_\-replace, \bf{mo\-Algo}$<$ EOT $>$ \&\_\-\_\-ls, \bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop)
|
|
\begin{CompactList}\small\item\em Constructor function - several simple parameters are required for defining the characteristics of the multi-start model. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_76385b33fe514f91cb83f0fbecbeb3c2}{operator()} ()
|
|
\begin{CompactList}\small\item\em Operator which synchronously executes the specified algorithm on the individuals selected from the initial population. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_8becfab1922b64708dca5a53e2932a5a}{pack\-Data} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_2903a441b77cded266b5fb651e17a5b5}{unpack\-Data} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_a4d1c2943c290de540800087b54dc49b}{execute} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for actually executing the specified algorithm on one assigned individual. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_6c48eb0dae741cff7203b65e226f9616}{pack\-Result} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_c3cbd1f10a89d1915c5ccf82a2c34a1d}{unpack\-Result} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_32ec0d01d3fd8a9932abd68f4781fc94}{notify\-Sending\-Data} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}{notify\-Sending\-All\-Resource\-Requests} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase. \item\end{CompactList}\end{CompactItemize}
|
|
\subsection*{Private Attributes}
|
|
\begin{CompactItemize}
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_43f4fa9b125baef6fc8b968dfd16f437}{
|
|
\bf{eo\-Continue}$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_43f4fa9b125baef6fc8b968dfd16f437}{cont}}
|
|
\label{classpeoSyncMultiStart_43f4fa9b125baef6fc8b968dfd16f437}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_8fc9a3d046023ddd077defec3c23ab3b}{
|
|
\bf{eo\-Select}$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_8fc9a3d046023ddd077defec3c23ab3b}{select}}
|
|
\label{classpeoSyncMultiStart_8fc9a3d046023ddd077defec3c23ab3b}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_a375ccea98e9bf2a0854dac27df4522f}{
|
|
\bf{eo\-Replacement}$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_a375ccea98e9bf2a0854dac27df4522f}{replace}}
|
|
\label{classpeoSyncMultiStart_a375ccea98e9bf2a0854dac27df4522f}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_4d317966de767dcc87eee0286ea7f95d}{
|
|
\bf{mo\-Algo}$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_4d317966de767dcc87eee0286ea7f95d}{ls}}
|
|
\label{classpeoSyncMultiStart_4d317966de767dcc87eee0286ea7f95d}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_391178bd6b8a97a08ab4e345f070e967}{
|
|
\bf{eo\-Pop}$<$ EOT $>$ \& \hyperlink{classpeoSyncMultiStart_391178bd6b8a97a08ab4e345f070e967}{pop}}
|
|
\label{classpeoSyncMultiStart_391178bd6b8a97a08ab4e345f070e967}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_dbcc1a069ec72ecd8d40c392640d84b3}{
|
|
\bf{eo\-Pop}$<$ EOT $>$ \hyperlink{classpeoSyncMultiStart_dbcc1a069ec72ecd8d40c392640d84b3}{sel}}
|
|
\label{classpeoSyncMultiStart_dbcc1a069ec72ecd8d40c392640d84b3}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_ca10f6d258105e3c4f0d1660db5b7679}{
|
|
\bf{eo\-Pop}$<$ EOT $>$ \hyperlink{classpeoSyncMultiStart_ca10f6d258105e3c4f0d1660db5b7679}{impr\_\-sel}}
|
|
\label{classpeoSyncMultiStart_ca10f6d258105e3c4f0d1660db5b7679}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_2c2ebe46470d1425f0409897deab435b}{
|
|
EOT \hyperlink{classpeoSyncMultiStart_2c2ebe46470d1425f0409897deab435b}{sol}}
|
|
\label{classpeoSyncMultiStart_2c2ebe46470d1425f0409897deab435b}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_64191ef79b7b589964ac9c3e23ae6718}{
|
|
unsigned \hyperlink{classpeoSyncMultiStart_64191ef79b7b589964ac9c3e23ae6718}{idx}}
|
|
\label{classpeoSyncMultiStart_64191ef79b7b589964ac9c3e23ae6718}
|
|
|
|
\item
|
|
\hypertarget{classpeoSyncMultiStart_773eb9097550d9444f25ca8f48997a30}{
|
|
unsigned \hyperlink{classpeoSyncMultiStart_773eb9097550d9444f25ca8f48997a30}{num\_\-term}}
|
|
\label{classpeoSyncMultiStart_773eb9097550d9444f25ca8f48997a30}
|
|
|
|
\end{CompactItemize}
|
|
|
|
|
|
\subsection{Detailed Description}
|
|
\subsubsection*{template$<$class EOT$>$ class peo\-Sync\-Multi\-Start$<$ EOT $>$}
|
|
|
|
The \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population.
|
|
|
|
As a simple example, several hill climbing algorithms may be synchronously launched on the specified population, each algorithm acting upon one individual only, the final result being integrated back in the population. A \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} object can be specified as checkpoint object for a classic Paradis\-EO evolutionary algorithm thus allowing for simple hybridization schemes which combine the evolutionary approach with a local search approach, for example, executed at the end of each generation.
|
|
|
|
|
|
|
|
Definition at line 64 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
\subsection{Constructor \& Destructor Documentation}
|
|
\hypertarget{classpeoSyncMultiStart_d29f94aad3c1f443bfffc8b6aee0704c}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!peoSyncMultiStart@{peoSyncMultiStart}}
|
|
\index{peoSyncMultiStart@{peoSyncMultiStart}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[peoSyncMultiStart]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::\hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} (\bf{eo\-Continue}$<$ EOT $>$ \& {\em \_\-\_\-cont}, \bf{eo\-Select}$<$ EOT $>$ \& {\em \_\-\_\-select}, \bf{eo\-Replacement}$<$ EOT $>$ \& {\em \_\-\_\-replace}, \bf{mo\-Algo}$<$ EOT $>$ \& {\em \_\-\_\-ls}, \bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-pop})}}
|
|
\label{classpeoSyncMultiStart_d29f94aad3c1f443bfffc8b6aee0704c}
|
|
|
|
|
|
Constructor function - several simple parameters are required for defining the characteristics of the multi-start model.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em eo\-Continue$<$}]EOT $>$\& \_\-\_\-cont - defined for including further functionality - no semantics associated at this time; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy for obtaining a subset of the initial population on which to apply the specified algorithm; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy for integrating the resulting individuals in the initial population; \item[{\em mo\-Algo$<$}]EOT $>$\& \_\-\_\-ls - algorithm to be applied on each of the selected individuals - a {\bf mo\-Algo$<$ EOT $>$}-derived object must be specified; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - the initial population from which the individuals are selected for applying the specified algorithm. \end{description}
|
|
\end{Desc}
|
|
|
|
|
|
Definition at line 134 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
\subsection{Member Function Documentation}
|
|
\hypertarget{classpeoSyncMultiStart_76385b33fe514f91cb83f0fbecbeb3c2}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!operator()@{operator()}}
|
|
\index{operator()@{operator()}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::operator() ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_76385b33fe514f91cb83f0fbecbeb3c2}
|
|
|
|
|
|
Operator which synchronously executes the specified algorithm on the individuals selected from the initial population.
|
|
|
|
There is no need to explicitly call the operator - automatically called as checkpoint operator.
|
|
|
|
Implements \bf{eo\-F$<$ void $>$}.
|
|
|
|
Definition at line 189 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
References peo\-Sync\-Multi\-Start$<$ EOT $>$::idx, peo\-Sync\-Multi\-Start$<$ EOT $>$::impr\_\-sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::num\_\-term, peo\-Sync\-Multi\-Start$<$ EOT $>$::pop, Service::request\-Resource\-Request(), peo\-Sync\-Multi\-Start$<$ EOT $>$::sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::select, and Communicable::stop().\hypertarget{classpeoSyncMultiStart_8becfab1922b64708dca5a53e2932a5a}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!packData@{packData}}
|
|
\index{packData@{packData}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[packData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::pack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_8becfab1922b64708dca5a53e2932a5a}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{Service}.
|
|
|
|
Definition at line 148 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
References peo\-Sync\-Multi\-Start$<$ EOT $>$::idx, and peo\-Sync\-Multi\-Start$<$ EOT $>$::sel.\hypertarget{classpeoSyncMultiStart_2903a441b77cded266b5fb651e17a5b5}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!unpackData@{unpackData}}
|
|
\index{unpackData@{unpackData}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[unpackData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::unpack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_2903a441b77cded266b5fb651e17a5b5}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{Service}.
|
|
|
|
Definition at line 154 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
References peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_a4d1c2943c290de540800087b54dc49b}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!execute@{execute}}
|
|
\index{execute@{execute}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[execute]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::execute ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_a4d1c2943c290de540800087b54dc49b}
|
|
|
|
|
|
Auxiliary function for actually executing the specified algorithm on one assigned individual.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_e4f2894e6121e60f38d41cfbd7447ae4}{Service}.
|
|
|
|
Definition at line 160 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
References peo\-Sync\-Multi\-Start$<$ EOT $>$::ls, and peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_6c48eb0dae741cff7203b65e226f9616}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!packResult@{packResult}}
|
|
\index{packResult@{packResult}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[packResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::pack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_6c48eb0dae741cff7203b65e226f9616}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{Service}.
|
|
|
|
Definition at line 166 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
References peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_c3cbd1f10a89d1915c5ccf82a2c34a1d}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!unpackResult@{unpackResult}}
|
|
\index{unpackResult@{unpackResult}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[unpackResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::unpack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_c3cbd1f10a89d1915c5ccf82a2c34a1d}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{Service}.
|
|
|
|
Definition at line 172 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
References Service::get\-Owner(), peo\-Sync\-Multi\-Start$<$ EOT $>$::impr\_\-sel, peo\-Sync\-Multi\-Start$<$ EOT $>$::num\_\-term, peo\-Sync\-Multi\-Start$<$ EOT $>$::pop, peo\-Sync\-Multi\-Start$<$ EOT $>$::replace, Communicable::resume(), peo\-Sync\-Multi\-Start$<$ EOT $>$::sel, Thread::set\-Active(), and peo\-Sync\-Multi\-Start$<$ EOT $>$::sol.\hypertarget{classpeoSyncMultiStart_32ec0d01d3fd8a9932abd68f4781fc94}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!notifySendingData@{notifySendingData}}
|
|
\index{notifySendingData@{notifySendingData}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[notifySendingData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::notify\-Sending\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_32ec0d01d3fd8a9932abd68f4781fc94}
|
|
|
|
|
|
Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{Service}.
|
|
|
|
Definition at line 200 of file peo\-Sync\-Multi\-Start.h.\hypertarget{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}{
|
|
\index{peoSyncMultiStart@{peo\-Sync\-Multi\-Start}!notifySendingAllResourceRequests@{notifySendingAllResourceRequests}}
|
|
\index{notifySendingAllResourceRequests@{notifySendingAllResourceRequests}!peoSyncMultiStart@{peo\-Sync\-Multi\-Start}}
|
|
\subsubsection[notifySendingAllResourceRequests]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start}$<$ EOT $>$::notify\-Sending\-All\-Resource\-Requests ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoSyncMultiStart_fc90282cc4e93cdea8f82fd52dd78fb0}
|
|
|
|
|
|
Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{Service}.
|
|
|
|
Definition at line 205 of file peo\-Sync\-Multi\-Start.h.
|
|
|
|
References Service::get\-Owner(), and Thread::set\-Passive().
|
|
|
|
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
|
\item
|
|
peo\-Sync\-Multi\-Start.h\end{CompactItemize}
|