From f2bd57d995fca5bbeaca41a85c3c4847cbf5a55f Mon Sep 17 00:00:00 2001 From: legrand Date: Thu, 5 Jul 2007 11:42:47 +0000 Subject: [PATCH] git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@540 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/paradiseo-peo/CMakeLists.txt | 2 +- trunk/paradiseo-peo/doc/html/annotated.html | 5 +- .../doc/html/classCommunicable-members.html | 2 +- .../doc/html/classCommunicable.html | 2 +- .../doc/html/classCommunicator-members.html | 2 +- .../doc/html/classCommunicator.html | 2 +- .../doc/html/classCooperative-members.html | 2 +- .../doc/html/classCooperative.html | 2 +- .../doc/html/classReactiveThread-members.html | 2 +- .../doc/html/classReactiveThread.html | 2 +- .../doc/html/classRingTopology-members.html | 2 +- .../doc/html/classRingTopology.html | 2 +- .../doc/html/classRunner-members.html | 2 +- trunk/paradiseo-peo/doc/html/classRunner.html | 2 +- .../doc/html/classService-members.html | 2 +- .../paradiseo-peo/doc/html/classService.html | 2 +- .../doc/html/classThread-members.html | 2 +- trunk/paradiseo-peo/doc/html/classThread.html | 2 +- .../doc/html/classTopology-members.html | 2 +- .../paradiseo-peo/doc/html/classTopology.html | 2 +- .../doc/html/classWorker-members.html | 2 +- trunk/paradiseo-peo/doc/html/classWorker.html | 2 +- trunk/paradiseo-peo/doc/html/classes.html | 16 +++--- .../doc/html/classpeoAggEvalFunc.html | 10 ++-- .../doc/html/classpeoAggEvalFunc.png | Bin 611 -> 965 bytes .../html/classpeoAsyncIslandMig-members.html | 10 +++- .../doc/html/classpeoAsyncIslandMig.html | 49 ++++++++++-------- .../doc/html/classpeoAsyncIslandMig.png | Bin 637 -> 1332 bytes .../doc/html/classpeoEA-members.html | 2 +- trunk/paradiseo-peo/doc/html/classpeoEA.html | 30 +++++------ .../html/classpeoNoAggEvalFunc-members.html | 6 ++- .../doc/html/classpeoNoAggEvalFunc.html | 6 ++- .../doc/html/classpeoNoAggEvalFunc.png | Bin 601 -> 946 bytes .../doc/html/classpeoParaPopEval-members.html | 2 +- .../doc/html/classpeoParaPopEval.html | 20 +++---- .../classpeoParaSGATransform-members.html | 6 ++- .../doc/html/classpeoParaSGATransform.html | 21 ++++---- .../doc/html/classpeoParaSGATransform.png | Bin 850 -> 1640 bytes .../doc/html/classpeoPopEval-members.html | 2 +- .../doc/html/classpeoPopEval.html | 6 +-- .../doc/html/classpeoSeqPopEval-members.html | 2 +- .../doc/html/classpeoSeqPopEval.html | 14 ++--- .../html/classpeoSeqTransform-members.html | 6 ++- .../doc/html/classpeoSeqTransform.html | 25 +++++---- .../doc/html/classpeoSeqTransform.png | Bin 791 -> 1532 bytes .../html/classpeoSyncIslandMig-members.html | 10 +++- .../doc/html/classpeoSyncIslandMig.html | 47 +++++++++-------- .../doc/html/classpeoSyncIslandMig.png | Bin 636 -> 1161 bytes .../html/classpeoSyncMultiStart-members.html | 10 +++- .../doc/html/classpeoSyncMultiStart.html | 41 ++++++++------- .../doc/html/classpeoSyncMultiStart.png | Bin 607 -> 1291 bytes .../doc/html/classpeoTransform-members.html | 6 ++- .../doc/html/classpeoTransform.html | 15 +++--- .../doc/html/classpeoTransform.png | Bin 1199 -> 1805 bytes .../doc/html/comm_8cpp-source.html | 2 +- .../doc/html/comm_8h-source.html | 2 +- .../doc/html/communicable_8cpp-source.html | 2 +- .../doc/html/communicable_8h-source.html | 2 +- .../doc/html/coop_8cpp-source.html | 2 +- .../doc/html/cooperative_8h-source.html | 2 +- .../doc/html/core_2runner_8cpp-source.html | 2 +- .../doc/html/core_2service_8cpp-source.html | 2 +- .../doc/html/eoPop__comm_8h-source.html | 2 +- .../doc/html/eoVector__comm_8h-source.html | 4 +- trunk/paradiseo-peo/doc/html/files.html | 2 +- trunk/paradiseo-peo/doc/html/functions.html | 15 ++---- .../doc/html/functions_func.html | 2 +- .../doc/html/functions_vars.html | 15 ++---- trunk/paradiseo-peo/doc/html/hierarchy.html | 25 ++++++++- trunk/paradiseo-peo/doc/html/main.html | 6 +-- .../doc/html/mess_8cpp-source.html | 2 +- .../doc/html/mess_8h-source.html | 2 +- .../doc/html/messaging_8h-source.html | 2 +- .../doc/html/namespacemembers.html | 2 +- .../doc/html/namespacemembers_func.html | 2 +- .../doc/html/namespacemembers_vars.html | 2 +- .../paradiseo-peo/doc/html/namespacepeo.html | 2 +- trunk/paradiseo-peo/doc/html/namespaces.html | 2 +- .../doc/html/node_8cpp-source.html | 2 +- .../doc/html/node_8h-source.html | 2 +- .../doc/html/paradiseo_8h-source.html | 2 +- .../doc/html/param_8cpp-source.html | 4 +- .../doc/html/param_8h-source.html | 2 +- .../doc/html/peoAggEvalFunc_8h-source.html | 4 +- .../doc/html/peoAsyncIslandMig_8h-source.html | 38 +++++++------- .../doc/html/peoEA_8h-source.html | 28 +++++----- .../doc/html/peoNoAggEvalFunc_8h-source.html | 2 +- .../doc/html/peoParaPopEval_8h-source.html | 12 ++--- .../html/peoParaSGATransform_8h-source.html | 22 ++++---- .../doc/html/peoPopEval_8h-source.html | 4 +- .../doc/html/peoSeqPopEval_8h-source.html | 12 ++--- .../doc/html/peoSeqTransform_8h-source.html | 12 ++--- .../doc/html/peoSyncIslandMig_8h-source.html | 34 ++++++------ .../doc/html/peoSyncMultiStart_8h-source.html | 34 ++++++------ .../doc/html/peoTransform_8h-source.html | 4 +- .../doc/html/peo__debug_8cpp-source.html | 2 +- .../doc/html/peo__debug_8h-source.html | 2 +- .../doc/html/peo__fin_8cpp-source.html | 2 +- .../doc/html/peo__fin_8h-source.html | 2 +- .../doc/html/peo__init_8cpp-source.html | 2 +- .../doc/html/peo__init_8h-source.html | 2 +- .../doc/html/peo__param_8cpp-source.html | 8 +-- .../doc/html/peo__param_8h-source.html | 2 +- .../doc/html/peo__run_8cpp-source.html | 2 +- .../doc/html/peo__run_8h-source.html | 2 +- .../doc/html/reac__thread_8cpp-source.html | 2 +- .../doc/html/reac__thread_8h-source.html | 2 +- .../doc/html/recv_8cpp-source.html | 2 +- .../doc/html/recv_8h-source.html | 2 +- .../doc/html/ring__topo_8cpp-source.html | 2 +- .../doc/html/ring__topo_8h-source.html | 2 +- .../html/rmc_2mpi_2runner_8cpp-source.html | 2 +- .../html/rmc_2mpi_2service_8cpp-source.html | 2 +- .../doc/html/rmc_8cpp-source.html | 2 +- .../paradiseo-peo/doc/html/rmc_8h-source.html | 2 +- .../doc/html/runner_8h-source.html | 2 +- .../doc/html/scheduler_8cpp-source.html | 4 +- .../doc/html/scheduler_8h-source.html | 2 +- .../doc/html/schema_8cpp-source.html | 14 ++--- .../doc/html/schema_8h-source.html | 16 +++--- trunk/paradiseo-peo/doc/html/search.idx | Bin 377020 -> 376206 bytes trunk/paradiseo-peo/doc/html/search.php | 2 +- .../doc/html/send_8cpp-source.html | 2 +- .../doc/html/send_8h-source.html | 2 +- .../doc/html/service_8h-source.html | 2 +- .../doc/html/structNode-members.html | 2 +- trunk/paradiseo-peo/doc/html/structNode.html | 2 +- .../doc/html/structSEND__REQUEST-members.html | 2 +- .../doc/html/structSEND__REQUEST.html | 2 +- .../doc/html/tags_8h-source.html | 2 +- .../doc/html/thread_8cpp-source.html | 2 +- .../doc/html/thread_8h-source.html | 2 +- .../doc/html/topology_8cpp-source.html | 2 +- .../doc/html/topology_8h-source.html | 2 +- trunk/paradiseo-peo/doc/html/tree.html | 48 ++++++++++++----- .../doc/html/worker_8cpp-source.html | 2 +- .../doc/html/worker_8h-source.html | 2 +- .../doc/html/xml__parser_8cpp-source.html | 2 +- .../doc/html/xml__parser_8h-source.html | 2 +- .../tutorial/Lesson1/CMakeLists.txt | 21 +++++++- .../tutorial/Lesson2/CMakeLists.txt | 19 ++++++- .../tutorial/Lesson3/CMakeLists.txt | 20 ++++++- .../tutorial/Walkthrough/CMakeLists.txt | 2 +- 143 files changed, 551 insertions(+), 407 deletions(-) diff --git a/trunk/paradiseo-peo/CMakeLists.txt b/trunk/paradiseo-peo/CMakeLists.txt index 349aec098..86eee5ea0 100644 --- a/trunk/paradiseo-peo/CMakeLists.txt +++ b/trunk/paradiseo-peo/CMakeLists.txt @@ -11,7 +11,7 @@ ENDIF(WIN32) FIND_PROGRAM(XML2_CONFIG_PROGRAM NAMES xml2-config PATHS /usr/local/bin /usr/bin DOC "The libxml2 (www.xmlsoft.org) configuration tool") IF(NOT XML2_CONFIG_PROGRAM) - #MESSAGE(FATAL_ERROR "Libxml2 cannot be found on your system. Libxml2 is required for ParadisEO-PEO install") + MESSAGE(FATAL_ERROR "Libxml2 cannot be found on your system. Libxml2 is required for ParadisEO-PEO install") ENDIF(NOT XML2_CONFIG_PROGRAM) # set libxml2 cflags in XML2_CFLAGS diff --git a/trunk/paradiseo-peo/doc/html/annotated.html b/trunk/paradiseo-peo/doc/html/annotated.html index b08aae03a..8b3c58029 100644 --- a/trunk/paradiseo-peo/doc/html/annotated.html +++ b/trunk/paradiseo-peo/doc/html/annotated.html @@ -33,7 +33,6 @@ Communicable Communicator Cooperative - Node peoAggEvalFunc< EOT >The peoAggEvalFunc class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided peoAsyncIslandMig< EOT >The peoAsyncIslandMig class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e peoEA< EOT >The peoEA class offers an elementary evolutionary algorithm implementation @@ -42,7 +41,7 @@ peoParaSGATransform< EOT > peoPopEval< EOT >The peoPopEval class provides the interface for constructing ParadisEO specific evaluation functors peoSeqPopEval< EOT >The peoSeqPopEval class acts only as a ParadisEO specific sequential evaluation functor - a wrapper for incorporating an eoEvalFunc< EOT >-derived class as evaluation functor - peoSeqTransform< EOT >The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms + peoSeqTransform< EOT >The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms peoSyncIslandMig< EOT >The peoSyncIslandMig class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e 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 peoTransform< EOT >The peoTransform class acts only as an interface for creating transform operators - for an example please refer to the peoSeqTransform and the peoParaSGATransform classes @@ -55,7 +54,7 @@ Topology Worker -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classCommunicable-members.html b/trunk/paradiseo-peo/doc/html/classCommunicable-members.html index e81ec38a1..bbc325b2c 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicable-members.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicable-members.html @@ -41,7 +41,7 @@ stop()Communicable unlock()Communicable ~Communicable()Communicable [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classCommunicable.html b/trunk/paradiseo-peo/doc/html/classCommunicable.html index 868e17586..f58899348 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicable.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicable.html @@ -93,7 +93,7 @@ static unsigned  Definition at line 16 of file communicable.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classCommunicator-members.html b/trunk/paradiseo-peo/doc/html/classCommunicator-members.html index 1667cfd08..b57f0442e 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicator-members.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicator-members.html @@ -39,7 +39,7 @@ Thread()Thread wakeUp()ReactiveThread ~Thread()Thread [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classCommunicator.html b/trunk/paradiseo-peo/doc/html/classCommunicator.html index b86cd3a1f..44c6d1045 100644 --- a/trunk/paradiseo-peo/doc/html/classCommunicator.html +++ b/trunk/paradiseo-peo/doc/html/classCommunicator.html @@ -52,7 +52,7 @@ void 15 of file comm.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classCooperative-members.html b/trunk/paradiseo-peo/doc/html/classCooperative-members.html index 94f9b03e9..02d348e58 100644 --- a/trunk/paradiseo-peo/doc/html/classCooperative-members.html +++ b/trunk/paradiseo-peo/doc/html/classCooperative-members.html @@ -46,7 +46,7 @@ stop()Communicable unlock()Communicable ~Communicable()Communicable [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classCooperative.html b/trunk/paradiseo-peo/doc/html/classCooperative.html index c8d7ca71d..b85f60ac9 100644 --- a/trunk/paradiseo-peo/doc/html/classCooperative.html +++ b/trunk/paradiseo-peo/doc/html/classCooperative.html @@ -63,7 +63,7 @@ virtual void  Definition at line 17 of file cooperative.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html b/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html index 17f67a701..9ff78b2ba 100644 --- a/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html +++ b/trunk/paradiseo-peo/doc/html/classReactiveThread-members.html @@ -38,7 +38,7 @@ Thread()Thread wakeUp()ReactiveThread ~Thread()Thread [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classReactiveThread.html b/trunk/paradiseo-peo/doc/html/classReactiveThread.html index b53284e1d..5ed3d6fb3 100644 --- a/trunk/paradiseo-peo/doc/html/classReactiveThread.html +++ b/trunk/paradiseo-peo/doc/html/classReactiveThread.html @@ -60,7 +60,7 @@ sem_t 16 of file reac_thread.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classRingTopology-members.html b/trunk/paradiseo-peo/doc/html/classRingTopology-members.html index fb4f8bb6f..e20812f42 100644 --- a/trunk/paradiseo-peo/doc/html/classRingTopology-members.html +++ b/trunk/paradiseo-peo/doc/html/classRingTopology-members.html @@ -34,7 +34,7 @@ migTopology [protected] setNeighbors(Cooperative *__mig, std::vector< Cooperative * > &__from, std::vector< Cooperative * > &__to)RingTopology [virtual] ~Topology()Topology [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classRingTopology.html b/trunk/paradiseo-peo/doc/html/classRingTopology.html index a23653d7d..42e1bd7ab 100644 --- a/trunk/paradiseo-peo/doc/html/classRingTopology.html +++ b/trunk/paradiseo-peo/doc/html/classRingTopology.html @@ -48,7 +48,7 @@ void 14 of file ring_topo.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classRunner-members.html b/trunk/paradiseo-peo/doc/html/classRunner-members.html index d9ee2dcf0..a8e751a31 100644 --- a/trunk/paradiseo-peo/doc/html/classRunner-members.html +++ b/trunk/paradiseo-peo/doc/html/classRunner-members.html @@ -55,7 +55,7 @@ waitStarting()Runner ~Communicable()Communicable [virtual] ~Thread()Thread [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classRunner.html b/trunk/paradiseo-peo/doc/html/classRunner.html index c1c75bd54..14248a9f1 100644 --- a/trunk/paradiseo-peo/doc/html/classRunner.html +++ b/trunk/paradiseo-peo/doc/html/classRunner.html @@ -78,7 +78,7 @@ unsigned 19 of file runner.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classService-members.html b/trunk/paradiseo-peo/doc/html/classService-members.html index d46a766e5..54720a516 100644 --- a/trunk/paradiseo-peo/doc/html/classService-members.html +++ b/trunk/paradiseo-peo/doc/html/classService-members.html @@ -55,7 +55,7 @@ unpackData()Service [virtual] unpackResult()Service [virtual] ~Communicable()Communicable [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classService.html b/trunk/paradiseo-peo/doc/html/classService.html index 43db8939b..4334b5d4c 100644 --- a/trunk/paradiseo-peo/doc/html/classService.html +++ b/trunk/paradiseo-peo/doc/html/classService.html @@ -95,7 +95,7 @@ unsigned 17 of file service.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classThread-members.html b/trunk/paradiseo-peo/doc/html/classThread-members.html index 30442dbde..5ce00968a 100644 --- a/trunk/paradiseo-peo/doc/html/classThread-members.html +++ b/trunk/paradiseo-peo/doc/html/classThread-members.html @@ -35,7 +35,7 @@ setPassive()Thread Thread()Thread ~Thread()Thread [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classThread.html b/trunk/paradiseo-peo/doc/html/classThread.html index 67a0bad5e..348161ac0 100644 --- a/trunk/paradiseo-peo/doc/html/classThread.html +++ b/trunk/paradiseo-peo/doc/html/classThread.html @@ -65,7 +65,7 @@ bool 16 of file thread.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classTopology-members.html b/trunk/paradiseo-peo/doc/html/classTopology-members.html index 91aa6b1a1..12174281c 100644 --- a/trunk/paradiseo-peo/doc/html/classTopology-members.html +++ b/trunk/paradiseo-peo/doc/html/classTopology-members.html @@ -33,7 +33,7 @@ add(Cooperative &__mig)Topology migTopology [protected] ~Topology()Topology [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classTopology.html b/trunk/paradiseo-peo/doc/html/classTopology.html index fafaf9c84..deced4cec 100644 --- a/trunk/paradiseo-peo/doc/html/classTopology.html +++ b/trunk/paradiseo-peo/doc/html/classTopology.html @@ -55,7 +55,7 @@ std::vector< Cooperative * >

Definition at line 16 of file topology.h.


The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classWorker-members.html b/trunk/paradiseo-peo/doc/html/classWorker-members.html index ecda89c76..58552c228 100644 --- a/trunk/paradiseo-peo/doc/html/classWorker-members.html +++ b/trunk/paradiseo-peo/doc/html/classWorker-members.html @@ -61,7 +61,7 @@ Worker()Worker ~Communicable()Communicable [virtual] ~Thread()Thread [virtual] -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classWorker.html b/trunk/paradiseo-peo/doc/html/classWorker.html index 83741b957..8a1442f5a 100644 --- a/trunk/paradiseo-peo/doc/html/classWorker.html +++ b/trunk/paradiseo-peo/doc/html/classWorker.html @@ -87,7 +87,7 @@ bool 18 of file worker.h.
The documentation for this class was generated from the following files: -
Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classes.html b/trunk/paradiseo-peo/doc/html/classes.html index 54bd45df3..b68ddd2d9 100644 --- a/trunk/paradiseo-peo/doc/html/classes.html +++ b/trunk/paradiseo-peo/doc/html/classes.html @@ -32,16 +32,16 @@

ParadisEO-PEO Class Index

A | C | E | N | P | R | S | T | W

  A  
-
Node   peoSeqPopEval   
peoAggEvalFunc   
  P  
-
peoSeqTransform   
peoAsyncIslandMig   peoParaPopEval   Service   
  C  
-
peoParaSGATransform   peoSyncIslandMig   
Communicable   peoPopEval   peoSyncMultiStart   
Communicator   
  R  
+
  P  
+
peoSeqTransform   
peoAggEvalFunc   peoParaPopEval   Service   
peoAsyncIslandMig   peoParaSGATransform   peoSyncIslandMig   
  C  
+
peoPopEval   peoSyncMultiStart   
Communicable   
  R  
  T  
-
Cooperative   ReactiveThread   Thread   
  E  
-
RingTopology   Topology   
peoEA   Runner   peoTransform   
  N  
-
  S  
+
Communicator   ReactiveThread   Thread   
Cooperative   RingTopology   Topology   
  E  
+
Runner   peoTransform   
peoEA   
  S  
  W  
-
peoNoAggEvalFunc   SEND_REQUEST   Worker   

A | C | E | N | P | R | S | T | W

-


Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
  N  
+SEND_REQUEST   Worker   peoNoAggEvalFunc   peoSeqPopEval   

A | C | E | N | P | R | S | T | W

+


Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
diff --git a/trunk/paradiseo-peo/doc/html/classpeoAggEvalFunc.html b/trunk/paradiseo-peo/doc/html/classpeoAggEvalFunc.html index 72a607d6b..0151bc863 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoAggEvalFunc.html +++ b/trunk/paradiseo-peo/doc/html/classpeoAggEvalFunc.html @@ -29,7 +29,7 @@
  • Class Hierarchy
  • Class Members
  • -

    peoAggEvalFunc< EOT > Class Template Reference

    The peoAggEvalFunc class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided. +

    peoAggEvalFunc< EOT > Class Template Reference

    The peoAggEvalFunc class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided. More...

    #include <peoAggEvalFunc.h> @@ -37,9 +37,11 @@

    Inheritance diagram for peoAggEvalFunc< EOT >:

    -peoNoAggEvalFunc< EOT > +eoBF< A1, A2, R > +eoFunctorBase +peoNoAggEvalFunc< EOT > - +List of all members.

    Detailed Description

    @@ -60,7 +62,7 @@ The aggregation object is called in an iterative manner for each of the results

    Definition at line 25 of file peoAggEvalFunc.h.


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoAggEvalFunc.png b/trunk/paradiseo-peo/doc/html/classpeoAggEvalFunc.png index 782e65274667f290861ac4f8e63a5b1705d63046..02c34fb8a6bc410a6318b31bc5f4ddbff1b9b5f8 100644 GIT binary patch delta 908 zcmV;719SZ21jPrC7Ye`x0{{R3fF3T%ks&jG16xT%K~#90?VC|@;~)%%%}bvxZXiyu zvpcir*{9zB2nz@aVPnT6p{-}6PLr63&+;F2k}A^jXO8_^eupV$;BN;bfLDiJR$m6U zhhA3w-uEInMv9QZ7=JvZmAH_WF@w{i>@x<=wBQ*G=^@e$rd2-lN3lNw1L$)QxM-Yz zR-XXJy(;1jI7ll{femb60~^@D20pcEAH47PKZt=Jfm2Ne zYJClZs+IX5b&BEAP4I19#;ckKmB+k)xLpKeuAX$jfv0GsjeXg(2NzV)cu(GgqpOOz?8xOMtRC%2dgNZjK}$h9yi&8Nx0Tf^5qC9y0KTMg z$qE2nt79-Sn4ccVic@PSr#0k3ux1^E`W*PW8Ti)VX>b42KCt`*u+`nBgKwCB6$Uo2 zfemb60~^@Drv`IuUDi2QXW(xFyZR`-yu27+>%D7oaPb$a=P`JdwR(#9uy<{aAg*z3 zz|N&J$FyDv3~q7j>hfNfo*{7bXHNk;X7|CX%exl-fp{R`{0xK1GoE`7cIzIzY`}CF zm2Spr1L%<*jJ(wD^2plRHHJE2jX+|?WLp@lf4UD*f z9BRawEMRGK^PXo^)#N63^%Saz2@HKH5?MtYG}!aRX9YJ>G!bvWDq^K^K47qDOvA7Y zW*4Qg$_lNq%8D{rO!t%(rPU7sxoNMc#aY35yw8eGa*BEnC!_mz2A1o6H@J-5z5t$K i2L1~0Xd~OzxBve*M1P@j7unJP0000&ENAE=kX9~!ec6@oDQi8{wFZ>GyZt(X8WwyQWija zV^>}WXTR5%Xs26y1BJjK9l!v*a!R}|gAo$s4AKkyM8QpON(Y0nx4{{tE7=R%g@fgP ziGfww)?R}lufb^n*30G`XeWD|O~OrR9>?3AMqW&8hr9p} zRtys_z#9{Hj}`15b4v$mfD4uLl?TYejyG5R0AG_K((zAp&Y|?8+4w4P0E(muRP@u8VXc8l(ay z;uRaUFt6}Yz(|!!A?YPnD7Zr+;}GC+Q}Xlm#TB>ahzDl4!(4=8M<%m>#600VPXa2wiQec6W0hX)w&%#STRhz0EdZ# z$8up{_n2Ec*d)Q@kc#MWNJZ6D=uuN4F=Z=B!DMb(DlEtARBVLP-P=m;9d!%r`+YXJ qV)zz31U{lB_!ZzCKk0kw^b1}S6gOyL(=Mj~0000Class Members

    peoAsyncIslandMig< EOT > Member List

    This is the complete list of members for peoAsyncIslandMig< EOT >, including all inherited members.

    + + + - + + @@ -60,7 +64,9 @@ -
    className(void) const eoUpdater [virtual]
    Communicable()Communicable
    contpeoAsyncIslandMig< EOT > [private]
    coop_empeoAsyncIslandMig< EOT > [private]
    destinationpeoAsyncIslandMig< EOT > [private]
    empeoAsyncIslandMig< EOT > [private]
    emigrate()peoAsyncIslandMig< EOT > [private]
    functor_category()eoF< void > [static]
    getKey()Communicable
    getOwner()Cooperative
    immpeoAsyncIslandMig< EOT > [private]
    immigrate()peoAsyncIslandMig< EOT > [private]
    keyCommunicable [protected]
    lastCall()eoUpdater [virtual]
    lock()Communicable
    notifySending()Cooperative [virtual]
    num_commCommunicable [protected, static]
    operator()()peoAsyncIslandMig< EOT >
    operator()()peoAsyncIslandMig< EOT > [virtual]
    pack()peoAsyncIslandMig< EOT > [virtual]
    peoAsyncIslandMig(eoContinue< EOT > &__cont, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination)peoAsyncIslandMig< EOT >
    replacepeoAsyncIslandMig< EOT > [private]
    result_type typedefeoF< void >
    resume()Communicable
    selectpeoAsyncIslandMig< EOT > [private]
    sem_lockCommunicable [protected]
    unlock()Communicable
    unpack()peoAsyncIslandMig< EOT > [virtual]
    ~Communicable()Communicable [virtual]


    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  + ~eoF()eoF< void > [virtual] + ~eoFunctorBase()eoFunctorBase [virtual] +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoAsyncIslandMig.html b/trunk/paradiseo-peo/doc/html/classpeoAsyncIslandMig.html index 1b229a026..c95fef3c9 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoAsyncIslandMig.html +++ b/trunk/paradiseo-peo/doc/html/classpeoAsyncIslandMig.html @@ -29,7 +29,7 @@
  • Class Hierarchy
  • Class Members
  • -

    peoAsyncIslandMig< EOT > Class Template Reference

    The peoAsyncIslandMig class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e. +

    peoAsyncIslandMig< EOT > Class Template Reference

    The peoAsyncIslandMig class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e. More...

    #include <peoAsyncIslandMig.h> @@ -37,18 +37,21 @@

    Inheritance diagram for peoAsyncIslandMig< EOT >:

    -Cooperative -Communicable +Cooperative +eoUpdater +Communicable +eoF< void > +eoFunctorBase List of all members. - + - + - + @@ -66,28 +69,28 @@ void  +eoContinue< EOT > &  +eoSelect< EOT > &  +eoReplacement< EOT > &  +eoPop< EOT > &  +eoPop< EOT > &  +std::queue< eoPop< EOT > >  +std::queue< eoPop< EOT > >  @@ -201,19 +204,19 @@ template<class EOT> - + - + - + @@ -225,13 +228,13 @@ template<class EOT> - + - + @@ -244,7 +247,7 @@ template<class EOT>

    -Constructor for the peoAsyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters. +Constructor for the peoAsyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.

    Parameters:

    Public Member Functions

     peoAsyncIslandMig (eoContinue< EOT > &__cont, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination)
     peoAsyncIslandMig (eoContinue< EOT > &__cont, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination)
     Constructor for the peoAsyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.
     Constructor for the peoAsyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.
    void operator() ()
     Function operator to be called as checkpoint for performing the migration step.
     Function operator to be called as checkpoint for performing the migration step.
    void pack ()

    Private Attributes

    -eoContinue< EOT > & cont
    cont
    -eoSelect< EOT > & select
    select
    -eoReplacement< EOT > & replace
    replace
    Topologytopology
    -eoPop< EOT > & source
    source
    -eoPop< EOT > & destination
    destination
    -std::queue< eoPop< EOT > > imm
    imm
    -std::queue< eoPop< EOT > > em
    em
    std::queue< Cooperative * > coop_em
    peoAsyncIslandMig< EOT >::peoAsyncIslandMig (eoContinue< EOT > & eoContinue< EOT > &  __cont,
    eoSelect< EOT > & eoSelect< EOT > &  __select,
    eoReplacement< EOT > & eoReplacement< EOT > &  __replace,
    eoPop< EOT > & eoPop< EOT > &  __source,
    eoPop< EOT > & eoPop< EOT > &  __destination 
    @@ -275,17 +278,19 @@ template<class EOT> - +
    (  )  [virtual]

    -Function operator to be called as checkpoint for performing the migration step. +Function operator to be called as checkpoint for performing the migration step.

    The emigrant individuals are selected from the source population and sent to the next island (defined by the topology object) while the immigrant individuals are integrated in the destination population. There is no need to explicitly call the function - the wrapper checkpoint object (please refer to the above example) will perform the call when required.

    +Implements eoF< void >. +

    Definition at line 248 of file peoAsyncIslandMig.h.

    References peoAsyncIslandMig< EOT >::cont, peoAsyncIslandMig< EOT >::emigrate(), peoAsyncIslandMig< EOT >::immigrate(), and peoAsyncIslandMig< EOT >::source. @@ -293,7 +298,7 @@ References peoAsync


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoAsyncIslandMig.png b/trunk/paradiseo-peo/doc/html/classpeoAsyncIslandMig.png index d6b2d9f659674be4d2ebb1a6c17af6a930d7ee32..3a59d02e1183488e106c580d5fb5b1af5f04ee1f 100644 GIT binary patch literal 1332 zcmeAS@N?(olHy`uVBq!ia0y~yU`ztC53n!;$uk#AB!HAefKQ0)|NsAi%>Vxn%%7hy z0muU50|yRNANv0U$Ym@E@(X5gcy=R=fq~_er;B4q#hkZuyrGv z?&r~~e@8uDIWvFlzuNH3WclA_-}mV-XOe$b;r-I zQ_LPbt2=f+eL`3Qkp5o%bmd1@&Pz;hSTY&Qnzk@lJ4Q9kRnR@)H$f~x9ir(5nbHQ| zSnG6ootXFkVqbW5#)hmr3+wwnI$iYEt@`kI4?|AZ-PD}t?1hi}UTtJu6E7@fpYq54 zK;mN_@1<%hPqkzv1?A3?E}nYw#x{P*@=~3z1?x<11RvXZLOb-B#p~$YDBU-atDoL9 zd6(7dcK^D?)2i8*O0L}4>Yewbhcrxl(6E{~a!N zy=7w=KBs%1xBrDKp9s@;P;x>4iwF8*WoiXw&sba75(_gDI>k9^?UNzY}QxyxB9b12Ws_2`z$J=aX<%dVVn7XOAwQE~! zgy7?-Pi|LpQyI7I5sQw^eA!c|o!q%xC-+y~%g{unXP4xmF+Z8|l zx$(@Fi%;Gz{H;4VjZOIf*We?q$I|}s-0R8RBXzIbKv?8fMTgkV#a)FWUG~SGhy}kp z*8VvzWlmJP_<@j@t9x>-&c3XYc>CKzJ3cWdccRDQ<~t{L^l;to>0P)vK{~-m>r6qQ{Po#2hI2n2-V$tJ zy3B5#Wc;P$+k%z$XWi+2+<2@o_wBJl^Y9pxzS}X084@Y1#xu3sYLZud%wD(R^T(x| zZ&!crb6)qhXz#~w)!#p)9=q*sQua3RulI_6sp%^U=Sxe~A6)*wo>lG3oCHH}Q(zIt N;OXk;vd$@?2>_ipe$D^@ delta 599 zcmV-d0;v783jG8jiBL{Q4GJ0x0000DNk~Le000220001p1Oos70Ei+T%aI{7e*zOp zL_t(&f$i8|dcq(K0C0HObHWY6Zm?ZwPu~9s3xt1dZ55RHbq4!M8|kkU<8(3KQ=0km z6WXV;FJKX`hF$8Z+3#TK=&W%zo`TLhN1lie`9Tyq4ifsZ-_J7Wkr;LuVd6`Kt1R}% zSXZ_r3Y7Ps$`Ypio%eN+UCz9Rf2De(d8;=*zP2%M(N&gQ5@RONU?x1)lvQ>zJLwC( zqy6*@el`1XITL%i{G5nAS0*T{tg^}~tE{r`#!mX#e6If;ls#s5N+xt%%DTnwmBMyQ zDfh9t6qc%9+=Z$bawyh8Xs7&h58GB|LJ`I1GK(BP$|fd+p3Gt>2uTSnf7A%$@l$5& zQ>jtdqjb2H39Gd&EcxL@$fdA06JiO>MRqh3mJ{!4|B~%(%FbjbeW6eK`SEgA>tOTP zb7g|E$||d@vdSv^ZY)k|24>usRrc>#yB-0{AlUU;;eF>PW8=;a3+vf$SPtNo0bm*` zvX+P1a7hrBuN+>G2*@GIe<(;SM{UDGmKQ994y?(KxQo((Y+;%Lr$0E2>GKsWMw^SwtBb*I$6drbQ?$uamH%ZWjR;v&~)HpkYm2qXnC0yJqpq z+7<*##I~%3vij}XHkr_@ZOsIbyOwd#W`dRZWwvHQ&f9G!m`%G9E$SJv$KL!%+Y$DT l$>PzKPyQF|J=r;5=)Wv|WzOMqR{j70002ovPDHLkV1fswaitStarting()Runner ~Communicable()Communicable [virtual] ~Thread()Thread [virtual] -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoEA.html b/trunk/paradiseo-peo/doc/html/classpeoEA.html index fcb4ad812..19c42b8c3 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoEA.html +++ b/trunk/paradiseo-peo/doc/html/classpeoEA.html @@ -44,34 +44,34 @@ List of all members. - + - + - + +eoContinue< EOT > &  +eoSelect< EOT > &  +eoReplacement< EOT > &  +eoPop< EOT > * 

    Public Member Functions

     peoEA (eoContinue< EOT > &__cont, peoPopEval< EOT > &__pop_eval, eoSelect< EOT > &__select, peoTransform< EOT > &__trans, eoReplacement< EOT > &__replace)
     peoEA (eoContinue< EOT > &__cont, peoPopEval< EOT > &__pop_eval, eoSelect< EOT > &__select, peoTransform< EOT > &__trans, eoReplacement< EOT > &__replace)
     Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism.
    void run ()
     Evolutionary algorithm function - a side effect of the fact that the class is derived from the Runner class, thus requiring the existence of a run function, the algorithm being executed on a distinct thread.
    void operator() (eoPop< EOT > &__pop)
    void operator() (eoPop< EOT > &__pop)
     Function operator for specifying the population to be associated with the algorithm.
     Function operator for specifying the population to be associated with the algorithm.

    Private Attributes

    -eoContinue< EOT > & cont
    cont
    peoPopEval< EOT > & pop_eval
    -eoSelect< EOT > & select
    select
    peoTransform< EOT > & trans
    -eoReplacement< EOT > & replace
    replace
    -eoPop< EOT > * pop
    pop

    Detailed Description

    @@ -80,7 +80,7 @@ eoPop< EOT > * peoEA class offers an elementary evolutionary algorithm implementation.

    -In addition, as compared with the algorithms provided by the EO framework, the peoEA class has the underlying necessary structure for including, for example, parallel evaluation and parallel transformation operators, migration operators etc. Although there is no restriction on using the algorithms provided by the EO framework, the drawback resides in the fact that the EO implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a peoEA object:

    +In addition, as compared with the algorithms provided by the EO framework, the peoEA class has the underlying necessary structure for including, for example, parallel evaluation and parallel transformation operators, migration operators etc. Although there is no restriction on using the algorithms provided by the EO framework, the drawback resides in the fact that the EO implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a peoEA object:

    @@ -137,7 +137,7 @@ template<class EOT> - + @@ -149,7 +149,7 @@ template<class EOT> - + @@ -161,7 +161,7 @@ template<class EOT> - + @@ -176,7 +176,7 @@ template<class EOT>

    Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism.

    -Depending on the requirements, a sequential or a parallel evaluation operator may be specified or, in the same manner, a sequential or a parallel transformation operator may be given as parameter. Out of the box objects may be provided, from the EO package, for example, or custom defined ones may be specified, provided that they are derived from the correct base classes.

    +Depending on the requirements, a sequential or a parallel evaluation operator may be specified or, in the same manner, a sequential or a parallel transformation operator may be given as parameter. Out of the box objects may be provided, from the EO package, for example, or custom defined ones may be specified, provided that they are derived from the correct base classes.

    Parameters:
    ...    
    peoEA< EOT >::peoEA (eoContinue< EOT > & eoContinue< EOT > &  __cont,
    eoSelect< EOT > & eoSelect< EOT > &  __select,
    eoReplacement< EOT > & eoReplacement< EOT > &  __replace 
    @@ -203,7 +203,7 @@ template<class EOT> - + @@ -213,7 +213,7 @@ template<class EOT>

    -Function operator for specifying the population to be associated with the algorithm. +Function operator for specifying the population to be associated with the algorithm.

    Parameters:
    eoContinue< EOT >& __cont - continuation criterion specifying whether the algorithm should continue or not;
    void peoEA< EOT >::operator() (eoPop< EOT > & eoPop< EOT > &  __pop  ) 
    @@ -229,7 +229,7 @@ References peoEA< EOT >::


    The documentation for this class was generated from the following file:
    -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc-members.html b/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc-members.html index 070473960..7ab937138 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc-members.html @@ -30,8 +30,12 @@
  • Class Members
  • peoNoAggEvalFunc< EOT > Member List

    This is the complete list of members for peoNoAggEvalFunc< EOT >, including all inherited members.

    + -
    functor_category()eoBF< A1, A2, R > [static]
    operator()(EOT &__sol, const typename EOT::Fitness &__fit)peoNoAggEvalFunc< EOT >


    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  + peoAggEvalFunc::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual] + ~eoBF()eoBF< A1, A2, R > [virtual] + ~eoFunctorBase()eoFunctorBase [virtual] +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc.html b/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc.html index 06aec6cc9..98163d43c 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc.html +++ b/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc.html @@ -37,7 +37,9 @@

    Inheritance diagram for peoNoAggEvalFunc< EOT >:

    -peoAggEvalFunc< EOT > +peoAggEvalFunc< EOT > +eoBF< A1, A2, R > +eoFunctorBase List of all members. @@ -59,7 +61,7 @@ The class is provided as a mean of declaring that no aggregation is required for

    Definition at line 19 of file peoNoAggEvalFunc.h.


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc.png b/trunk/paradiseo-peo/doc/html/classpeoNoAggEvalFunc.png index 0db69caaa3a0fec69f47e443be9ab895961e793f..2feda5514e4e93e6414a8fbbb5ae4bbd5bb2ba34 100644 GIT binary patch delta 889 zcmV-<1BU$B1hNN^7Ye`x0{{R3fF3T%ks&jG14v0kK~#90?V3T7;~)%0&8F9g8;BE3 z&0J_!x&ILcAq2uEZrdF)ah2%m*e2p3ew4EFi{;Op_G|ear!)iqcQ673bs1{!kHP(A zsJ&qudk~y5MaW=Ge*vf`bx=2EFrDR?bKp#iLBK$#$S+8}av7fG{v8-V&%xlLG4)=5 z0H?7k;}tkd0VGBL;U3C3?t}9yKK~F8X}zZuNKy zW{pD`vjrDa(RfSVf>WrjRKIy3S@8fptRB_61<1$n*mTgKj zFM)yfpVhrsd6N@6DnTME7~{ZcY2bij2Vvdf)^G9>ux!DCEx4IO4IEcs+3&{t#ONLN zfr=Hy+{ghf<4W$pg|gZ`$G)b2%9z10mO{v@jO7qk;7*Dz;}v+2anqQ=Rb$?eCt#F0 zo5rdtMjE%O$R=BJ0pTuwP1tt6h$NKH_ppHMC*m z0GIxuMQ*?#U|;*&6zO!dKF1)}g=VmGG-INA;(0n|Fu28e@A6nj5e!ZtGNOW=uzRp~ zIhqERBmY6VsNnpLfO$k-;Tr6G11}BiG?=@Sa*jum#=eHKa;&k=*m(^uqe%>2H?;X! zatA772E$ki=evv-4fcyKs)~iHf{$Dk zxlBn)$6zOFNmWQ4Z>wTZoK?Mx-^@L5UGJ;G3#f0wCGd=9;CFy$-TwapT}Oiaukd^> P00000NkvXXu0mjfCrYw{ delta 542 zcmV+(0^$9#2iXLW7Ya}W0{{R3op?Bkks&jG0q;pfK~z|U?Uhk(!ypWX@k^gEH!vrd zwhQg4_dmigj*TH{rFNlPC8#PA^83U5{iBAjIpZUI<|$)={|HR&3NhItBJQOupz_70 zybVq!X?>OD&cxmkA25R?!X(Rh}%A5Iic%Vz<6whl826UN&~pF zqU(47A9UP27O;8DB@IlvXY<&l;>hEc3I=N`YE0Qm5^zllxm0M5Z>J&;Lk{@#xCOTJ zo(<0E-hy9&&mIf>3h=bQ{|Cn95%Ir&0AIh~41Bp>-wgbQsaW6zUf=~@;00db1-?6Q z&WIt-Io$%k9vs8A0Ja4D6K|KCp&g?NpnS0@cVJX-wDq<{xjZ@_2naf91q1Mog&LU` zd9GlD05L+X1y%^SNVLMhpzIzTp{luXo8^P$#=!N7f~BIKa0Eka;LyO}!LnR`oCB$3 zkE2P&Iq}$c4AFzPYBod8jcq@%9ME+vU_7=0V%Kr-;25;pz?~Ic#{<}P>^!bF3O0|q zq=8l9Ja(z@9=lWoNrlXkiW*b45(EtDmZm~;yidhJIL*B$-^_bpJMY=xfbK1L3Or*h g@GHQx{{DXegBLo(z_a$e0000907*qoM6N<$g2s;pu>b%7 diff --git a/trunk/paradiseo-peo/doc/html/classpeoParaPopEval-members.html b/trunk/paradiseo-peo/doc/html/classpeoParaPopEval-members.html index 592e609a4..d73b64c68 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoParaPopEval-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoParaPopEval-members.html @@ -66,7 +66,7 @@
    -
    unpackData()peoParaPopEval< EOT > [virtual]
    unpackResult()peoParaPopEval< EOT > [virtual]
    ~Communicable()Communicable [virtual]

    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoParaPopEval.html b/trunk/paradiseo-peo/doc/html/classpeoParaPopEval.html index 83aa7dfff..bb6bd64f6 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoParaPopEval.html +++ b/trunk/paradiseo-peo/doc/html/classpeoParaPopEval.html @@ -44,13 +44,13 @@ List of all members. - + - + - + @@ -77,11 +77,11 @@ void  +std::vector< eoEvalFunc< EOT > * >  @@ -129,7 +129,7 @@ template<class EOT> - + @@ -162,7 +162,7 @@ template<class EOT> - + @@ -185,7 +185,7 @@ Constructor function - a vector of EO-derived evaluation functors has to be spec

    Parameters:

    Public Member Functions

     peoParaPopEval (eoEvalFunc< EOT > &__eval_func)
     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)
     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)
    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 notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.

    Private Attributes

    -const std::vector< eoEvalFunc<
    +const std::vector< eoEvalFunc<
    EOT > * > & 
    funcs
    -std::vector< eoEvalFunc< EOT > * > one_func
    one_func
    peoAggEvalFunc< EOT > & merge_eval
    peoParaPopEval< EOT >::peoParaPopEval (eoEvalFunc< EOT > & eoEvalFunc< EOT > &  __eval_func  ) 
    peoParaPopEval< EOT >::peoParaPopEval (const std::vector< eoEvalFunc< EOT > * > & const std::vector< eoEvalFunc< EOT > * > &  __funcs,
    - +
    const std :: vector< eoEvalFunc < EOT >* >& __funcs - vector of EO-derived partial evaluation functors;
    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.
    @@ -204,7 +204,7 @@ template<class EOT> void peoParaPopEval< EOT >::operator() ( - eoPop< EOT > &  + eoPop< EOT > &  __pop  )  [virtual] @@ -404,7 +404,7 @@ References Service::g


    The documentation for this class was generated from the following file:
    -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform-members.html b/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform-members.html index 9b0c21f44..e815a9e92 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform-members.html @@ -35,6 +35,7 @@ cross_ratepeoParaSGATransform< EOT > [private] execute()peoParaSGATransform< EOT > [virtual] fatherpeoParaSGATransform< EOT > [private] + functor_category()eoUF< A1, R > [static] getKey()Communicable getOwner()Service idxpeoParaSGATransform< EOT > [private] @@ -49,6 +50,7 @@ num_commCommunicable [protected, static] num_termpeoParaSGATransform< EOT > [private] operator()(eoPop< EOT > &__pop)peoParaSGATransform< EOT > + peoTransform::operator()(A1)=0eoUF< A1, R > [pure virtual] packData()peoParaSGATransform< EOT > [virtual] packResourceRequest()Service packResult()peoParaSGATransform< EOT > [virtual] @@ -64,7 +66,9 @@ unpackData()peoParaSGATransform< EOT > [virtual] unpackResult()peoParaSGATransform< EOT > [virtual] ~Communicable()Communicable [virtual] -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  + ~eoFunctorBase()eoFunctorBase [virtual] + ~eoUF()eoUF< A1, R > [virtual] +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform.html b/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform.html index fafc9dd44..dceeb0f21 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform.html +++ b/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform.html @@ -32,18 +32,21 @@

    peoParaSGATransform< EOT > Class Template Reference

    Inheritance diagram for peoParaSGATransform< EOT >:

    -peoTransform< EOT > -Service -Communicable +peoTransform< EOT > +Service +eoTransform< EOT > +Communicable +eoUF< A1, R > +eoFunctorBase List of all members. +  +void  @@ -68,13 +71,13 @@ void  +eoQuadOp< EOT > &  +eoMonOp< EOT > &  @@ -83,7 +86,7 @@ double  +eoPop< EOT > *  @@ -105,7 +108,7 @@ unsigned  -

    Public Member Functions

    peoParaSGATransform (eoQuadOp< EOT > &__cross, double __cross_rate, eoMonOp< EOT > &__mut, double __mut_rate)
    peoParaSGATransform (eoQuadOp< EOT > &__cross, double __cross_rate, eoMonOp< EOT > &__mut, double __mut_rate)
    -void operator() (eoPop< EOT > &__pop)
    operator() (eoPop< EOT > &__pop)
    void packData ()

    Private Attributes

    -eoQuadOp< EOT > & cross
    cross
    double cross_rate
    -eoMonOp< EOT > & mut
    mut
    double mut_rate
    idx
    -eoPop< EOT > * pop
    pop
    EOT father
    21 of file peoParaSGATransform.h.
    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform.png b/trunk/paradiseo-peo/doc/html/classpeoParaSGATransform.png index 95dfd12320a08b7c12fcda4fc50c179adbc8c4dd..ed966aad7b07429701fd3b38bff4e80fd319c5de 100644 GIT binary patch literal 1640 zcmcIlX*8Q@6#l3+YMRPtqS`Y^Qw^$$(heOZ_F5BbTO@=;tAkoAMO8&BhoZqygjk}q zRc3UtR&$7@G7T+4V`^V&=|nA^S~4+b`e&A3bLO1;JomZh-20yU<9*IeadxzphbTh; z0Fbw}vA_a=7*(V{N$e6az-jUpv68dBtEEsV6iK15wWtW6AyR*!wYBvsOE@Vi#Uikd zE`aGYj|c#g+qM>Fu2%{c3%tYbpM+8z9Ng%K7EODkm_);}!ym56!nY8uY*xfma+Znh zph*kq*HR=ZX51wDUD^zTMa_;=v@C4(4#)6*o z%Y7#pM8ZSC)jC0AngAS22;EJ9;67u6n8ys41YSlxma&1ah!lCsS06L4BPh0UwF`xL zE=MQ>;kD(rJhF-u8|UJqKy~`eI>;dPT=*fp*mH)(boi-s^c}okIluuGHAI+DR{YGm z`0`p>VurH}WhZu{b=idl_rsdyfXsPsASs^Std+o30$)|kdy6Nqi3 z$#4KM*a$%Df00b+Ts;a{R7Z=cei^*=-&#D1OqZo(8)Uok-DcI%z5c2oNBw!ixI>S& zb@oD2dPd8!z>*r13Ab_*$0*F4xmLi6M=9i%kOK!jJ$6b&>ckCy6Z0HwsEOd>bcR~~ z%QboG@xDyI_IjNCN?aMr?1ep}v~~!?`{>e-_U(=qzm*)bpNgKB zsAbs1T~5AygT+)`xX`z%PZ?PCnyp&agI}JIn2>6Z@@Zjq9xT5eF??Y?PO#<0TdnGP zH}96jgX^GzS1hkIbBX0PDT8%ZXP+5#8$Uc;>YTd|pC-<29$aDy)y5oqS9Fm2(bOmy zBTx@YCGI3uhUxPzbX4Okl|My_Rf~W{?1I4VWS|?S9@ljYovx&_^4xJkYH%~v(C@Wr6APvC>N zM>%aH8#jH3)%v&)`*Rw8RXy&Q$2o^vDs0SoQ2J`jGwA3W^&uWMoce81Vdu1#ruycS z+84%PjEvLX)5DKr`NSH*+=$ZGd`y#33}@sa>3mCA5{&9cx047XD8SN<{M`oYuUzkK zv7+!FsC1W2&S&pQjyKyIUYCOSjz_No-=6ZqSf|R3eE&LxHdA8zVaCr#qg(N!Pft62 ze51am9nay3`(WlP`hs=d_KCiKWQ7j4#!%YZcMv6Poz&7CcFmjHB#YHp#c8`g8ac5$ zsbt6kb@xlML2*NV%osV^fQbHWA5LaOVkCj(pNf311QL*#jz2vi+aQ+mZ|I_-XTibM z*CMybN~-)V=-cRcyD1fA2>rtHJ0+2gzq|*nVSV>z;dDFF?YR||zP0XWc zTncqvv9$$my z@h=XQzXmuv0AO)C=n<>&M*w`We>Z?PLx>?@L`Sr&0$X?783kpg&e zz7F2WqLq~&${hg*ivi967=GI_{Ko5S0IQq+KH&OUWB>ygzyJm?e}DlDa9aQjmWLl; zWhKr4rvm`^<}9tC8OPZ+TiPk3oS{9A2g?9Yx~3n~InQ{3w12G=pZ8Qs8Q@&fLU2(> zL+{hKD|!^*9Iv6JG)Qlkq^R@qaXrA(A$>Up5C-&H0FJfGLPx(jS?y@X1OL(kU;;b} zKpgG!S`dQ@KzDd2f1Bh*8-0#JZ2{DPq}gdioVZF*q6#1bAlp_0M1SuhXe`JFR^au2 z3czdhT{iYnTvS^y2TT^!F_-}~9y5TO0j3yKSyaWK&LVOV2OFGT2ek!hjn6LPEK)#o s9rRh$r}SZR6TnC@z!?CeZ(IHYbRzO8MjCJh00000NkvXX1g=70f_BeRu>b%7 diff --git a/trunk/paradiseo-peo/doc/html/classpeoPopEval-members.html b/trunk/paradiseo-peo/doc/html/classpeoPopEval-members.html index 347f475c6..1d4435ae2 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoPopEval-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoPopEval-members.html @@ -54,7 +54,7 @@
    unpackData()Service [virtual]
    unpackResult()Service [virtual]
    ~Communicable()Communicable [virtual]

    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoPopEval.html b/trunk/paradiseo-peo/doc/html/classpeoPopEval.html index 1f98912c8..d980abd30 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoPopEval.html +++ b/trunk/paradiseo-peo/doc/html/classpeoPopEval.html @@ -46,7 +46,7 @@

    Public Member Functions

    -virtual void operator() (eoPop< EOT > &__pop)=0 +virtual void operator() (eoPop< EOT > &__pop)=0  Interface function providing the signature for constructing an evaluation functor.
    @@ -56,13 +56,13 @@ virtual void peoPopEval class provides the interface for constructing ParadisEO specific evaluation functors.

    -The derived classes may be used as wrappers for EO-derived evaluation functors. In order to have an example, please refer to the implementation of the peoSeqPopEval and peoParaPopEval classes. +The derived classes may be used as wrappers for EO-derived evaluation functors. In order to have an example, please refer to the implementation of the peoSeqPopEval and peoParaPopEval classes.

    Definition at line 19 of file peoPopEval.h.


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval-members.html b/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval-members.html index ed7dc9f3c..f9bcaedf9 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval-members.html @@ -56,7 +56,7 @@ unpackData()Service [virtual] unpackResult()Service [virtual] ~Communicable()Communicable [virtual] -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval.html b/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval.html index 06b32043c..825c2af25 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSeqPopEval.html @@ -44,15 +44,15 @@ List of all members. - + - + +eoEvalFunc< EOT > & 

    Public Member Functions

     peoSeqPopEval (eoEvalFunc< EOT > &__eval)
     peoSeqPopEval (eoEvalFunc< EOT > &__eval)
     Constructor function - it only sets an internal reference to point to the specified evaluation object.
    void operator() (eoPop< EOT > &__pop)
    void operator() (eoPop< EOT > &__pop)
     Operator for evaluating all the individuals of a given population - in a sequential iterative manner.

    Private Attributes

    -eoEvalFunc< EOT > & eval
    eval

    Detailed Description

    @@ -61,7 +61,7 @@ eoEvalFunc< EOT > & peoSeqPopEval class acts only as a ParadisEO specific sequential evaluation functor - a wrapper for incorporating an eoEvalFunc< EOT >-derived class as evaluation functor.

    -The specified EO evaluation object is applyied in an iterative manner to each individual of a specified population. +The specified EO evaluation object is applyied in an iterative manner to each individual of a specified population.

    @@ -75,7 +75,7 @@ template<class EOT> peoSeqPopEval< EOT >::peoSeqPopEval ( - eoEvalFunc< EOT > &  + eoEvalFunc< EOT > &  __eval  )  @@ -107,7 +107,7 @@ template<class EOT> void peoSeqPopEval< EOT >::operator() ( - eoPop< EOT > &  + eoPop< EOT > &  __pop  )  [virtual] @@ -135,7 +135,7 @@ References peoSeqPopEva


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSeqTransform-members.html b/trunk/paradiseo-peo/doc/html/classpeoSeqTransform-members.html index c06e8489d..8ec573bbc 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSeqTransform-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSeqTransform-members.html @@ -32,6 +32,7 @@

    peoSeqTransform< EOT > Member List

    This is the complete list of members for peoSeqTransform< EOT >, including all inherited members.

    + @@ -41,6 +42,7 @@ + @@ -56,7 +58,9 @@ -
    Communicable()Communicable
    execute()peoSeqTransform< EOT > [inline, virtual]
    functor_category()eoUF< A1, R > [static]
    getKey()Communicable
    getOwner()Service
    keyCommunicable [protected]
    notifySendingResourceRequest()Service [virtual]
    num_commCommunicable [protected, static]
    operator()(eoPop< EOT > &__pop)peoSeqTransform< EOT >
    peoTransform::operator()(A1)=0eoUF< A1, R > [pure virtual]
    packData()peoSeqTransform< EOT > [inline, virtual]
    packResourceRequest()Service
    packResult()peoSeqTransform< EOT > [inline, virtual]
    unpackData()peoSeqTransform< EOT > [inline, virtual]
    unpackResult()peoSeqTransform< EOT > [inline, virtual]
    ~Communicable()Communicable [virtual]


    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  + ~eoFunctorBase()eoFunctorBase [virtual] + ~eoUF()eoUF< A1, R > [virtual] +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSeqTransform.html b/trunk/paradiseo-peo/doc/html/classpeoSeqTransform.html index 77d0e5083..612d10f14 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSeqTransform.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSeqTransform.html @@ -29,7 +29,7 @@
  • Class Hierarchy
  • Class Members
  • -

    peoSeqTransform< EOT > Class Template Reference

    The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms. +

    peoSeqTransform< EOT > Class Template Reference

    The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms. More...

    #include <peoSeqTransform.h> @@ -37,17 +37,20 @@

    Inheritance diagram for peoSeqTransform< EOT >:

    -peoTransform< EOT > -Service -Communicable +peoTransform< EOT > +Service +eoTransform< EOT > +Communicable +eoUF< A1, R > +eoFunctorBase List of all members. - + - + +eoTransform< EOT > & 

    Public Member Functions

     peoSeqTransform (eoTransform< EOT > &__trans)
     peoSeqTransform (eoTransform< EOT > &__trans)
     Constructor function - sets an internal reference towards the specified EO-derived transform object.
    void operator() (eoPop< EOT > &__pop)
    void operator() (eoPop< EOT > &__pop)
     Operator for applying the specified transform operators on each individual of the given population.
    @@ -72,14 +75,14 @@ virtual void  Interface function for providing a link with the parallel architecture of the ParadisEO framework.

    Private Attributes

    -eoTransform< EOT > & trans
    trans

    Detailed Description

    template<class EOT>
    class peoSeqTransform< EOT >

    -The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms. +The peoSeqTransform represent a wrapper for offering the possibility of using EO derived transform operators along with the ParadisEO evolutionary algorithms.

    A minimal set of interface functions is also provided for creating the link with the parallel architecture of the ParadisEO framework.

    @@ -95,7 +98,7 @@ template<class EOT> peoSeqTransform< EOT >::peoSeqTransform ( - eoTransform< EOT > &  + eoTransform< EOT > &  __trans  )  @@ -127,7 +130,7 @@ template<class EOT> void peoSeqTransform< EOT >::operator() ( - eoPop< EOT > &  + eoPop< EOT > &  __pop  )  @@ -153,7 +156,7 @@ References peoSeqTran


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSeqTransform.png b/trunk/paradiseo-peo/doc/html/classpeoSeqTransform.png index b2a4c4196198d486638cecdd366a3c95781656c3..48c554a9494f613ba1f52f4cc6fa011737f2e35b 100644 GIT binary patch literal 1532 zcmcJPSx}Q#6vqQ%Yob&MRM`fl70idiOc+_>ph$#)tcC<@k+5piAX|czMOn*gA#5KI zNH9c5=zxGkHW4s`KrD*U(4x|a0w!ebCv$gdgmP(1j31{^tq!I`uL$Ruj9`&a66SpP>9o7 z3yq+X*QC*$RdTOay0!P_toa%-Jhf|Mwo2s(l#qeS@2@FK8XA<c!%?uHfFh(T{)Cms;zyV>Yn9y80EjU~^^Ctj|+=T4I7E2VenL`x2 zJ>j!C87Uoh4z=e_P>AHhF!N zP_meeLk*PMo$QHR#jlS+%o7t=tzVwsHn{VFvo8!KQ|KhMV{+0J#Iy#J)LEOl}*WwEa#SAw(OPa{GUsE8)%+m~HQ9ay?N1Eo%D z+?bD#yQnrA%rfv^1wbjG1b$B2;V=?0zE2QRD>aW_so1CIlwpQtUr7&rDLhU3Tv*6U z;9{}92Yx*BJ7Lr@14;)!8<3Owj3N*rFef8qhS?Q%?|SUp^7 z9=Be8^GY4%=u%UYcxvhh!GK3~e`~V;y%UdgWb4jmVAZK?`@DnMld)k}OgUM%Eyt8w z{ebh-*aEhmVVq)F93D;^L^f3Sx;&o*7|nU%T>b%$-r&*{Pt{R&-b{uCt~XcL2!8jFMy$P4>dOjX?4PPD@=9<9jmd`Ol z@w|r?oa74f{jAO=fgdoNjr_V*PFcJ_uOF{KCIsg<9k&|&ruvW_2bFY|stodms=FK| zcehej;zZ&00gAZzU>2`bo#}3>ZI%QuGVieANo1R!R1XTzHN~T&wC1Ky8)GW9_uOkH z*9|rB+I#T0N|W(k`1 iRP6+o>Vfx_(`uamy;&O}H1RYNcyME6E?P}<-0`s^M6 delta 754 zcmV0002M1Oos70C5#{M3Esge*&#Z zL_t(&f$iE|lG`8*0ATadXT%LeZ_r+7pK|{rR1*J~WF1@EBr_t}HOBTAK$&r@Vf(9G zwm(s|{5J5XK!D}hA#bs(9|H02`6od+8A1#JBO>k63z0X}h!AW28IY(5NMryZk#P2h z`mlc2Tmn;mhUYRQ5SF=%qhQLn#2)-6e@KTw${ut1B=)zq1fRURQ%s0d5I(eMrtjB=a8F z)|fB|-I@?tz(Xy({62$4Ne9LOTzWylic43;^R@8P2;N0stPpi(hV z1603_s^92e1zO%lp=f&s8fc(_1{!GKCxW0{Hm^GnXP`RhpzKq?f5tg7KDxjpE4;Xcayuh_Ef kNcj*@vlyrWYTrix0hkd@vPtP&WdHyG07*qoM6N<$f@SerT>t<8 diff --git a/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig-members.html b/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig-members.html index 6250d37dc..8fc2003e1 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig-members.html @@ -30,24 +30,28 @@
  • Class Members
  • peoSyncIslandMig< EOT > Member List

    This is the complete list of members for peoSyncIslandMig< EOT >, including all inherited members.

    + + + - + + @@ -61,7 +65,9 @@ -
    className(void) const eoUpdater [virtual]
    Communicable()Communicable
    contpeoSyncIslandMig< EOT > [private]
    coop_empeoSyncIslandMig< EOT > [private]
    destinationpeoSyncIslandMig< EOT > [private]
    empeoSyncIslandMig< EOT > [private]
    emigrate()peoSyncIslandMig< EOT > [private]
    functor_category()eoF< void > [static]
    getKey()Communicable
    getOwner()Cooperative
    immpeoSyncIslandMig< EOT > [private]
    immigrate()peoSyncIslandMig< EOT > [private]
    keyCommunicable [protected]
    lastCall()eoUpdater [virtual]
    lock()Communicable
    notifySending()peoSyncIslandMig< EOT > [virtual]
    num_commCommunicable [protected, static]
    operator()()peoSyncIslandMig< EOT >
    operator()()peoSyncIslandMig< EOT > [virtual]
    pack()peoSyncIslandMig< EOT > [virtual]
    peoSyncIslandMig(unsigned __frequency, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination)peoSyncIslandMig< EOT >
    replacepeoSyncIslandMig< EOT > [private]
    result_type typedefeoF< void >
    resume()Communicable
    selectpeoSyncIslandMig< EOT > [private]
    sem_lockCommunicable [protected]
    unlock()Communicable
    unpack()peoSyncIslandMig< EOT > [virtual]
    ~Communicable()Communicable [virtual]


    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  + ~eoF()eoF< void > [virtual] + ~eoFunctorBase()eoFunctorBase [virtual] +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig.html b/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig.html index aa6ca11bb..b99d8b614 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig.html @@ -29,7 +29,7 @@
  • Class Hierarchy
  • Class Members
  • -

    peoSyncIslandMig< EOT > Class Template Reference

    The peoSyncIslandMig class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e. +

    peoSyncIslandMig< EOT > Class Template Reference

    The peoSyncIslandMig class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e. More...

    #include <peoSyncIslandMig.h> @@ -37,18 +37,21 @@

    Inheritance diagram for peoSyncIslandMig< EOT >:

    -Cooperative -Communicable +Cooperative +eoUpdater +Communicable +eoF< void > +eoFunctorBase List of all members. - + - + - + @@ -70,28 +73,28 @@ void  +eoPeriodicContinue< EOT >  +eoSelect< EOT > &  +eoReplacement< EOT > &  +eoPop< EOT > &  +eoPop< EOT > &  +std::queue< eoPop< EOT > >  +std::queue< eoPop< EOT > >  @@ -212,13 +215,13 @@ template<class EOT> - + - + @@ -230,13 +233,13 @@ template<class EOT> - + - + @@ -249,7 +252,7 @@ template<class EOT>

    -Constructor for the peoSyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters. +Constructor for the peoSyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.

    Parameters:

    Public Member Functions

     peoSyncIslandMig (unsigned __frequency, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination)
     peoSyncIslandMig (unsigned __frequency, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, Topology &__topology, eoPop< EOT > &__source, eoPop< EOT > &__destination)
     Constructor for the peoSyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.
     Constructor for the peoSyncIslandMig class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in EO, etc., or custom, derived objects may be passed as parameters.
    void operator() ()
     Function operator to be called as checkpoint for performing the migration step.
     Function operator to be called as checkpoint for performing the migration step.
    void pack ()

    Private Attributes

    -eoPeriodicContinue< EOT > cont
    cont
    -eoSelect< EOT > & select
    select
    -eoReplacement< EOT > & replace
    replace
    Topologytopology
    -eoPop< EOT > & source
    source
    -eoPop< EOT > & destination
    destination
    -std::queue< eoPop< EOT > > imm
    imm
    -std::queue< eoPop< EOT > > em
    em
    std::queue< Cooperative * > coop_em
    eoSelect< EOT > & eoSelect< EOT > &  __select,
    eoReplacement< EOT > & eoReplacement< EOT > &  __replace,
    eoPop< EOT > & eoPop< EOT > &  __source,
    eoPop< EOT > & eoPop< EOT > &  __destination 
    @@ -280,17 +283,19 @@ template<class EOT> - +
    (  )  [virtual]

    -Function operator to be called as checkpoint for performing the migration step. +Function operator to be called as checkpoint for performing the migration step.

    The emigrant individuals are selected from the source population and sent to the next island (defined by the topology object) while the immigrant individuals are integrated in the destination population. There is no need to explicitly call the function - the wrapper checkpoint object (please refer to the above example) will perform the call when required.

    +Implements eoF< void >. +

    Definition at line 252 of file peoSyncIslandMig.h.

    References peoSyncIslandMig< EOT >::cont, peoSyncIslandMig< EOT >::emigrate(), Cooperative::getOwner(), peoSyncIslandMig< EOT >::immigrate(), Thread::setActive(), peoSyncIslandMig< EOT >::source, Communicable::stop(), and peoSyncIslandMig< EOT >::sync. @@ -298,7 +303,7 @@ References peoSyncIs


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig.png b/trunk/paradiseo-peo/doc/html/classpeoSyncIslandMig.png index 429ef28d339a919f8bda41900cc096168094c1f6..6a1b7c227e1509a9f1fb9cb66f0dd78b2d6a17bb 100644 GIT binary patch delta 1127 zcmV-t1ep8$1c?bDiBL{Q4GJ0x0000DNk~Le000400002M1Oos70I58NXOST@e*_;% zL_t(|ob8-la-%R1grQR9XGu2@xxm)$h5Y3EA7Rmq1Ogk(j~YzU9S7qv$e+if5fve#B1BY#h>8$Ve-R=oLPSM~ zs0gh+4Z7r$vPJ8t`s2s#u|XaA>G`BUqtavY({& z)u@?&rNzzz!3v_GO{lKBe{~)hdAhU5Y(^EQ%78tZYbIH@pn4nECyu>&)ZS|q_jYc8 zI?1{Pb(rC`s7>d!icllewOP$gPx01&=w)kFyUq4mZPfJCqk0!9h^Pn=6(OP`L{x-`iV#r|`kAQZFWJ&(b*cXa5S6H}kq+GX{(+sMcFj2f6^Kew*^wDggcizkVQ{6l?TTwfsg?P7uyP}`gYBOqd z)YyK~soZq45w*9ke?$*VKCRVWRF~!)YD%Lv(Fx@HSJ;m#^JNA5je759W_5du+F7kS zR2kOVLa0r&?i{lJYqbeA)7zf64z<_2Z8$V5kjCoKmwqy(9fLo;cO8VA)+EgRD_6%5K$2#DnjR@*0#7{s23O! zHZW0%iqUA`;qhyR8<<)in|yOC`_$Qie-LV2O7Afc2%%;tj|NI_-t}wD&(k6)>6~vx(L2q=hMhFr9VWo8+DnT?|11*^mb5ZyKKRLdoDjof_(P0MP$Eoo{~|NcCcr@TKvWF;xW%I1 z!1Qww98*%i9}_|Pl|Z&Imo}efe_}pgD*3#P{-pZ}J~Pn^j^d6jasQDhQpfLJmQ<-l}ybqb(R50 zWhzsd%2cK@mHEG!&|REy-4CS9u}ll)v*juIG4`D;r-%7*4TZbHbf#FbWkRTSHnpZ) zMoeqtX5p&x4xtu}jRZ&fe>g16sCAiX*QPMjSpqSGx=F(&!W>mWNvbdnwoE<)GtJCo z!yIe4l9qMCjK(K_mUdcKGHH;vWrJmamcz`nY&!X3@9c6;QxIs-7Rh4tN)T1O1CtGnG)pm;e9(07*qoM6N<$g4>!KMF0Q* diff --git a/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart-members.html b/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart-members.html index 8059818a4..c0980b026 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart-members.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart-members.html @@ -30,14 +30,17 @@
  • Class Members
  • peoSyncMultiStart< EOT > Member List

    This is the complete list of members for peoSyncMultiStart< EOT >, including all inherited members.

    + + + @@ -45,7 +48,7 @@ - + @@ -53,6 +56,7 @@ + @@ -65,7 +69,9 @@ -
    className(void) const eoUpdater [virtual]
    Communicable()Communicable
    contpeoSyncMultiStart< EOT > [private]
    execute()peoSyncMultiStart< EOT > [virtual]
    functor_category()eoF< void > [static]
    getKey()Communicable
    getOwner()Service
    idxpeoSyncMultiStart< EOT > [private]
    impr_selpeoSyncMultiStart< EOT > [private]
    keyCommunicable [protected]
    lastCall()eoUpdater [virtual]
    lock()Communicable
    lspeoSyncMultiStart< EOT > [private]
    notifySendingAllResourceRequests()peoSyncMultiStart< EOT > [virtual]
    notifySendingResourceRequest()Service [virtual]
    num_commCommunicable [protected, static]
    num_termpeoSyncMultiStart< EOT > [private]
    operator()()peoSyncMultiStart< EOT >
    operator()()peoSyncMultiStart< EOT > [virtual]
    packData()peoSyncMultiStart< EOT > [virtual]
    packResourceRequest()Service
    packResult()peoSyncMultiStart< EOT > [virtual]
    poppeoSyncMultiStart< EOT > [private]
    replacepeoSyncMultiStart< EOT > [private]
    requestResourceRequest(unsigned __how_many=1)Service
    result_type typedefeoF< void >
    resume()Communicable
    selpeoSyncMultiStart< EOT > [private]
    selectpeoSyncMultiStart< EOT > [private]
    unpackData()peoSyncMultiStart< EOT > [virtual]
    unpackResult()peoSyncMultiStart< EOT > [virtual]
    ~Communicable()Communicable [virtual]


    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  + ~eoF()eoF< void > [virtual] + ~eoFunctorBase()eoFunctorBase [virtual] +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart.html b/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart.html index 770ef55a9..833bad827 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart.html +++ b/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart.html @@ -29,7 +29,7 @@
  • Class Hierarchy
  • Class Members
  • -

    peoSyncMultiStart< EOT > Class Template Reference

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

    peoSyncMultiStart< EOT > Class Template Reference

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

    #include <peoSyncMultiStart.h> @@ -37,13 +37,16 @@

    Inheritance diagram for peoSyncMultiStart< EOT >:

    -Service -Communicable +Service +eoUpdater +Communicable +eoF< void > +eoFunctorBase List of all members. - + @@ -72,25 +75,25 @@ +eoContinue< EOT > &  +eoSelect< EOT > &  +eoReplacement< EOT > &  +moAlgo< EOT > &  +eoPop< EOT > &  +eoPop< EOT >  +eoPop< EOT >  @@ -122,31 +125,31 @@ template<class EOT> - + - + - + - + - + @@ -187,7 +190,7 @@ template<class EOT> - +

    Public Member Functions

     peoSyncMultiStart (eoContinue< EOT > &__cont, eoSelect< EOT > &__select, eoReplacement< EOT > &__replace, moAlgo< EOT > &__ls, eoPop< EOT > &__pop)
     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() ()
     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
    cont
    -eoSelect< EOT > & select
    select
    -eoReplacement< EOT > & replace
    replace
    -moAlgo< EOT > & ls
    ls
    -eoPop< EOT > & pop
    pop
    -eoPop< EOT > sel
    sel
    -eoPop< EOT > impr_sel
    impr_sel
    EOT sol
    peoSyncMultiStart< EOT >::peoSyncMultiStart (eoContinue< EOT > & eoContinue< EOT > &  __cont,
    eoSelect< EOT > & eoSelect< EOT > &  __select,
    eoReplacement< EOT > & eoReplacement< EOT > &  __replace,
    moAlgo< EOT > & moAlgo< EOT > &  __ls,
    eoPop< EOT > & eoPop< EOT > &  __pop 
    (  )  [virtual]
    @@ -198,6 +201,8 @@ Operator which synchronously executes the specified algorithm on the individuals

    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(). @@ -406,7 +411,7 @@ References Service::g


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart.png b/trunk/paradiseo-peo/doc/html/classpeoSyncMultiStart.png index 0818b68a6a229052572b5b81cfb97bbab02facce..2ab8fb9909af824464d441c0e0c6de7c3f370e79 100644 GIT binary patch literal 1291 zcmeAS@N?(olHy`uVBq!ia0y~yU<6`@11!uya*5J61t296;1lBd|Nnm=^Z)+?^XDf_ z0J6aNz<~qRhyFhSav4j4{DK)Ap4~`eU|?D3>EaktG3V_Z@3O@P0EDofh1>4vm0eea?(%-k zj4Iu|S35ClMSORO(bmd2ZP$J>`!xI9UY>oqVa^2M(F;+u+0#ms~Ypa_O=LsHAmVRD-O(?t#APVhP8+xi>ss%6jADB_^0&Ql)QJH`z^M zO>mSiX5Nr>OMdmTzZ-v_xXaYNwBf|r+ewSWP8yirX1?(=RrHeHrN25s+v1JyR)5wE zW;*(*E#l^c*ZN7dljpA7l(_D6yYK8>okbe6rOspqYe{s4N?h9!bw8xby>6X&W#X+X zi_WZDJ9pu(zAGiiu3TGxYVq01pL;Yz=iUgjy<8V!oBXQi=H7xAFL+~;BXwx4AtQ(k$a`SUdu|JJ!P9blRup|c`}qhW8qCWLxfn>J+@(*_0= z4sM4gYEe%NbzUe(GJLa}KW}wr{hC?dj_=dS$qJii&$vpda@kiy-*t7>eYJfxp%z=a zrx-1r#P)pFq|WYTTXU2c9xuw4H!i(pBGw+@d3qJk(^;9iuANKOL+UTtq`lgcS<@9% zJN44Myk*<2+`Yoi8*AWO8rXM^XXYolwcl8xy_c=h3{8+MK6&Nob6eA8>(e9_`#^c!Yo(rmj5d>%&M z+2Zr_`;5NV%&c!W&bYK~ZDy2QxWtl|B0VdLGje&>-*H-&S*zr2+&cHrtjK#dVmHfY z%u;;Gb5eJYmv@F2ck<0?WwTc7-@a_;|HfsPldNVa>R)P``ZD3vJx}Z2%iH{qTWx4u zc1-26N~q8A!VI6xn-{`@@9(kt9VmKl`P1VrwmXxp^!B^Hz1*w0$A5a^E~B+`v&(#5 zTjW0bCw(k)?(Y&?-(Afs?~0o)FR|r4oT6iUE5`qR+0=G|3f}}FiBL{Q4GJ0x0000DNk~Le0001_0001p1Oos70Gst)Kan9be*yJL zL_t(&f$i8$b^;*`0N`QMHQ@%KH)t>9%KIOoA>r53iUad>obGV0WXFN(`e_33*m&NYeOMYL1DU>z)#k5{8m@8-zlEMr@?ODcAIaqd z#Hwg8M|zODNn6^OBgw>kO9hxoQtClrPo0p^uaXRtQr+=2c`sdKBv*uTf9+^?;jv&8 z$t4+oyeX;V0`h<_-2;9aJdxBo(ZaS~R8mPLl~htmCEtRCpeoTransform< EOT > Member ListThis is the complete list of members for peoTransform< EOT >, including all inherited members.

    + @@ -40,6 +41,7 @@ + @@ -53,7 +55,9 @@ -
    Communicable()Communicable
    execute()Service [virtual]
    functor_category()eoUF< A1, R > [static]
    getKey()Communicable
    getOwner()Service
    keyCommunicable [protected]
    notifySendingData()Service [virtual]
    notifySendingResourceRequest()Service [virtual]
    num_commCommunicable [protected, static]
    operator()(A1)=0eoUF< A1, R > [pure virtual]
    packData()Service [virtual]
    packResourceRequest()Service
    packResult()Service [virtual]
    unpackData()Service [virtual]
    unpackResult()Service [virtual]
    ~Communicable()Communicable [virtual]


    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  + ~eoFunctorBase()eoFunctorBase [virtual] + ~eoUF()eoUF< A1, R > [virtual] +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoTransform.html b/trunk/paradiseo-peo/doc/html/classpeoTransform.html index 124538b40..46094de44 100644 --- a/trunk/paradiseo-peo/doc/html/classpeoTransform.html +++ b/trunk/paradiseo-peo/doc/html/classpeoTransform.html @@ -29,7 +29,7 @@
  • Class Hierarchy
  • Class Members
  • -

    peoTransform< EOT > Class Template Reference

    The peoTransform class acts only as an interface for creating transform operators - for an example please refer to the peoSeqTransform and the peoParaSGATransform classes. +

    peoTransform< EOT > Class Template Reference

    The peoTransform class acts only as an interface for creating transform operators - for an example please refer to the peoSeqTransform and the peoParaSGATransform classes. More...

    #include <peoTransform.h> @@ -37,10 +37,13 @@

    Inheritance diagram for peoTransform< EOT >:

    -Service -Communicable -peoParaSGATransform< EOT > -peoSeqTransform< EOT > +Service +eoTransform< EOT > +Communicable +eoUF< A1, R > +eoFunctorBase +peoParaSGATransform< EOT > +peoSeqTransform< EOT > List of all members. @@ -55,7 +58,7 @@ The peoTransform class acts only

    Definition at line 20 of file peoTransform.h.


    The documentation for this class was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/classpeoTransform.png b/trunk/paradiseo-peo/doc/html/classpeoTransform.png index 72482d92913dc0131ef43cf6f9446531c4f99d4e..d762a43a594ab15b959c5b5a4835eb178f717934 100644 GIT binary patch literal 1805 zcmcIlX;f1O7Ji69G-BZtUILQiEto*hEC6gvEy? ztgS^zF-?I0LZXpH8e&X_2#lD3Y>{GJ3N;d0hO!jQL_70$&irW4x%Zy$yZ7IBzI$)M zAyRE&`$Xk?2Q6QG>})fio+$U0-^I?ZoX1}2k`o~LbsCaC$Uv%(t#ye;P9je^ z+0w>%h(6XQI})dvL%^7hJf<5Oqqd>ihLcVo59PA1fHte!wfx7CO9$F2%g;b%l|{Jc z_#_Hy{^xoY?50|XJdIzqj*UaOG<10&r;Fyr?1()pDdmfFVILwVFFj7B@1R8SeD0i> z^nB7xJ`Bc9d!+fhAPH^29g%~+7hU)W z4{l?hssaMP9oqPP&ff<f=79JYgN#H_&nsILpZ`#nfT41hNd z$jS@GsIEzqeT1}7e;cuztGtwn=FQFbI6q;(ElAc{c z2w&_s4s3k|ivGU^R~|Dscz#V;MM!n790 z$CGR|>{pj&HjIhWnC&`;aCz6&S+d&^Ngm# z%uAT>OF>SIIg2$(=!l=RFd`L<+u(FQxnZNanIbEQ-F2XTJ=1vBs;K9Yz>$@Bz4+o4 zX7bGx+%^YVkc}^wvgAHSw{W?g=TMfg{Xrei|L)7&nXvA5lsk1F2G4ppWZM$9Jjp5~7r5st(B*Y8ltN*L;`#^wLx0-Wm{wd7 z_wBY&{`G#e>R`T~w;j0lUxJA0v`WZGgYvsk@Txg{%^Y5B6S_to9~=#OMbibQdJ$Rh z8q3~kZE2jVJ-szN?Sf9F z(JkW^`?T~#<`MCCa1;A{fo3timiD`q*Yr8J#>uC3s)w={AYPU`MoBApW}W=-3pZ4= z0!s>Z=MAxhty3o*Q?yuWXDZnH_FlMCQJVO&@g@159#0D>Qr-{iZjhA}p|WT%p5qJ6 z`9e$rG#69o;l@`@Mv2wvd)K=Iv**yVr<1*8V(_*Y%4U&4C$2f1Nq|;13a9MTZ=reB z6}HlKb{krJltz#_6F}ztpEQi4Ho@wLKDD*WD^wl#|I??|s%XtO>Xc<;zHjM$0ZEh! za{L=@S9_x8X_>x^-Sx={_M;xK)vNGIYTWTZQV2`5frJUa*Z~u(@5(#uk_^+Y6ecdq zc{42snpz*$n0@4moCs3ur}5Fo4=$5L0WiWuCuPi3?c8yzegO=%8R2r>B>~Iz`@zse z`%#`^-OaNDS{J@Jfl;csCfPCJw)B+v|QA67iTHWnM2sait!-NP@QM8IpY_lzua`r(C0%hZye?)dMW zA~$@`oEf+FL)pg-?yCL>16~Cjkv*J?1E7x_i^PDV9CancCnp<@_#5MKwpWOH!&!;p PcLDqTNc(OO=-K}U5m`C` literal 1199 zcmeAS@N?(olHy`uVBq!ia0y~yVC(|253n!;$rn#7=K?8-0G|-o|Ns93ng9PEm_I*Z z0+0p92M!#lKJ@(yi9>XuD z(BDqlp{IV^JDn{s+^525{=m>m{Vwk|&UXEnpi1}2i5l1X?MuI|-s7$QWspQ({|Fo9&)@p3>PdQ`bw^3(a(!14ROL#MnJAO8t z?{n(=f{1^W3{Uk|{|*+|X(XG^2o&h=PT;z?_?n1F`o-L9to3m>Y_$T;c;8|EAh$Gc zqkFB>0tQx~bzOcMyLLUVKwKog|M=C|9}T}2yhtf+cItCb zbYCz*IpBn##uE;aA{H)7rdF9ogz!Y4F1vqRmruqY0eT={&XNe$Yx}tEM7=-iZTO}q zA`_84#mnhxp8G=4cE`L!Z13F?4Ie4D72NAPv|~qP>f)`ktb2K?L_8ll1^IeS^wjTf zQch3qdHXkQ3jZ2j5%ar?&vA=@U3-z!RlK~&OZD@*sFgsMDG6=m@3K=0{7tkYC%($c zat_>C8}Ni%#FEK%UtGYOG6}0yN%bH7%I}8kl!sJ=YJ=>4jx ztN6S0z&=+71%h9gIa0)UE~(gZp**+i6`QZmDrpnLm3bGAEZOBKJed@Mf>TROo}ajX z=vS^!-F08_&yzJ*&2CUS%^-49%{FMw{?&Jv&3R(8`PMY^mrUPZYMi__zurW5r&fHR zj%JR(*}tBosi9%J*DU*%IltkPLjPi}^`85*{))OLm96_I+ImgvNg7Y4)YM1%F8psR zxz_INTbspgw)^p#8*99GzuY@7aLt(*uINkZ((%DMKa-um`Fz?h+ge;GdN}-Yww?9- zz$LL}x7G^E2J58RwXV(m81p#0OZE2h+4Hsb9INN7U6P=*E~}(QE-R+e43N4 zEQ)en5ZwD-m=a&L&vTK3W8#z`<>#B_ORAh6o;?#}bN$D`h?eChhu1Iv zQ0eP@xTfYqS#ED!Piy3|^_?O|d+p=JrMdRInTb>-Z}GXCB3-##FX>*C)y*HXl6L2A zV9fkqIkE3(jC-r&^V}oSGYv|An$D~a@ksRkmGXGDWT-#8an}0(Zy7X_1C=GB$fmP>!J3+kDh%=xJp4=i06JYD@<);T3K0RV~I7+?SZ diff --git a/trunk/paradiseo-peo/doc/html/comm_8cpp-source.html b/trunk/paradiseo-peo/doc/html/comm_8cpp-source.html index 2a4eb59ff..493b77fc2 100644 --- a/trunk/paradiseo-peo/doc/html/comm_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/comm_8cpp-source.html @@ -89,7 +89,7 @@ 00065 00066 00067 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/comm_8h-source.html b/trunk/paradiseo-peo/doc/html/comm_8h-source.html index a9c1daae3..737a3d089 100644 --- a/trunk/paradiseo-peo/doc/html/comm_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/comm_8h-source.html @@ -53,7 +53,7 @@ 00029 extern void wakeUpCommunicator (); 00030 00031 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html b/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html index b98492147..544f50dbf 100644 --- a/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/communicable_8cpp-source.html @@ -92,7 +92,7 @@ 00068 00069 00070 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/communicable_8h-source.html b/trunk/paradiseo-peo/doc/html/communicable_8h-source.html index da391977f..421017b52 100644 --- a/trunk/paradiseo-peo/doc/html/communicable_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/communicable_8h-source.html @@ -69,7 +69,7 @@ 00045 //extern COMM_ID getKey (const Communicable * __comm); 00046 00047 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html b/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html index 84828327c..172e34bf8 100644 --- a/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/coop_8cpp-source.html @@ -64,7 +64,7 @@ 00040 // resume (); 00041 // printDebugMessage (b); 00042 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html b/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html index 26ba530d2..1e1dd7639 100644 --- a/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/cooperative_8h-source.html @@ -63,7 +63,7 @@ 00039 extern Cooperative * getCooperative (COOP_ID __key); 00040 00041 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html b/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html index 55cf9c8c4..745cce6f3 100644 --- a/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/core_2runner_8cpp-source.html @@ -126,7 +126,7 @@ 00102 00103 joinThreads (ll_threads); 00104 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html b/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html index c65b276fb..7ec7a84f0 100644 --- a/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/core_2service_8cpp-source.html @@ -80,7 +80,7 @@ 00056 void Service :: unpackResult () { 00057 00058 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html b/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html index 59fcda889..f7c63ee55 100644 --- a/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/eoPop__comm_8h-source.html @@ -54,7 +54,7 @@ 00030 unpack (__pop [i]); 00031 } 00032 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html b/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html index 24b0c1a5e..dc215bb3d 100644 --- a/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/eoVector__comm_8h-source.html @@ -39,7 +39,7 @@ 00015 00016 template <class F, class T> void pack (const eoVector <F, T> & __v) { 00017 -00018 pack (__v.fitness ()) ; +00018 pack (__v.fitness ()) ; 00019 unsigned len = __v.size (); 00020 pack (len); 00021 for (unsigned i = 0 ; i < len; i ++) @@ -60,7 +60,7 @@ 00036 } 00037 00038 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/files.html b/trunk/paradiseo-peo/doc/html/files.html index 863bedf58..2a2522f53 100644 --- a/trunk/paradiseo-peo/doc/html/files.html +++ b/trunk/paradiseo-peo/doc/html/files.html @@ -91,7 +91,7 @@
    xml_parser.cpp [code]
    xml_parser.h [code]
    -
    Generated on Thu Jun 28 15:51:16 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/functions.html b/trunk/paradiseo-peo/doc/html/functions.html index 4b1de08ed..5492d750c 100644 --- a/trunk/paradiseo-peo/doc/html/functions.html +++ b/trunk/paradiseo-peo/doc/html/functions.html @@ -97,8 +97,7 @@ Here is a list of all documented class members with links to the class documenta : Service, Cooperative

    - i -

    - n -

    +: peoSyncMultiStart< EOT >, peoParaSGATransform< EOT >

    - o -

    - s -

      @@ -218,7 +213,7 @@ Here is a list of all documented class members with links to the class documenta : Communicable
    • ~Thread() : Thread
    • ~Topology() : Topology
    -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/functions_func.html b/trunk/paradiseo-peo/doc/html/functions_func.html index 651c5d42a..e7b971568 100644 --- a/trunk/paradiseo-peo/doc/html/functions_func.html +++ b/trunk/paradiseo-peo/doc/html/functions_func.html @@ -148,7 +148,7 @@ : Communicable
  • ~Thread() : Thread
  • ~Topology() : Topology -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/functions_vars.html b/trunk/paradiseo-peo/doc/html/functions_vars.html index 4fd45fde2..c68007e66 100644 --- a/trunk/paradiseo-peo/doc/html/functions_vars.html +++ b/trunk/paradiseo-peo/doc/html/functions_vars.html @@ -83,8 +83,7 @@ : peoParaPopEval< EOT >

    - i -

    @@ -102,14 +101,12 @@ : peoParaSGATransform< EOT >
  • mut_rate : peoParaSGATransform< EOT >

    - n -

    +: peoSyncMultiStart< EOT >, peoParaSGATransform< EOT >

    - o -

    - r -

    +: peoSyncMultiStart< EOT >, peoSyncIslandMig< EOT >, peoEA< EOT >, peoAsyncIslandMig< EOT >

    - s -

    -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/hierarchy.html b/trunk/paradiseo-peo/doc/html/hierarchy.html index c27dfe31d..44579e0c9 100644 --- a/trunk/paradiseo-peo/doc/html/hierarchy.html +++ b/trunk/paradiseo-peo/doc/html/hierarchy.html @@ -57,11 +57,32 @@
  • Worker -
  • Node +
  • eoFunctorBase + [external]
  • SEND_REQUEST
  • Thread -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/main.html b/trunk/paradiseo-peo/doc/html/main.html index 13cc52fb6..377792f5c 100644 --- a/trunk/paradiseo-peo/doc/html/main.html +++ b/trunk/paradiseo-peo/doc/html/main.html @@ -25,7 +25,7 @@

    The ParadisEO-PEO Framework

    0.1

    -Introduction

    +intro ParadisEO is a white-box object-oriented framework dedicated to the reusable design of parallel and distributed metaheuristics (PDM). ParadisEO provides a broad range of features including evolutionary algorithms (EA), local searches (LS), the most common parallel and distributed models and hybridization mechanisms, etc. This high content and utility encourages its use at European level. ParadisEO is based on a clear conceptual separation of the solution methods from the problems they are intended to solve. This separation confers to the user a maximum code and design reuse. Furthermore, the fine-grained nature of the classes provided by the framework allow a higher flexibility compared to other frameworks. ParadisEO is one of the rare frameworks that provide the most common parallel and distributed models. Their implementation is portable on distributed-memory machines as well as on shared-memory multiprocessors, as it uses standard libraries such as MPI, PVM and PThreads. The models can be exploited in a transparent way, one has just to instantiate their associated provided classes. Their experimentation on the radio network design real-world application demonstrate their efficiency.

    In practice, combinatorial optimization problems are often NP-hard, CPU time-consuming, and evolve over time. Unlike exact methods, metaheuristics allow to tackle large-size problems instances by delivering satisfactory solutions in a reasonable time. Metaheuristics are general-purpose heuristics that split in two categories: evolutionary algorithms (EA) and local search methods (LS). These two families have complementary characteristics: EA allow a better exploration of the search space, while LS have the power to intensify the search in promising regions. Their hybridization allows to deliver robust and better solutions

    Although serial metaheuristics have a polynomial temporal complexity, they remain unsatisfactory for industrial problems. Parallel and distributed computing is a powerful way to deal with the performance issue of these problems. Numerous parallel and distributed metaheuristics (PDM) and their implementations have been proposed, and are available on theWeb. They can be reused and adapted to his/her own problems. However, the user has to deeply examine the code and rewrite its problem-specific sections. The task is tedious, errorprone, takes along time and makes harder the produced code maintenance. A better way to reuse the code of existing PDM is the reuse through libraries. These are often more reliable as they are more tested and documented. They allow a better maintainability and efficiency. However, libraries do not allow the reuse of design.

    @@ -60,7 +60,7 @@ Two parallel distributed models are commonly used in the literature: the paralle Hybridization

    Recently, hybrid metaheuristics have gained a considerable interest. For many practical or academic optimization problems, the best found solutions are obtained by hybrid algorithms. Combinations of different metaheuristics have provided very powerful search methods. Two levels and two modes of hybridization have been distinguished: Low and High levels, and Relay and Cooperative modes. The low-level hybridization addresses the functional composition of a single optimization method. A function of a given metaheuristic is replaced by another metaheuristic. On the contrary, for high-level hybrid algorithms the different metaheuristics are self-containing, meaning no direct relationship to their internal working is considered. On the other hand, relay hybridization means a set of metaheuristics is applied in a pipeline way. The output of a metaheuristic (except the last) is the input of the following one (except the first). Conversely, co-evolutionist hybridization is a cooperative optimization model. Each metaheuristic performs a search in a solution space, and exchange solutions with others.

    Paradiseo goals and architecture

    -The "EO" part of ParadisEO means Evolving Objects. EO is a C++ LGPL open source framework and includes a paradigm-free Evolutionary Computation library (EOlib) dedicated to the flexible design of EA through evolving objects superseding the most common dialects (Genetic Algorithms, Evolution Strategies, Evolutionary Programming and Genetic Programming). Furthermore, EO integrates several services including visualization facilities, on-line definition of parameters, application check-pointing, etc. ParadisEO is an extended version of the EO framework. The extensions include local search methods, hybridization mechanisms, parallelism and distribution mechanisms, and other features that are not addressed in this paper such as multi-objective optimization and grid computing. In the next sections, we present the motivations and goals of ParadisEO, its architecture and some of its main implementation details and issues.

    +The "EO" part of ParadisEO means Evolving Objects. EO is a C++ LGPL open source framework and includes a paradigm-free Evolutionary Computation library (EOlib) dedicated to the flexible design of EA through evolving objects superseding the most common dialects (Genetic Algorithms, Evolution Strategies, Evolutionary Programming and Genetic Programming). Furthermore, EO integrates several services including visualization facilities, on-line definition of parameters, application check-pointing, etc. ParadisEO is an extended version of the EO framework. The extensions include local search methods, hybridization mechanisms, parallelism and distribution mechanisms, and other features that are not addressed in this paper such as multi-objective optimization and grid computing. In the next sections, we present the motivations and goals of ParadisEO, its architecture and some of its main implementation details and issues.

    Motivations and goals

    A framework is normally intended to be exploited by as many users as possible. Therefore, its exploitation could be successful only if some important user criteria are satisfied. The following criteria are the major of them and constitute the main objectives of the ParadisEO framework:

    -All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a common shared source code base. While not being part of the ParadisEO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials.
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +All the presented examples have as case study the traveling salesman problem (TSP). Different operators and auxiliary objects were designed, standing as a common shared source code base. While not being part of the ParadisEO-PEO framework, it may represent a startpoint for a better understanding of the presented tutorials.
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html b/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html index 316265c83..1c5aadb90 100644 --- a/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/mess_8cpp-source.html @@ -259,7 +259,7 @@ 00235 MPI_Unpack (mpi_buf, MPI_BUF_SIZE, & pos_buf, __str, len, MPI_CHAR, MPI_COMM_WORLD); 00236 } 00237 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/mess_8h-source.html b/trunk/paradiseo-peo/doc/html/mess_8h-source.html index e652452de..178f423b2 100644 --- a/trunk/paradiseo-peo/doc/html/mess_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/mess_8h-source.html @@ -53,7 +53,7 @@ 00029 00030 #endif 00031 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/messaging_8h-source.html b/trunk/paradiseo-peo/doc/html/messaging_8h-source.html index 41098f63b..47cef4be4 100644 --- a/trunk/paradiseo-peo/doc/html/messaging_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/messaging_8h-source.html @@ -126,7 +126,7 @@ 00102 } 00103 00104 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacemembers.html b/trunk/paradiseo-peo/doc/html/namespacemembers.html index 50218f484..4e7b2b801 100644 --- a/trunk/paradiseo-peo/doc/html/namespacemembers.html +++ b/trunk/paradiseo-peo/doc/html/namespacemembers.html @@ -44,7 +44,7 @@ Here is a list of all documented namespace members with links to the namespaces : peo
  • loadParameters() : peo
  • run() : peo -
    Generated on Thu Jun 28 15:51:16 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacemembers_func.html b/trunk/paradiseo-peo/doc/html/namespacemembers_func.html index 1ca48243e..13a7ff60a 100644 --- a/trunk/paradiseo-peo/doc/html/namespacemembers_func.html +++ b/trunk/paradiseo-peo/doc/html/namespacemembers_func.html @@ -42,7 +42,7 @@ : peo
  • loadParameters() : peo
  • run() : peo -
    Generated on Thu Jun 28 15:51:16 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html b/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html index b423f0bb2..6eba1d9a4 100644 --- a/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html +++ b/trunk/paradiseo-peo/doc/html/namespacemembers_vars.html @@ -40,7 +40,7 @@
  • argc : peo
  • argv : peo -
    Generated on Thu Jun 28 15:51:16 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespacepeo.html b/trunk/paradiseo-peo/doc/html/namespacepeo.html index 513f2f251..69e99e69b 100644 --- a/trunk/paradiseo-peo/doc/html/namespacepeo.html +++ b/trunk/paradiseo-peo/doc/html/namespacepeo.html @@ -58,7 +58,7 @@ int * argv -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/namespaces.html b/trunk/paradiseo-peo/doc/html/namespaces.html index 0098043de..87d613d99 100644 --- a/trunk/paradiseo-peo/doc/html/namespaces.html +++ b/trunk/paradiseo-peo/doc/html/namespaces.html @@ -30,7 +30,7 @@

    ParadisEO-PEO Namespace List

    Here is a list of all documented namespaces with brief descriptions:
    peo
    -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/node_8cpp-source.html b/trunk/paradiseo-peo/doc/html/node_8cpp-source.html index a8784ef71..2e8fa1f98 100644 --- a/trunk/paradiseo-peo/doc/html/node_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/node_8cpp-source.html @@ -80,7 +80,7 @@ 00056 } 00057 } 00058 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/node_8h-source.html b/trunk/paradiseo-peo/doc/html/node_8h-source.html index 601fc0b9f..13eacc87d 100644 --- a/trunk/paradiseo-peo/doc/html/node_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/node_8h-source.html @@ -46,7 +46,7 @@ 00022 extern void initNode (int * __argc, char * * * __argv); 00023 00024 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/paradiseo_8h-source.html b/trunk/paradiseo-peo/doc/html/paradiseo_8h-source.html index 22802f53f..8b4409524 100644 --- a/trunk/paradiseo-peo/doc/html/paradiseo_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/paradiseo_8h-source.html @@ -63,7 +63,7 @@ 00283 #include "peoSyncMultiStart.h" 00284 00285 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/param_8cpp-source.html b/trunk/paradiseo-peo/doc/html/param_8cpp-source.html index 542bf6ed5..2e7e041d0 100644 --- a/trunk/paradiseo-peo/doc/html/param_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/param_8cpp-source.html @@ -36,14 +36,14 @@ 00012 00013 void loadRMCParameters (int & __argc, char * * & __argv) { 00014 -00015 eoParser parser (__argc, __argv); +00015 eoParser parser (__argc, __argv); 00016 00017 /* Schema */ 00018 eoValueParam <std :: string> schema_param ("schema.xml", "schema", "?"); 00019 parser.processParam (schema_param); 00020 loadSchema (schema_param.value ().c_str ()); 00021 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/param_8h-source.html b/trunk/paradiseo-peo/doc/html/param_8h-source.html index d55b6541d..d513d1e1e 100644 --- a/trunk/paradiseo-peo/doc/html/param_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/param_8h-source.html @@ -36,7 +36,7 @@ 00012 extern void loadRMCParameters (int & __argc, char * * & __argv); 00013 00014 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html b/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html index 54525abee..6c37167bb 100644 --- a/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoAggEvalFunc_8h-source.html @@ -36,13 +36,13 @@ 00012 #include <eoFunctor.h> 00013 00015 -00025 template< class EOT > class peoAggEvalFunc : public eoBF< EOT&, const typename EOT :: Fitness&, void > { +00025 template< class EOT > class peoAggEvalFunc : public eoBF< EOT&, const typename EOT :: Fitness&, void > { 00026 00027 }; 00028 00029 00030 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html b/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html index e675f3639..dce31018d 100644 --- a/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoAsyncIslandMig_8h-source.html @@ -50,17 +50,17 @@ 00026 00027 00029 -00112 template< class EOT > class peoAsyncIslandMig : public Cooperative, public eoUpdater { +00112 template< class EOT > class peoAsyncIslandMig : public Cooperative, public eoUpdater { 00113 00114 public: 00115 00125 peoAsyncIslandMig( -00126 eoContinue< EOT >& __cont, -00127 eoSelect< EOT >& __select, -00128 eoReplacement< EOT >& __replace, +00126 eoContinue< EOT >& __cont, +00127 eoSelect< EOT >& __select, +00128 eoReplacement< EOT >& __replace, 00129 Topology& __topology, -00130 eoPop< EOT >& __source, -00131 eoPop< EOT >& __destination +00130 eoPop< EOT >& __source, +00131 eoPop< EOT >& __destination 00132 ); 00133 00138 void operator()(); @@ -77,14 +77,14 @@ 00151 00152 private: 00153 -00154 eoContinue< EOT >& cont; // continuator -00155 eoSelect< EOT >& select; // the selection strategy -00156 eoReplacement< EOT >& replace; // the replacement strategy +00154 eoContinue< EOT >& cont; // continuator +00155 eoSelect< EOT >& select; // the selection strategy +00156 eoReplacement< EOT >& replace; // the replacement strategy 00157 Topology& topology; // the neighboring topology 00158 00159 // source and destination populations -00160 eoPop< EOT >& source; -00161 eoPop< EOT >& destination; +00160 eoPop< EOT >& source; +00161 eoPop< EOT >& destination; 00162 00163 // immigrants & emigrants in the queue 00164 std :: queue< eoPop< EOT > > imm; @@ -96,12 +96,12 @@ 00170 00171 template< class EOT > peoAsyncIslandMig< EOT > :: peoAsyncIslandMig( 00172 -00173 eoContinue< EOT >& __cont, -00174 eoSelect< EOT >& __select, -00175 eoReplacement< EOT >& __replace, +00173 eoContinue< EOT >& __cont, +00174 eoSelect< EOT >& __select, +00175 eoReplacement< EOT >& __replace, 00176 Topology& __topology, -00177 eoPop< EOT >& __source, -00178 eoPop< EOT >& __destination +00177 eoPop< EOT >& __source, +00178 eoPop< EOT >& __destination 00179 00180 ) : cont( __cont ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination ) 00181 { @@ -129,7 +129,7 @@ 00203 00204 lock(); { 00205 -00206 eoPop< EOT > mig; +00206 eoPop< EOT > mig; 00207 :: unpack( mig ); 00208 imm.push( mig ); 00209 } @@ -145,7 +145,7 @@ 00219 00220 for ( unsigned i = 0; i < out.size(); i++ ) { 00221 -00222 eoPop< EOT > mig; +00222 eoPop< EOT > mig; 00223 select( source, mig ); 00224 em.push( mig ); 00225 coop_em.push( out[i] ); @@ -182,7 +182,7 @@ 00256 00257 00258 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html b/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html index e38d246b7..a519b6288 100644 --- a/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoEA_8h-source.html @@ -50,36 +50,36 @@ 00056 public: 00057 00069 peoEA( -00070 eoContinue< EOT >& __cont, +00070 eoContinue< EOT >& __cont, 00071 peoPopEval< EOT >& __pop_eval, -00072 eoSelect< EOT >& __select, +00072 eoSelect< EOT >& __select, 00073 peoTransform< EOT >& __trans, -00074 eoReplacement< EOT >& __replace +00074 eoReplacement< EOT >& __replace 00075 ); 00076 00079 void run(); 00080 -00084 void operator()( eoPop< EOT >& __pop ); +00084 void operator()( eoPop< EOT >& __pop ); 00085 00086 private: 00087 00088 -00089 eoContinue< EOT >& cont; +00089 eoContinue< EOT >& cont; 00090 peoPopEval< EOT >& pop_eval; -00091 eoSelect< EOT >& select; +00091 eoSelect< EOT >& select; 00092 peoTransform< EOT >& trans; -00093 eoReplacement< EOT >& replace; -00094 eoPop< EOT >* pop; +00093 eoReplacement< EOT >& replace; +00094 eoPop< EOT >* pop; 00095 }; 00096 00097 00098 template < class EOT > peoEA< EOT > :: peoEA( 00099 -00100 eoContinue< EOT >& __cont, +00100 eoContinue< EOT >& __cont, 00101 peoPopEval< EOT >& __pop_eval, -00102 eoSelect< EOT >& __select, +00102 eoSelect< EOT >& __select, 00103 peoTransform< EOT >& __trans, -00104 eoReplacement< EOT >& __replace +00104 eoReplacement< EOT >& __replace 00105 00106 ) : cont( __cont ), pop_eval( __pop_eval ), select( __select ), trans( __trans ), replace( __replace ) 00107 { @@ -89,7 +89,7 @@ 00111 } 00112 00113 -00114 template< class EOT > void peoEA< EOT > :: operator ()( eoPop< EOT >& __pop ) { +00114 template< class EOT > void peoEA< EOT > :: operator ()( eoPop< EOT >& __pop ) { 00115 00116 pop = &__pop; 00117 } @@ -102,7 +102,7 @@ 00124 00125 do { 00126 -00127 eoPop< EOT > off; +00127 eoPop< EOT > off; 00128 00129 printDebugMessage( "performing the selection step." ); 00130 select( *pop, off ); @@ -121,7 +121,7 @@ 00143 00144 00145 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html b/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html index d7e029063..214f5acfd 100644 --- a/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoNoAggEvalFunc_8h-source.html @@ -51,7 +51,7 @@ 00032 00033 00034 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html b/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html index 4858afa71..db7824a2a 100644 --- a/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoParaPopEval_8h-source.html @@ -52,11 +52,11 @@ 00032 using peoPopEval< EOT > :: stop; 00033 using peoPopEval< EOT > :: getOwner; 00034 -00039 peoParaPopEval( eoEvalFunc< EOT >& __eval_func ); +00039 peoParaPopEval( eoEvalFunc< EOT >& __eval_func ); 00040 00045 peoParaPopEval( const std :: vector< eoEvalFunc < EOT >* >& __funcs, peoAggEvalFunc< EOT >& __merge_eval ); 00046 -00050 void operator()( eoPop< EOT >& __pop ); +00050 void operator()( eoPop< EOT >& __pop ); 00051 00054 void packData(); 00055 @@ -95,7 +95,7 @@ 00099 }; 00100 00101 -00102 template< class EOT > peoParaPopEval< EOT > :: peoParaPopEval( eoEvalFunc< EOT >& __eval_func ) : +00102 template< class EOT > peoParaPopEval< EOT > :: peoParaPopEval( eoEvalFunc< EOT >& __eval_func ) : 00103 00104 funcs( one_func ), merge_eval( no_merge_eval ) 00105 { @@ -106,7 +106,7 @@ 00110 00111 template< class EOT > peoParaPopEval< EOT > :: peoParaPopEval( 00112 -00113 const std :: vector< eoEvalFunc< EOT >* >& __funcs, +00113 const std :: vector< eoEvalFunc< EOT >* >& __funcs, 00114 peoAggEvalFunc< EOT >& __merge_eval 00115 00116 ) : funcs( __funcs ), merge_eval( __merge_eval ) @@ -115,7 +115,7 @@ 00119 } 00120 00121 -00122 template< class EOT > void peoParaPopEval< EOT >::operator()( eoPop< EOT >& __pop ) { +00122 template< class EOT > void peoParaPopEval< EOT >::operator()( eoPop< EOT >& __pop ) { 00123 00124 for ( unsigned i = 0; i < __pop.size(); i++ ) { 00125 @@ -219,7 +219,7 @@ 00223 00224 00225 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html b/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html index 9b0e12a93..9b471e922 100644 --- a/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoParaSGATransform_8h-source.html @@ -53,13 +53,13 @@ 00029 00030 peoParaSGATransform( 00031 -00032 eoQuadOp< EOT >& __cross, +00032 eoQuadOp< EOT >& __cross, 00033 double __cross_rate, -00034 eoMonOp< EOT >& __mut, +00034 eoMonOp< EOT >& __mut, 00035 double __mut_rate 00036 ); 00037 -00038 void operator()( eoPop< EOT >& __pop ); +00038 void operator()( eoPop< EOT >& __pop ); 00039 00040 void packData(); 00041 @@ -76,15 +76,15 @@ 00052 00053 private: 00054 -00055 eoQuadOp< EOT >& cross; +00055 eoQuadOp< EOT >& cross; 00056 double cross_rate; 00057 -00058 eoMonOp< EOT >& mut; +00058 eoMonOp< EOT >& mut; 00059 double mut_rate; 00060 00061 unsigned idx; 00062 -00063 eoPop< EOT >* pop; +00063 eoPop< EOT >* pop; 00064 00065 EOT father, mother; 00066 @@ -93,7 +93,7 @@ 00069 00070 template< class EOT > peoParaSGATransform< EOT > :: peoParaSGATransform( 00071 -00072 eoQuadOp< EOT >& __cross, +00072 eoQuadOp< EOT >& __cross, 00073 double __cross_rate, 00074 eoMonOp < EOT >& __mut, 00075 double __mut_rate @@ -122,10 +122,10 @@ 00098 00099 template< class EOT > void peoParaSGATransform< EOT > :: execute() { 00100 -00101 if( rng.uniform() < cross_rate ) cross( mother, father ); +00101 if( rng.uniform() < cross_rate ) cross( mother, father ); 00102 -00103 if( rng.uniform() < mut_rate ) mut( mother ); -00104 if( rng.uniform() < mut_rate ) mut( father ); +00103 if( rng.uniform() < mut_rate ) mut( mother ); +00104 if( rng.uniform() < mut_rate ) mut( father ); 00105 } 00106 00107 @@ -177,7 +177,7 @@ 00153 00154 00155 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html b/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html index 3595c30de..0b7ca3293 100644 --- a/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoPopEval_8h-source.html @@ -40,12 +40,12 @@ 00020 00021 public: 00022 -00024 virtual void operator()( eoPop< EOT >& __pop ) = 0; +00024 virtual void operator()( eoPop< EOT >& __pop ) = 0; 00025 }; 00026 00027 00028 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html index 20b3dc036..898391675 100644 --- a/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSeqPopEval_8h-source.html @@ -42,22 +42,22 @@ 00022 00023 public: 00024 -00028 peoSeqPopEval( eoEvalFunc< EOT >& __eval ); +00028 peoSeqPopEval( eoEvalFunc< EOT >& __eval ); 00029 -00033 void operator()( eoPop< EOT >& __pop ); +00033 void operator()( eoPop< EOT >& __pop ); 00034 00035 private: 00036 -00037 eoEvalFunc< EOT >& eval; +00037 eoEvalFunc< EOT >& eval; 00038 }; 00039 00040 -00041 template< class EOT > peoSeqPopEval< EOT > :: peoSeqPopEval( eoEvalFunc< EOT >& __eval ) : eval( __eval ) { +00041 template< class EOT > peoSeqPopEval< EOT > :: peoSeqPopEval( eoEvalFunc< EOT >& __eval ) : eval( __eval ) { 00042 00043 } 00044 00045 -00046 template< class EOT > void peoSeqPopEval< EOT > :: operator()( eoPop< EOT >& __pop ) { +00046 template< class EOT > void peoSeqPopEval< EOT > :: operator()( eoPop< EOT >& __pop ) { 00047 00048 for ( unsigned i = 0; i < __pop.size(); i++ ) 00049 eval( __pop[i] ); @@ -65,7 +65,7 @@ 00051 00052 00053 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html index 8693673c3..91ec9995b 100644 --- a/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSeqTransform_8h-source.html @@ -41,9 +41,9 @@ 00021 00022 public: 00023 -00027 peoSeqTransform( eoTransform< EOT >& __trans ); +00027 peoSeqTransform( eoTransform< EOT >& __trans ); 00028 -00032 void operator()( eoPop< EOT >& __pop ); +00032 void operator()( eoPop< EOT >& __pop ); 00033 00035 virtual void packData() { } 00036 @@ -57,23 +57,23 @@ 00048 00049 private: 00050 -00051 eoTransform< EOT >& trans; +00051 eoTransform< EOT >& trans; 00052 }; 00053 00054 -00055 template< class EOT > peoSeqTransform< EOT > :: peoSeqTransform( eoTransform< EOT >& __trans ) : trans( __trans ) { +00055 template< class EOT > peoSeqTransform< EOT > :: peoSeqTransform( eoTransform< EOT >& __trans ) : trans( __trans ) { 00056 00057 } 00058 00059 -00060 template< class EOT > void peoSeqTransform< EOT > :: operator()( eoPop< EOT >& __pop ) { +00060 template< class EOT > void peoSeqTransform< EOT > :: operator()( eoPop< EOT >& __pop ) { 00061 00062 trans( __pop ); 00063 } 00064 00065 00066 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html index 6d102a172..f0f0ffe47 100644 --- a/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSyncIslandMig_8h-source.html @@ -53,17 +53,17 @@ 00029 00030 00032 -00114 template< class EOT > class peoSyncIslandMig : public Cooperative, public eoUpdater { +00114 template< class EOT > class peoSyncIslandMig : public Cooperative, public eoUpdater { 00115 00116 public: 00117 00127 peoSyncIslandMig( 00128 unsigned __frequency, -00129 eoSelect< EOT >& __select, -00130 eoReplacement< EOT >& __replace, +00129 eoSelect< EOT >& __select, +00130 eoReplacement< EOT >& __replace, 00131 Topology& __topology, -00132 eoPop< EOT >& __source, -00133 eoPop< EOT >& __destination +00132 eoPop< EOT >& __source, +00133 eoPop< EOT >& __destination 00134 ); 00135 00140 void operator()(); @@ -82,14 +82,14 @@ 00156 00157 private: 00158 -00159 eoPeriodicContinue< EOT > cont; -00160 eoSelect< EOT >& select; // selection strategy -00161 eoReplacement< EOT >& replace; // replacement strategy +00159 eoPeriodicContinue< EOT > cont; +00160 eoSelect< EOT >& select; // selection strategy +00161 eoReplacement< EOT >& replace; // replacement strategy 00162 Topology& topology; // neighboring topology 00163 00164 // source and target populations -00165 eoPop< EOT >& source; -00166 eoPop< EOT >& destination; +00165 eoPop< EOT >& source; +00166 eoPop< EOT >& destination; 00167 00168 // immigrants & emigrants in the queue 00169 std :: queue< eoPop< EOT > > imm; @@ -104,11 +104,11 @@ 00178 template< class EOT > peoSyncIslandMig< EOT > :: peoSyncIslandMig( 00179 00180 unsigned __frequency, -00181 eoSelect< EOT >& __select, -00182 eoReplacement< EOT >& __replace, +00181 eoSelect< EOT >& __select, +00182 eoReplacement< EOT >& __replace, 00183 Topology& __topology, -00184 eoPop< EOT >& __source, -00185 eoPop< EOT >& __destination +00184 eoPop< EOT >& __source, +00185 eoPop< EOT >& __destination 00186 00187 ) : cont( __frequency ), select( __select ), replace( __replace ), topology( __topology ), source( __source ), destination( __destination ) 00188 { @@ -135,7 +135,7 @@ 00209 00210 lock(); { 00211 -00212 eoPop< EOT > mig; +00212 eoPop< EOT > mig; 00213 :: unpack( mig ); 00214 imm.push( mig ); 00215 } @@ -152,7 +152,7 @@ 00226 00227 for ( unsigned i = 0; i < out.size(); i ++ ) { 00228 -00229 eoPop< EOT > mig; +00229 eoPop< EOT > mig; 00230 select( source, mig ); 00231 em.push( mig ); 00232 coop_em.push( out[ i ] ); @@ -210,7 +210,7 @@ 00284 00285 00286 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html index 982703b17..0a91b9f46 100644 --- a/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoSyncMultiStart_8h-source.html @@ -49,17 +49,17 @@ 00025 00026 00028 -00036 template< class EOT > class peoSyncMultiStart : public Service, public eoUpdater { +00036 template< class EOT > class peoSyncMultiStart : public Service, public eoUpdater { 00037 00038 public: 00039 00047 peoSyncMultiStart( 00048 -00049 eoContinue< EOT >& __cont, -00050 eoSelect< EOT >& __select, -00051 eoReplacement< EOT >& __replace, -00052 moAlgo< EOT >& __ls, -00053 eoPop< EOT >& __pop +00049 eoContinue< EOT >& __cont, +00050 eoSelect< EOT >& __select, +00051 eoReplacement< EOT >& __replace, +00052 moAlgo< EOT >& __ls, +00053 eoPop< EOT >& __pop 00054 ); 00055 00058 void operator()(); @@ -80,15 +80,15 @@ 00087 00088 private: 00089 -00090 eoContinue< EOT >& cont; -00091 eoSelect< EOT >& select; -00092 eoReplacement< EOT >& replace; +00090 eoContinue< EOT >& cont; +00091 eoSelect< EOT >& select; +00092 eoReplacement< EOT >& replace; 00093 -00094 moAlgo< EOT >& ls; +00094 moAlgo< EOT >& ls; 00095 -00096 eoPop< EOT >& pop; -00097 eoPop< EOT > sel; -00098 eoPop< EOT > impr_sel; +00096 eoPop< EOT >& pop; +00097 eoPop< EOT > sel; +00098 eoPop< EOT > impr_sel; 00099 00100 EOT sol; 00101 unsigned idx; @@ -99,10 +99,10 @@ 00106 template< class EOT > peoSyncMultiStart< EOT > :: peoSyncMultiStart( 00107 00108 eoContinue < EOT >& __cont, -00109 eoSelect< EOT >& __select, -00110 eoReplacement< EOT >& __replace, +00109 eoSelect< EOT >& __select, +00110 eoReplacement< EOT >& __replace, 00111 moAlgo < EOT >& __ls, -00112 eoPop< EOT >& __pop +00112 eoPop< EOT >& __pop 00113 00114 ) : cont( __cont ), select( __select ), replace( __replace ), ls( __ls ), pop( __pop ) 00115 { @@ -174,7 +174,7 @@ 00181 00182 00183 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html b/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html index 487c377e8..35c73d808 100644 --- a/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peoTransform_8h-source.html @@ -38,13 +38,13 @@ 00014 #include "core/service.h" 00015 00017 -00020 template< class EOT > class peoTransform : public Service, public eoTransform< EOT > { +00020 template< class EOT > class peoTransform : public Service, public eoTransform< EOT > { 00021 00022 }; 00023 00024 00025 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html index 7c8255bac..e721f812c 100644 --- a/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__debug_8cpp-source.html @@ -99,7 +99,7 @@ 00075 } 00076 } 00077 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html index a7e769ded..6d207bf85 100644 --- a/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__debug_8h-source.html @@ -44,7 +44,7 @@ 00020 text-file in a subdirectory) */ 00021 00022 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html index 522c51931..ce3561737 100644 --- a/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__fin_8cpp-source.html @@ -46,7 +46,7 @@ 00022 printDebugMessage ("this is the end"); 00023 endDebugging (); 00024 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html index bdbcb6a01..5c3e5b96f 100644 --- a/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__fin_8h-source.html @@ -39,7 +39,7 @@ 00015 } 00016 00017 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html index ad94a78b0..943ddc985 100644 --- a/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__init_8cpp-source.html @@ -59,7 +59,7 @@ 00035 initDebugging (); 00036 } 00037 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html index e0e19a29f..f8e8db23a 100644 --- a/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__init_8h-source.html @@ -43,7 +43,7 @@ 00019 } 00020 00021 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html index c4c9bcbad..b1cf79acd 100644 --- a/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__param_8cpp-source.html @@ -39,15 +39,15 @@ 00015 00016 void peo :: loadParameters (int & __argc, char * * & __argv) { 00017 -00018 eoParser parser (__argc, __argv); +00018 eoParser parser (__argc, __argv); 00019 00020 /* Debug */ 00021 eoValueParam <std :: string> debug_param ("false", "debug", "?"); -00022 parser.processParam (debug_param); -00023 if (debug_param.value () == "true") +00022 parser.processParam (debug_param); +00023 if (debug_param.value () == "true") 00024 setDebugMode (); 00025 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html index 25994c5d5..4dd715db2 100644 --- a/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__param_8h-source.html @@ -39,7 +39,7 @@ 00015 } 00016 00017 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html b/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html index ae85e5587..7d12b64d4 100644 --- a/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__run_8cpp-source.html @@ -41,7 +41,7 @@ 00017 00018 runRMC (); 00019 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html b/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html index 6fb9cfb7f..1eebcbebd 100644 --- a/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/peo__run_8h-source.html @@ -39,7 +39,7 @@ 00015 } 00016 00017 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html b/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html index 24eb8ff55..40f85799c 100644 --- a/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/reac__thread_8cpp-source.html @@ -58,7 +58,7 @@ 00034 for (unsigned i = 0; i < reac_threads.size (); i ++) 00035 reac_threads [i] -> wakeUp (); 00036 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html b/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html index 6716b5a43..c12f47e73 100644 --- a/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/reac__thread_8h-source.html @@ -57,7 +57,7 @@ 00033 extern void stopReactiveThreads (); 00034 00035 #endif /*THREAD_H_*/ -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html b/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html index bddf65b53..161d3ae4f 100644 --- a/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/recv_8cpp-source.html @@ -134,7 +134,7 @@ 00110 00111 } while (! atLeastOneActiveThread () && atLeastOneActiveRunner () /*&& ! allResourcesFree ()*/); 00112 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/recv_8h-source.html b/trunk/paradiseo-peo/doc/html/recv_8h-source.html index 53dcb4e55..2adad4355 100644 --- a/trunk/paradiseo-peo/doc/html/recv_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/recv_8h-source.html @@ -36,7 +36,7 @@ 00012 extern void receiveMessages (); 00013 00014 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html b/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html index 7181d4746..24a30d338 100644 --- a/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/ring__topo_8cpp-source.html @@ -47,7 +47,7 @@ 00023 break; 00024 } 00025 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html b/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html index ea8cdc699..740e425f9 100644 --- a/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/ring__topo_8h-source.html @@ -46,7 +46,7 @@ 00022 }; 00023 00024 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html index a6b54417a..16a1ce8c9 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2runner_8cpp-source.html @@ -55,7 +55,7 @@ 00031 sendToAll (this, RUNNER_STOP_TAG); 00032 } 00033 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html index 08580986a..621ec2549 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_2mpi_2service_8cpp-source.html @@ -52,7 +52,7 @@ 00028 // printf ("demande de ressource pour %d\n", req.second); 00029 :: pack (req); 00030 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html b/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html index a5dd0fdd4..cde926454 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_8cpp-source.html @@ -68,7 +68,7 @@ 00045 joinThreads (ll_threads); 00046 printDebugMessage ("after join threads RMC"); 00047 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/rmc_8h-source.html b/trunk/paradiseo-peo/doc/html/rmc_8h-source.html index 9d8afe9c4..ff1fc0b4b 100644 --- a/trunk/paradiseo-peo/doc/html/rmc_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/rmc_8h-source.html @@ -40,7 +40,7 @@ 00016 extern void finalizeRMC (); 00017 00018 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/runner_8h-source.html b/trunk/paradiseo-peo/doc/html/runner_8h-source.html index 2303e5d70..4d700d380 100644 --- a/trunk/paradiseo-peo/doc/html/runner_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/runner_8h-source.html @@ -80,7 +80,7 @@ 00056 extern void joinRunners (); 00057 00058 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html b/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html index 1f98eca5a..b0a044944 100644 --- a/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/scheduler_8cpp-source.html @@ -47,7 +47,7 @@ 00023 00024 for (unsigned i = 0; i < the_schema.size (); i ++) { 00025 -00026 const Node & node = the_schema [i]; +00026 const Node & node = the_schema [i]; 00027 00028 if (node.rk_sched == my_node -> rk) 00029 for (unsigned j = 0; j < node.num_workers; j ++) @@ -100,7 +100,7 @@ 00076 printDebugMessage ("all the resources are now free."); 00077 update (); 00078 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html b/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html index 7668a5da1..69d91d335 100644 --- a/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/scheduler_8h-source.html @@ -54,7 +54,7 @@ 00030 extern bool allResourcesFree (); 00031 00032 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html b/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html index 6557dc5e2..6bc576e51 100644 --- a/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/schema_8cpp-source.html @@ -41,7 +41,7 @@ 00017 00018 std :: vector <Node> the_schema; 00019 -00020 Node * my_node; +00020 Node * my_node; 00021 00022 RANK_ID getRankOfRunner (RUNNER_ID __key) { 00023 @@ -55,14 +55,14 @@ 00031 00032 static void loadNode (int __rk_sched) { 00033 -00034 Node node; +00034 Node node; 00035 -00036 node.rk_sched = __rk_sched; +00036 node.rk_sched = __rk_sched; 00037 00038 /* ATT: name*/ -00039 node.rk = getRankFromName (getAttributeValue ("name")); +00039 node.rk = getRankFromName (getAttributeValue ("name")); 00040 /* ATT: num_workers */ -00041 node.num_workers = atoi (getAttributeValue ("num_workers").c_str ()); +00041 node.num_workers = atoi (getAttributeValue ("num_workers").c_str ()); 00042 00043 while (true) { 00044 @@ -71,7 +71,7 @@ 00047 assert (name == "runner" || name == "node"); 00048 if (name == "runner") { 00049 /* TAG: </node> */ -00050 node.id_run.push_back (atoi (getNextNode ().c_str ())); +00050 node.id_run.push_back (atoi (getNextNode ().c_str ())); 00051 /* TAG: </runner> */ 00052 assert (getNextNode () == "runner"); 00053 } @@ -157,7 +157,7 @@ 00133 closeXMLDocument (); 00134 } 00135 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/schema_8h-source.html b/trunk/paradiseo-peo/doc/html/schema_8h-source.html index c011d2f7b..e7d8bae9f 100644 --- a/trunk/paradiseo-peo/doc/html/schema_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/schema_8h-source.html @@ -41,18 +41,18 @@ 00017 00018 typedef int RANK_ID; 00019 -00020 struct Node { +00020 struct Node { 00021 -00022 RANK_ID rk; /* Rank */ -00023 std :: string name; /* Host name */ -00024 unsigned num_workers; /* Number of parallel workers */ -00025 int rk_sched; /* rank of the scheduler */ -00026 std :: vector <RUNNER_ID> id_run; /* List of runners */ +00022 RANK_ID rk; /* Rank */ +00023 std :: string name; /* Host name */ +00024 unsigned num_workers; /* Number of parallel workers */ +00025 int rk_sched; /* rank of the scheduler */ +00026 std :: vector <RUNNER_ID> id_run; /* List of runners */ 00027 }; 00028 00029 extern std :: vector <Node> the_schema; 00030 -00031 extern Node * my_node; +00031 extern Node * my_node; 00032 00033 extern void loadSchema (const char * __filename); 00034 @@ -61,7 +61,7 @@ 00037 extern bool isScheduleNode (); 00038 00039 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/search.idx b/trunk/paradiseo-peo/doc/html/search.idx index 7313a9c0e1dff1e390fc20e0d5a53e2ef587a501..8a68e80f740f30d3076fe4621ea82a33959a2839 100644 GIT binary patch literal 376206 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 literal 377020 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 S<&P7p5j&m(Lxvx^tN#x*Na1t< diff --git a/trunk/paradiseo-peo/doc/html/search.php b/trunk/paradiseo-peo/doc/html/search.php index 2ebba6799..5dca20291 100644 --- a/trunk/paradiseo-peo/doc/html/search.php +++ b/trunk/paradiseo-peo/doc/html/search.php @@ -375,7 +375,7 @@ main(); ?> -
    Generated on Thu Jun 28 15:51:16 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/send_8cpp-source.html b/trunk/paradiseo-peo/doc/html/send_8cpp-source.html index b0e54bef8..b71690374 100644 --- a/trunk/paradiseo-peo/doc/html/send_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/send_8cpp-source.html @@ -138,7 +138,7 @@ 00114 00115 sem_post (& sem_send); 00116 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/send_8h-source.html b/trunk/paradiseo-peo/doc/html/send_8h-source.html index 8bfe296b6..d769be742 100644 --- a/trunk/paradiseo-peo/doc/html/send_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/send_8h-source.html @@ -44,7 +44,7 @@ 00020 extern void sendMessages (); 00021 00022 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/service_8h-source.html b/trunk/paradiseo-peo/doc/html/service_8h-source.html index 5d1e074d9..1cb4096fd 100644 --- a/trunk/paradiseo-peo/doc/html/service_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/service_8h-source.html @@ -72,7 +72,7 @@ 00048 extern Service * getService (SERVICE_ID __key); 00049 00050 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/structNode-members.html b/trunk/paradiseo-peo/doc/html/structNode-members.html index 4a5aa7057..607b10646 100644 --- a/trunk/paradiseo-peo/doc/html/structNode-members.html +++ b/trunk/paradiseo-peo/doc/html/structNode-members.html @@ -35,7 +35,7 @@ num_workersNode rkNode rk_schedNode -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:40:47 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/structNode.html b/trunk/paradiseo-peo/doc/html/structNode.html index fbb258be7..feca8d02e 100644 --- a/trunk/paradiseo-peo/doc/html/structNode.html +++ b/trunk/paradiseo-peo/doc/html/structNode.html @@ -55,7 +55,7 @@ std::vector< RUNNER_ID > 20 of file schema.h.
    The documentation for this struct was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:40:47 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html index 1fe9ffb92..0f088577f 100644 --- a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html +++ b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST-members.html @@ -33,7 +33,7 @@ commSEND_REQUEST tagSEND_REQUEST toSEND_REQUEST -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html index dbbf9a5dd..26c548141 100644 --- a/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html +++ b/trunk/paradiseo-peo/doc/html/structSEND__REQUEST.html @@ -49,7 +49,7 @@ int 24 of file send.cpp.
    The documentation for this struct was generated from the following file: -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/tags_8h-source.html b/trunk/paradiseo-peo/doc/html/tags_8h-source.html index 361174626..ab08141b9 100644 --- a/trunk/paradiseo-peo/doc/html/tags_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/tags_8h-source.html @@ -46,7 +46,7 @@ 00022 #define TASK_DONE_TAG 20 00023 00024 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html b/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html index b307f06f1..63a0bbfa1 100644 --- a/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/thread_8cpp-source.html @@ -103,7 +103,7 @@ 00079 for (unsigned i = 0; i < __threads.size (); i ++) 00080 pthread_join (* __threads [i], 0); 00081 } -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/thread_8h-source.html b/trunk/paradiseo-peo/doc/html/thread_8h-source.html index 6d966d6a6..490094abc 100644 --- a/trunk/paradiseo-peo/doc/html/thread_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/thread_8h-source.html @@ -70,7 +70,7 @@ 00046 00047 00048 #endif /*THREAD_H_*/ -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html b/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html index 5fe0b0ac0..101fbe7f8 100644 --- a/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/topology_8cpp-source.html @@ -42,7 +42,7 @@ 00018 mig.push_back (& __mig) ; 00019 } 00020 -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/topology_8h-source.html b/trunk/paradiseo-peo/doc/html/topology_8h-source.html index 92512294f..9b77b21ff 100644 --- a/trunk/paradiseo-peo/doc/html/topology_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/topology_8h-source.html @@ -55,7 +55,7 @@ 00031 }; 00032 00033 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/tree.html b/trunk/paradiseo-peo/doc/html/tree.html index 56a9db27b..8e7d5e828 100644 --- a/trunk/paradiseo-peo/doc/html/tree.html +++ b/trunk/paradiseo-peo/doc/html/tree.html @@ -69,7 +69,6 @@

    |o*Communicable

    |o*Communicator

    |o*Cooperative

    -

    |o*Node

    |o*peoAggEvalFunc< EOT >

    |o*peoAsyncIslandMig< EOT >

    |o*peoEA< EOT >

    @@ -120,34 +119,55 @@

    ||\*Worker

    -

    |o*Node

    -

    |o+peoAggEvalFunc< EOT >

    +

    |o+eoFunctorBase [external]

    |o*SEND_REQUEST

    -

    |o+Thread

    -
    -

    ||o+ReactiveThread

    -
    +

    |o+Thread

    + -

    |\+Topology

    -

    o*Class Members

    -

    o+Namespace List

    -
    +

    o+Namespace List

    +

    |\*peo

    o*Namespace Members

    -

    \+File List

    -
    +

    \+File List

    +

     o*comm.cpp

     o*comm.h

     o*communicable.cpp

    diff --git a/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html b/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html index 82d50af89..6f25314d6 100644 --- a/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/worker_8cpp-source.html @@ -115,7 +115,7 @@ 00091 } 00092 } 00093 } -

    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +

    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/worker_8h-source.html b/trunk/paradiseo-peo/doc/html/worker_8h-source.html index 408c960df..11f6064dd 100644 --- a/trunk/paradiseo-peo/doc/html/worker_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/worker_8h-source.html @@ -72,7 +72,7 @@ 00048 extern Worker * getWorker (WORKER_ID __key); 00049 00050 #endif -

    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +

    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html b/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html index 6ef6e67dd..793612527 100644 --- a/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html +++ b/trunk/paradiseo-peo/doc/html/xml__parser_8cpp-source.html @@ -97,7 +97,7 @@ 00073 return str; 00074 } 00075 -

    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html b/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html index 9102575cc..cbe806d56 100644 --- a/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html +++ b/trunk/paradiseo-peo/doc/html/xml__parser_8h-source.html @@ -44,7 +44,7 @@ 00020 extern std :: string getNextNode (); 00021 00022 #endif -
    Generated on Thu Jun 28 15:51:15 2007 for ParadisEO-PEO by  +
    Generated on Thu Jul 5 13:41:04 2007 for ParadisEO-PEO by  doxygen 1.4.7
    diff --git a/trunk/paradiseo-peo/tutorial/Lesson1/CMakeLists.txt b/trunk/paradiseo-peo/tutorial/Lesson1/CMakeLists.txt index 01312649a..1db67b942 100644 --- a/trunk/paradiseo-peo/tutorial/Lesson1/CMakeLists.txt +++ b/trunk/paradiseo-peo/tutorial/Lesson1/CMakeLists.txt @@ -1,10 +1,27 @@ ###################################################################################### -### 0) Set the compiler +### 0) Set the compiler and define targets to easily run the lessons ###################################################################################### SET (CMAKE_CXX_COMPILER mpicxx) +ADD_CUSTOM_TARGET(copy_lesson1_param ALL) +ADD_CUSTOM_COMMAND( + TARGET copy_lesson1_param + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different + ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson1/lesson.param + ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson1) + +ADD_CUSTOM_TARGET(copy_lesson1_xmlschema ALL) +ADD_CUSTOM_COMMAND( + TARGET copy_lesson1_xmlschema + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different + ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson1/schema.xml + ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson1) ###################################################################################### @@ -15,7 +32,7 @@ SET (CMAKE_CXX_COMPILER mpicxx) INCLUDE_DIRECTORIES(${EO_SRC_DIR}) INCLUDE_DIRECTORIES(${MO_SRC_DIR}) INCLUDE_DIRECTORIES(${PEO_SRC_DIR}) -INCLUDE_DIRECTORIES(${TSP_SRC_DIR}/src) +INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) ###################################################################################### diff --git a/trunk/paradiseo-peo/tutorial/Lesson2/CMakeLists.txt b/trunk/paradiseo-peo/tutorial/Lesson2/CMakeLists.txt index ebed7a96a..c6c2d3354 100644 --- a/trunk/paradiseo-peo/tutorial/Lesson2/CMakeLists.txt +++ b/trunk/paradiseo-peo/tutorial/Lesson2/CMakeLists.txt @@ -1,10 +1,27 @@ ###################################################################################### -### 0) Set the compiler +### 0) Set the compiler and define targets to easily run the lessons ###################################################################################### SET (CMAKE_CXX_COMPILER mpicxx) +ADD_CUSTOM_TARGET(copy_lesson2_param ALL) +ADD_CUSTOM_COMMAND( + TARGET copy_lesson2_param + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different + ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson2/lesson.param + ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson2) + +ADD_CUSTOM_TARGET(copy_lesson2_xmlschema ALL) +ADD_CUSTOM_COMMAND( + TARGET copy_lesson2_xmlschema + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different + ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson2/schema.xml + ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson2) ###################################################################################### diff --git a/trunk/paradiseo-peo/tutorial/Lesson3/CMakeLists.txt b/trunk/paradiseo-peo/tutorial/Lesson3/CMakeLists.txt index 629f752e2..a5cc447c1 100644 --- a/trunk/paradiseo-peo/tutorial/Lesson3/CMakeLists.txt +++ b/trunk/paradiseo-peo/tutorial/Lesson3/CMakeLists.txt @@ -1,13 +1,31 @@ ###################################################################################### -### 0) Set the compiler +### 0) Set the compiler and define targets to easily run the lessons ###################################################################################### SET (CMAKE_CXX_COMPILER mpicxx) +ADD_CUSTOM_TARGET(copy_lesson3_param ALL) +ADD_CUSTOM_COMMAND( + TARGET copy_lesson3_param + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different + ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson3/lesson.param + ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson3) + +ADD_CUSTOM_TARGET(copy_lesson3_xmlschema ALL) +ADD_CUSTOM_COMMAND( + TARGET copy_lesson3_xmlschema + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different + ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson3/schema.xml + ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson3) ###################################################################################### + ###################################################################################### ### 1) Include the sources ###################################################################################### diff --git a/trunk/paradiseo-peo/tutorial/Walkthrough/CMakeLists.txt b/trunk/paradiseo-peo/tutorial/Walkthrough/CMakeLists.txt index 174834a2b..1fa439e1f 100644 --- a/trunk/paradiseo-peo/tutorial/Walkthrough/CMakeLists.txt +++ b/trunk/paradiseo-peo/tutorial/Walkthrough/CMakeLists.txt @@ -12,7 +12,7 @@ ADD_CUSTOM_COMMAND( COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Walkthrough/config - ${ParadisEO-PEO_BINARY_DIR}/tutorial/Walkthrough/tsp/config) + ${ParadisEO-PEO_BINARY_DIR}/tutorial/Walkthrough/config) ######################################################################################