peoSyncMultiStart(3)

NAME
peoSyncMultiStart - The peoSyncMultiStart class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population.

SYNOPSIS

#include <peoSyncMultiStart.h>

Inherits Service, and eoUpdater.

  Public Member Functions
peoSyncMultiStart (eoContinue< EOT > &__cont, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, moAlgo< EOT > &__ls, eoPop< EOT > &__pop)
Constructor function - several simple parameters are required for defining the characteristics of the multi-start model.
void operator() ()
Operator which synchronously executes the specified algorithm on the individuals selected from the initial population.
void packData ()
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
void unpackData ()
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
void execute ()
Auxiliary function for actually executing the specified algorithm on one assigned individual.
void packResult ()
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
void unpackResult ()
Auxiliary function for transferring data between the process requesting the synchronous execution of the specified algorithm and the process which actually executes the algorithm.
void notifySendingData ()
Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase.
void notifySendingAllResourceRequests ()
Auxiliary function for notifications between the process requesting the synchronous multi-start execution and the processes that performs the actual execution phase.

  Private Attributes
eoContinue< EOT > & cont
eoSelect< EOT > & select
eoReplacement< EOT > & replace
moAlgo< EOT > & ls
eoPop< EOT > & pop
eoPop< EOT > sel
eoPop< EOT > impr_sel
EOT sol
unsigned idx
unsigned num_term

Detailed Description

  template<class EOT> class peoSyncMultiStart< EOT >
The peoSyncMultiStart 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 peoSyncMultiStart object can be specified as checkpoint object for a classic ParadisEO 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 36 of file peoSyncMultiStart.h.

Constructor & Destructor Documentation

  template<class EOT> peoSyncMultiStart< EOT >::peoSyncMultiStart (eoContinue< EOT > & __cont, eoSelect< EOT > & __select, eoReplacement< EOT > & __replace, moAlgo< EOT > & __ls, eoPop< EOT > & __pop)

Constructor function - several simple parameters are required for defining the characteristics of the multi-start model.

Parameters:
    eoContinue< EOT >& __cont - defined for including further functionality - no semantics associated at this time;
    eoSelect< EOT >& __select - selection strategy for obtaining a subset of the initial population on which to apply the specified algorithm;
    eoReplacement< EOT >& __replace - replacement strategy for integrating the resulting individuals in the initial population;
    moAlgo< EOT >& __ls - algorithm to be applied on each of the selected individuals - a moAlgo< EOT >-derived object must be specified;
    eoPop< EOT >& __pop - the initial population from which the individuals are selected for applying the specified algorithm.

Definition at line 106 of file peoSyncMultiStart.h.

Member Function Documentation

  template<class EOT> void peoSyncMultiStart< EOT >::operator() () [virtual]

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 eoF< void >.

Definition at line 161 of file peoSyncMultiStart.h.

References peoSyncMultiStart< EOT >::idx, peoSyncMultiStart< EOT >::impr_sel, peoSyncMultiStart< EOT >::num_term, peoSyncMultiStart< EOT >::pop, Service::requestResourceRequest(), peoSyncMultiStart< EOT >::sel, peoSyncMultiStart< EOT >::select, and Communicable::stop().

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

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

Definition at line 120 of file peoSyncMultiStart.h.

References peoSyncMultiStart< EOT >::idx, and peoSyncMultiStart< EOT >::sel.

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

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

Definition at line 126 of file peoSyncMultiStart.h.

References peoSyncMultiStart< EOT >::sol.

  template<class EOT> void peoSyncMultiStart< EOT >::execute () [virtual]

Auxiliary function for actually executing the specified algorithm on one assigned individual.

There is no need to explicitly call the function.

Reimplemented from Service.

Definition at line 132 of file peoSyncMultiStart.h.

References peoSyncMultiStart< EOT >::ls, and peoSyncMultiStart< EOT >::sol.

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

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

Definition at line 138 of file peoSyncMultiStart.h.

References peoSyncMultiStart< EOT >::sol.

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

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

Definition at line 144 of file peoSyncMultiStart.h.

References Service::getOwner(), peoSyncMultiStart< EOT >::impr_sel, peoSyncMultiStart< EOT >::num_term, peoSyncMultiStart< EOT >::pop, peoSyncMultiStart< EOT >::replace, Communicable::resume(), peoSyncMultiStart< EOT >::sel, Thread::setActive(), and peoSyncMultiStart< EOT >::sol.

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

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

Definition at line 172 of file peoSyncMultiStart.h.

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

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

Definition at line 177 of file peoSyncMultiStart.h.

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

Author

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