peoParaPopEval(3)

NAME
peoParaPopEval - The peoParaPopEval represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor.

SYNOPSIS

#include <peoParaPopEval.h>

Inherits peoPopEval< EOT >< EOT >.

  Public Member Functions
peoParaPopEval (eoEvalFunc< EOT > &__eval_func)
Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor.
peoParaPopEval (const std::vector< eoEvalFunc< EOT > * > &__funcs, peoAggEvalFunc< EOT > &__merge_eval)
Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function.
void operator() (eoPop< EOT > &__pop)
Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population.
void packData ()
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
void unpackData ()
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
void execute ()
Auxiliary function - it calls the specified evaluation functor(s). There is no need to explicitly call the function.
void packResult ()
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
void unpackResult ()
Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
void notifySendingData ()
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
void notifySendingAllResourceRequests ()
Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.

  Private Attributes
const std::vector< eoEvalFunc< EOT > * > & funcs
std::vector< eoEvalFunc< EOT > * > one_func
peoAggEvalFunc< EOT > & merge_eval
peoNoAggEvalFunc< EOT > no_merge_eval
std::queue< EOT * > tasks
std::map< EOT *, std::pair< unsigned, unsigned > > progression
unsigned num_func
EOT sol
EOT * ad_sol
unsigned total

Detailed Description

  template<class EOT> class peoParaPopEval< EOT >
The peoParaPopEval 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 26 of file peoParaPopEval.h.

Constructor & Destructor Documentation

  template<class EOT> peoParaPopEval< EOT >::peoParaPopEval (eoEvalFunc< EOT > & __eval_func)

Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor.

Parameters:
    eoEvalFunc< EOT >& __eval_func - EO-derived evaluation functor to be applied in parallel on each individual of a specified population

Definition at line 102 of file peoParaPopEval.h.

References peoParaPopEval< EOT >::one_func.

  template<class EOT> peoParaPopEval< EOT >::peoParaPopEval (const std::vector< eoEvalFunc< EOT > * > & __funcs, peoAggEvalFunc< EOT > & __merge_eval)

Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function.

Parameters:
    const std :: vector< eoEvalFunc < EOT >* >& __funcs - vector of EO-derived partial evaluation functors;
    peoAggEvalFunc< EOT >& __merge_eval - aggregation functor for creating a fitness value out of the partial fitness values.

Definition at line 111 of file peoParaPopEval.h.

Member Function Documentation

  template<class EOT> void peoParaPopEval< EOT >::operator() (eoPop< EOT > & __pop) [virtual]

Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population.

Parameters:
    eoPop< EOT >& __pop - population to be evaluated by applying the evaluation functor specified in the constructor.

Implements peoPopEval< EOT >.

Definition at line 122 of file peoParaPopEval.h.

References peoParaPopEval< EOT >::funcs, peoParaPopEval< EOT >::progression, Service::requestResourceRequest(), Communicable::stop(), peoParaPopEval< EOT >::tasks, and peoParaPopEval< EOT >::total.

  template<class EOT> void peoParaPopEval< EOT >::packData () [virtual]

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 Service.

Definition at line 143 of file peoParaPopEval.h.

References peoParaPopEval< EOT >::progression, and peoParaPopEval< EOT >::tasks.

  template<class EOT> void peoParaPopEval< EOT >::unpackData () [virtual]

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 Service.

Definition at line 157 of file peoParaPopEval.h.

References peoParaPopEval< EOT >::ad_sol, peoParaPopEval< EOT >::num_func, and peoParaPopEval< EOT >::sol.

  template<class EOT> void peoParaPopEval< EOT >::packResult () [virtual]

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 Service.

Definition at line 174 of file peoParaPopEval.h.

References peoParaPopEval< EOT >::ad_sol, and peoParaPopEval< EOT >::sol.

  template<class EOT> void peoParaPopEval< EOT >::unpackResult () [virtual]

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 Service.

Definition at line 183 of file peoParaPopEval.h.

References peoParaPopEval< EOT >::ad_sol, Service::getOwner(), peoParaPopEval< EOT >::merge_eval, peoParaPopEval< EOT >::progression, Communicable::resume(), Thread::setActive(), and peoParaPopEval< EOT >::total.

  template<class EOT> void peoParaPopEval< EOT >::notifySendingData () [virtual]

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 Service.

Definition at line 214 of file peoParaPopEval.h.

  template<class EOT> void peoParaPopEval< EOT >::notifySendingAllResourceRequests () [virtual]

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 Service.

Definition at line 219 of file peoParaPopEval.h.

References Service::getOwner(), and Thread::setPassive().

Author

Generated automatically by Doxygen for ParadisEO-PEO from the source code.