git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@661 331e1502-861f-0410-8da2-ba01fb791d7f
258 lines
16 KiB
TeX
258 lines
16 KiB
TeX
\hypertarget{classpeoParaPopEval}{
|
|
\section{peo\-Para\-Pop\-Eval$<$ EOT $>$ Class Template Reference}
|
|
\label{classpeoParaPopEval}\index{peoParaPopEval@{peoParaPopEval}}
|
|
}
|
|
The \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor.
|
|
|
|
|
|
{\tt \#include $<$peo\-Para\-Pop\-Eval.h$>$}
|
|
|
|
Inheritance diagram for peo\-Para\-Pop\-Eval$<$ EOT $>$::\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[height=4cm]{classpeoParaPopEval}
|
|
\end{center}
|
|
\end{figure}
|
|
\subsection*{Public Member Functions}
|
|
\begin{CompactItemize}
|
|
\item
|
|
\hyperlink{classpeoParaPopEval_bcb540510a7038520bec41a7af332daf}{peo\-Para\-Pop\-Eval} (\bf{eo\-Eval\-Func}$<$ EOT $>$ \&\_\-\_\-eval\_\-func)
|
|
\begin{CompactList}\small\item\em Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor. \item\end{CompactList}\item
|
|
\hyperlink{classpeoParaPopEval_1cc13a1ec366f95d219d682eccb455bc}{peo\-Para\-Pop\-Eval} (const std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \&\_\-\_\-funcs, \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \&\_\-\_\-merge\_\-eval)
|
|
\begin{CompactList}\small\item\em Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoParaPopEval_aeaa4fca4f8650e453e308838b4a2cb5}{operator()} (\bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop)
|
|
\begin{CompactList}\small\item\em Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoParaPopEval_fea632bd645ab11182782fd3c038d6d8}{pack\-Data} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoParaPopEval_410bf4c173e2f36df82251cb16ce1b05}{unpack\-Data} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
|
\hypertarget{classpeoParaPopEval_3af76378611eac5a36da9a0a00aeeb6c}{
|
|
void \hyperlink{classpeoParaPopEval_3af76378611eac5a36da9a0a00aeeb6c}{execute} ()}
|
|
\label{classpeoParaPopEval_3af76378611eac5a36da9a0a00aeeb6c}
|
|
|
|
\begin{CompactList}\small\item\em Auxiliary function - it calls the specified evaluation functor(s). There is no need to explicitly call the function. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoParaPopEval_24bb4ae84b0b9f64e7170e3d2b0e1223}{pack\-Result} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoParaPopEval_fd7f0afe9cba30be39269d16097e190e}{unpack\-Result} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoParaPopEval_1f78c3cec2940af08a059cc1aa96a9c8}{notify\-Sending\-Data} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \item\end{CompactList}\item
|
|
void \hyperlink{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}{notify\-Sending\-All\-Resource\-Requests} ()
|
|
\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \item\end{CompactList}\end{CompactItemize}
|
|
\subsection*{Private Attributes}
|
|
\begin{CompactItemize}
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_6d69b8f73c0b5d72baf75d6e53f025b7}{
|
|
const std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \& \hyperlink{classpeoParaPopEval_6d69b8f73c0b5d72baf75d6e53f025b7}{funcs}}
|
|
\label{classpeoParaPopEval_6d69b8f73c0b5d72baf75d6e53f025b7}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_f0e8af3ee442d2b6baf0bd122226be3c}{
|
|
std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \hyperlink{classpeoParaPopEval_f0e8af3ee442d2b6baf0bd122226be3c}{one\_\-func}}
|
|
\label{classpeoParaPopEval_f0e8af3ee442d2b6baf0bd122226be3c}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_b48bcd4e9f92f364118304535c089456}{
|
|
\hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \& \hyperlink{classpeoParaPopEval_b48bcd4e9f92f364118304535c089456}{merge\_\-eval}}
|
|
\label{classpeoParaPopEval_b48bcd4e9f92f364118304535c089456}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_bf255dd5861e27108c2abae7309d7690}{
|
|
\hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func}$<$ EOT $>$ \hyperlink{classpeoParaPopEval_bf255dd5861e27108c2abae7309d7690}{no\_\-merge\_\-eval}}
|
|
\label{classpeoParaPopEval_bf255dd5861e27108c2abae7309d7690}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_af76cd18368a0f6185878f37f0b5f272}{
|
|
std::queue$<$ EOT $\ast$ $>$ \hyperlink{classpeoParaPopEval_af76cd18368a0f6185878f37f0b5f272}{tasks}}
|
|
\label{classpeoParaPopEval_af76cd18368a0f6185878f37f0b5f272}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_80e7e34bb1bb2d12f1f2eed3feac6ecf}{
|
|
std::map$<$ EOT $\ast$, std::pair$<$ unsigned, unsigned $>$ $>$ \hyperlink{classpeoParaPopEval_80e7e34bb1bb2d12f1f2eed3feac6ecf}{progression}}
|
|
\label{classpeoParaPopEval_80e7e34bb1bb2d12f1f2eed3feac6ecf}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_87abb090c0de39f0ccc36af1f07cca0c}{
|
|
unsigned \hyperlink{classpeoParaPopEval_87abb090c0de39f0ccc36af1f07cca0c}{num\_\-func}}
|
|
\label{classpeoParaPopEval_87abb090c0de39f0ccc36af1f07cca0c}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_fb6941e0455515a908eb82342b995163}{
|
|
EOT \hyperlink{classpeoParaPopEval_fb6941e0455515a908eb82342b995163}{sol}}
|
|
\label{classpeoParaPopEval_fb6941e0455515a908eb82342b995163}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_60cafeab376262af675fdff43434c8d8}{
|
|
EOT $\ast$ \hyperlink{classpeoParaPopEval_60cafeab376262af675fdff43434c8d8}{ad\_\-sol}}
|
|
\label{classpeoParaPopEval_60cafeab376262af675fdff43434c8d8}
|
|
|
|
\item
|
|
\hypertarget{classpeoParaPopEval_b528ad9dd9006c3dd57f149a3843e57d}{
|
|
unsigned \hyperlink{classpeoParaPopEval_b528ad9dd9006c3dd57f149a3843e57d}{total}}
|
|
\label{classpeoParaPopEval_b528ad9dd9006c3dd57f149a3843e57d}
|
|
|
|
\end{CompactItemize}
|
|
|
|
|
|
\subsection{Detailed Description}
|
|
\subsubsection*{template$<$class EOT$>$ class peo\-Para\-Pop\-Eval$<$ EOT $>$}
|
|
|
|
The \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor.
|
|
|
|
The class offers the possibility of chosing between a single-function evaluation and an aggregate evaluation function, including several sub-evalution functions.
|
|
|
|
|
|
|
|
Definition at line 54 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
\subsection{Constructor \& Destructor Documentation}
|
|
\hypertarget{classpeoParaPopEval_bcb540510a7038520bec41a7af332daf}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!peoParaPopEval@{peoParaPopEval}}
|
|
\index{peoParaPopEval@{peoParaPopEval}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[peoParaPopEval]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} (\bf{eo\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-\_\-eval\_\-func})}}
|
|
\label{classpeoParaPopEval_bcb540510a7038520bec41a7af332daf}
|
|
|
|
|
|
Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em eo\-Eval\-Func$<$}]EOT $>$\& \_\-\_\-eval\_\-func - EO-derived evaluation functor to be applied in parallel on each individual of a specified population \end{description}
|
|
\end{Desc}
|
|
|
|
|
|
Definition at line 130 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
References peo\-Para\-Pop\-Eval$<$ EOT $>$::one\_\-func.\hypertarget{classpeoParaPopEval_1cc13a1ec366f95d219d682eccb455bc}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!peoParaPopEval@{peoParaPopEval}}
|
|
\index{peoParaPopEval@{peoParaPopEval}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[peoParaPopEval]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} (const std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \& {\em \_\-\_\-funcs}, \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-\_\-merge\_\-eval})}}
|
|
\label{classpeoParaPopEval_1cc13a1ec366f95d219d682eccb455bc}
|
|
|
|
|
|
Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em const}]std :: vector$<$ \doxyref{eo\-Eval\-Func} $<$ EOT $>$$\ast$ $>$\& \_\-\_\-funcs - vector of EO-derived partial evaluation functors; \item[{\em peo\-Agg\-Eval\-Func$<$}]EOT $>$\& \_\-\_\-merge\_\-eval - aggregation functor for creating a fitness value out of the partial fitness values. \end{description}
|
|
\end{Desc}
|
|
|
|
|
|
Definition at line 139 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
\subsection{Member Function Documentation}
|
|
\hypertarget{classpeoParaPopEval_aeaa4fca4f8650e453e308838b4a2cb5}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!operator()@{operator()}}
|
|
\index{operator()@{operator()}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::operator() (\bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-pop})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoParaPopEval_aeaa4fca4f8650e453e308838b4a2cb5}
|
|
|
|
|
|
Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population.
|
|
|
|
\begin{Desc}
|
|
\item[Parameters:]
|
|
\begin{description}
|
|
\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - population to be evaluated by applying the evaluation functor specified in the constructor. \end{description}
|
|
\end{Desc}
|
|
|
|
|
|
Implements \hyperlink{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{peo\-Pop\-Eval$<$ EOT $>$}.
|
|
|
|
Definition at line 150 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
References peo\-Para\-Pop\-Eval$<$ EOT $>$::funcs, peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, Service::request\-Resource\-Request(), Communicable::stop(), peo\-Para\-Pop\-Eval$<$ EOT $>$::tasks, and peo\-Para\-Pop\-Eval$<$ EOT $>$::total.\hypertarget{classpeoParaPopEval_fea632bd645ab11182782fd3c038d6d8}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!packData@{packData}}
|
|
\index{packData@{packData}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[packData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::pack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoParaPopEval_fea632bd645ab11182782fd3c038d6d8}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{Service}.
|
|
|
|
Definition at line 171 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
References peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, and peo\-Para\-Pop\-Eval$<$ EOT $>$::tasks.\hypertarget{classpeoParaPopEval_410bf4c173e2f36df82251cb16ce1b05}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!unpackData@{unpackData}}
|
|
\index{unpackData@{unpackData}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[unpackData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::unpack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoParaPopEval_410bf4c173e2f36df82251cb16ce1b05}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{Service}.
|
|
|
|
Definition at line 185 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, peo\-Para\-Pop\-Eval$<$ EOT $>$::num\_\-func, and peo\-Para\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoParaPopEval_24bb4ae84b0b9f64e7170e3d2b0e1223}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!packResult@{packResult}}
|
|
\index{packResult@{packResult}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[packResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::pack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoParaPopEval_24bb4ae84b0b9f64e7170e3d2b0e1223}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{Service}.
|
|
|
|
Definition at line 202 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, and peo\-Para\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoParaPopEval_fd7f0afe9cba30be39269d16097e190e}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!unpackResult@{unpackResult}}
|
|
\index{unpackResult@{unpackResult}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[unpackResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::unpack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoParaPopEval_fd7f0afe9cba30be39269d16097e190e}
|
|
|
|
|
|
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{Service}.
|
|
|
|
Definition at line 211 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
References peo\-Para\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, Service::get\-Owner(), peo\-Para\-Pop\-Eval$<$ EOT $>$::merge\_\-eval, peo\-Para\-Pop\-Eval$<$ EOT $>$::progression, Communicable::resume(), Thread::set\-Active(), and peo\-Para\-Pop\-Eval$<$ EOT $>$::total.\hypertarget{classpeoParaPopEval_1f78c3cec2940af08a059cc1aa96a9c8}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!notifySendingData@{notifySendingData}}
|
|
\index{notifySendingData@{notifySendingData}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[notifySendingData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::notify\-Sending\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoParaPopEval_1f78c3cec2940af08a059cc1aa96a9c8}
|
|
|
|
|
|
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{Service}.
|
|
|
|
Definition at line 242 of file peo\-Para\-Pop\-Eval.h.\hypertarget{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}{
|
|
\index{peoParaPopEval@{peo\-Para\-Pop\-Eval}!notifySendingAllResourceRequests@{notifySendingAllResourceRequests}}
|
|
\index{notifySendingAllResourceRequests@{notifySendingAllResourceRequests}!peoParaPopEval@{peo\-Para\-Pop\-Eval}}
|
|
\subsubsection[notifySendingAllResourceRequests]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}$<$ EOT $>$::notify\-Sending\-All\-Resource\-Requests ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
|
|
\label{classpeoParaPopEval_b77031fc4807921ffaf7cf6b669a7665}
|
|
|
|
|
|
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
|
|
|
|
There is no need to explicitly call the function.
|
|
|
|
Reimplemented from \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{Service}.
|
|
|
|
Definition at line 247 of file peo\-Para\-Pop\-Eval.h.
|
|
|
|
References Service::get\-Owner(), and Thread::set\-Passive().
|
|
|
|
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
|
\item
|
|
peo\-Para\-Pop\-Eval.h\end{CompactItemize}
|