Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by
+Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/structSEND__REQUEST.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/structSEND__REQUEST.html
index 307bc5ff4..719a10daa 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/structSEND__REQUEST.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/structSEND__REQUEST.html
@@ -1,6 +1,6 @@
-ParadisEO-PEOMovingObjects: SEND_REQUEST Struct Reference
+ParadisEO-PEO-ParallelanddistributedEvolvingObjects: SEND_REQUEST Struct Reference
@@ -47,9 +47,9 @@ int 52 of file send.cpp . The documentation for this struct was generated from the following file:
+Definition at line 53 of file send.cpp . The documentation for this struct was generated from the following file:
- Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by
+Generated on Wed Mar 12 15:23:47 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tags_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tags_8h-source.html
index 5527f749f..aa8600734 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tags_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tags_8h-source.html
@@ -1,6 +1,6 @@
-ParadisEO-PEOMovingObjects: tags.h Source File
+ParadisEO-PEO-ParallelanddistributedEvolvingObjects: tags.h Source File
@@ -22,12 +22,12 @@
-tags.h 00001
+tags.h 00001
00002
- 00003
- 00004
+ 00003
+ 00004
00005
- 00006
+ 00006
00007
00008
00009
@@ -66,15 +66,17 @@
00042 #define COOP_TAG 14
00043
00044 #define SCHED_REQUEST_TAG 16
- 00045
- 00046 #define SCHED_RESULT_TAG 17
- 00047 #define TASK_DATA_TAG 18
- 00048
- 00049 #define TASK_RESULT_TAG 19
- 00050 #define TASK_DONE_TAG 20
- 00051
- 00052 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+ 00045 #define SCHED_RESULT_TAG 17
+ 00046
+ 00047 #define TASK_DATA_TAG 18
+ 00048 #define TASK_RESULT_TAG 19
+ 00049 #define TASK_DONE_TAG 20
+ 00050
+ 00051 #define SYNCHRONIZE_REQ_TAG 1000
+ 00052 #define SYNCHRONIZED_TAG 1001
+ 00053
+ 00054 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8cpp-source.html
index 766870290..6b2324c20 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8cpp-source.html
@@ -1,6 +1,6 @@
-ParadisEO-PEOMovingObjects: thread.cpp Source File
+ParadisEO-PEO-ParallelanddistributedEvolvingObjects: thread.cpp Source File
@@ -22,12 +22,12 @@
-thread.cpp 00001
+thread.cpp 00001
00002
- 00003
- 00004
+ 00003
+ 00004
00005
- 00006
+ 00006
00007
00008
00009
@@ -66,72 +66,83 @@
00042
00043 unsigned num_act = 0;
00044
-00045 Thread :: Thread () {
- 00046
- 00047 threads.push_back (this );
- 00048 act = false ;
- 00049 }
- 00050
-00051 Thread :: ~ Thread () {
+ 00045
+00046 Thread :: Thread ()
+ 00047 {
+ 00048
+ 00049 threads.push_back (this );
+ 00050 act = false ;
+ 00051 }
00052
- 00053
- 00054 }
+00053 Thread :: ~ Thread ()
+ 00054 {
00055
- 00056 extern int getNodeRank ();
- 00057
-00058 void Thread :: setActive () {
- 00059
- 00060 if (! act ) {
+ 00056
+ 00057 }
+ 00058
+00059 void Thread :: setActive ()
+ 00060 {
00061
- 00062 act = true ;
- 00063 num_act ++;
- 00064
- 00065
- 00066 }
- 00067 }
- 00068
-00069 void Thread :: setPassive () {
- 00070
- 00071 if (act ) {
+ 00062 if (! act )
+ 00063 {
+ 00064
+ 00065 act = true ;
+ 00066 num_act ++;
+ 00067 }
+ 00068 }
+ 00069
+00070 void Thread :: setPassive ()
+ 00071 {
00072
- 00073 act = false ;
- 00074 num_act --;
- 00075
- 00076
- 00077
- 00078 }
+ 00073 if (act )
+ 00074 {
+ 00075
+ 00076 act = false ;
+ 00077 num_act --;
+ 00078 }
00079 }
00080
- 00081 bool atLeastOneActiveThread () {
- 00082
- 00083 return num_act;
- 00084 }
- 00085
- 00086 unsigned numberOfActiveThreads () {
+ 00081 void initThreadsEnv ()
+ 00082 {
+ 00083
+ 00084 threads.clear ();
+ 00085 num_act = 0;
+ 00086 }
00087
- 00088 return num_act;
- 00089 }
+ 00088 bool atLeastOneActiveThread ()
+ 00089 {
00090
- 00091 static void * launch (void * __arg) {
- 00092
- 00093 Thread * thr = (Thread *) __arg;
- 00094 thr -> start ();
- 00095 return 0;
- 00096 }
- 00097
- 00098 void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads) {
+ 00091 return num_act;
+ 00092 }
+ 00093
+ 00094 static void * launch (void * __arg)
+ 00095 {
+ 00096
+ 00097 Thread * thr = (Thread *) __arg;
+ 00098 thr -> start ();
00099
- 00100 pthread_t * ll_thr = new pthread_t;
- 00101 __ll_threads.push_back (ll_thr);
- 00102 pthread_create (ll_thr, 0, launch, __hl_thread);
- 00103 }
- 00104
- 00105 void joinThreads (std :: vector <pthread_t *> & __threads) {
- 00106
- 00107 for (unsigned i = 0; i < __threads.size (); i ++)
- 00108 pthread_join (* __threads [i], 0);
+ 00100 return 0;
+ 00101 }
+ 00102
+ 00103 void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads)
+ 00104 {
+ 00105
+ 00106 pthread_t * ll_thr = new pthread_t;
+ 00107 __ll_threads.push_back (ll_thr);
+ 00108 pthread_create (ll_thr, 0, launch, __hl_thread);
00109 }
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+ 00110
+ 00111 void joinThreads (std :: vector <pthread_t *> & __threads)
+ 00112 {
+ 00113
+ 00114 for (unsigned i = 0; i < __threads.size (); i ++)
+ 00115 {
+ 00116 pthread_join (* __threads [i], 0);
+ 00117 delete __threads [i];
+ 00118 }
+ 00119 __threads.clear();
+ 00120 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8h-source.html
index 0ed667519..3b806d87f 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/thread_8h-source.html
@@ -1,6 +1,6 @@
-ParadisEO-PEOMovingObjects: thread.h Source File
+ParadisEO-PEO-ParallelanddistributedEvolvingObjects: thread.h Source File
@@ -22,12 +22,12 @@
-thread.h 00001
+thread.h 00001
00002
- 00003
- 00004
+ 00003
+ 00004
00005
- 00006
+ 00006
00007
00008
00009
@@ -63,42 +63,42 @@
00039
00040 #include <vector>
00041
- 00042
- 00043
-00044 class Thread {
- 00045
- 00046 public :
- 00047
- 00048
- 00049 Thread ();
- 00050
- 00051
- 00052 virtual ~ Thread ();
- 00053
- 00054
- 00055 virtual void start () = 0;
- 00056
- 00057 void setActive ();
- 00058 void setPassive ();
- 00059
- 00060
- 00061 private :
- 00062
-00063 bool act ;
- 00064 };
- 00065
- 00066 extern void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads);
- 00067
- 00068 extern void joinThreads (std :: vector <pthread_t *> & __ll_threads);
- 00069
- 00070 extern bool atLeastOneActiveThread ();
- 00071
- 00072
- 00073 extern unsigned numberOfActiveThreads ();
- 00074
+ 00042
+ 00043
+00044 class Thread
+ 00045 {
+ 00046
+ 00047 public :
+ 00048
+ 00049
+ 00050 Thread ();
+ 00051
+ 00052
+ 00053 virtual ~ Thread ();
+ 00054
+ 00055
+ 00056 virtual void start () = 0;
+ 00057
+ 00058 void setActive ();
+ 00059 void setPassive ();
+ 00060
+ 00061
+ 00062 private :
+ 00063
+00064 bool act ;
+ 00065 };
+ 00066
+ 00067 extern void initThreadsEnv ();
+ 00068
+ 00069 extern void addThread (Thread * __hl_thread, std :: vector <pthread_t *> & __ll_threads);
+ 00070
+ 00071 extern void joinThreads (std :: vector <pthread_t *> & __ll_threads);
+ 00072
+ 00073 extern bool atLeastOneActiveThread ();
+ 00074
00075
00076 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8cpp-source.html
index d7bb2dd7c..575a52de6 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8cpp-source.html
@@ -1,6 +1,6 @@
-ParadisEO-PEOMovingObjects: topology.cpp Source File
+ParadisEO-PEO-ParallelanddistributedEvolvingObjects: topology.cpp Source File
@@ -22,12 +22,12 @@
-topology.cpp 00001
+topology.cpp 00001
00002
- 00003
- 00004
+ 00003
+ 00004
00005
- 00006
+ 00006
00007
00008
00009
@@ -60,17 +60,24 @@
00036
00037 #include "topology.h"
00038
-00039 Topology :: ~ Topology () {
- 00040
- 00041
- 00042 }
- 00043
-00044 void Topology :: add (Cooperative & __mig) {
- 00045
- 00046 mig .push_back (& __mig) ;
- 00047 }
- 00048
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00039 Topology :: ~ Topology ()
+ 00040 {
+ 00041
+ 00042
+ 00043 }
+ 00044
+00045 void Topology :: add (Cooperative & __mig)
+ 00046 {
+ 00047
+ 00048 mig .push_back (& __mig) ;
+ 00049 }
+ 00050
+00051 Topology :: operator std :: vector <Cooperative *>& ()
+ 00052 {
+ 00053
+ 00054 return mig ;
+ 00055 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8h-source.html
index 6bc3277cd..08ce74a02 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/topology_8h-source.html
@@ -1,6 +1,6 @@
-ParadisEO-PEOMovingObjects: topology.h Source File
+ParadisEO-PEO-ParallelanddistributedEvolvingObjects: topology.h Source File
@@ -22,12 +22,12 @@
-topology.h 00001
+topology.h 00001
00002
- 00003
- 00004
+ 00003
+ 00004
00005
- 00006
+ 00006
00007
00008
00009
@@ -65,25 +65,28 @@
00041
00042 #include "cooperative.h"
00043
-00044 class Topology {
- 00045
- 00046 public :
- 00047
- 00048 virtual ~Topology ();
- 00049
- 00050 void add (Cooperative & __mig);
- 00051
- 00052 virtual void setNeighbors (Cooperative * __mig,
- 00053 std :: vector <Cooperative *> & __from,
- 00054 std :: vector <Cooperative *> & __to) = 0;
- 00055
- 00056 protected :
- 00057
-00058 std :: vector <Cooperative *> mig ;
- 00059 };
+00044 class Topology
+ 00045 {
+ 00046
+ 00047 public :
+ 00048
+ 00049 virtual ~Topology ();
+ 00050
+ 00051 void add (Cooperative & __mig);
+ 00052
+ 00053 virtual void setNeighbors (Cooperative * __mig,
+ 00054 std :: vector <Cooperative *> & __from,
+ 00055 std :: vector <Cooperative *> & __to) = 0;
+ 00056
+ 00057 operator std :: vector <Cooperative *>& ();
+ 00058
+ 00059 protected :
00060
- 00061 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00061 std :: vector <Cooperative *> mig ;
+ 00062 };
+ 00063
+ 00064 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tree.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tree.html
index 560832a67..466b0621d 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tree.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tree.html
@@ -61,159 +61,262 @@
-
ParadisEO-PEOMovingObjects
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects
The ParadisEO-PEO Framework
Class List
+
Algorithm
+
CitySwap
Communicable
Communicator
+
CompleteTopology
+
continuator
Cooperative
DisplayBestRoute
+
EdgeXover
+
eoContinuator< EOT >
+
eoReplace< EOT, TYPE >
+
eoSelector< EOT, TYPE >
+
eoSyncContinue
MergeRouteEval
+
MPIThreadedEnv
+
OrderXover
+
PartialMappedXover
+
PartRouteEval
peoAggEvalFunc< EOT >
-
peoAsyncIslandMig< EOT >
-
peoEA< EOT >
+
peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >
+
peoEvalFunc< EOT, FitT, FunctionArg >
+
peoGlobalBestVelocity< POT >
+
peoMultiStart< EntityType >
+
peoMultiStart< EntityType >::AbstractAggregationAlgorithm
+
peoMultiStart< EntityType >::AbstractAlgorithm
+
peoMultiStart< EntityType >::AbstractDataType
+
peoMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >
+
peoMultiStart< EntityType >::Algorithm< AlgorithmType >
+
peoMultiStart< EntityType >::DataType< Type >
+
peoMultiStart< EntityType >::FunctionAlgorithm< AlgorithmReturnType, AlgorithmDataType >
+
peoMultiStart< EntityType >::NoAggregationFunction
peoNoAggEvalFunc< EOT >
-
peoParallelAlgorithmWrapper
-
peoParallelAlgorithmWrapper::AbstractAlgorithm
-
peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
-
peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >
-
peoParaPopEval< EOT >
-
peoParaSGATransform< EOT >
peoPopEval< EOT >
-
peoSeqPopEval< EOT >
-
peoSeqTransform< EOT >
-
peoSynchronousMultiStart< EntityType >
-
peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm
-
peoSynchronousMultiStart< EntityType >::AbstractAlgorithm
-
peoSynchronousMultiStart< EntityType >::AbstractDataType
-
peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >
-
peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >
-
peoSynchronousMultiStart< EntityType >::DataType< Type >
-
peoSynchronousMultiStart< EntityType >::NoAggregationFunction
-
peoSyncIslandMig< EOT >
-
peoSyncMultiStart< EOT >
+
peoPSOSelect< POT >
+
peoSyncIslandMig< TYPESELECT, TYPEREPLACE >
peoTransform< EOT >
-
RandomExplorationAlgorithm
+
peoWorstPositionReplacement< POT >
+
peoWrapper
+
peoWrapper::AbstractAlgorithm
+
peoWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
+
peoWrapper::Algorithm< AlgorithmType, void >
+
peoWrapper::FunctionAlgorithm< AlgorithmReturnType, AlgorithmDataType >
+
peoWrapper::FunctionAlgorithm< AlgorithmReturnType, void >
+
RandomTopology
ReactiveThread
+
replacement< TYPE >
RingTopology
+
RouteEval
+
RouteInit
Runner
+
selector< TYPE >
SEND_REQUEST
Service
+
StarTopology
+
SyncCompare
+
SyncEntry
Thread
Topology
+
TwoOpt
+
TwoOptIncrEval
+
TwoOptInit
+
TwoOptNext
+
TwoOptRand
Worker
Class Hierarchy
+
Algorithm
Communicable
-
eoFunctorBase [external]
-
-
eoBF< A1, A2, R > [external]
-
-
peoAggEvalFunc< EOT >
+
continuator
+
+
eoFunctorBase [external]
+
+
eoBF< A1, A2, R > [external]
+
-
eoF< void > [external]
-
-
eoUpdater [external]
-
+
eoBF< EOType &, EOType &, bool > [external]
+
+
eoF< void > [external]
+
-
eoUF< A1, R > [external]
-
-
eoTransform< EOT > [external]
-
-
peoParallelAlgorithmWrapper::AbstractAlgorithm
-
-
peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
-
peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >
+
eoOp< EOType > [external]
+
-
peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm
-
-
peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >
-
peoSynchronousMultiStart< EntityType >::NoAggregationFunction
+
MPIThreadedEnv
+
peoMultiStart< EntityType >::AbstractAggregationAlgorithm
+
-
peoSynchronousMultiStart< EntityType >::AbstractAlgorithm
-
-
peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >
+
peoMultiStart< EntityType >::AbstractAlgorithm
+
-
peoSynchronousMultiStart< EntityType >::AbstractDataType
-
-
peoSynchronousMultiStart< EntityType >::DataType< Type >
+
peoMultiStart< EntityType >::AbstractDataType
+
+
peoWrapper::AbstractAlgorithm
+
+
replacement< TYPE >
+
+
selector< TYPE >
+
-
RandomExplorationAlgorithm
SEND_REQUEST
-
Thread
-
-
ReactiveThread
-
+
SyncCompare
+
SyncEntry
+
Thread
+
-
Topology
-
Class Members
-
Namespace List
-
+
Namespace List
+
Namespace Members
-
File List
-
+
File List
+
city_swap.cpp
city_swap.h
comm.cpp
comm.h
communicable.cpp
communicable.h
-
coop.cpp
+
complete_topo.cpp
+
complete_topo.h
+
cooperative.cpp
cooperative.h
data.cpp
data.h
@@ -221,20 +324,16 @@
display.h
display_best_route.cpp
display_best_route.h
-
doclsn.h
edge_xover.cpp
edge_xover.h
-
eoPop_comm.h
-
eoVector_comm.h
-
exampleA.cpp
-
exampleB.cpp
-
exampleC.cpp
-
exampleD.cpp
-
exampleE.cpp
-
Lesson1/main.cpp
-
Lesson2/main.cpp
-
Lesson3/main.cpp
-
LessonParallelAlgorithm/main.cpp
+
eoPop_mesg.h
+
eoVector_mesg.h
+
Lesson1/mainEA.cpp
+
Lesson2/mainEA.cpp
+
Lesson3/mainEA.cpp
+
mainEALS.cpp
+
Lesson1/mainPSO.cpp
+
Lesson3/mainPSO.cpp
merge_route_eval.cpp
merge_route_eval.h
mess.cpp
@@ -270,18 +369,17 @@
peo_run.h
peoAggEvalFunc.h
peoAsyncIslandMig.h
-
peoEA.h
+
peoData.h
+
peoEvalFunc.h
+
peoMultiStart.h
peoNoAggEvalFunc.h
-
peoParallelAlgorithmWrapper.h
-
peoParaPopEval.h
-
peoParaSGATransform.h
peoPopEval.h
-
peoSeqPopEval.h
-
peoSeqTransform.h
-
peoSynchronousMultiStart.h
+
peoPSO.h
peoSyncIslandMig.h
-
peoSyncMultiStart.h
peoTransform.h
+
peoWrapper.h
+
random_topo.cpp
+
random_topo.h
reac_thread.cpp
reac_thread.h
README
@@ -309,7 +407,20 @@
core/service.cpp
rmc/mpi/service.cpp
service.h
-
t-peo.cpp
+
star_topo.cpp
+
star_topo.h
+
synchron.cpp
+
synchron.h
+
t-EAAsyncIsland.cpp
+
t-EASyncIsland.cpp
+
t-Mpdallexit.cpp
+
t-Mpdboot.cpp
+
t-MultiStart.cpp
+
t-ParallelEval.cpp
+
t-ParallelTransform.cpp
+
t-PSOGlobalBest.cpp
+
t-PSOSelect.cpp
+
t-PSOWorstPosition.cpp
tags.h
thread.cpp
thread.h
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8cpp-source.html
index 9d6d9f2cb..393c93ba3 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: node.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: node.cpp Source File
@@ -22,7 +22,7 @@
-
node.cpp 00001
+node.cpp 00001
00002
00003
00004
@@ -71,63 +71,66 @@
00047
00048 double X_min = MAXDOUBLE, X_max = MINDOUBLE, Y_min = MAXDOUBLE, Y_max = MINDOUBLE;
00049
- 00050 void loadNodes (FILE * __f) {
- 00051
- 00052
- 00053
- 00054 X_coord = new double [numNodes];
- 00055
- 00056 Y_coord = new double [numNodes];
- 00057
- 00058 unsigned num;
- 00059
- 00060 for (unsigned i = 0; i < numNodes; i ++) {
- 00061
- 00062 fscanf (__f, "%u%lf%lf" , & num, X_coord + i, Y_coord + i);
- 00063
- 00064 if (X_coord [i] < X_min)
- 00065 X_min = X_coord [i];
- 00066 if (X_coord [i] > X_max)
- 00067 X_max = X_coord [i];
- 00068 if (Y_coord [i] < Y_min)
- 00069 Y_min = Y_coord [i];
- 00070 if (Y_coord [i] > Y_max)
- 00071 Y_max = Y_coord [i];
- 00072 }
- 00073
- 00074
- 00075
- 00076
- 00077
- 00078
- 00079
- 00080
- 00081
- 00082
- 00083
- 00084
- 00085
- 00086
+ 00050 void loadNodes (FILE * __f)
+ 00051 {
+ 00052
+ 00053
+ 00054
+ 00055 X_coord = new double [numNodes];
+ 00056
+ 00057 Y_coord = new double [numNodes];
+ 00058
+ 00059 unsigned num;
+ 00060
+ 00061 for (unsigned i = 0; i < numNodes; i ++)
+ 00062 {
+ 00063
+ 00064 fscanf (__f, "%u%lf%lf" , & num, X_coord + i, Y_coord + i);
+ 00065
+ 00066 if (X_coord [i] < X_min)
+ 00067 X_min = X_coord [i];
+ 00068 if (X_coord [i] > X_max)
+ 00069 X_max = X_coord [i];
+ 00070 if (Y_coord [i] < Y_min)
+ 00071 Y_min = Y_coord [i];
+ 00072 if (Y_coord [i] > Y_max)
+ 00073 Y_max = Y_coord [i];
+ 00074 }
+ 00075
+ 00076
+ 00077
+ 00078
+ 00079
+ 00080
+ 00081
+ 00082
+ 00083
+ 00084
+ 00085
+ 00086
00087
- 00088
- 00089
- 00090
- 00091
- 00092
- 00093
- 00094
- 00095 }
- 00096
- 00097 unsigned distance (Node __from, Node __to) {
+ 00088
+ 00089
+ 00090
+ 00091
+ 00092
+ 00093
+ 00094
+ 00095
+ 00096
+ 00097 }
00098
- 00099
- 00100
- 00101 double dx = X_coord [__from] - X_coord [__to], dy = Y_coord [__from] - Y_coord [__to];
- 00102
- 00103 return (unsigned ) (sqrt (dx * dx + dy * dy) + 0.5) ;
- 00104 }
+ 00099 unsigned distance (Node __from, Node __to)
+ 00100 {
+ 00101
+ 00102
+ 00103
+ 00104 double dx = X_coord [__from] - X_coord [__to], dy = Y_coord [__from] - Y_coord [__to];
00105
-Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by
+ 00106 return (unsigned ) (sqrt (dx * dx + dy * dy) + 0.5) ;
+ 00107 }
+ 00108
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8h-source.html
index c8d476ad7..e7d8353ab 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: node.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: node.h Source File
@@ -22,7 +22,7 @@
-
node.h 00001
+node.h 00001
00002
00003
00004
@@ -63,7 +63,7 @@
00039
00040 #include <stdio.h>
00041
- 00042 typedef unsigned Node ;
+ 00042 typedef unsigned Node ;
00043
00044 extern double X_min, X_max, Y_min, Y_max;
00045
@@ -73,10 +73,10 @@
00049
00050 extern void loadNodes (FILE * __f);
00051
- 00052 extern unsigned distance (Node __from, Node __to);
+ 00052 extern unsigned distance (Node __from, Node __to);
00053
00054 #endif
-Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8cpp-source.html
index 2200d9b71..acc432015 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: param.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: param.cpp Source File
@@ -22,7 +22,7 @@
-
param.cpp 00001
+param.cpp 00001
00002
00003
00004
@@ -63,17 +63,18 @@
00039 #include "data.h"
00040 #include "opt_route.h"
00041
- 00042 void loadParameters (int __argc, char * * __argv) {
- 00043
- 00044 eoParser parser (__argc, __argv);
- 00045
- 00046 loadData (parser);
- 00047
- 00048 loadOptimumRoute (parser);
- 00049 }
- 00050
+ 00042 void loadParameters (int __argc, char * * __argv)
+ 00043 {
+ 00044
+ 00045 eoParser parser (__argc, __argv);
+ 00046
+ 00047 loadData (parser);
+ 00048
+ 00049 loadOptimumRoute (parser);
+ 00050 }
00051
-Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by
+ 00052
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8h-source.html
index 1d8690989..757ca8704 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: param.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: param.h Source File
@@ -22,7 +22,7 @@
-
param.h 00001
+param.h 00001
00002
00003
00004
@@ -64,7 +64,7 @@
00040 extern void loadParameters (int __argc, char * * __argv);
00041
00042 #endif
-Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8cpp-source.html
index ddf4275dc..3d508fdd9 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt.cpp Source File
@@ -22,7 +22,7 @@
-
two_opt.cpp 00001
+two_opt.cpp 00001
00002
00003
00004
@@ -60,17 +60,19 @@
00036
00037 #include "two_opt.h"
00038
- 00039 void TwoOpt :: operator () (Route & __route) {
- 00040
- 00041 unsigned i = 0;
- 00042
- 00043 while ((2 * i) < (second - first)) {
- 00044
- 00045 std :: swap (__route [first + i], __route [second - i]);
- 00046 i ++;
- 00047 }
- 00048 }
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00039 void TwoOpt :: operator () (Route & __route)
+ 00040 {
+ 00041
+ 00042 unsigned i = 0;
+ 00043
+ 00044 while ((2 * i) < (second - first))
+ 00045 {
+ 00046
+ 00047 std :: swap (__route [first + i], __route [second - i]);
+ 00048 i ++;
+ 00049 }
+ 00050 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8h-source.html
index 629e5011a..fe28627c9 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt.h Source File
@@ -22,7 +22,7 @@
-
two_opt.h 00001
+two_opt.h 00001
00002
00003
00004
@@ -66,16 +66,17 @@
00042
00043 #include "route.h"
00044
- 00045 class TwoOpt : public moMove <Route>, public std :: pair <unsigned, unsigned> {
- 00046
- 00047 public :
- 00048
- 00049 void operator () (Route & __route);
- 00050
- 00051 } ;
- 00052
- 00053 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00045 class TwoOpt : public moMove <Route>, public std :: pair <unsigned, unsigned>
+ 00046 {
+ 00047
+ 00048 public :
+ 00049
+ 00050 void operator () (Route & __route);
+ 00051
+ 00052 } ;
+ 00053
+ 00054 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8cpp-source.html
index 2a3fceadf..29d876295 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_incr_eval.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_incr_eval.cpp Source File
@@ -22,7 +22,7 @@
-
two_opt_incr_eval.cpp 00001
+two_opt_incr_eval.cpp 00001
00002
00003
00004
@@ -61,20 +61,21 @@
00037 #include "two_opt_incr_eval.h"
00038 #include "node.h"
00039
- 00040 int TwoOptIncrEval :: operator () (const TwoOpt & __move, const Route & __route) {
- 00041
- 00042
- 00043 Node v1 = __route [__move.first], v1_left = __route [(__move.first - 1 + numNodes) % numNodes];
- 00044
- 00045
- 00046 Node v2 = __route [__move.second], v2_right = __route [(__move.second + 1) % numNodes];
- 00047
- 00048 if (v1 == v2 || v2_right == v1)
- 00049 return __route.fitness ();
- 00050 else
- 00051 return __route.fitness () - distance (v1_left, v2) - distance (v1, v2_right) + distance (v1_left, v1) + distance (v2, v2_right);
- 00052 }
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00040 int TwoOptIncrEval :: operator () (const TwoOpt & __move, const Route & __route)
+ 00041 {
+ 00042
+ 00043
+ 00044 Node v1 = __route [__move.first], v1_left = __route [(__move.first - 1 + numNodes) % numNodes];
+ 00045
+ 00046
+ 00047 Node v2 = __route [__move.second], v2_right = __route [(__move.second + 1) % numNodes];
+ 00048
+ 00049 if (v1 == v2 || v2_right == v1)
+ 00050 return __route.fitness ();
+ 00051 else
+ 00052 return __route.fitness () - distance (v1_left, v2) - distance (v1, v2_right) + distance (v1_left, v1) + distance (v2, v2_right);
+ 00053 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8h-source.html
index 7a25390a2..d24b65dd9 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__incr__eval_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_incr_eval.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_incr_eval.h Source File
@@ -22,7 +22,7 @@
-
two_opt_incr_eval.h 00001
+two_opt_incr_eval.h 00001
00002
00003
00004
@@ -64,16 +64,17 @@
00040 #include <moMoveIncrEval.h>
00041 #include "two_opt.h"
00042
- 00043 class TwoOptIncrEval : public moMoveIncrEval <TwoOpt> {
- 00044
- 00045 public :
- 00046
- 00047 int operator () (const TwoOpt & __move, const Route & __route) ;
- 00048
- 00049 } ;
- 00050
- 00051 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00043 class TwoOptIncrEval : public moMoveIncrEval <TwoOpt>
+ 00044 {
+ 00045
+ 00046 public :
+ 00047
+ 00048 int operator () (const TwoOpt & __move, const Route & __route) ;
+ 00049
+ 00050 } ;
+ 00051
+ 00052 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8cpp-source.html
index 4453764a6..141d0e4ce 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_init.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_init.cpp Source File
@@ -22,7 +22,7 @@
-
two_opt_init.cpp 00001
+two_opt_init.cpp 00001
00002
00003
00004
@@ -60,11 +60,12 @@
00036
00037 #include "two_opt_init.h"
00038
- 00039 void TwoOptInit :: operator () (TwoOpt & __move, const Route & __route) {
- 00040
- 00041 __move.first = __move.second = 0;
- 00042 }
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00039 void TwoOptInit :: operator () (TwoOpt & __move, const Route & __route)
+ 00040 {
+ 00041
+ 00042 __move.first = __move.second = 0;
+ 00043 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8h-source.html
index 0ce10347e..c4b0333c6 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__init_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_init.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_init.h Source File
@@ -22,7 +22,7 @@
-
two_opt_init.h 00001
+two_opt_init.h 00001
00002
00003
00004
@@ -65,16 +65,17 @@
00041
00042 #include "two_opt.h"
00043
- 00044 class TwoOptInit : public moMoveInit <TwoOpt> {
- 00045
- 00046 public :
- 00047
- 00048 void operator () (TwoOpt & __move, const Route & __route) ;
- 00049
- 00050 } ;
- 00051
- 00052 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00044 class TwoOptInit : public moMoveInit <TwoOpt>
+ 00045 {
+ 00046
+ 00047 public :
+ 00048
+ 00049 void operator () (TwoOpt & __move, const Route & __route) ;
+ 00050
+ 00051 } ;
+ 00052
+ 00053 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8cpp-source.html
index d5b5f6eed..0d57350fc 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_next.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_next.cpp Source File
@@ -22,7 +22,7 @@
-
two_opt_next.cpp 00001
+two_opt_next.cpp 00001
00002
00003
00004
@@ -61,23 +61,26 @@
00037 #include "two_opt_next.h"
00038 #include "node.h"
00039
- 00040 bool TwoOptNext :: operator () (TwoOpt & __move, const Route & __route) {
- 00041
- 00042 if (__move.first == numNodes - 1 && __move.second == numNodes - 1)
- 00043 return false ;
- 00044
- 00045 else {
- 00046
- 00047 __move.second ++;
- 00048 if (__move.second == numNodes) {
- 00049
- 00050 __move.first ++;
- 00051 __move.second = __move.first;
- 00052 }
- 00053 return true ;
- 00054 }
- 00055 }
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00040 bool TwoOptNext :: operator () (TwoOpt & __move, const Route & __route)
+ 00041 {
+ 00042
+ 00043 if (__move.first == numNodes - 1 && __move.second == numNodes - 1)
+ 00044 return false ;
+ 00045
+ 00046 else
+ 00047 {
+ 00048
+ 00049 __move.second ++;
+ 00050 if (__move.second == numNodes)
+ 00051 {
+ 00052
+ 00053 __move.first ++;
+ 00054 __move.second = __move.first;
+ 00055 }
+ 00056 return true ;
+ 00057 }
+ 00058 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8h-source.html
index e0b7e9092..0d0250618 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__next_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_next.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_next.h Source File
@@ -22,7 +22,7 @@
-
two_opt_next.h 00001
+two_opt_next.h 00001
00002
00003
00004
@@ -65,16 +65,17 @@
00041
00042 #include "two_opt.h"
00043
- 00044 class TwoOptNext : public moNextMove <TwoOpt> {
- 00045
- 00046 public :
- 00047
- 00048 bool operator () (TwoOpt & __move, const Route & __route);
- 00049
- 00050 };
- 00051
- 00052 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00044 class TwoOptNext : public moNextMove <TwoOpt>
+ 00045 {
+ 00046
+ 00047 public :
+ 00048
+ 00049 bool operator () (TwoOpt & __move, const Route & __route);
+ 00050
+ 00051 };
+ 00052
+ 00053 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8cpp-source.html
index 5ffc4e7c4..72c49cfc8 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_rand.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_rand.cpp Source File
@@ -22,7 +22,7 @@
-
two_opt_rand.cpp 00001
+two_opt_rand.cpp 00001
00002
00003
00004
@@ -61,17 +61,18 @@
00037 #include <utils/eoRNG.h>
00038
00039 #include "two_opt_rand.h"
- 00040 #include "node.h"
+ 00040 #include "node.h"
00041
- 00042 void TwoOptRand :: operator () (TwoOpt & __move, const Route & __route) {
- 00043
- 00044 __move.second = rng .random (numNodes);
- 00045
- 00046 __move.first = rng .random (__move.second);
- 00047 }
- 00048
+00042 void TwoOptRand :: operator () (TwoOpt & __move, const Route & __route)
+ 00043 {
+ 00044
+ 00045 __move.second = rng.random (numNodes);
+ 00046
+ 00047 __move.first = rng.random (__move.second);
+ 00048 }
00049
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+ 00050
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8h-source.html
index a2c308c36..9c57fdc7e 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/two__opt__rand_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: two_opt_rand.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: two_opt_rand.h Source File
@@ -22,7 +22,7 @@
-
two_opt_rand.h 00001
+two_opt_rand.h 00001
00002
00003
00004
@@ -65,16 +65,17 @@
00041
00042 #include "two_opt.h"
00043
- 00044 class TwoOptRand : public eoMoveRand <TwoOpt> {
- 00045
- 00046 public :
- 00047
- 00048 void operator () (TwoOpt & __move, const Route & __route) ;
- 00049
- 00050 } ;
- 00051
- 00052 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00044 class TwoOptRand : public eoMoveRand <TwoOpt>
+ 00045 {
+ 00046
+ 00047 public :
+ 00048
+ 00049 void operator () (TwoOpt & __move, const Route & __route) ;
+ 00050
+ 00051 } ;
+ 00052
+ 00053 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8cpp-source.html
index 869d2133f..2bd554e00 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: worker.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: worker.cpp Source File
@@ -22,12 +22,12 @@
-
worker.cpp 00001
+worker.cpp Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00116 void Worker :: start ()
+ 00117 {
+ 00118
+ 00119 while (true )
+ 00120 {
+ 00121
+ 00122 sleep ();
+ 00123
+ 00124 if (! atLeastOneActiveRunner () && ! taskAssigned )
+ 00125 break ;
+ 00126
+ 00127 if (recvAndCompleted )
+ 00128 {
+ 00129 send (this , my_node -> rk_sched, TASK_DONE_TAG);
+ 00130 recvAndCompleted = false ;
+ 00131 sem_wait(&sem_task_done );
+ 00132 taskAssigned --;
+ 00133 }
+ 00134 else
+ 00135 {
+ 00136
+ 00137 serv -> execute ();
+ 00138 send (this , src , TASK_RESULT_TAG);
+ 00139 }
+ 00140 }
+ 00141
+ 00142 printDebugMessage ("Worker finished execution." );
+ 00143 setPassive ();
+ 00144
+ 00145 wakeUpCommunicator();
+ 00146 }
+ 00147
+ 00148 void initWorkersEnv ()
+ 00149 {
+ 00150
+ 00151 key_to_worker.resize (1);
+ 00152 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8h-source.html
index 7b0ee17e7..249f2b4f5 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/worker_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: worker.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: worker.h Source File
@@ -22,12 +22,12 @@
-
worker.h 00001
+worker.h Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+00078 sem_t sem_task_done ;
+00079 sem_t sem_task_asgn ;
+ 00080 };
+ 00081
+ 00082 extern void initWorkersEnv ();
+ 00083
+ 00084 extern Worker * getWorker (WORKER_ID __key);
+ 00085
+ 00086 #endif
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8cpp-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8cpp-source.html
index d8f7d6632..de53efaf8 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8cpp-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8cpp-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: xml_parser.cpp Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: xml_parser.cpp Source File
@@ -22,12 +22,12 @@
-
xml_parser.cpp 00001
+xml_parser.cpp 00001
00002
- 00003
- 00004
+ 00003
+ 00004
00005
- 00006
+ 00006
00007
00008
00009
@@ -64,68 +64,74 @@
00040
00041 static xmlTextReaderPtr reader;
00042
- 00043 void openXMLDocument (const char * __filename) {
- 00044
- 00045 reader = xmlNewTextReaderFilename (__filename);
- 00046
- 00047 if (! reader) {
- 00048
- 00049 fprintf (stderr, "unable to open '%s'.\n" , __filename);
- 00050 exit (1);
- 00051 }
- 00052 }
- 00053
- 00054 void closeXMLDocument () {
+ 00043 void openXMLDocument (const char * __filename)
+ 00044 {
+ 00045
+ 00046 reader = xmlNewTextReaderFilename (__filename);
+ 00047
+ 00048 if (! reader)
+ 00049 {
+ 00050
+ 00051 fprintf (stderr, "unable to open '%s'.\n" , __filename);
+ 00052 exit (1);
+ 00053 }
+ 00054 }
00055
- 00056 xmlFreeTextReader (reader);
- 00057 }
+ 00056 void closeXMLDocument ()
+ 00057 {
00058
- 00059 std :: string getAttributeValue (const std :: string & __attr) {
- 00060
- 00061 xmlChar * value = xmlTextReaderGetAttribute (reader, (const xmlChar *) __attr.c_str ());
- 00062
- 00063 std :: string str ((const char *) value);
- 00064
- 00065 xmlFree (value);
- 00066
- 00067 return str;
- 00068 }
- 00069
- 00070 static bool isSep (const xmlChar * __text) {
- 00071
- 00072 for (unsigned i = 0; i < strlen ((char *) __text); i ++)
- 00073 if (__text [i] != ' ' && __text [i] != '\t' && __text [i] != '\n' )
- 00074 return false ;
- 00075 return true ;
- 00076 }
- 00077
- 00078 std :: string getNextNode () {
- 00079
- 00080 xmlChar * name, * value;
- 00081
- 00082 do {
- 00083 xmlTextReaderRead (reader);
- 00084 name = xmlTextReaderName (reader);
- 00085 value = xmlTextReaderValue (reader);
- 00086
- 00087 } while (! strcmp ((char *) name, "#text" ) && isSep (value));
- 00088
- 00089 std :: string str;
- 00090
- 00091 if (strcmp ((char *) name, "#text" ))
- 00092 str.assign ((char *) name);
- 00093 else
- 00094 str.assign ((char *) value);
- 00095
- 00096 if (name)
- 00097 xmlFree (name);
- 00098 if (value)
- 00099 xmlFree (value);
- 00100
- 00101 return str;
- 00102 }
- 00103
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+ 00059 xmlFreeTextReader (reader);
+ 00060 }
+ 00061
+ 00062 std :: string getAttributeValue (const std :: string & __attr)
+ 00063 {
+ 00064
+ 00065 xmlChar * value = xmlTextReaderGetAttribute (reader, (const xmlChar *) __attr.c_str ());
+ 00066
+ 00067 std :: string str ((const char *) value);
+ 00068
+ 00069 xmlFree (value);
+ 00070
+ 00071 return str;
+ 00072 }
+ 00073
+ 00074 static bool isSep (const xmlChar * __text)
+ 00075 {
+ 00076
+ 00077 for (unsigned i = 0; i < strlen ((char *) __text); i ++)
+ 00078 if (__text [i] != ' ' && __text [i] != '\t' && __text [i] != '\n' )
+ 00079 return false ;
+ 00080 return true ;
+ 00081 }
+ 00082
+ 00083 std :: string getNextNode ()
+ 00084 {
+ 00085
+ 00086 xmlChar * name, * value;
+ 00087
+ 00088 do
+ 00089 {
+ 00090 xmlTextReaderRead (reader);
+ 00091 name = xmlTextReaderName (reader);
+ 00092 value = xmlTextReaderValue (reader);
+ 00093 }
+ 00094 while (! strcmp ((char *) name, "#text" ) && isSep (value));
+ 00095
+ 00096 std :: string str;
+ 00097
+ 00098 if (strcmp ((char *) name, "#text" ))
+ 00099 str.assign ((char *) name);
+ 00100 else
+ 00101 str.assign ((char *) value);
+ 00102
+ 00103 if (name)
+ 00104 xmlFree (name);
+ 00105 if (value)
+ 00106 xmlFree (value);
+ 00107
+ 00108 return str;
+ 00109 }
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8h-source.html b/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8h-source.html
index 1d76ecd6d..988d7d7ac 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8h-source.html
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/html/xml__parser_8h-source.html
@@ -1,6 +1,6 @@
-
ParadisEO-PEOMovingObjects: xml_parser.h Source File
+
ParadisEO-PEO-ParallelanddistributedEvolvingObjects: xml_parser.h Source File
@@ -22,12 +22,12 @@
-xml_parser.h 00001
+xml_parser.h 00001
00002
- 00003
- 00004
+ 00003
+ 00004
00005
- 00006
+ 00006
00007
00008
00009
@@ -72,7 +72,7 @@
00048 extern std :: string getNextNode ();
00049
00050 #endif
-Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by
+ Generated on Wed Mar 12 15:23:42 2008 for ParadisEO-PEO-ParallelanddistributedEvolvingObjects by
1.4.7
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/annotated.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/annotated.tex
index c9220430d..eab17baa3 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/annotated.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/annotated.tex
@@ -1,41 +1,67 @@
-\section{Paradis\-EO-PEOMoving\-Objects Class List}
+\section{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{\hyperlink{structAlgorithm}{Algorithm} }{\pageref{structAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{classCitySwap}{City\-Swap} (Its swaps two vertices randomly choosen )}{\pageref{classCitySwap}}{}
\item\contentsline{section}{\hyperlink{classCommunicable}{Communicable} }{\pageref{classCommunicable}}{}
\item\contentsline{section}{\hyperlink{classCommunicator}{Communicator} }{\pageref{classCommunicator}}{}
+\item\contentsline{section}{\hyperlink{classCompleteTopology}{Complete\-Topology} }{\pageref{classCompleteTopology}}{}
+\item\contentsline{section}{\hyperlink{classcontinuator}{continuator} (Abstract class for a continuator within the exchange of data by migration )}{\pageref{classcontinuator}}{}
\item\contentsline{section}{\hyperlink{classCooperative}{Cooperative} }{\pageref{classCooperative}}{}
\item\contentsline{section}{\hyperlink{classDisplayBestRoute}{Display\-Best\-Route} }{\pageref{classDisplayBestRoute}}{}
+\item\contentsline{section}{\hyperlink{classEdgeXover}{Edge\-Xover} (Edge Crossover )}{\pageref{classEdgeXover}}{}
+\item\contentsline{section}{\hyperlink{classeoContinuator}{eo\-Continuator$<$ EOT $>$} (Specific class for a continuator within the exchange of migration of a population )}{\pageref{classeoContinuator}}{}
+\item\contentsline{section}{\hyperlink{classeoReplace}{eo\-Replace$<$ EOT, TYPE $>$} (Specific class for a replacement within the exchange of migration of a population )}{\pageref{classeoReplace}}{}
+\item\contentsline{section}{\hyperlink{classeoSelector}{eo\-Selector$<$ EOT, TYPE $>$} (Specific class for a selector within the exchange of migration of a population )}{\pageref{classeoSelector}}{}
+\item\contentsline{section}{\hyperlink{classeoSyncContinue}{eo\-Sync\-Continue} (Class for a continuator within the exchange of data by synchrone migration )}{\pageref{classeoSyncContinue}}{}
\item\contentsline{section}{\hyperlink{classMergeRouteEval}{Merge\-Route\-Eval} }{\pageref{classMergeRouteEval}}{}
+\item\contentsline{section}{\hyperlink{classMPIThreadedEnv}{MPIThreaded\-Env} }{\pageref{classMPIThreadedEnv}}{}
+\item\contentsline{section}{\hyperlink{classOrderXover}{Order\-Xover} (Order Crossover )}{\pageref{classOrderXover}}{}
+\item\contentsline{section}{\hyperlink{classPartialMappedXover}{Partial\-Mapped\-Xover} (Partial Mapped Crossover )}{\pageref{classPartialMappedXover}}{}
+\item\contentsline{section}{\hyperlink{classPartRouteEval}{Part\-Route\-Eval} (Route Evaluator )}{\pageref{classPartRouteEval}}{}
\item\contentsline{section}{\hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func$<$ EOT $>$} (The \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func} class offers only the interface for creating aggregate evaluation functions - there are no direct internal functions provided )}{\pageref{classpeoAggEvalFunc}}{}
-\item\contentsline{section}{\hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig$<$ EOT $>$} (The \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeoAsyncIslandMig}}{}
-\item\contentsline{section}{\hyperlink{classpeoEA}{peo\-EA$<$ EOT $>$} (The \hyperlink{classpeoEA}{peo\-EA} class offers an elementary evolutionary algorithm implementation )}{\pageref{classpeoEA}}{}
+\item\contentsline{section}{\hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$} (Specific class for a asynchronous migration )}{\pageref{classpeoAsyncIslandMig}}{}
+\item\contentsline{section}{\hyperlink{structpeoEvalFunc}{peo\-Eval\-Func$<$ EOT, Fit\-T, Function\-Arg $>$} (Specific class for evaluation )}{\pageref{structpeoEvalFunc}}{}
+\item\contentsline{section}{\hyperlink{classpeoGlobalBestVelocity}{peo\-Global\-Best\-Velocity$<$ POT $>$} (Specific class for a replacement thanks to the velocity migration of a population of a PSO )}{\pageref{classpeoGlobalBestVelocity}}{}
+\item\contentsline{section}{\hyperlink{classpeoMultiStart}{peo\-Multi\-Start$<$ Entity\-Type $>$} (Class allowing the launch of several algorithms )}{\pageref{classpeoMultiStart}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1AbstractAggregationAlgorithm}{peo\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm} }{\pageref{structpeoMultiStart_1_1AbstractAggregationAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1AbstractAlgorithm}{peo\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm} }{\pageref{structpeoMultiStart_1_1AbstractAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1AbstractDataType}{peo\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type} }{\pageref{structpeoMultiStart_1_1AbstractDataType}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1AggregationAlgorithm}{peo\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$} }{\pageref{structpeoMultiStart_1_1AggregationAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1Algorithm}{peo\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$} }{\pageref{structpeoMultiStart_1_1Algorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1DataType}{peo\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$} }{\pageref{structpeoMultiStart_1_1DataType}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1FunctionAlgorithm}{peo\-Multi\-Start$<$ Entity\-Type $>$::Function\-Algorithm$<$ Algorithm\-Return\-Type, Algorithm\-Data\-Type $>$} }{\pageref{structpeoMultiStart_1_1FunctionAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoMultiStart_1_1NoAggregationFunction}{peo\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function} }{\pageref{structpeoMultiStart_1_1NoAggregationFunction}}{}
\item\contentsline{section}{\hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func$<$ EOT $>$} (The \hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func} class does nothing more than an association between a fitness value and a specified individual )}{\pageref{classpeoNoAggEvalFunc}}{}
-\item\contentsline{section}{\hyperlink{classpeoParallelAlgorithmWrapper}{peo\-Parallel\-Algorithm\-Wrapper} }{\pageref{classpeoParallelAlgorithmWrapper}}{}
-\item\contentsline{section}{\hyperlink{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}{peo\-Parallel\-Algorithm\-Wrapper::Abstract\-Algorithm} }{\pageref{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}}{}
-\item\contentsline{section}{\hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$} }{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm}}{}
-\item\contentsline{section}{\hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$} }{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}}{}
-\item\contentsline{section}{\hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval$<$ EOT $>$} (The \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval} represents a wrapper for creating a functor capable of applying in parallel an EO-derived evaluation functor )}{\pageref{classpeoParaPopEval}}{}
-\item\contentsline{section}{\hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform$<$ EOT $>$} }{\pageref{classpeoParaSGATransform}}{}
-\item\contentsline{section}{\hyperlink{classpeoPopEval}{peo\-Pop\-Eval$<$ EOT $>$} (The {\bf \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}} class provides the interface for constructing Paradis\-EO specific evaluation functors )}{\pageref{classpeoPopEval}}{}
-\item\contentsline{section}{\hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval$<$ EOT $>$} (The \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval} class acts only as a Paradis\-EO specific sequential evaluation functor - a wrapper for incorporating an {\bf eo\-Eval\-Func$<$ EOT $>$}-derived class as evaluation functor )}{\pageref{classpeoSeqPopEval}}{}
-\item\contentsline{section}{\hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform$<$ EOT $>$} (The \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform} represent a wrapper for offering the possibility of using \doxyref{EO} derived transform operators along with the Paradis\-EO evolutionary algorithms )}{\pageref{classpeoSeqTransform}}{}
-\item\contentsline{section}{\hyperlink{classpeoSynchronousMultiStart}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$} }{\pageref{classpeoSynchronousMultiStart}}{}
-\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm} }{\pageref{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}}{}
-\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm} }{\pageref{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}}{}
-\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type} }{\pageref{structpeoSynchronousMultiStart_1_1AbstractDataType}}{}
-\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$} }{\pageref{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}}{}
-\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1Algorithm}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$} }{\pageref{structpeoSynchronousMultiStart_1_1Algorithm}}{}
-\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1DataType}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$} }{\pageref{structpeoSynchronousMultiStart_1_1DataType}}{}
-\item\contentsline{section}{\hyperlink{structpeoSynchronousMultiStart_1_1NoAggregationFunction}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function} }{\pageref{structpeoSynchronousMultiStart_1_1NoAggregationFunction}}{}
-\item\contentsline{section}{\hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig$<$ EOT $>$} (The \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e )}{\pageref{classpeoSyncIslandMig}}{}
-\item\contentsline{section}{\hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start$<$ EOT $>$} (The \hyperlink{classpeoSyncMultiStart}{peo\-Sync\-Multi\-Start} class provides the basis for implementing the synchronous multi-start model, for launching several solution-based algorithms in parallel on a specified initial population )}{\pageref{classpeoSyncMultiStart}}{}
-\item\contentsline{section}{\hyperlink{classpeoTransform}{peo\-Transform$<$ EOT $>$} (The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interface for creating transform operators - for an example please refer to the {\bf \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}} and the {\bf \hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform}} classes )}{\pageref{classpeoTransform}}{}
-\item\contentsline{section}{\hyperlink{structRandomExplorationAlgorithm}{Random\-Exploration\-Algorithm} }{\pageref{structRandomExplorationAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{classpeoPopEval}{peo\-Pop\-Eval$<$ EOT $>$} (Parallel evaluation functor wrapper )}{\pageref{classpeoPopEval}}{}
+\item\contentsline{section}{\hyperlink{classpeoPSOSelect}{peo\-PSOSelect$<$ POT $>$} (Specific class for a selection of a population of a PSO )}{\pageref{classpeoPSOSelect}}{}
+\item\contentsline{section}{\hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$} (Specific class for a synchronous migration )}{\pageref{classpeoSyncIslandMig}}{}
+\item\contentsline{section}{\hyperlink{classpeoTransform}{peo\-Transform$<$ EOT $>$} (Class for a parallel transform )}{\pageref{classpeoTransform}}{}
+\item\contentsline{section}{\hyperlink{classpeoWorstPositionReplacement}{peo\-Worst\-Position\-Replacement$<$ POT $>$} (Specific class for a replacement of a population of a PSO )}{\pageref{classpeoWorstPositionReplacement}}{}
+\item\contentsline{section}{\hyperlink{classpeoWrapper}{peo\-Wrapper} (Specific class for wrapping )}{\pageref{classpeoWrapper}}{}
+\item\contentsline{section}{\hyperlink{structpeoWrapper_1_1AbstractAlgorithm}{peo\-Wrapper::Abstract\-Algorithm} }{\pageref{structpeoWrapper_1_1AbstractAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoWrapper_1_1Algorithm}{peo\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$} }{\pageref{structpeoWrapper_1_1Algorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}{peo\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$} }{\pageref{structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}}{}
+\item\contentsline{section}{\hyperlink{structpeoWrapper_1_1FunctionAlgorithm}{peo\-Wrapper::Function\-Algorithm$<$ Algorithm\-Return\-Type, Algorithm\-Data\-Type $>$} }{\pageref{structpeoWrapper_1_1FunctionAlgorithm}}{}
+\item\contentsline{section}{\hyperlink{structpeoWrapper_1_1FunctionAlgorithm_3_01AlgorithmReturnType_00_01void_01_4}{peo\-Wrapper::Function\-Algorithm$<$ Algorithm\-Return\-Type, void $>$} }{\pageref{structpeoWrapper_1_1FunctionAlgorithm_3_01AlgorithmReturnType_00_01void_01_4}}{}
+\item\contentsline{section}{\hyperlink{classRandomTopology}{Random\-Topology} }{\pageref{classRandomTopology}}{}
\item\contentsline{section}{\hyperlink{classReactiveThread}{Reactive\-Thread} }{\pageref{classReactiveThread}}{}
+\item\contentsline{section}{\hyperlink{classreplacement}{replacement$<$ TYPE $>$} (Abstract class for a replacement within the exchange of data by migration )}{\pageref{classreplacement}}{}
\item\contentsline{section}{\hyperlink{classRingTopology}{Ring\-Topology} }{\pageref{classRingTopology}}{}
+\item\contentsline{section}{\hyperlink{classRouteEval}{Route\-Eval} }{\pageref{classRouteEval}}{}
+\item\contentsline{section}{\hyperlink{classRouteInit}{Route\-Init} }{\pageref{classRouteInit}}{}
\item\contentsline{section}{\hyperlink{classRunner}{Runner} }{\pageref{classRunner}}{}
+\item\contentsline{section}{\hyperlink{classselector}{selector$<$ TYPE $>$} (Abstract class for a selector within the exchange of data by migration )}{\pageref{classselector}}{}
\item\contentsline{section}{\hyperlink{structSEND__REQUEST}{SEND\_\-REQUEST} }{\pageref{structSEND__REQUEST}}{}
\item\contentsline{section}{\hyperlink{classService}{Service} }{\pageref{classService}}{}
+\item\contentsline{section}{\hyperlink{classStarTopology}{Star\-Topology} }{\pageref{classStarTopology}}{}
+\item\contentsline{section}{\hyperlink{structSyncCompare}{Sync\-Compare} }{\pageref{structSyncCompare}}{}
+\item\contentsline{section}{\hyperlink{structSyncEntry}{Sync\-Entry} }{\pageref{structSyncEntry}}{}
\item\contentsline{section}{\hyperlink{classThread}{Thread} }{\pageref{classThread}}{}
\item\contentsline{section}{\hyperlink{classTopology}{Topology} }{\pageref{classTopology}}{}
+\item\contentsline{section}{\hyperlink{classTwoOpt}{Two\-Opt} }{\pageref{classTwoOpt}}{}
+\item\contentsline{section}{\hyperlink{classTwoOptIncrEval}{Two\-Opt\-Incr\-Eval} }{\pageref{classTwoOptIncrEval}}{}
+\item\contentsline{section}{\hyperlink{classTwoOptInit}{Two\-Opt\-Init} }{\pageref{classTwoOptInit}}{}
+\item\contentsline{section}{\hyperlink{classTwoOptNext}{Two\-Opt\-Next} }{\pageref{classTwoOptNext}}{}
+\item\contentsline{section}{\hyperlink{classTwoOptRand}{Two\-Opt\-Rand} }{\pageref{classTwoOptRand}}{}
\item\contentsline{section}{\hyperlink{classWorker}{Worker} }{\pageref{classWorker}}{}
\end{CompactList}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.eps
index bc98683b5..73d573356 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 79.3651
+%%BoundingBox: 0 0 500 30.1205
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 6.3 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 16.6 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
-/rows 6 def
+/rows 3 def
/cols 6 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@@ -178,13 +178,11 @@ boxfont setfont
(Runner) cw
(Service) cw
(Worker) cw
-(peoAsyncIslandMig< EOT >) cw
-(peoSyncIslandMig< EOT >) cw
-(peoEA< EOT >) cw
-(peoParallelAlgorithmWrapper) cw
+(peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >) cw
+(peoSyncIslandMig< TYPESELECT, TYPEREPLACE >) cw
+(peoWrapper) cw
+(peoMultiStart< EntityType >) cw
(peoPopEval< EOT >) cw
-(peoSynchronousMultiStart< EntityType >) cw
-(peoSyncMultiStart< EOT >) cw
(peoTransform< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
@@ -197,61 +195,51 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (Communicable) 3 5 box
- (Cooperative) 0 4 box
- (Runner) 2 4 box
- (Service) 4 4 box
- (Worker) 5 4 box
- (peoAsyncIslandMig< EOT >) 1 3 box
- (peoSyncIslandMig< EOT >) 1 2 box
- (peoEA< EOT >) 3 3 box
- (peoParallelAlgorithmWrapper) 3 2 box
- (peoPopEval< EOT >) 5 3 box
-5 3 mark
- (peoSynchronousMultiStart< EntityType >) 5 2 box
- (peoSyncMultiStart< EOT >) 5 1 box
+ (Communicable) 3 2 box
+ (Cooperative) 0.5 1 box
+ (Runner) 2 1 box
+ (Service) 4 1 box
+ (Worker) 5 1 box
+ (peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >) 0 0 box
+ (peoSyncIslandMig< TYPESELECT, TYPEREPLACE >) 1 0 box
+ (peoWrapper) 2 0 box
+ (peoMultiStart< EntityType >) 3 0 box
+ (peoPopEval< EOT >) 4 0 box
(peoTransform< EOT >) 5 0 box
-5 0 mark
% ----- relations -----
solid
-1 3 4.25 out
+1 3 1.25 out
solid
-0 5 5 conn
+0.5 5 2 conn
solid
-0 0 4.75 in
+0 0.5 1.75 in
solid
-1 0 3.25 out
+1 0.5 0.25 out
solid
-0 2 4.75 in
+0 1 1 conn
solid
-1 2 3.25 out
+0 2 1.75 in
solid
-0 4 4.75 in
+1 2 0.25 out
solid
-1 4 3.25 out
+0 4 1.75 in
solid
-0 5 4.75 in
+1 4 0.25 out
solid
-0 0 3.5 hedge
+3 5 1 conn
solid
-0 0 2.5 hedge
+0 5 1.75 in
solid
-0 4 2.5 vedge
+0 0 0.75 in
solid
-0 2 3.5 hedge
+0 1 0.75 in
solid
-0 2 2.5 hedge
+0 2 0.75 in
solid
-2 4 2.5 vedge
+0 3 0.75 in
solid
-0 4 3.5 hedge
+0 4 0.75 in
solid
-0 4 2.5 hedge
-solid
-0 4 1.5 hedge
-solid
-0 4 0.5 hedge
-solid
-4 4 0.5 vedge
+0 5 0.75 in
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.pdf
index 9213c1a3e..83afac497 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.tex
index 44bcd5647..85fbd0afe 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicable.tex
@@ -5,7 +5,7 @@
Inheritance diagram for Communicable::\begin{figure}[H]
\begin{center}
\leavevmode
-\includegraphics[height=2.22222cm]{classCommunicable}
+\includegraphics[height=0.843373cm]{classCommunicable}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@@ -45,6 +45,14 @@ void \hyperlink{classCommunicable_cb53e6534b947bc889aa181d9dbbd13b}{stop} ()}
void \hyperlink{classCommunicable_3306a9adb11a0ab5af342c0db9f7bb2a}{resume} ()}
\label{classCommunicable_3306a9adb11a0ab5af342c0db9f7bb2a}
+\end{CompactItemize}
+\subsection*{Static Public Attributes}
+\begin{CompactItemize}
+\item
+\hypertarget{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{
+static unsigned \hyperlink{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{num\_\-comm} = 0}
+\label{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}
+
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
@@ -63,14 +71,6 @@ sem\_\-t \hyperlink{classCommunicable_cf9639312f71a2f348bc1e7789ccbd9d}{sem\_\-l
sem\_\-t \hyperlink{classCommunicable_29c53b9191348e0505e3bcba6d8b82b1}{sem\_\-stop}}
\label{classCommunicable_29c53b9191348e0505e3bcba6d8b82b1}
-\end{CompactItemize}
-\subsection*{Static Protected Attributes}
-\begin{CompactItemize}
-\item
-\hypertarget{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{
-static unsigned \hyperlink{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{num\_\-comm} = 0}
-\label{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}
-
\end{CompactItemize}
@@ -79,7 +79,7 @@ static unsigned \hyperlink{classCommunicable_7a6acfdc781a67c9c0ec4f17893f86c3}{n
-Definition at line 44 of file communicable.h.
+Definition at line 45 of file communicable.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicator.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicator.pdf
index 803364617..ad59e04c1 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicator.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCommunicator.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.eps
index 60c6b6b94..874f08de1 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 166.667
+%%BoundingBox: 0 0 500 90.3614
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,7 +19,7 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 3 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 5.53333 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
@@ -175,8 +175,8 @@ boxfont setfont
1 boundaspect scale
(Cooperative) cw
(Communicable) cw
-(peoAsyncIslandMig< EOT >) cw
-(peoSyncIslandMig< EOT >) cw
+(peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >) cw
+(peoSyncIslandMig< TYPESELECT, TYPEREPLACE >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@@ -190,8 +190,8 @@ boundx scalefactor div boundy scalefactor div scale
(Cooperative) 0.5 1 box
(Communicable) 0.5 2 box
- (peoAsyncIslandMig< EOT >) 0 0 box
- (peoSyncIslandMig< EOT >) 1 0 box
+ (peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >) 0 0 box
+ (peoSyncIslandMig< TYPESELECT, TYPEREPLACE >) 1 0 box
% ----- relations -----
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.pdf
index d7a04b51a..df2e52d61 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.tex
index 772edcf01..94011841d 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classCooperative.tex
@@ -5,7 +5,7 @@
Inheritance diagram for Cooperative::\begin{figure}[H]
\begin{center}
\leavevmode
-\includegraphics[height=3cm]{classCooperative}
+\includegraphics[height=2.53012cm]{classCooperative}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@@ -25,11 +25,31 @@ void \hyperlink{classCooperative_fe7b022567174c8305bc78d8c5749b12}{set\-Owner} (
void \hyperlink{classCooperative_c609f2a1200da7d1ac96005602515fc6}{send} (\hyperlink{classCooperative}{Cooperative} $\ast$\_\-\_\-coop)}
\label{classCooperative_c609f2a1200da7d1ac96005602515fc6}
+\item
+\hypertarget{classCooperative_a08615f1fb5a71bb6eb8ea53ef7d1c69}{
+void \hyperlink{classCooperative_a08615f1fb5a71bb6eb8ea53ef7d1c69}{synchronize\-Coop\-Ex} ()}
+\label{classCooperative_a08615f1fb5a71bb6eb8ea53ef7d1c69}
+
\item
\hypertarget{classCooperative_4439ddeaa1246a2e44c003bfb781739b}{
virtual void \hyperlink{classCooperative_4439ddeaa1246a2e44c003bfb781739b}{notify\-Sending} ()}
\label{classCooperative_4439ddeaa1246a2e44c003bfb781739b}
+\item
+\hypertarget{classCooperative_b75a33c5735799076e01b125e47e3bbc}{
+virtual void \hyperlink{classCooperative_b75a33c5735799076e01b125e47e3bbc}{notify\-Receiving} ()}
+\label{classCooperative_b75a33c5735799076e01b125e47e3bbc}
+
+\item
+\hypertarget{classCooperative_38f28f9155deac5e48edcaf935a2263b}{
+virtual void \hyperlink{classCooperative_38f28f9155deac5e48edcaf935a2263b}{notify\-Sending\-Sync\-Req} ()}
+\label{classCooperative_38f28f9155deac5e48edcaf935a2263b}
+
+\item
+\hypertarget{classCooperative_6cc64e571944783b8f697f7c2299cc8d}{
+virtual void \hyperlink{classCooperative_6cc64e571944783b8f697f7c2299cc8d}{notify\-Synchronized} ()}
+\label{classCooperative_6cc64e571944783b8f697f7c2299cc8d}
+
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
@@ -46,9 +66,9 @@ virtual void \hyperlink{classCooperative_4439ddeaa1246a2e44c003bfb781739b}{notif
-Definition at line 45 of file cooperative.h.
+Definition at line 46 of file cooperative.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
cooperative.h\item
-coop.cpp\end{CompactItemize}
+cooperative.cpp\end{CompactItemize}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classDisplayBestRoute.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classDisplayBestRoute.pdf
index 3e97f2f86..a5b297e3c 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classDisplayBestRoute.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classDisplayBestRoute.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classMergeRouteEval.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classMergeRouteEval.pdf
index d469f7cf8..6c42b925a 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classMergeRouteEval.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classMergeRouteEval.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.pdf
index 2e0f92b3c..abc21b55e 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.pdf
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.pdf
@@ -49,8 +49,8 @@ endobj
endobj
2 0 obj
<>endobj
@@ -69,7 +69,7 @@ xref
0000000864 00000 n
trailer
<< /Size 11 /Root 1 0 R /Info 2 0 R
-/ID [(À©s¬YÍ_êZ‹?Àl’!)(À©s¬YÍ_êZ‹?Àl’!)]
+/ID [(Õ"÷îòo6îÅcÊ¿O¥)(Õ"÷îòo6îÅcÊ¿O¥)]
>>
startxref
1117
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.tex
index 1b9508e9d..6b4776025 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classReactiveThread.tex
@@ -41,7 +41,7 @@ sem\_\-t \hyperlink{classReactiveThread_915e5a42dc8cb1bcf6738d5fe883a4e7}{sem}}
-Definition at line 44 of file reac\_\-thread.h.
+Definition at line 45 of file reac\_\-thread.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRingTopology.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRingTopology.pdf
index 3b9bdd5d6..fb4db0de4 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRingTopology.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRingTopology.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.eps
index 0bc955061..ba647bc6c 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 161.29
+%%BoundingBox: 0 0 500 294.118
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,7 +19,7 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 3.1 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 1.7 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
@@ -176,8 +176,7 @@ boxfont setfont
(Runner) cw
(Communicable) cw
(Thread) cw
-(peoEA< EOT >) cw
-(peoParallelAlgorithmWrapper) cw
+(peoWrapper) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@@ -192,8 +191,7 @@ boundx scalefactor div boundy scalefactor div scale
(Runner) 0.5 1 box
(Communicable) 0 2 box
(Thread) 1 2 box
- (peoEA< EOT >) 0 0 box
- (peoParallelAlgorithmWrapper) 1 0 box
+ (peoWrapper) 0.5 0 box
% ----- relations -----
@@ -208,8 +206,4 @@ solid
solid
1 0.5 0.25 out
solid
-0 1 1 conn
-solid
-0 0 0.75 in
-solid
-0 1 0.75 in
+0 0.5 0.75 in
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.pdf
index c9bfd3d1a..30be357a1 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.tex
index ce98b3b32..3038e1337 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classRunner.tex
@@ -16,9 +16,24 @@ Inheritance diagram for Runner::\begin{figure}[H]
\label{classRunner_7acb8258c21da9daa62f9a177a2e5acd}
\item
-\hypertarget{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}{
-void \hyperlink{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}{start} ()}
-\label{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}
+\hypertarget{classRunner_f055608a382a32c6a889b0407e228312}{
+RUNNER\_\-ID \hyperlink{classRunner_f055608a382a32c6a889b0407e228312}{get\-Definition\-ID} ()}
+\label{classRunner_f055608a382a32c6a889b0407e228312}
+
+\item
+\hypertarget{classRunner_95c5e10928221a6140557e2ca6af5434}{
+RUNNER\_\-ID \hyperlink{classRunner_95c5e10928221a6140557e2ca6af5434}{get\-Execution\-ID} ()}
+\label{classRunner_95c5e10928221a6140557e2ca6af5434}
+
+\item
+\hypertarget{classRunner_5262b394f0f0899b85316136941df42c}{
+void \hyperlink{classRunner_5262b394f0f0899b85316136941df42c}{set\-Execution\-ID} (const RUNNER\_\-ID \&execution\_\-id)}
+\label{classRunner_5262b394f0f0899b85316136941df42c}
+
+\item
+\hypertarget{classRunner_1ec095cb08373aaebbce6fe6418cd53c}{
+bool \hyperlink{classRunner_1ec095cb08373aaebbce6fe6418cd53c}{is\-Assigned\-Locally} ()}
+\label{classRunner_1ec095cb08373aaebbce6fe6418cd53c}
\item
\hypertarget{classRunner_5bc239db2be753b77369fa9a038769fd}{
@@ -26,9 +41,14 @@ void \hyperlink{classRunner_5bc239db2be753b77369fa9a038769fd}{wait\-Starting} ()
\label{classRunner_5bc239db2be753b77369fa9a038769fd}
\item
-\hypertarget{classRunner_40adbfb7d6944189b4fff60b02e669ca}{
-bool \hyperlink{classRunner_40adbfb7d6944189b4fff60b02e669ca}{is\-Local} ()}
-\label{classRunner_40adbfb7d6944189b4fff60b02e669ca}
+\hypertarget{classRunner_756ad5e211d4818a88d53fa9ac272f68}{
+void \hyperlink{classRunner_756ad5e211d4818a88d53fa9ac272f68}{wait\-Context\-Initialization} ()}
+\label{classRunner_756ad5e211d4818a88d53fa9ac272f68}
+
+\item
+\hypertarget{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}{
+void \hyperlink{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}{start} ()}
+\label{classRunner_7dc4419051fcc5cc9dadd54ecc9cd47d}
\item
\hypertarget{classRunner_0f133e75c28fb8264549814f80608e68}{
@@ -36,20 +56,20 @@ void \hyperlink{classRunner_0f133e75c28fb8264549814f80608e68}{terminate} ()}
\label{classRunner_0f133e75c28fb8264549814f80608e68}
\item
-\hypertarget{classRunner_5026c74eec184e3a15cb3c0ec4200a57}{
-RUNNER\_\-ID \hyperlink{classRunner_5026c74eec184e3a15cb3c0ec4200a57}{get\-ID} ()}
-\label{classRunner_5026c74eec184e3a15cb3c0ec4200a57}
-
-\item
-\hypertarget{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}{
-void \hyperlink{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}{pack\-Termination} ()}
-\label{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}
+\hypertarget{classRunner_2cce5433184ec8f89e06531c23acbcf8}{
+void \hyperlink{classRunner_2cce5433184ec8f89e06531c23acbcf8}{notify\-Context\-Initialized} ()}
+\label{classRunner_2cce5433184ec8f89e06531c23acbcf8}
\item
\hypertarget{classRunner_3591be473e0fcee1105fb57319b529aa}{
void \hyperlink{classRunner_3591be473e0fcee1105fb57319b529aa}{notify\-Sending\-Termination} ()}
\label{classRunner_3591be473e0fcee1105fb57319b529aa}
+\item
+\hypertarget{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}{
+void \hyperlink{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}{pack\-Termination} ()}
+\label{classRunner_2ad6d199d684d6f34347fc202ffe2fa3}
+
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
@@ -59,9 +79,19 @@ sem\_\-t \hyperlink{classRunner_4b0827d5df2df632db4ab71dd55e81b2}{sem\_\-start}}
\label{classRunner_4b0827d5df2df632db4ab71dd55e81b2}
\item
-\hypertarget{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}{
-unsigned \hyperlink{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}{id}}
-\label{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}
+\hypertarget{classRunner_66a5b083c6bc4cea06301db80cb80c99}{
+sem\_\-t \hyperlink{classRunner_66a5b083c6bc4cea06301db80cb80c99}{sem\_\-cntxt}}
+\label{classRunner_66a5b083c6bc4cea06301db80cb80c99}
+
+\item
+\hypertarget{classRunner_bcadf488813aacbdeeefd3e0b9a618ee}{
+unsigned \hyperlink{classRunner_bcadf488813aacbdeeefd3e0b9a618ee}{def\_\-id}}
+\label{classRunner_bcadf488813aacbdeeefd3e0b9a618ee}
+
+\item
+\hypertarget{classRunner_46671665b1f97e8a09ed9d5ffcf56966}{
+unsigned \hyperlink{classRunner_46671665b1f97e8a09ed9d5ffcf56966}{exec\_\-id}}
+\label{classRunner_46671665b1f97e8a09ed9d5ffcf56966}
\end{CompactItemize}
@@ -71,7 +101,7 @@ unsigned \hyperlink{classRunner_1989c1f8e0b0b54ad2e60a341007e59d}{id}}
-Definition at line 47 of file runner.h.
+Definition at line 49 of file runner.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.eps
index b2c160b85..105f0dbe9 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 63.4921
+%%BoundingBox: 0 0 500 112.994
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 7.875 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 4.425 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
-/rows 4 def
-/cols 5 def
+/rows 3 def
+/cols 3 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@@ -175,14 +175,9 @@ boxfont setfont
1 boundaspect scale
(Service) cw
(Communicable) cw
+(peoMultiStart< EntityType >) cw
(peoPopEval< EOT >) cw
-(peoSynchronousMultiStart< EntityType >) cw
-(peoSyncMultiStart< EOT >) cw
(peoTransform< EOT >) cw
-(peoParaPopEval< EOT >) cw
-(peoSeqPopEval< EOT >) cw
-(peoParaSGATransform< EOT >) cw
-(peoSeqTransform< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@@ -194,48 +189,25 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (Service) 2 2 box
- (Communicable) 2 3 box
- (peoPopEval< EOT >) 0.5 1 box
- (peoSynchronousMultiStart< EntityType >) 1.5 1 box
- (peoSyncMultiStart< EOT >) 2.5 1 box
- (peoTransform< EOT >) 3.5 1 box
- (peoParaPopEval< EOT >) 0 0 box
- (peoSeqPopEval< EOT >) 1 0 box
- (peoParaSGATransform< EOT >) 3 0 box
- (peoSeqTransform< EOT >) 4 0 box
+ (Service) 1 1 box
+ (Communicable) 1 2 box
+ (peoMultiStart< EntityType >) 0 0 box
+ (peoPopEval< EOT >) 1 0 box
+ (peoTransform< EOT >) 2 0 box
% ----- relations -----
solid
-0 2 2 out
+0 1 1 out
solid
-1 2 3 in
+1 1 2 in
solid
-1 2 1.25 out
+1 1 0.25 out
solid
-0.5 3.5 2 conn
-solid
-0 0.5 1.75 in
-solid
-1 0.5 0.25 out
-solid
-0 1 1 conn
-solid
-0 1.5 1.75 in
-solid
-0 2.5 1.75 in
-solid
-0 3.5 1.75 in
-solid
-1 3.5 0.25 out
-solid
-3 4 1 conn
+0 2 1 conn
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
-0 3 0.75 in
-solid
-0 4 0.75 in
+0 2 0.75 in
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.pdf
index c9b2abcb1..a4bd889ab 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.tex
index fad0d49e2..e1180ea9e 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classService.tex
@@ -5,7 +5,7 @@
Inheritance diagram for Service::\begin{figure}[H]
\begin{center}
\leavevmode
-\includegraphics[height=1.77778cm]{classService}
+\includegraphics[height=3cm]{classService}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
@@ -91,7 +91,7 @@ unsigned \hyperlink{classService_a5b2ad9520bb3710b54348b99acebd58}{num\_\-sent\_
-Definition at line 45 of file service.h.
+Definition at line 46 of file service.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.eps
index b0fe5e8f1..9528bf148 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 80.6452
+%%BoundingBox: 0 0 500 183.486
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 6.2 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 2.725 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 3 def
-/cols 4 def
+/cols 3 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@@ -178,8 +178,7 @@ boxfont setfont
(Runner) cw
(Communicator) cw
(Worker) cw
-(peoEA< EOT >) cw
-(peoParallelAlgorithmWrapper) cw
+(peoWrapper) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@@ -191,20 +190,19 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (Thread) 1.5 2 box
+ (Thread) 1.25 2 box
(ReactiveThread) 0.5 1 box
- (Runner) 2.5 1 box
+ (Runner) 2 1 box
(Communicator) 0 0 box
(Worker) 1 0 box
- (peoEA< EOT >) 2 0 box
- (peoParallelAlgorithmWrapper) 3 0 box
+ (peoWrapper) 2 0 box
% ----- relations -----
solid
-1 1.5 1.25 out
+1 1.25 1.25 out
solid
-0.5 2.5 2 conn
+0.5 2 2 conn
solid
0 0.5 1.75 in
solid
@@ -212,16 +210,12 @@ solid
solid
0 1 1 conn
solid
-0 2.5 1.75 in
+0 2 1.75 in
solid
-1 2.5 0.25 out
-solid
-2 3 1 conn
+1 2 0.25 out
solid
0 0 0.75 in
solid
0 1 0.75 in
solid
0 2 0.75 in
-solid
-0 3 0.75 in
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.pdf
index 2e71727a7..ee316f0db 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.tex
index 2c95acf63..3e34d2e99 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classThread.tex
@@ -5,7 +5,7 @@
Inheritance diagram for Thread::\begin{figure}[H]
\begin{center}
\leavevmode
-\includegraphics[height=2.25806cm]{classThread}
+\includegraphics[height=3cm]{classThread}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.eps
index 45dacefa6..c9cbd641d 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 412.371
+%%BoundingBox: 0 0 500 80.6452
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,13 +19,13 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 1.2125 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 6.2 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 2 def
-/cols 1 def
+/cols 4 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@@ -174,7 +174,10 @@
boxfont setfont
1 boundaspect scale
(Topology) cw
+(CompleteTopology) cw
+(RandomTopology) cw
(RingTopology) cw
+(StarTopology) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@@ -186,12 +189,23 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (Topology) 0 1 box
- (RingTopology) 0 0 box
+ (Topology) 1.5 1 box
+ (CompleteTopology) 0 0 box
+ (RandomTopology) 1 0 box
+ (RingTopology) 2 0 box
+ (StarTopology) 3 0 box
% ----- relations -----
solid
-1 0 0.25 out
+1 1.5 0.25 out
+solid
+0 3 1 conn
solid
0 0 0.75 in
+solid
+0 1 0.75 in
+solid
+0 2 0.75 in
+solid
+0 3 0.75 in
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.pdf
index dfcce5d06..71f785cbf 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.tex
index 532211163..6619e78a6 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classTopology.tex
@@ -20,6 +20,11 @@ virtual \hyperlink{classTopology_3e447669757c8311c7f6f8edc705abf2}{$\sim$Topolog
void \hyperlink{classTopology_62bc46d8c20fdc71dad9e7c7a0d7aded}{add} (\hyperlink{classCooperative}{Cooperative} \&\_\-\_\-mig)}
\label{classTopology_62bc46d8c20fdc71dad9e7c7a0d7aded}
+\item
+\hypertarget{classTopology_5b48abce5d58230f944e95f3fe4f2727}{
+\hyperlink{classTopology_5b48abce5d58230f944e95f3fe4f2727}{operator std::vector} ()}
+\label{classTopology_5b48abce5d58230f944e95f3fe4f2727}
+
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.pdf
index e43d46552..275ebe9f3 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.tex
index 4cd676866..b76f66d0b 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classWorker.tex
@@ -74,9 +74,24 @@ int \hyperlink{classWorker_895c3ebc198018ea3391c09bc802d2f6}{src}}
\label{classWorker_895c3ebc198018ea3391c09bc802d2f6}
\item
-\hypertarget{classWorker_7ba5a18b2918cf9e704536b763be37f7}{
-bool \hyperlink{classWorker_7ba5a18b2918cf9e704536b763be37f7}{toto}}
-\label{classWorker_7ba5a18b2918cf9e704536b763be37f7}
+\hypertarget{classWorker_1bcc1e66cc2021cc9cc5e79d0eea563d}{
+bool \hyperlink{classWorker_1bcc1e66cc2021cc9cc5e79d0eea563d}{recv\-And\-Completed}}
+\label{classWorker_1bcc1e66cc2021cc9cc5e79d0eea563d}
+
+\item
+\hypertarget{classWorker_3bb2faa8e6350cb0ab13534069dcc96d}{
+unsigned \hyperlink{classWorker_3bb2faa8e6350cb0ab13534069dcc96d}{task\-Assigned}}
+\label{classWorker_3bb2faa8e6350cb0ab13534069dcc96d}
+
+\item
+\hypertarget{classWorker_173ce84a3c7ee9f73c691c39c68ca711}{
+sem\_\-t \hyperlink{classWorker_173ce84a3c7ee9f73c691c39c68ca711}{sem\_\-task\_\-done}}
+\label{classWorker_173ce84a3c7ee9f73c691c39c68ca711}
+
+\item
+\hypertarget{classWorker_995391e66dacedffe1e2b4754296b455}{
+sem\_\-t \hyperlink{classWorker_995391e66dacedffe1e2b4754296b455}{sem\_\-task\_\-asgn}}
+\label{classWorker_995391e66dacedffe1e2b4754296b455}
\end{CompactItemize}
@@ -86,7 +101,7 @@ bool \hyperlink{classWorker_7ba5a18b2918cf9e704536b763be37f7}{toto}}
-Definition at line 46 of file worker.h.
+Definition at line 47 of file worker.h.
The documentation for this class was generated from the following files:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAggEvalFunc.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAggEvalFunc.pdf
index 474c0d8dd..6c2ad9d0a 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAggEvalFunc.pdf
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAggEvalFunc.pdf
@@ -45,8 +45,8 @@ endobj
endobj
2 0 obj
<>endobj
@@ -65,7 +65,7 @@ xref
0000000853 00000 n
trailer
<< /Size 11 /Root 1 0 R /Info 2 0 R
-/ID [(XÄ›}yõ¾^}årðz'š)(XÄ›}yõ¾^}årðz'š)]
+/ID [(Ÿ‰$.†“5õ{?ÐÛg )(Ÿ‰$.†“5õ{?ÐÛg )]
>>
startxref
1106
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.eps
index 292b6cce7..f7a273960 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 222.222
+%%BoundingBox: 0 0 500 120.482
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,7 +19,7 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 2.25 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 4.15 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
@@ -173,7 +173,7 @@
boxfont setfont
1 boundaspect scale
-(peoAsyncIslandMig< EOT >) cw
+(peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >) cw
(Cooperative) cw
(eoUpdater) cw
(Communicable) cw
@@ -190,7 +190,7 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (peoAsyncIslandMig< EOT >) 0.5 0 box
+ (peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >) 0.5 0 box
(Cooperative) 0 1 box
(eoUpdater) 1 1 box
(Communicable) 0 2 box
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.pdf
index 45d2aac49..e1fd496f8 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex
index bb0bcc2cf..353a2e46e 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.tex
@@ -1,217 +1,149 @@
\hypertarget{classpeoAsyncIslandMig}{
-\section{peo\-Async\-Island\-Mig$<$ EOT $>$ Class Template Reference}
+\section{peo\-Async\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$ Class Template Reference}
\label{classpeoAsyncIslandMig}\index{peoAsyncIslandMig@{peoAsyncIslandMig}}
}
-The \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
+Specific class for a asynchronous migration.
{\tt \#include $<$peo\-Async\-Island\-Mig.h$>$}
-Inheritance diagram for peo\-Async\-Island\-Mig$<$ EOT $>$::\begin{figure}[H]
+Inheritance diagram for peo\-Async\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$::\begin{figure}[H]
\begin{center}
\leavevmode
-\includegraphics[height=4cm]{classpeoAsyncIslandMig}
+\includegraphics[height=3.37349cm]{classpeoAsyncIslandMig}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
-\hyperlink{classpeoAsyncIslandMig_e0f706cbf4148d3ca327227a5c7a9fdf}{peo\-Async\-Island\-Mig} (\bf{eo\-Continue}$<$ EOT $>$ \&\_\-\_\-cont, \bf{eo\-Select}$<$ EOT $>$ \&\_\-\_\-select, \bf{eo\-Replacement}$<$ EOT $>$ \&\_\-\_\-replace, \hyperlink{classTopology}{Topology} \&\_\-\_\-topology, \bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-source, \bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-destination)
-\begin{CompactList}\small\item\em Constructor for the \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \doxyref{EO}, etc., or custom, derived objects may be passed as parameters. \item\end{CompactList}\item
-void \hyperlink{classpeoAsyncIslandMig_13581e54425727a7f785ca8a6df527b5}{operator()} ()
-\begin{CompactList}\small\item\em \doxyref{Function} operator to be called as checkpoint for performing the migration step. \item\end{CompactList}\item
-\hypertarget{classpeoAsyncIslandMig_6d790a5d0b6ac510cac4f61a1c0d8f16}{
-void \hyperlink{classpeoAsyncIslandMig_6d790a5d0b6ac510cac4f61a1c0d8f16}{pack} ()}
-\label{classpeoAsyncIslandMig_6d790a5d0b6ac510cac4f61a1c0d8f16}
+\hyperlink{classpeoAsyncIslandMig_e40ddd54734b018ab4e5c3f2bbd5a49c}{peo\-Async\-Island\-Mig} (\hyperlink{classcontinuator}{continuator} \&\_\-\_\-cont, \hyperlink{classselector}{selector}$<$ TYPESELECT $>$ \&\_\-\_\-select, \hyperlink{classreplacement}{replacement}$<$ TYPEREPLACE $>$ \&\_\-\_\-replace, \hyperlink{classTopology}{Topology} \&\_\-\_\-topology)
+\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
+\hypertarget{classpeoAsyncIslandMig_d56e189f269dde8d68a4b007f05edaff}{
+void \hyperlink{classpeoAsyncIslandMig_d56e189f269dde8d68a4b007f05edaff}{operator()} ()}
+\label{classpeoAsyncIslandMig_d56e189f269dde8d68a4b007f05edaff}
-\begin{CompactList}\small\item\em Auxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\item
-\hypertarget{classpeoAsyncIslandMig_455501aee5db2bbfbae15779c8429369}{
-void \hyperlink{classpeoAsyncIslandMig_455501aee5db2bbfbae15779c8429369}{unpack} ()}
-\label{classpeoAsyncIslandMig_455501aee5db2bbfbae15779c8429369}
+\begin{CompactList}\small\item\em operator \item\end{CompactList}\item
+\hypertarget{classpeoAsyncIslandMig_0f5f1700920f9ced71ef63b0576e3f14}{
+void \hyperlink{classpeoAsyncIslandMig_0f5f1700920f9ced71ef63b0576e3f14}{pack} ()}
+\label{classpeoAsyncIslandMig_0f5f1700920f9ced71ef63b0576e3f14}
-\begin{CompactList}\small\item\em Auxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em \doxyref{Function} realizing packages. \item\end{CompactList}\item
+\hypertarget{classpeoAsyncIslandMig_c32a27e387bcd8ce383a4cb1732dbed8}{
+void \hyperlink{classpeoAsyncIslandMig_c32a27e387bcd8ce383a4cb1732dbed8}{unpack} ()}
+\label{classpeoAsyncIslandMig_c32a27e387bcd8ce383a4cb1732dbed8}
+
+\begin{CompactList}\small\item\em \doxyref{Function} reconstituting packages. \item\end{CompactList}\item
+\hypertarget{classpeoAsyncIslandMig_0a0524a90d0b31bc4c8bfa4f39708b0f}{
+void \hyperlink{classpeoAsyncIslandMig_0a0524a90d0b31bc4c8bfa4f39708b0f}{pack\-Synchronize\-Req} ()}
+\label{classpeoAsyncIslandMig_0a0524a90d0b31bc4c8bfa4f39708b0f}
+
+\begin{CompactList}\small\item\em \doxyref{Function} pack\-Synchronize\-Req. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
-\hypertarget{classpeoAsyncIslandMig_87a4ef7d4bd30d349a801bf0f9e87c82}{
-void \hyperlink{classpeoAsyncIslandMig_87a4ef7d4bd30d349a801bf0f9e87c82}{emigrate} ()}
-\label{classpeoAsyncIslandMig_87a4ef7d4bd30d349a801bf0f9e87c82}
+\hypertarget{classpeoAsyncIslandMig_2470f8ee04bc762c010c7ebb2392831d}{
+void \hyperlink{classpeoAsyncIslandMig_2470f8ee04bc762c010c7ebb2392831d}{emigrate} ()}
+\label{classpeoAsyncIslandMig_2470f8ee04bc762c010c7ebb2392831d}
-\item
-\hypertarget{classpeoAsyncIslandMig_5a9a64ba51a696e45f91b362c39c9a64}{
-void \hyperlink{classpeoAsyncIslandMig_5a9a64ba51a696e45f91b362c39c9a64}{immigrate} ()}
-\label{classpeoAsyncIslandMig_5a9a64ba51a696e45f91b362c39c9a64}
+\begin{CompactList}\small\item\em \doxyref{Function} which sends some emigrants. \item\end{CompactList}\item
+\hypertarget{classpeoAsyncIslandMig_75a6592d63879773b39c9594b94fb942}{
+void \hyperlink{classpeoAsyncIslandMig_75a6592d63879773b39c9594b94fb942}{immigrate} ()}
+\label{classpeoAsyncIslandMig_75a6592d63879773b39c9594b94fb942}
-\end{CompactItemize}
+\begin{CompactList}\small\item\em \doxyref{Function} which receives some immigrants. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
-\hypertarget{classpeoAsyncIslandMig_2fc077d02ef9ea4595cfe883af0d4f83}{
-\bf{eo\-Continue}$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_2fc077d02ef9ea4595cfe883af0d4f83}{cont}}
-\label{classpeoAsyncIslandMig_2fc077d02ef9ea4595cfe883af0d4f83}
+\hyperlink{classcontinuator}{continuator} \& \hyperlink{classpeoAsyncIslandMig_b7a4049f66f99f9e7ec5c785042ee06a}{cont}
+\item
+\hypertarget{classpeoAsyncIslandMig_57d9ed6da844aa67a8a3328dfbbd03e0}{
+\hyperlink{classselector}{selector}$<$ TYPESELECT $>$ \& \hyperlink{classpeoAsyncIslandMig_57d9ed6da844aa67a8a3328dfbbd03e0}{select}}
+\label{classpeoAsyncIslandMig_57d9ed6da844aa67a8a3328dfbbd03e0}
\item
-\hypertarget{classpeoAsyncIslandMig_b1fa045094c8a411323e75b5820c80c2}{
-\bf{eo\-Select}$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_b1fa045094c8a411323e75b5820c80c2}{select}}
-\label{classpeoAsyncIslandMig_b1fa045094c8a411323e75b5820c80c2}
+\hypertarget{classpeoAsyncIslandMig_2013056fed65e4f0bb55a7334c261c50}{
+\hyperlink{classreplacement}{replacement}$<$ TYPEREPLACE $>$ \& \hyperlink{classpeoAsyncIslandMig_2013056fed65e4f0bb55a7334c261c50}{replace}}
+\label{classpeoAsyncIslandMig_2013056fed65e4f0bb55a7334c261c50}
\item
-\hypertarget{classpeoAsyncIslandMig_b761dbd880ee32e170741ecd78da6f48}{
-\bf{eo\-Replacement}$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_b761dbd880ee32e170741ecd78da6f48}{replace}}
-\label{classpeoAsyncIslandMig_b761dbd880ee32e170741ecd78da6f48}
+\hypertarget{classpeoAsyncIslandMig_e70e843ec1fc9e2fc6a124588fbc08d5}{
+\hyperlink{classTopology}{Topology} \& \hyperlink{classpeoAsyncIslandMig_e70e843ec1fc9e2fc6a124588fbc08d5}{topology}}
+\label{classpeoAsyncIslandMig_e70e843ec1fc9e2fc6a124588fbc08d5}
\item
-\hypertarget{classpeoAsyncIslandMig_e45e5a808a96f0853ab6ba42339fe679}{
-\hyperlink{classTopology}{Topology} \& \hyperlink{classpeoAsyncIslandMig_e45e5a808a96f0853ab6ba42339fe679}{topology}}
-\label{classpeoAsyncIslandMig_e45e5a808a96f0853ab6ba42339fe679}
+\hypertarget{classpeoAsyncIslandMig_3fa5d4df0bdd4a3c58a9f1bd38d628f9}{
+std::queue$<$ TYPEREPLACE $>$ \hyperlink{classpeoAsyncIslandMig_3fa5d4df0bdd4a3c58a9f1bd38d628f9}{imm}}
+\label{classpeoAsyncIslandMig_3fa5d4df0bdd4a3c58a9f1bd38d628f9}
\item
-\hypertarget{classpeoAsyncIslandMig_8a502d82c773033e274dca932fc2d4ee}{
-\bf{eo\-Pop}$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_8a502d82c773033e274dca932fc2d4ee}{source}}
-\label{classpeoAsyncIslandMig_8a502d82c773033e274dca932fc2d4ee}
+\hypertarget{classpeoAsyncIslandMig_04c6a5767efe3e4deb914a6a8ceb3fd2}{
+std::queue$<$ TYPESELECT $>$ \hyperlink{classpeoAsyncIslandMig_04c6a5767efe3e4deb914a6a8ceb3fd2}{em}}
+\label{classpeoAsyncIslandMig_04c6a5767efe3e4deb914a6a8ceb3fd2}
\item
-\hypertarget{classpeoAsyncIslandMig_e407f411d08ae7d96992603c145a7e43}{
-\bf{eo\-Pop}$<$ EOT $>$ \& \hyperlink{classpeoAsyncIslandMig_e407f411d08ae7d96992603c145a7e43}{destination}}
-\label{classpeoAsyncIslandMig_e407f411d08ae7d96992603c145a7e43}
-
-\item
-\hypertarget{classpeoAsyncIslandMig_b8c76d98d9ae99dd930a77c12860519a}{
-std::queue$<$ \bf{eo\-Pop}$<$ EOT $>$ $>$ \hyperlink{classpeoAsyncIslandMig_b8c76d98d9ae99dd930a77c12860519a}{imm}}
-\label{classpeoAsyncIslandMig_b8c76d98d9ae99dd930a77c12860519a}
-
-\item
-\hypertarget{classpeoAsyncIslandMig_a9cc0e2d61cac6e11647b141962adc89}{
-std::queue$<$ \bf{eo\-Pop}$<$ EOT $>$ $>$ \hyperlink{classpeoAsyncIslandMig_a9cc0e2d61cac6e11647b141962adc89}{em}}
-\label{classpeoAsyncIslandMig_a9cc0e2d61cac6e11647b141962adc89}
-
-\item
-\hypertarget{classpeoAsyncIslandMig_1a2c0004d23bc303420af137a8c8bd27}{
-std::queue$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoAsyncIslandMig_1a2c0004d23bc303420af137a8c8bd27}{coop\_\-em}}
-\label{classpeoAsyncIslandMig_1a2c0004d23bc303420af137a8c8bd27}
+\hypertarget{classpeoAsyncIslandMig_9ead40772ef2fabea02fe93d1814f0a5}{
+std::queue$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoAsyncIslandMig_9ead40772ef2fabea02fe93d1814f0a5}{coop\_\-em}}
+\label{classpeoAsyncIslandMig_9ead40772ef2fabea02fe93d1814f0a5}
\end{CompactItemize}
\subsection{Detailed Description}
-\subsubsection*{template$<$class EOT$>$ class peo\-Async\-Island\-Mig$<$ EOT $>$}
+\subsubsection*{template$<$class TYPESELECT, class TYPEREPLACE$>$ class peo\-Async\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$}
-The \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
+Specific class for a asynchronous migration.
-continuation criterion, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. As opposed to the synchronous migration model, in the asynchronous migration approach, there is no synchronization step between islands after performing the emigration phase.
-
-The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:
-
-\begin{TabularC}{2}
-\hline
-{\bf do} \{ ~ &~ \\\hline
-~~~~~~~~ select( population, offsprings ); ~ &// select the offsprings from the current population \\\hline
-~~~~~~~~ transform( offsprings ); ~ &// crossover and mutation operators are applied on the selected offsprings \\\hline
-~~~~~~~~ evaluate( offsprings ); ~ &// evaluation step of the resulting offsprings \\\hline
-~~~~~~~~ replace( population, offsprings ); ~ &// replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy \\\hline
-\} {\bf while} ( ea\-Checkpoint\-Continue( population ) ); ~ &// checkpoint operators are applied on the current population, including the migration operator, if any specified \\\hline
-\end{TabularC}
-
-
-Constructing an asynchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the {\bf \hyperlink{classRunner}{Runner}} class (for example a \hyperlink{classpeoEA}{peo\-EA} object represents a possible owner). A simple example is offered bellow:
-
-\begin{enumerate}
-\item topological model to be followed when performing migrations: \par
- \par
- \begin{TabularC}{2}
-\hline
-\hyperlink{classRingTopology}{Ring\-Topology} mig\-Topology; ~ &// a simple ring topological model - each island communicates with two other islands \\\hline
-\end{TabularC}
-
-
-\item the continuation criterion, selection and replacement strategy etc. are defined: \par
- \par
- \begin{TabularC}{2}
-\hline
-eo\-Pop$<$ EOT $>$ population( POP\_\-SIZE, pop\-Initializer ); ~ &// population of individuals to be used for the evolutionary algorithm \\\hline
-~ &~ \\\hline
-eo\-Periodic\-Continue$<$ EOT $>$ mig\-Cont( MIG\_\-FREQ ); ~ &// migrations occur periodically at MIG\_\-FREQ iterations \\\hline
-eo\-Random\-Select$<$ EOT $>$ mig\-Select\-Strategy; ~ &// selection strategy - in this case a random selection is applied \\\hline
-eo\-Select\-Number$<$ EOT $>$ mig\-Select( mig\-Select\-Strategy, MIG\_\-SIZE ); ~ &// number of individuals to be selected using the specified strategy \\\hline
-eo\-Plus\-Replacement$<$ EOT $>$ mig\-Replace; ~ &// immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals \\\hline
-~ &~ \\\hline
-peo\-Async\-Island\-Mig$<$ EOT $>$ async\-Migration( \par
- ~~~~~~~~ mig\-Cont, mig\-Select, mig\-Replace, mig\-Topology, \par
- ~~~~~~~~ population, population \par
- ); ~ &// asynchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated \\\hline
-\end{TabularC}
-
-
-\item creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope): \par
- \par
- \begin{TabularC}{2}
-\hline
-... ~ &~ \\\hline
-eo\-Gen\-Continue$<$ EOT $>$ ea\-Cont( NUM\_\-GEN ); ~ &// the evolutionary algorithm will stop after NUM\_\-GEN generations \\\hline
-eo\-Check\-Point$<$ EOT $>$ ea\-Checkpoint\-Continue( ea\-Cont ); ~ &// number of individuals to be selected using the specified strategy \\\hline
-... ~ &~ \\\hline
-ea\-Checkpoint\-Continue.add( async\-Migration ); ~ &// adding the migration operator as checkpoint element \\\hline
-... ~ &~ \\\hline
-\end{TabularC}
-
-
-\item definition of an owner evolutionary algorithm (an object inheriting the {\bf \hyperlink{classRunner}{Runner}} class): \par
- \par
- \begin{TabularC}{2}
-\hline
-peo\-EA$<$ EOT $>$ ea\-Alg( ea\-Checkpoint\-Continue, ea\-Pop\-Eval, ea\-Select, ea\-Transform, ea\-Replace); ~ &// evolutionary algorithm having as checkpoint the ea\-Checkpoint\-Continue object defined above \\\hline
-async\-Migration.set\-Owner( ea\-Alg ); ~ &// setting the evolutionary algorithm as owner of the migration object \\\hline
-ea\-Alg( population ); ~ &// applying the evolutionary algorithm on a given population \\\hline
-\end{TabularC}
-\end{enumerate}
-
-
-The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.
-
-The above steps only create an asynchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ mig\-Topology object has to be passed as parameter for all the migration objects, in order to interconnect them).
+\begin{Desc}
+\item[See also:]\hyperlink{classCooperative}{Cooperative} \doxyref{eo\-Updater} \end{Desc}
+\begin{Desc}
+\item[Version:]2.0 \end{Desc}
+\begin{Desc}
+\item[Date:]january 2008 \end{Desc}
-Definition at line 140 of file peo\-Async\-Island\-Mig.h.
+
+Definition at line 64 of file peo\-Async\-Island\-Mig.h.
\subsection{Constructor \& Destructor Documentation}
-\hypertarget{classpeoAsyncIslandMig_e0f706cbf4148d3ca327227a5c7a9fdf}{
+\hypertarget{classpeoAsyncIslandMig_e40ddd54734b018ab4e5c3f2bbd5a49c}{
\index{peoAsyncIslandMig@{peo\-Async\-Island\-Mig}!peoAsyncIslandMig@{peoAsyncIslandMig}}
\index{peoAsyncIslandMig@{peoAsyncIslandMig}!peoAsyncIslandMig@{peo\-Async\-Island\-Mig}}
-\subsubsection[peoAsyncIslandMig]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig}$<$ EOT $>$::\hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} (\bf{eo\-Continue}$<$ EOT $>$ \& {\em \_\-\_\-cont}, \bf{eo\-Select}$<$ EOT $>$ \& {\em \_\-\_\-select}, \bf{eo\-Replacement}$<$ EOT $>$ \& {\em \_\-\_\-replace}, \hyperlink{classTopology}{Topology} \& {\em \_\-\_\-topology}, \bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-source}, \bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-destination})}}
-\label{classpeoAsyncIslandMig_e0f706cbf4148d3ca327227a5c7a9fdf}
+\subsubsection[peoAsyncIslandMig]{\setlength{\rightskip}{0pt plus 5cm}template$<$class TYPESELECT, class TYPEREPLACE$>$ \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig}$<$ TYPESELECT, TYPEREPLACE $>$::\hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} (\hyperlink{classcontinuator}{continuator} \& {\em \_\-\_\-cont}, \hyperlink{classselector}{selector}$<$ TYPESELECT $>$ \& {\em \_\-\_\-select}, \hyperlink{classreplacement}{replacement}$<$ TYPEREPLACE $>$ \& {\em \_\-\_\-replace}, \hyperlink{classTopology}{Topology} \& {\em \_\-\_\-topology})}}
+\label{classpeoAsyncIslandMig_e40ddd54734b018ab4e5c3f2bbd5a49c}
-Constructor for the \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \doxyref{EO}, etc., or custom, derived objects may be passed as parameters.
+Constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
-\item[{\em eo\-Continue$<$}]EOT $>$\& \_\-\_\-cont - continuation criterion specifying whether the migration is performed or not; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy used for integrating the immigrant individuals in the destination population; \item[{\em Topology\&}]\_\-\_\-topology - topological model to be followed when performing migrations; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-source - source population from which the emigrant individuals are selected; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-destination - destination population in which the immigrant population are integrated. \end{description}
+\item[{\em continuator}]\& \_\-\_\-cont \item[{\em selector}]$<$TYPE$>$ \& \_\-\_\-select \item[{\em replacement}]$<$TYPE$>$ \& \_\-\_\-replace \item[{\em Topology\&}]\_\-\_\-topology \end{description}
\end{Desc}
-Definition at line 199 of file peo\-Async\-Island\-Mig.h.
+Definition at line 114 of file peo\-Async\-Island\-Mig.h.
References Topology::add().
-\subsection{Member Function Documentation}
-\hypertarget{classpeoAsyncIslandMig_13581e54425727a7f785ca8a6df527b5}{
-\index{peoAsyncIslandMig@{peo\-Async\-Island\-Mig}!operator()@{operator()}}
-\index{operator()@{operator()}!peoAsyncIslandMig@{peo\-Async\-Island\-Mig}}
-\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig}$<$ EOT $>$::operator() ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
-\label{classpeoAsyncIslandMig_13581e54425727a7f785ca8a6df527b5}
+\subsection{Member Data Documentation}
+\hypertarget{classpeoAsyncIslandMig_b7a4049f66f99f9e7ec5c785042ee06a}{
+\index{peoAsyncIslandMig@{peo\-Async\-Island\-Mig}!cont@{cont}}
+\index{cont@{cont}!peoAsyncIslandMig@{peo\-Async\-Island\-Mig}}
+\subsubsection[cont]{\setlength{\rightskip}{0pt plus 5cm}template$<$class TYPESELECT, class TYPEREPLACE$>$ \hyperlink{classcontinuator}{continuator}\& \hyperlink{classpeoAsyncIslandMig}{peo\-Async\-Island\-Mig}$<$ TYPESELECT, TYPEREPLACE $>$::\hyperlink{classpeoAsyncIslandMig_b7a4049f66f99f9e7ec5c785042ee06a}{cont}\hspace{0.3cm}{\tt \mbox{[}private\mbox{]}}}}
+\label{classpeoAsyncIslandMig_b7a4049f66f99f9e7ec5c785042ee06a}
-\doxyref{Function} operator to be called as checkpoint for performing the migration step.
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em continuator}]\& cont \item[{\em selector}]$<$TYPESELECT$>$ \& select \item[{\em replacement}]$<$TYPEREPLACE$>$ \& replace \item[{\em Topology\&}]topology \item[{\em std}]:: queue$<$ TYPEREPLACE $>$ imm \item[{\em std}]:: queue$<$ TYPESELECT $>$ em \item[{\em std}]:: queue$<$ Cooperative$\ast$ $>$ coop\_\-em \end{description}
+\end{Desc}
-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 \bf{eo\-F$<$ void $>$}.
+Definition at line 104 of file peo\-Async\-Island\-Mig.h.
-Definition at line 276 of file peo\-Async\-Island\-Mig.h.
-
-References peo\-Async\-Island\-Mig$<$ EOT $>$::cont, peo\-Async\-Island\-Mig$<$ EOT $>$::emigrate(), peo\-Async\-Island\-Mig$<$ EOT $>$::immigrate(), and peo\-Async\-Island\-Mig$<$ EOT $>$::source.
+Referenced by peo\-Async\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.pdf
index 6c9a46e11..60e1ef72d 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex
index ff2628bb6..f032ccf3f 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.tex
@@ -16,10 +16,7 @@ Inheritance diagram for peo\-No\-Agg\-Eval\-Func$<$ EOT $>$::\begin{figure}[H]
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
-\hypertarget{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}{
-void \hyperlink{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}{operator()} (EOT \&\_\-\_\-sol, const typename EOT::Fitness \&\_\-\_\-fit)}
-\label{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}
-
+void \hyperlink{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}{operator()} (EOT \&\_\-\_\-sol, const typename EOT::Fitness \&\_\-\_\-fit)
\begin{CompactList}\small\item\em Operator which sets as fitness the {\bf \_\-\_\-fit} value for the {\bf \_\-\_\-sol} individual. \item\end{CompactList}\end{CompactItemize}
@@ -34,6 +31,25 @@ The class is provided as a mean of declaring that no aggregation is required for
Definition at line 47 of file peo\-No\-Agg\-Eval\-Func.h.
+\subsection{Member Function Documentation}
+\hypertarget{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}{
+\index{peoNoAggEvalFunc@{peo\-No\-Agg\-Eval\-Func}!operator()@{operator()}}
+\index{operator()@{operator()}!peoNoAggEvalFunc@{peo\-No\-Agg\-Eval\-Func}}
+\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func}$<$ EOT $>$::operator() (EOT \& {\em \_\-\_\-sol}, const typename EOT::Fitness \& {\em \_\-\_\-fit})}}
+\label{classpeoNoAggEvalFunc_1a69ee1af8745ac75c864bf884436de5}
+
+
+Operator which sets as fitness the {\bf \_\-\_\-fit} value for the {\bf \_\-\_\-sol} individual.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em EOT\&}]\_\-\_\-sol \item[{\em typename}]EOT :: Fitness\& \_\-\_\-fit \end{description}
+\end{Desc}
+
+
+Definition at line 59 of file peo\-No\-Agg\-Eval\-Func.h.
+
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
peo\-No\-Agg\-Eval\-Func.h\end{CompactItemize}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.eps
index b486aceee..251d770da 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 243.902
+%%BoundingBox: 0 0 500 251.572
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,7 +19,7 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 2.05 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 1.9875 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
@@ -175,9 +175,10 @@ boxfont setfont
1 boundaspect scale
(peoPopEval< EOT >) cw
(Service) cw
+(eoPopEvalFunc< EOT >) cw
(Communicable) cw
-(peoParaPopEval< EOT >) cw
-(peoSeqPopEval< EOT >) cw
+(eoBF< A1, A2, R >) cw
+(eoFunctorBase) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@@ -189,27 +190,32 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (peoPopEval< EOT >) 0.5 1 box
- (Service) 0.5 2 box
- (Communicable) 0.5 3 box
- (peoParaPopEval< EOT >) 0 0 box
- (peoSeqPopEval< EOT >) 1 0 box
+ (peoPopEval< EOT >) 0.5 0 box
+ (Service) 0 1 box
+ (eoPopEvalFunc< EOT >) 1 1 box
+ (Communicable) 0 2 box
+ (eoBF< A1, A2, R >) 1 2 box
+ (eoFunctorBase) 1 3 box
% ----- relations -----
solid
-0 0.5 1 out
-solid
-1 0.5 2 in
-solid
-0 0.5 2 out
-solid
-1 0.5 3 in
-solid
-1 0.5 0.25 out
+0 0.5 0 out
solid
0 1 1 conn
solid
-0 0 0.75 in
+1 0 1 in
solid
-0 1 0.75 in
+0 0 1 out
+solid
+1 1 1 in
+solid
+0 1 1 out
+solid
+1 0 2 in
+solid
+1 1 2 in
+solid
+0 1 2 out
+solid
+1 1 3 in
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.pdf
index 4e901adc8..5d4100332 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.tex
index a43d26bb8..f0f1fa298 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoPopEval.tex
@@ -2,7 +2,7 @@
\section{peo\-Pop\-Eval$<$ EOT $>$ Class Template Reference}
\label{classpeoPopEval}\index{peoPopEval@{peoPopEval}}
}
-The {\bf \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}} class provides the interface for constructing Paradis\-EO specific evaluation functors.
+Parallel evaluation functor wrapper.
{\tt \#include $<$peo\-Pop\-Eval.h$>$}
@@ -16,23 +16,284 @@ Inheritance diagram for peo\-Pop\-Eval$<$ EOT $>$::\begin{figure}[H]
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
-\hypertarget{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{
-virtual void \hyperlink{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}{operator()} (\bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop)=0}
-\label{classpeoPopEval_2f208067a5e39c3b26c1234050a41e8f}
+\hyperlink{classpeoPopEval_878297ba0de14593bd9cc03b2daf52df}{peo\-Pop\-Eval} (\bf{eo\-Eval\-Func}$<$ EOT $>$ \&\_\-\_\-eval\_\-func)
+\begin{CompactList}\small\item\em Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor. \item\end{CompactList}\item
+\hyperlink{classpeoPopEval_088822da7a0c92bc21574358d2e5f87c}{peo\-Pop\-Eval} (const std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \&\_\-\_\-funcs, \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \&\_\-\_\-merge\_\-eval)
+\begin{CompactList}\small\item\em Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function. \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_593dd60fc004edea8994d5575bf66e05}{operator()} (\bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop)
+\begin{CompactList}\small\item\em Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population. \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_fd942c2b66f31c7d12a9ad48f1529a16}{operator()} (\bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-dummy, \bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop)
+\begin{CompactList}\small\item\em Operator ()( eo\-Pop$<$ EOT $>$\& \_\-\_\-dummy, eo\-Pop$<$ EOT $>$\& \_\-\_\-pop ). \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_95351dcd81d1bf878d839e52a02a902d}{pack\-Data} ()
+\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_cb256d94000a47af06d3e8a3f7ab0eff}{unpack\-Data} ()
+\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
+\hypertarget{classpeoPopEval_05a85a265971d4b12f2f0014d33f705c}{
+void \hyperlink{classpeoPopEval_05a85a265971d4b12f2f0014d33f705c}{execute} ()}
+\label{classpeoPopEval_05a85a265971d4b12f2f0014d33f705c}
-\begin{CompactList}\small\item\em Interface function providing the signature for constructing an evaluation functor. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Auxiliary function - it calls the specified evaluation functor(s). There is no need to explicitly call the function. \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_9d0d10865d677c1ec84f496bed62a8c6}{pack\-Result} ()
+\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_f64aa1322e8e26f39143e1a6395206b6}{unpack\-Result} ()
+\begin{CompactList}\small\item\em Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_9708f67fc813d397de3d13830ed09820}{notify\-Sending\-Data} ()
+\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \item\end{CompactList}\item
+void \hyperlink{classpeoPopEval_b1e33394ba9797237cb8c7c1f410bd67}{notify\-Sending\-All\-Resource\-Requests} ()
+\begin{CompactList}\small\item\em Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item
+const std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \& \hyperlink{classpeoPopEval_5862b3661c5b0531d55870b5f3881d1e}{funcs}
+\item
+\hypertarget{classpeoPopEval_4c563a67b776d97b25a05013ddc99921}{
+std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \hyperlink{classpeoPopEval_4c563a67b776d97b25a05013ddc99921}{one\_\-func}}
+\label{classpeoPopEval_4c563a67b776d97b25a05013ddc99921}
+
+\item
+\hypertarget{classpeoPopEval_765f1941fcb630b6ed5c4cf0e1e845f9}{
+\hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \& \hyperlink{classpeoPopEval_765f1941fcb630b6ed5c4cf0e1e845f9}{merge\_\-eval}}
+\label{classpeoPopEval_765f1941fcb630b6ed5c4cf0e1e845f9}
+
+\item
+\hypertarget{classpeoPopEval_8558f626aca54bdc3bbeb78c774ca4ef}{
+\hyperlink{classpeoNoAggEvalFunc}{peo\-No\-Agg\-Eval\-Func}$<$ EOT $>$ \hyperlink{classpeoPopEval_8558f626aca54bdc3bbeb78c774ca4ef}{no\_\-merge\_\-eval}}
+\label{classpeoPopEval_8558f626aca54bdc3bbeb78c774ca4ef}
+
+\item
+\hypertarget{classpeoPopEval_fc1e9fba1a220550c332c70250f775cc}{
+std::queue$<$ EOT $\ast$ $>$ \hyperlink{classpeoPopEval_fc1e9fba1a220550c332c70250f775cc}{tasks}}
+\label{classpeoPopEval_fc1e9fba1a220550c332c70250f775cc}
+
+\item
+\hypertarget{classpeoPopEval_25646d6ec0df9f281b17d96956d2201f}{
+std::map$<$ EOT $\ast$, std::pair$<$ unsigned, unsigned $>$ $>$ \hyperlink{classpeoPopEval_25646d6ec0df9f281b17d96956d2201f}{progression}}
+\label{classpeoPopEval_25646d6ec0df9f281b17d96956d2201f}
+
+\item
+\hypertarget{classpeoPopEval_a6753e36522ece615fb44f91b2986dc6}{
+unsigned \hyperlink{classpeoPopEval_a6753e36522ece615fb44f91b2986dc6}{num\_\-func}}
+\label{classpeoPopEval_a6753e36522ece615fb44f91b2986dc6}
+
+\item
+\hypertarget{classpeoPopEval_d2bb78c4092b2f57a70fa6f90354ea91}{
+EOT \hyperlink{classpeoPopEval_d2bb78c4092b2f57a70fa6f90354ea91}{sol}}
+\label{classpeoPopEval_d2bb78c4092b2f57a70fa6f90354ea91}
+
+\item
+\hypertarget{classpeoPopEval_140a0ffb2a481238dde05e7f0324d516}{
+EOT $\ast$ \hyperlink{classpeoPopEval_140a0ffb2a481238dde05e7f0324d516}{ad\_\-sol}}
+\label{classpeoPopEval_140a0ffb2a481238dde05e7f0324d516}
+
+\item
+\hypertarget{classpeoPopEval_83b38d0977e5c8666c5aa5293c53bb3e}{
+unsigned \hyperlink{classpeoPopEval_83b38d0977e5c8666c5aa5293c53bb3e}{total}}
+\label{classpeoPopEval_83b38d0977e5c8666c5aa5293c53bb3e}
+
+\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class peo\-Pop\-Eval$<$ EOT $>$}
-The {\bf \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}} class provides the interface for constructing Paradis\-EO specific evaluation functors.
+Parallel evaluation functor wrapper.
-The derived classes may be used as wrappers for {\bf \doxyref{EO}}-derived evaluation functors. In order to have an example, please refer to the implementation of the {\bf \hyperlink{classpeoSeqPopEval}{peo\-Seq\-Pop\-Eval}} and {\bf \hyperlink{classpeoParaPopEval}{peo\-Para\-Pop\-Eval}} classes.
+\begin{Desc}
+\item[See also:]\hyperlink{classService}{Service} \doxyref{eo\-Pop\-Eval\-Func} \end{Desc}
+\begin{Desc}
+\item[Version:]1.2 \end{Desc}
+\begin{Desc}
+\item[Date:]2006 \end{Desc}
-Definition at line 47 of file peo\-Pop\-Eval.h.
+
+Definition at line 53 of file peo\-Pop\-Eval.h.
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classpeoPopEval_878297ba0de14593bd9cc03b2daf52df}{
+\index{peoPopEval@{peo\-Pop\-Eval}!peoPopEval@{peoPopEval}}
+\index{peoPopEval@{peoPopEval}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[peoPopEval]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoPopEval}{peo\-Pop\-Eval} (\bf{eo\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-\_\-eval\_\-func})}}
+\label{classpeoPopEval_878297ba0de14593bd9cc03b2daf52df}
+
+
+Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em eo\-Eval\-Func$<$}]EOT $>$\& \_\-\_\-eval\_\-func - EO-derived evaluation functor to be applied in parallel on each individual of a specified population \end{description}
+\end{Desc}
+
+
+Definition at line 132 of file peo\-Pop\-Eval.h.
+
+References peo\-Pop\-Eval$<$ EOT $>$::one\_\-func.\hypertarget{classpeoPopEval_088822da7a0c92bc21574358d2e5f87c}{
+\index{peoPopEval@{peo\-Pop\-Eval}!peoPopEval@{peoPopEval}}
+\index{peoPopEval@{peoPopEval}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[peoPopEval]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoPopEval}{peo\-Pop\-Eval} (const std::vector$<$ \bf{eo\-Eval\-Func}$<$ EOT $>$ $\ast$ $>$ \& {\em \_\-\_\-funcs}, \hyperlink{classpeoAggEvalFunc}{peo\-Agg\-Eval\-Func}$<$ EOT $>$ \& {\em \_\-\_\-merge\_\-eval})}}
+\label{classpeoPopEval_088822da7a0c92bc21574358d2e5f87c}
+
+
+Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em const}]std :: vector$<$ \doxyref{eo\-Eval\-Func} $<$ EOT $>$$\ast$ $>$\& \_\-\_\-funcs - vector of EO-derived partial evaluation functors; \item[{\em peo\-Agg\-Eval\-Func$<$}]EOT $>$\& \_\-\_\-merge\_\-eval - aggregation functor for creating a fitness value out of the partial fitness values. \end{description}
+\end{Desc}
+
+
+Definition at line 141 of file peo\-Pop\-Eval.h.
+
+\subsection{Member Function Documentation}
+\hypertarget{classpeoPopEval_593dd60fc004edea8994d5575bf66e05}{
+\index{peoPopEval@{peo\-Pop\-Eval}!operator()@{operator()}}
+\index{operator()@{operator()}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::operator() (\bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-pop})}}
+\label{classpeoPopEval_593dd60fc004edea8994d5575bf66e05}
+
+
+Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop - population to be evaluated by applying the evaluation functor specified in the constructor. \end{description}
+\end{Desc}
+
+
+Definition at line 154 of file peo\-Pop\-Eval.h.
+
+References peo\-Pop\-Eval$<$ EOT $>$::funcs, peo\-Pop\-Eval$<$ EOT $>$::progression, Service::request\-Resource\-Request(), Communicable::stop(), peo\-Pop\-Eval$<$ EOT $>$::tasks, and peo\-Pop\-Eval$<$ EOT $>$::total.
+
+Referenced by peo\-Pop\-Eval$<$ EOT $>$::operator()().\hypertarget{classpeoPopEval_fd942c2b66f31c7d12a9ad48f1529a16}{
+\index{peoPopEval@{peo\-Pop\-Eval}!operator()@{operator()}}
+\index{operator()@{operator()}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::operator() (\bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-dummy}, \bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-pop})}}
+\label{classpeoPopEval_fd942c2b66f31c7d12a9ad48f1529a16}
+
+
+Operator ()( eo\-Pop$<$ EOT $>$\& \_\-\_\-dummy, eo\-Pop$<$ EOT $>$\& \_\-\_\-pop ).
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-dummy \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop \end{description}
+\end{Desc}
+
+
+Definition at line 149 of file peo\-Pop\-Eval.h.
+
+References peo\-Pop\-Eval$<$ EOT $>$::operator()().\hypertarget{classpeoPopEval_95351dcd81d1bf878d839e52a02a902d}{
+\index{peoPopEval@{peo\-Pop\-Eval}!packData@{packData}}
+\index{packData@{packData}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[packData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::pack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
+\label{classpeoPopEval_95351dcd81d1bf878d839e52a02a902d}
+
+
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+
+There is no need to explicitly call the function.
+
+Reimplemented from \hyperlink{classService_aea4b8f7f8fb88e83862ee4bfd9ab207}{Service}.
+
+Definition at line 176 of file peo\-Pop\-Eval.h.
+
+References peo\-Pop\-Eval$<$ EOT $>$::progression, and peo\-Pop\-Eval$<$ EOT $>$::tasks.\hypertarget{classpeoPopEval_cb256d94000a47af06d3e8a3f7ab0eff}{
+\index{peoPopEval@{peo\-Pop\-Eval}!unpackData@{unpackData}}
+\index{unpackData@{unpackData}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[unpackData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::unpack\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
+\label{classpeoPopEval_cb256d94000a47af06d3e8a3f7ab0eff}
+
+
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+
+There is no need to explicitly call the function.
+
+Reimplemented from \hyperlink{classService_3bd87b444710813d30fd754d4d0b4df3}{Service}.
+
+Definition at line 190 of file peo\-Pop\-Eval.h.
+
+References peo\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, peo\-Pop\-Eval$<$ EOT $>$::num\_\-func, and peo\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoPopEval_9d0d10865d677c1ec84f496bed62a8c6}{
+\index{peoPopEval@{peo\-Pop\-Eval}!packResult@{packResult}}
+\index{packResult@{packResult}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[packResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::pack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
+\label{classpeoPopEval_9d0d10865d677c1ec84f496bed62a8c6}
+
+
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+
+There is no need to explicitly call the function.
+
+Reimplemented from \hyperlink{classService_e5e4f90b2315e15c2a2913bd370f4cf5}{Service}.
+
+Definition at line 208 of file peo\-Pop\-Eval.h.
+
+References peo\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, and peo\-Pop\-Eval$<$ EOT $>$::sol.\hypertarget{classpeoPopEval_f64aa1322e8e26f39143e1a6395206b6}{
+\index{peoPopEval@{peo\-Pop\-Eval}!unpackResult@{unpackResult}}
+\index{unpackResult@{unpackResult}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[unpackResult]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::unpack\-Result ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
+\label{classpeoPopEval_f64aa1322e8e26f39143e1a6395206b6}
+
+
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+
+There is no need to explicitly call the function.
+
+Reimplemented from \hyperlink{classService_45c06344edbfa482b91f68e2035a6099}{Service}.
+
+Definition at line 217 of file peo\-Pop\-Eval.h.
+
+References peo\-Pop\-Eval$<$ EOT $>$::ad\_\-sol, Service::get\-Owner(), peo\-Pop\-Eval$<$ EOT $>$::merge\_\-eval, peo\-Pop\-Eval$<$ EOT $>$::progression, Communicable::resume(), Thread::set\-Active(), and peo\-Pop\-Eval$<$ EOT $>$::total.\hypertarget{classpeoPopEval_9708f67fc813d397de3d13830ed09820}{
+\index{peoPopEval@{peo\-Pop\-Eval}!notifySendingData@{notifySendingData}}
+\index{notifySendingData@{notifySendingData}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[notifySendingData]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::notify\-Sending\-Data ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
+\label{classpeoPopEval_9708f67fc813d397de3d13830ed09820}
+
+
+Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
+
+There is no need to explicitly call the function.
+
+Reimplemented from \hyperlink{classService_81ad4d6ebb50045b8977e2ab74826f30}{Service}.
+
+Definition at line 250 of file peo\-Pop\-Eval.h.\hypertarget{classpeoPopEval_b1e33394ba9797237cb8c7c1f410bd67}{
+\index{peoPopEval@{peo\-Pop\-Eval}!notifySendingAllResourceRequests@{notifySendingAllResourceRequests}}
+\index{notifySendingAllResourceRequests@{notifySendingAllResourceRequests}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[notifySendingAllResourceRequests]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::notify\-Sending\-All\-Resource\-Requests ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
+\label{classpeoPopEval_b1e33394ba9797237cb8c7c1f410bd67}
+
+
+Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
+
+There is no need to explicitly call the function.
+
+Reimplemented from \hyperlink{classService_f94cc8a5c2665d4574041737e61e9ffc}{Service}.
+
+Definition at line 254 of file peo\-Pop\-Eval.h.
+
+References Service::get\-Owner(), and Thread::set\-Passive().
+
+\subsection{Member Data Documentation}
+\hypertarget{classpeoPopEval_5862b3661c5b0531d55870b5f3881d1e}{
+\index{peoPopEval@{peo\-Pop\-Eval}!funcs@{funcs}}
+\index{funcs@{funcs}!peoPopEval@{peo\-Pop\-Eval}}
+\subsubsection[funcs]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ const std :: vector$<$ \bf{eo\-Eval\-Func} $<$ EOT $>$$\ast$ $>$\& \hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ EOT $>$::\hyperlink{classpeoPopEval_5862b3661c5b0531d55870b5f3881d1e}{funcs}\hspace{0.3cm}{\tt \mbox{[}private\mbox{]}}}}
+\label{classpeoPopEval_5862b3661c5b0531d55870b5f3881d1e}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em std}]:: vector$<$ \doxyref{eo\-Eval\-Func} $<$ EOT $>$$\ast$ $>$\& funcs \item[{\em std}]:: vector$<$ \doxyref{eo\-Eval\-Func} $<$ EOT $>$$\ast$ $>$ one\_\-func \item[{\em peo\-Agg\-Eval\-Func$<$}]EOT $>$\& merge\_\-eval \item[{\em peo\-No\-Agg\-Eval\-Func$<$}]EOT $>$ no\_\-merge\_\-eval \item[{\em std}]:: queue$<$ EOT$\ast$ $>$tasks \item[{\em std}]:: map$<$ EOT$\ast$, std :: pair$<$ unsigned, unsigned $>$ $>$ progression \item[{\em unsigned}]num\_\-func \item[{\em EOT}]sol \item[{\em EOT}]$\ast$ad\_\-sol \item[{\em unsigned}]total \end{description}
+\end{Desc}
+
+
+Definition at line 119 of file peo\-Pop\-Eval.h.
+
+Referenced by peo\-Pop\-Eval$<$ EOT $>$::execute(), and peo\-Pop\-Eval$<$ EOT $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.eps
index 6f0fb127a..7ce165ba5 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 231.214
+%%BoundingBox: 0 0 500 123.077
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,7 +19,7 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 2.1625 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 4.0625 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
@@ -173,7 +173,7 @@
boxfont setfont
1 boundaspect scale
-(peoSyncIslandMig< EOT >) cw
+(peoSyncIslandMig< TYPESELECT, TYPEREPLACE >) cw
(Cooperative) cw
(eoUpdater) cw
(Communicable) cw
@@ -190,7 +190,7 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (peoSyncIslandMig< EOT >) 0.5 0 box
+ (peoSyncIslandMig< TYPESELECT, TYPEREPLACE >) 0.5 0 box
(Cooperative) 0 1 box
(eoUpdater) 1 1 box
(Communicable) 0 2 box
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.pdf
index 7b727b208..fa1fce03d 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex
index 9a94013a2..d81654697 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoSyncIslandMig.tex
@@ -1,226 +1,204 @@
\hypertarget{classpeoSyncIslandMig}{
-\section{peo\-Sync\-Island\-Mig$<$ EOT $>$ Class Template Reference}
+\section{peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$ Class Template Reference}
\label{classpeoSyncIslandMig}\index{peoSyncIslandMig@{peoSyncIslandMig}}
}
-The \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
+Specific class for a synchronous migration.
{\tt \#include $<$peo\-Sync\-Island\-Mig.h$>$}
-Inheritance diagram for peo\-Sync\-Island\-Mig$<$ EOT $>$::\begin{figure}[H]
+Inheritance diagram for peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$::\begin{figure}[H]
\begin{center}
\leavevmode
-\includegraphics[height=4cm]{classpeoSyncIslandMig}
+\includegraphics[height=3.44615cm]{classpeoSyncIslandMig}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
-\hyperlink{classpeoSyncIslandMig_96b7b6de20b5e318a8b1cde76842305c}{peo\-Sync\-Island\-Mig} (unsigned \_\-\_\-frequency, \bf{eo\-Select}$<$ EOT $>$ \&\_\-\_\-select, \bf{eo\-Replacement}$<$ EOT $>$ \&\_\-\_\-replace, \hyperlink{classTopology}{Topology} \&\_\-\_\-topology, \bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-source, \bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-destination)
-\begin{CompactList}\small\item\em Constructor for the \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \doxyref{EO}, etc., or custom, derived objects may be passed as parameters. \item\end{CompactList}\item
-void \hyperlink{classpeoSyncIslandMig_178476fd276f78b73607b33d19522c36}{operator()} ()
-\begin{CompactList}\small\item\em \doxyref{Function} operator to be called as checkpoint for performing the migration step. \item\end{CompactList}\item
-\hypertarget{classpeoSyncIslandMig_e334188141eeba9f7b78bc6716f819ad}{
-void \hyperlink{classpeoSyncIslandMig_e334188141eeba9f7b78bc6716f819ad}{pack} ()}
-\label{classpeoSyncIslandMig_e334188141eeba9f7b78bc6716f819ad}
+\hyperlink{classpeoSyncIslandMig_24f4d1ea8bb63c09b9d6cd8476014082}{peo\-Sync\-Island\-Mig} (unsigned \_\-\_\-frequency, \hyperlink{classselector}{selector}$<$ TYPESELECT $>$ \&\_\-\_\-select, \hyperlink{classreplacement}{replacement}$<$ TYPEREPLACE $>$ \&\_\-\_\-replace, \hyperlink{classTopology}{Topology} \&\_\-\_\-topology)
+\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_0fd5b3b4e467ee33ae0186c0ae9d58ef}{
+void \hyperlink{classpeoSyncIslandMig_0fd5b3b4e467ee33ae0186c0ae9d58ef}{operator()} ()}
+\label{classpeoSyncIslandMig_0fd5b3b4e467ee33ae0186c0ae9d58ef}
-\begin{CompactList}\small\item\em Auxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\item
-\hypertarget{classpeoSyncIslandMig_85777bd9f709c5d4107799e8619948d1}{
-void \hyperlink{classpeoSyncIslandMig_85777bd9f709c5d4107799e8619948d1}{unpack} ()}
-\label{classpeoSyncIslandMig_85777bd9f709c5d4107799e8619948d1}
+\begin{CompactList}\small\item\em operator \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_2daadf9928b8075ea469ca3cc49ddc88}{
+void \hyperlink{classpeoSyncIslandMig_2daadf9928b8075ea469ca3cc49ddc88}{pack} ()}
+\label{classpeoSyncIslandMig_2daadf9928b8075ea469ca3cc49ddc88}
-\begin{CompactList}\small\item\em Auxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. \item\end{CompactList}\item
-\hypertarget{classpeoSyncIslandMig_8c427b3f91c19ff85f86930366b96008}{
-void \hyperlink{classpeoSyncIslandMig_8c427b3f91c19ff85f86930366b96008}{notify\-Sending} ()}
-\label{classpeoSyncIslandMig_8c427b3f91c19ff85f86930366b96008}
+\begin{CompactList}\small\item\em \doxyref{Function} realizing packages. \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_25bc1a03cc49e17dda34b6647df1f9c5}{
+void \hyperlink{classpeoSyncIslandMig_25bc1a03cc49e17dda34b6647df1f9c5}{unpack} ()}
+\label{classpeoSyncIslandMig_25bc1a03cc49e17dda34b6647df1f9c5}
-\begin{CompactList}\small\item\em Auxiliary function dealing with migration notifications. There is no need to explicitly call the function. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em \doxyref{Function} reconstituting packages. \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_956f56110bccff8c8fae4b05aa804d32}{
+void \hyperlink{classpeoSyncIslandMig_956f56110bccff8c8fae4b05aa804d32}{pack\-Synchronize\-Req} ()}
+\label{classpeoSyncIslandMig_956f56110bccff8c8fae4b05aa804d32}
+
+\begin{CompactList}\small\item\em \doxyref{Function} pack\-Synchronize\-Req. \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_5f403428cea887b07caf27ab265ebe03}{
+void \hyperlink{classpeoSyncIslandMig_5f403428cea887b07caf27ab265ebe03}{notify\-Sending} ()}
+\label{classpeoSyncIslandMig_5f403428cea887b07caf27ab265ebe03}
+
+\begin{CompactList}\small\item\em \doxyref{Function} notify\-Sending. \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_75aacd3f7ffbc302c69addc342f45b8f}{
+void \hyperlink{classpeoSyncIslandMig_75aacd3f7ffbc302c69addc342f45b8f}{notify\-Receiving} ()}
+\label{classpeoSyncIslandMig_75aacd3f7ffbc302c69addc342f45b8f}
+
+\begin{CompactList}\small\item\em \doxyref{Function} notify\-Receiving. \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_92fef53496f935fe450589f90aec7d72}{
+void \hyperlink{classpeoSyncIslandMig_92fef53496f935fe450589f90aec7d72}{notify\-Sending\-Sync\-Req} ()}
+\label{classpeoSyncIslandMig_92fef53496f935fe450589f90aec7d72}
+
+\begin{CompactList}\small\item\em notify\-Sending\-Sync\-Req \item\end{CompactList}\item
+\hypertarget{classpeoSyncIslandMig_0abd0c5872195cea0cab4988f9a4ea4e}{
+void \hyperlink{classpeoSyncIslandMig_0abd0c5872195cea0cab4988f9a4ea4e}{notify\-Synchronized} ()}
+\label{classpeoSyncIslandMig_0abd0c5872195cea0cab4988f9a4ea4e}
+
+\begin{CompactList}\small\item\em notify\-Synchronized \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item
-\hypertarget{classpeoSyncIslandMig_4c8416e3acce1a6e4c3b0a442d94b063}{
-void \hyperlink{classpeoSyncIslandMig_4c8416e3acce1a6e4c3b0a442d94b063}{emigrate} ()}
-\label{classpeoSyncIslandMig_4c8416e3acce1a6e4c3b0a442d94b063}
+\hypertarget{classpeoSyncIslandMig_3ab202cb311f67fdc827078b3bdfddf4}{
+void \hyperlink{classpeoSyncIslandMig_3ab202cb311f67fdc827078b3bdfddf4}{emigrate} ()}
+\label{classpeoSyncIslandMig_3ab202cb311f67fdc827078b3bdfddf4}
\item
-\hypertarget{classpeoSyncIslandMig_38dd72312a3d16808af1aa7beb9ed4a7}{
-void \hyperlink{classpeoSyncIslandMig_38dd72312a3d16808af1aa7beb9ed4a7}{immigrate} ()}
-\label{classpeoSyncIslandMig_38dd72312a3d16808af1aa7beb9ed4a7}
+\hypertarget{classpeoSyncIslandMig_baed2215bf06f96aacf06b5abff79f28}{
+void \hyperlink{classpeoSyncIslandMig_baed2215bf06f96aacf06b5abff79f28}{immigrate} ()}
+\label{classpeoSyncIslandMig_baed2215bf06f96aacf06b5abff79f28}
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item
-\hypertarget{classpeoSyncIslandMig_2d8ae9104376f3e073e0b250d9b425a2}{
-\bf{eo\-Periodic\-Continue}$<$ EOT $>$ \hyperlink{classpeoSyncIslandMig_2d8ae9104376f3e073e0b250d9b425a2}{cont}}
-\label{classpeoSyncIslandMig_2d8ae9104376f3e073e0b250d9b425a2}
+\hyperlink{classeoSyncContinue}{eo\-Sync\-Continue} \hyperlink{classpeoSyncIslandMig_a64e7c9da149773c5d264d128a1ea37a}{cont}
+\item
+\hypertarget{classpeoSyncIslandMig_a399c2533598dc8018eb2ab2edabd6b9}{
+\hyperlink{classselector}{selector}$<$ TYPESELECT $>$ \& \hyperlink{classpeoSyncIslandMig_a399c2533598dc8018eb2ab2edabd6b9}{select}}
+\label{classpeoSyncIslandMig_a399c2533598dc8018eb2ab2edabd6b9}
\item
-\hypertarget{classpeoSyncIslandMig_5e9c9f5f65d6418ad46e647ee1804a3d}{
-\bf{eo\-Select}$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_5e9c9f5f65d6418ad46e647ee1804a3d}{select}}
-\label{classpeoSyncIslandMig_5e9c9f5f65d6418ad46e647ee1804a3d}
+\hypertarget{classpeoSyncIslandMig_34b69e0a2fa12ef0f6101c7d04ebc3ef}{
+\hyperlink{classreplacement}{replacement}$<$ TYPEREPLACE $>$ \& \hyperlink{classpeoSyncIslandMig_34b69e0a2fa12ef0f6101c7d04ebc3ef}{replace}}
+\label{classpeoSyncIslandMig_34b69e0a2fa12ef0f6101c7d04ebc3ef}
\item
-\hypertarget{classpeoSyncIslandMig_cb6d2d909503a86415912900d6e1d891}{
-\bf{eo\-Replacement}$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_cb6d2d909503a86415912900d6e1d891}{replace}}
-\label{classpeoSyncIslandMig_cb6d2d909503a86415912900d6e1d891}
+\hypertarget{classpeoSyncIslandMig_7376532c3a8bcab88a02601611db9f2f}{
+\hyperlink{classTopology}{Topology} \& \hyperlink{classpeoSyncIslandMig_7376532c3a8bcab88a02601611db9f2f}{topology}}
+\label{classpeoSyncIslandMig_7376532c3a8bcab88a02601611db9f2f}
\item
-\hypertarget{classpeoSyncIslandMig_ebfe6edb6be16d46bf6d71cb233fcace}{
-\hyperlink{classTopology}{Topology} \& \hyperlink{classpeoSyncIslandMig_ebfe6edb6be16d46bf6d71cb233fcace}{topology}}
-\label{classpeoSyncIslandMig_ebfe6edb6be16d46bf6d71cb233fcace}
+\hypertarget{classpeoSyncIslandMig_4c734df065099cfd5693d35fae38ad29}{
+std::queue$<$ TYPEREPLACE $>$ \hyperlink{classpeoSyncIslandMig_4c734df065099cfd5693d35fae38ad29}{imm}}
+\label{classpeoSyncIslandMig_4c734df065099cfd5693d35fae38ad29}
\item
-\hypertarget{classpeoSyncIslandMig_33fde1f09faf2a3f772d8b8f6a2615c6}{
-\bf{eo\-Pop}$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_33fde1f09faf2a3f772d8b8f6a2615c6}{source}}
-\label{classpeoSyncIslandMig_33fde1f09faf2a3f772d8b8f6a2615c6}
+\hypertarget{classpeoSyncIslandMig_b96f8caff26498798eb0e4c114ee5d9a}{
+std::queue$<$ TYPESELECT $>$ \hyperlink{classpeoSyncIslandMig_b96f8caff26498798eb0e4c114ee5d9a}{em}}
+\label{classpeoSyncIslandMig_b96f8caff26498798eb0e4c114ee5d9a}
\item
-\hypertarget{classpeoSyncIslandMig_a9bf4612c7c04da6cf69245c6617e6a6}{
-\bf{eo\-Pop}$<$ EOT $>$ \& \hyperlink{classpeoSyncIslandMig_a9bf4612c7c04da6cf69245c6617e6a6}{destination}}
-\label{classpeoSyncIslandMig_a9bf4612c7c04da6cf69245c6617e6a6}
+\hypertarget{classpeoSyncIslandMig_ad56e3475d8ea7a83007c2e32c7da6a8}{
+std::queue$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoSyncIslandMig_ad56e3475d8ea7a83007c2e32c7da6a8}{coop\_\-em}}
+\label{classpeoSyncIslandMig_ad56e3475d8ea7a83007c2e32c7da6a8}
\item
-\hypertarget{classpeoSyncIslandMig_088c1623f32668dcd3683fceff9426c3}{
-std::queue$<$ \bf{eo\-Pop}$<$ EOT $>$ $>$ \hyperlink{classpeoSyncIslandMig_088c1623f32668dcd3683fceff9426c3}{imm}}
-\label{classpeoSyncIslandMig_088c1623f32668dcd3683fceff9426c3}
+\hypertarget{classpeoSyncIslandMig_9431b7e1d629f238cd5f990d02926480}{
+sem\_\-t \hyperlink{classpeoSyncIslandMig_9431b7e1d629f238cd5f990d02926480}{sync}}
+\label{classpeoSyncIslandMig_9431b7e1d629f238cd5f990d02926480}
\item
-\hypertarget{classpeoSyncIslandMig_11d6dd3e4a6db710433f501af0988322}{
-std::queue$<$ \bf{eo\-Pop}$<$ EOT $>$ $>$ \hyperlink{classpeoSyncIslandMig_11d6dd3e4a6db710433f501af0988322}{em}}
-\label{classpeoSyncIslandMig_11d6dd3e4a6db710433f501af0988322}
+\hypertarget{classpeoSyncIslandMig_253dfbfebfadad0b4f49e60bb811b1db}{
+bool \hyperlink{classpeoSyncIslandMig_253dfbfebfadad0b4f49e60bb811b1db}{explicit\-Passive}}
+\label{classpeoSyncIslandMig_253dfbfebfadad0b4f49e60bb811b1db}
\item
-\hypertarget{classpeoSyncIslandMig_2f7ca18d67ab7fb47a9851ab3179eb7d}{
-std::queue$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoSyncIslandMig_2f7ca18d67ab7fb47a9851ab3179eb7d}{coop\_\-em}}
-\label{classpeoSyncIslandMig_2f7ca18d67ab7fb47a9851ab3179eb7d}
+\hypertarget{classpeoSyncIslandMig_e5d64ff9718b746d2307379fb061ad96}{
+bool \hyperlink{classpeoSyncIslandMig_e5d64ff9718b746d2307379fb061ad96}{standby\-Migration}}
+\label{classpeoSyncIslandMig_e5d64ff9718b746d2307379fb061ad96}
\item
-\hypertarget{classpeoSyncIslandMig_91e0e1ea59c2a6a66eb496bddd60a18f}{
-sem\_\-t \hyperlink{classpeoSyncIslandMig_91e0e1ea59c2a6a66eb496bddd60a18f}{sync}}
-\label{classpeoSyncIslandMig_91e0e1ea59c2a6a66eb496bddd60a18f}
+\hypertarget{classpeoSyncIslandMig_6274e5185b6b7579dea71da3138d9d23}{
+std::vector$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoSyncIslandMig_6274e5185b6b7579dea71da3138d9d23}{in}}
+\label{classpeoSyncIslandMig_6274e5185b6b7579dea71da3138d9d23}
+
+\item
+\hypertarget{classpeoSyncIslandMig_daae2fea2f447d35927e18a8f008a45d}{
+std::vector$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoSyncIslandMig_daae2fea2f447d35927e18a8f008a45d}{out}}
+\label{classpeoSyncIslandMig_daae2fea2f447d35927e18a8f008a45d}
+
+\item
+\hypertarget{classpeoSyncIslandMig_2760dde833d7141ca86affb4df0fb163}{
+std::vector$<$ \hyperlink{classCooperative}{Cooperative} $\ast$ $>$ \hyperlink{classpeoSyncIslandMig_2760dde833d7141ca86affb4df0fb163}{all}}
+\label{classpeoSyncIslandMig_2760dde833d7141ca86affb4df0fb163}
+
+\item
+\hypertarget{classpeoSyncIslandMig_cdd55a0ab14d659a2a68674a05ed8a1d}{
+unsigned \hyperlink{classpeoSyncIslandMig_cdd55a0ab14d659a2a68674a05ed8a1d}{nb\-Migrations}}
+\label{classpeoSyncIslandMig_cdd55a0ab14d659a2a68674a05ed8a1d}
\end{CompactItemize}
\subsection{Detailed Description}
-\subsubsection*{template$<$class EOT$>$ class peo\-Sync\-Island\-Mig$<$ EOT $>$}
+\subsubsection*{template$<$class TYPESELECT, class TYPEREPLACE$>$ class peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$}
-The \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
+Specific class for a synchronous migration.
-frequency of the migrations, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. The main difference as opposed to the asynchronous migration model is the synchronization step performed after selecting and sending the emigrant individuals.
-
-The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:
-
-\begin{TabularC}{2}
-\hline
-{\bf do} \{ ~ &~ \\\hline
-~~~~~~~~ select( population, offsprings ); ~ &// select the offsprings from the current population \\\hline
-~~~~~~~~ transform( offsprings ); ~ &// crossover and mutation operators are applied on the selected offsprings \\\hline
-~~~~~~~~ evaluate( offsprings ); ~ &// evaluation step of the resulting offspring \\\hline
-~~~~~~~~ replace( population, offsprings ); ~ &// replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy \\\hline
-\} {\bf while} ( ea\-Checkpoint\-Continue( population ) ); ~ &// checkpoint operators are applied on the current population, including the migration operator, if any specified \\\hline
-\end{TabularC}
-
-
-Constructing a synchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the {\bf \hyperlink{classRunner}{Runner}} class (for example a \hyperlink{classpeoEA}{peo\-EA} object represents a possible owner). A simple example is offered bellow:
-
-\begin{enumerate}
-\item topological model to be followed when performing migrations: \par
- \par
- \begin{TabularC}{2}
-\hline
-\hyperlink{classRingTopology}{Ring\-Topology} mig\-Topology; ~ &// a simple ring topological model - each island communicates with two other islands \\\hline
-\end{TabularC}
-
-
-\item the continuation criterion, selection and replacement strategy etc. are defined: \par
- \par
- \begin{TabularC}{2}
-\hline
-eo\-Pop$<$ EOT $>$ population( POP\_\-SIZE, pop\-Initializer ); ~ &// population of individuals to be used for the evolutionary algorithm \\\hline
-~ &~ \\\hline
-eo\-Random\-Select$<$ EOT $>$ mig\-Select\-Strategy; ~ &// selection strategy - in this case a random selection is applied \\\hline
-eo\-Select\-Number$<$ EOT $>$ mig\-Select( mig\-Select\-Strategy, MIG\_\-SIZE ); ~ &// number of individuals to be selected using the specified strategy \\\hline
-eo\-Plus\-Replacement$<$ EOT $>$ mig\-Replace; ~ &// immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals \\\hline
-~ &~ \\\hline
-peo\-Sync\-Island\-Mig$<$ EOT $>$ sync\-Migration( \par
- ~~~~~~~~ MIG\_\-FREQ, mig\-Select, mig\-Replace, mig\-Topology, \par
- ~~~~~~~~ population, population \par
- ); ~ &// synchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated \\\hline
-\end{TabularC}
-
-
-\item creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope): \par
- \par
- \begin{TabularC}{2}
-\hline
-... ~ &~ \\\hline
-eo\-Gen\-Continue$<$ EOT $>$ ea\-Cont( NUM\_\-GEN ); ~ &// the evolutionary algorithm will stop after NUM\_\-GEN generations \\\hline
-eo\-Check\-Point$<$ EOT $>$ ea\-Checkpoint\-Continue( ea\-Cont ); ~ &// number of individuals to be selected using the specified strategy \\\hline
-... ~ &~ \\\hline
-ea\-Checkpoint\-Continue.add( sync\-Migration ); ~ &// adding the migration operator as checkpoint element \\\hline
-... ~ &~ \\\hline
-\end{TabularC}
-
-
-\item definition of an owner evolutionary algorithm (an object inheriting the {\bf \hyperlink{classRunner}{Runner}} class): \par
- \par
- \begin{TabularC}{2}
-\hline
-peo\-EA$<$ EOT $>$ ea\-Alg( ea\-Checkpoint\-Continue, ea\-Pop\-Eval, ea\-Select, ea\-Transform, ea\-Replace); ~ &// evolutionary algorithm having as checkpoint the ea\-Checkpoint\-Continue object defined above \\\hline
-sync\-Migration.set\-Owner( ea\-Alg ); ~ &// setting the evolutionary algorithm as owner of the migration object \\\hline
-ea\-Alg( population ); ~ &// applying the evolutionary algorithm on a given population \\\hline
-\end{TabularC}
-\end{enumerate}
-
-
-The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.
-
-The above steps only create a synchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ mig\-Topology object has to be passed as parameter for all the migration objects, in order to interconnect them).
+\begin{Desc}
+\item[See also:]\hyperlink{classCooperative}{Cooperative} \doxyref{eo\-Updater} \end{Desc}
+\begin{Desc}
+\item[Version:]2.0 \end{Desc}
+\begin{Desc}
+\item[Date:]january 2008 \end{Desc}
-Definition at line 142 of file peo\-Sync\-Island\-Mig.h.
+
+Definition at line 71 of file peo\-Sync\-Island\-Mig.h.
\subsection{Constructor \& Destructor Documentation}
-\hypertarget{classpeoSyncIslandMig_96b7b6de20b5e318a8b1cde76842305c}{
+\hypertarget{classpeoSyncIslandMig_24f4d1ea8bb63c09b9d6cd8476014082}{
\index{peoSyncIslandMig@{peo\-Sync\-Island\-Mig}!peoSyncIslandMig@{peoSyncIslandMig}}
\index{peoSyncIslandMig@{peoSyncIslandMig}!peoSyncIslandMig@{peo\-Sync\-Island\-Mig}}
-\subsubsection[peoSyncIslandMig]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig}$<$ EOT $>$::\hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} (unsigned {\em \_\-\_\-frequency}, \bf{eo\-Select}$<$ EOT $>$ \& {\em \_\-\_\-select}, \bf{eo\-Replacement}$<$ EOT $>$ \& {\em \_\-\_\-replace}, \hyperlink{classTopology}{Topology} \& {\em \_\-\_\-topology}, \bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-source}, \bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-destination})}}
-\label{classpeoSyncIslandMig_96b7b6de20b5e318a8b1cde76842305c}
+\subsubsection[peoSyncIslandMig]{\setlength{\rightskip}{0pt plus 5cm}template$<$class TYPESELECT, class TYPEREPLACE$>$ \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig}$<$ TYPESELECT, TYPEREPLACE $>$::\hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} (unsigned {\em \_\-\_\-frequency}, \hyperlink{classselector}{selector}$<$ TYPESELECT $>$ \& {\em \_\-\_\-select}, \hyperlink{classreplacement}{replacement}$<$ TYPEREPLACE $>$ \& {\em \_\-\_\-replace}, \hyperlink{classTopology}{Topology} \& {\em \_\-\_\-topology})}}
+\label{classpeoSyncIslandMig_24f4d1ea8bb63c09b9d6cd8476014082}
-Constructor for the \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig} class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \doxyref{EO}, etc., or custom, derived objects may be passed as parameters.
+Constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
-\item[{\em unsigned}]\_\-\_\-frequency - frequency of the migrations - the migrations occur periodically; \item[{\em eo\-Select$<$}]EOT $>$\& \_\-\_\-select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population; \item[{\em eo\-Replacement$<$}]EOT $>$\& \_\-\_\-replace - replacement strategy used for integrating the immigrant individuals in the destination population; \item[{\em Topology\&}]\_\-\_\-topology - topological model to be followed when performing migrations; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-source - source population from which the emigrant individuals are selected; \item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-destination - destination population in which the immigrant population are integrated. \end{description}
+\item[{\em unsigned}]\_\-\_\-frequency \item[{\em selector}]$<$TYPESELECT$>$ \& \_\-\_\-select \item[{\em replacement}]$<$TYPEREPLACE$>$ \& \_\-\_\-replace \item[{\em Topology\&}]\_\-\_\-topology \end{description}
\end{Desc}
-Definition at line 206 of file peo\-Sync\-Island\-Mig.h.
+Definition at line 139 of file peo\-Sync\-Island\-Mig.h.
-References Topology::add(), and peo\-Sync\-Island\-Mig$<$ EOT $>$::sync.
+References Topology::add(), and peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$::sync.
-\subsection{Member Function Documentation}
-\hypertarget{classpeoSyncIslandMig_178476fd276f78b73607b33d19522c36}{
-\index{peoSyncIslandMig@{peo\-Sync\-Island\-Mig}!operator()@{operator()}}
-\index{operator()@{operator()}!peoSyncIslandMig@{peo\-Sync\-Island\-Mig}}
-\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig}$<$ EOT $>$::operator() ()\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}}
-\label{classpeoSyncIslandMig_178476fd276f78b73607b33d19522c36}
+\subsection{Member Data Documentation}
+\hypertarget{classpeoSyncIslandMig_a64e7c9da149773c5d264d128a1ea37a}{
+\index{peoSyncIslandMig@{peo\-Sync\-Island\-Mig}!cont@{cont}}
+\index{cont@{cont}!peoSyncIslandMig@{peo\-Sync\-Island\-Mig}}
+\subsubsection[cont]{\setlength{\rightskip}{0pt plus 5cm}template$<$class TYPESELECT, class TYPEREPLACE$>$ \hyperlink{classeoSyncContinue}{eo\-Sync\-Continue} \hyperlink{classpeoSyncIslandMig}{peo\-Sync\-Island\-Mig}$<$ TYPESELECT, TYPEREPLACE $>$::\hyperlink{classpeoSyncIslandMig_a64e7c9da149773c5d264d128a1ea37a}{cont}\hspace{0.3cm}{\tt \mbox{[}private\mbox{]}}}}
+\label{classpeoSyncIslandMig_a64e7c9da149773c5d264d128a1ea37a}
-\doxyref{Function} operator to be called as checkpoint for performing the migration step.
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em \hyperlink{classeoSyncContinue}{eo\-Sync\-Continue}}]cont \item[{\em selector}]$<$TYPESELECT$>$ \& select \item[{\em replacement}]$<$TYPEREPLACE$>$ \& replace \item[{\em Topology\&}]topology \item[{\em std}]:: queue$<$ TYPEREPLACE $>$ imm \item[{\em std}]:: queue$<$ TYPESELECT $>$ em \item[{\em std}]:: queue$<$ Cooperative$\ast$ $>$ coop\_\-em \item[{\em sem\_\-t}]sync \item[{\em bool}]explicit\-Passive \item[{\em bool}]standby\-Migration \item[{\em std}]:: vector$<$ Cooperative$\ast$ $>$ in, out, all \item[{\em unsigned}]nb\-Migrations \end{description}
+\end{Desc}
-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 \bf{eo\-F$<$ void $>$}.
+Definition at line 124 of file peo\-Sync\-Island\-Mig.h.
-Definition at line 280 of file peo\-Sync\-Island\-Mig.h.
-
-References peo\-Sync\-Island\-Mig$<$ EOT $>$::cont, peo\-Sync\-Island\-Mig$<$ EOT $>$::emigrate(), Cooperative::get\-Owner(), peo\-Sync\-Island\-Mig$<$ EOT $>$::immigrate(), Thread::set\-Active(), peo\-Sync\-Island\-Mig$<$ EOT $>$::source, Communicable::stop(), and peo\-Sync\-Island\-Mig$<$ EOT $>$::sync.
+Referenced by peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$::operator()().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.eps b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.eps
index 685b4bc71..7db54c40c 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.eps
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.eps
@@ -5,7 +5,7 @@
%%For:
%Magnification: 1.00
%%Orientation: Portrait
-%%BoundingBox: 0 0 500 250
+%%BoundingBox: 0 0 500 272.109
%%Pages: 0
%%BeginSetup
%%EndSetup
@@ -19,12 +19,12 @@
/marginwidth 10 def
/distx 20 def
/disty 40 def
-/boundaspect 2 def % aspect ratio of the BoundingBox (width/height)
+/boundaspect 1.8375 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
-/rows 5 def
+/rows 4 def
/cols 2 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
@@ -179,8 +179,6 @@ boxfont setfont
(Communicable) cw
(eoUF< A1, R >) cw
(eoFunctorBase) cw
-(peoParaSGATransform< EOT >) cw
-(peoSeqTransform< EOT >) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
@@ -192,42 +190,32 @@ boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
- (peoTransform< EOT >) 0.5 1 box
- (Service) 0 2 box
- (eoTransform< EOT >) 1 2 box
- (Communicable) 0 3 box
- (eoUF< A1, R >) 1 3 box
- (eoFunctorBase) 1 4 box
- (peoParaSGATransform< EOT >) 0 0 box
- (peoSeqTransform< EOT >) 1 0 box
+ (peoTransform< EOT >) 0.5 0 box
+ (Service) 0 1 box
+ (eoTransform< EOT >) 1 1 box
+ (Communicable) 0 2 box
+ (eoUF< A1, R >) 1 2 box
+ (eoFunctorBase) 1 3 box
% ----- relations -----
solid
-0 0.5 1 out
+0 0.5 0 out
solid
-0 1 2 conn
+0 1 1 conn
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 1 1 in
+solid
+0 1 1 out
solid
1 0 2 in
solid
-0 0 2 out
-solid
1 1 2 in
solid
0 1 2 out
solid
-1 0 3 in
-solid
1 1 3 in
-solid
-0 1 3 out
-solid
-1 1 4 in
-solid
-1 0.5 0.25 out
-solid
-0 1 1 conn
-solid
-0 0 0.75 in
-solid
-0 1 0.75 in
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.pdf b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.pdf
index 936add316..43c6c0301 100644
Binary files a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.pdf and b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.pdf differ
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.tex
index 5207893f6..b019fa9b1 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/classpeoTransform.tex
@@ -2,7 +2,7 @@
\section{peo\-Transform$<$ EOT $>$ Class Template Reference}
\label{classpeoTransform}\index{peoTransform@{peoTransform}}
}
-The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interface for creating transform operators - for an example please refer to the {\bf \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}} and the {\bf \hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform}} classes.
+Class for a parallel transform.
{\tt \#include $<$peo\-Transform.h$>$}
@@ -10,19 +10,173 @@ The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interfac
Inheritance diagram for peo\-Transform$<$ EOT $>$::\begin{figure}[H]
\begin{center}
\leavevmode
-\includegraphics[height=5cm]{classpeoTransform}
+\includegraphics[height=4cm]{classpeoTransform}
\end{center}
\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item
+\hyperlink{classpeoTransform_755989a2d080903d0cade75643de0788}{peo\-Transform} (\bf{eo\-Quad\-Op}$<$ EOT $>$ \&\_\-\_\-cross, double \_\-\_\-cross\_\-rate, \bf{eo\-Mon\-Op}$<$ EOT $>$ \&\_\-\_\-mut, double \_\-\_\-mut\_\-rate)
+\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item
+void \hyperlink{classpeoTransform_9322aa28ad272289132e342624a0adb4}{operator()} (\bf{eo\-Pop}$<$ EOT $>$ \&\_\-\_\-pop)
+\begin{CompactList}\small\item\em Operator. \item\end{CompactList}\item
+\hypertarget{classpeoTransform_c1101d10a36ce4255b874bcd9725021e}{
+void \hyperlink{classpeoTransform_c1101d10a36ce4255b874bcd9725021e}{pack\-Data} ()}
+\label{classpeoTransform_c1101d10a36ce4255b874bcd9725021e}
+
+\begin{CompactList}\small\item\em \doxyref{Function} realizing packages of data. \item\end{CompactList}\item
+\hypertarget{classpeoTransform_a804631492e08053162a196877587aef}{
+void \hyperlink{classpeoTransform_a804631492e08053162a196877587aef}{unpack\-Data} ()}
+\label{classpeoTransform_a804631492e08053162a196877587aef}
+
+\begin{CompactList}\small\item\em \doxyref{Function} reconstituting packages of data. \item\end{CompactList}\item
+\hypertarget{classpeoTransform_85c2cbc76f803b2b5cb2bc8cbc214136}{
+void \hyperlink{classpeoTransform_85c2cbc76f803b2b5cb2bc8cbc214136}{execute} ()}
+\label{classpeoTransform_85c2cbc76f803b2b5cb2bc8cbc214136}
+
+\begin{CompactList}\small\item\em \doxyref{Function} which executes the algorithm. \item\end{CompactList}\item
+\hypertarget{classpeoTransform_bdae056027406ba9f489e2bef115fd08}{
+void \hyperlink{classpeoTransform_bdae056027406ba9f489e2bef115fd08}{pack\-Result} ()}
+\label{classpeoTransform_bdae056027406ba9f489e2bef115fd08}
+
+\begin{CompactList}\small\item\em \doxyref{Function} realizing packages of the result. \item\end{CompactList}\item
+\hypertarget{classpeoTransform_e0244425e846c5679c901b61e4252814}{
+void \hyperlink{classpeoTransform_e0244425e846c5679c901b61e4252814}{unpack\-Result} ()}
+\label{classpeoTransform_e0244425e846c5679c901b61e4252814}
+
+\begin{CompactList}\small\item\em \doxyref{Function} reconstituting packages of result. \item\end{CompactList}\item
+\hypertarget{classpeoTransform_77508f186476181ec2c6a8230961eede}{
+void \hyperlink{classpeoTransform_77508f186476181ec2c6a8230961eede}{notify\-Sending\-Data} ()}
+\label{classpeoTransform_77508f186476181ec2c6a8230961eede}
+
+\begin{CompactList}\small\item\em \doxyref{Function} notify\-Sending\-Data. \item\end{CompactList}\item
+\hypertarget{classpeoTransform_19990af963b6604d1175290fe6725335}{
+void \hyperlink{classpeoTransform_19990af963b6604d1175290fe6725335}{notify\-Sending\-All\-Resource\-Requests} ()}
+\label{classpeoTransform_19990af963b6604d1175290fe6725335}
+
+\begin{CompactList}\small\item\em \doxyref{Function} notify\-Sending\-All\-Resource\-Requests. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item
+\bf{eo\-Quad\-Op}$<$ EOT $>$ \& \hyperlink{classpeoTransform_d2fce5199b61f599fd89cf54d6fcd312}{cross}
+\item
+\hypertarget{classpeoTransform_3336251fb3433a8405ea75f3a8bed04d}{
+double \hyperlink{classpeoTransform_3336251fb3433a8405ea75f3a8bed04d}{cross\_\-rate}}
+\label{classpeoTransform_3336251fb3433a8405ea75f3a8bed04d}
+
+\item
+\hypertarget{classpeoTransform_3d1ea5c8a6aa95bf051051361908a9c6}{
+\bf{eo\-Mon\-Op}$<$ EOT $>$ \& \hyperlink{classpeoTransform_3d1ea5c8a6aa95bf051051361908a9c6}{mut}}
+\label{classpeoTransform_3d1ea5c8a6aa95bf051051361908a9c6}
+
+\item
+\hypertarget{classpeoTransform_0b0802dfc4a3ec664c8fccf10bb1842a}{
+double \hyperlink{classpeoTransform_0b0802dfc4a3ec664c8fccf10bb1842a}{mut\_\-rate}}
+\label{classpeoTransform_0b0802dfc4a3ec664c8fccf10bb1842a}
+
+\item
+\hypertarget{classpeoTransform_0acac288337aec3d0d853565924a365d}{
+unsigned \hyperlink{classpeoTransform_0acac288337aec3d0d853565924a365d}{idx}}
+\label{classpeoTransform_0acac288337aec3d0d853565924a365d}
+
+\item
+\hypertarget{classpeoTransform_0916042d3500452082ad19fd5ce5e161}{
+\bf{eo\-Pop}$<$ EOT $>$ $\ast$ \hyperlink{classpeoTransform_0916042d3500452082ad19fd5ce5e161}{pop}}
+\label{classpeoTransform_0916042d3500452082ad19fd5ce5e161}
+
+\item
+\hypertarget{classpeoTransform_88c563f77e5c25b70b6cb619ec97185f}{
+EOT \hyperlink{classpeoTransform_88c563f77e5c25b70b6cb619ec97185f}{father}}
+\label{classpeoTransform_88c563f77e5c25b70b6cb619ec97185f}
+
+\item
+\hypertarget{classpeoTransform_5c754343fa9a3580632d6b9e8f1bafaa}{
+EOT \hyperlink{classpeoTransform_5c754343fa9a3580632d6b9e8f1bafaa}{mother}}
+\label{classpeoTransform_5c754343fa9a3580632d6b9e8f1bafaa}
+
+\item
+\hypertarget{classpeoTransform_6a02c2c2de16c5825058e06d146c5cd9}{
+unsigned \hyperlink{classpeoTransform_6a02c2c2de16c5825058e06d146c5cd9}{num\_\-term}}
+\label{classpeoTransform_6a02c2c2de16c5825058e06d146c5cd9}
+
+\end{CompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class EOT$>$ class peo\-Transform$<$ EOT $>$}
-The \hyperlink{classpeoTransform}{peo\-Transform} class acts only as an interface for creating transform operators - for an example please refer to the {\bf \hyperlink{classpeoSeqTransform}{peo\-Seq\-Transform}} and the {\bf \hyperlink{classpeoParaSGATransform}{peo\-Para\-SGATransform}} classes.
+Class for a parallel transform.
+
+\begin{Desc}
+\item[See also:]\hyperlink{classService}{Service} \doxyref{eo\-Transform} \end{Desc}
+\begin{Desc}
+\item[Version:]1.1 \end{Desc}
+\begin{Desc}
+\item[Date:]january 2008 \end{Desc}
-Definition at line 48 of file peo\-Transform.h.
+
+Definition at line 53 of file peo\-Transform.h.
+
+\subsection{Constructor \& Destructor Documentation}
+\hypertarget{classpeoTransform_755989a2d080903d0cade75643de0788}{
+\index{peoTransform@{peo\-Transform}!peoTransform@{peoTransform}}
+\index{peoTransform@{peoTransform}!peoTransform@{peo\-Transform}}
+\subsubsection[peoTransform]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \hyperlink{classpeoTransform}{peo\-Transform}$<$ EOT $>$::\hyperlink{classpeoTransform}{peo\-Transform} (\bf{eo\-Quad\-Op}$<$ EOT $>$ \& {\em \_\-\_\-cross}, double {\em \_\-\_\-cross\_\-rate}, \bf{eo\-Mon\-Op}$<$ EOT $>$ \& {\em \_\-\_\-mut}, double {\em \_\-\_\-mut\_\-rate})}}
+\label{classpeoTransform_755989a2d080903d0cade75643de0788}
+
+
+Constructor.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em eo\-Quad\-Op$<$}]EOT $>$\& \_\-\_\-cross \item[{\em double}]\_\-\_\-cross\_\-rate \item[{\em eo\-Mon\-Op$<$}]EOT $>$\& \_\-\_\-mut \item[{\em double}]\_\-\_\-mut\_\-rate \end{description}
+\end{Desc}
+
+
+Definition at line 108 of file peo\-Transform.h.
+
+\subsection{Member Function Documentation}
+\hypertarget{classpeoTransform_9322aa28ad272289132e342624a0adb4}{
+\index{peoTransform@{peo\-Transform}!operator()@{operator()}}
+\index{operator()@{operator()}!peoTransform@{peo\-Transform}}
+\subsubsection[operator()]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ void \hyperlink{classpeoTransform}{peo\-Transform}$<$ EOT $>$::operator() (\bf{eo\-Pop}$<$ EOT $>$ \& {\em \_\-\_\-pop})}}
+\label{classpeoTransform_9322aa28ad272289132e342624a0adb4}
+
+
+Operator.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em eo\-Pop$<$}]EOT $>$\& \_\-\_\-pop \end{description}
+\end{Desc}
+
+
+Definition at line 176 of file peo\-Transform.h.
+
+References peo\-Transform$<$ EOT $>$::idx, peo\-Transform$<$ EOT $>$::num\_\-term, peo\-Transform$<$ EOT $>$::pop, Service::request\-Resource\-Request(), and Communicable::stop().
+
+\subsection{Member Data Documentation}
+\hypertarget{classpeoTransform_d2fce5199b61f599fd89cf54d6fcd312}{
+\index{peoTransform@{peo\-Transform}!cross@{cross}}
+\index{cross@{cross}!peoTransform@{peo\-Transform}}
+\subsubsection[cross]{\setlength{\rightskip}{0pt plus 5cm}template$<$class EOT$>$ \bf{eo\-Quad\-Op}$<$ EOT $>$\& \hyperlink{classpeoTransform}{peo\-Transform}$<$ EOT $>$::\hyperlink{classpeoTransform_d2fce5199b61f599fd89cf54d6fcd312}{cross}\hspace{0.3cm}{\tt \mbox{[}private\mbox{]}}}}
+\label{classpeoTransform_d2fce5199b61f599fd89cf54d6fcd312}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em eo\-Quad\-Op$<$}]EOT $>$\& cross \item[{\em double}]cross\_\-rate \item[{\em eo\-Mon\-Op$<$}]EOT $>$\& mut \item[{\em double}]mut\_\-rate \item[{\em unsigned}]idx \item[{\em eo\-Pop$<$}]EOT $>$$\ast$ pop \item[{\em EOT}]father \item[{\em mother}]\item[{\em unsigned}]num\_\-term \end{description}
+\end{Desc}
+
+
+Definition at line 98 of file peo\-Transform.h.
+
+Referenced by peo\-Transform$<$ EOT $>$::execute().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/doxygen.sty b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/doxygen.sty
index e00898f58..fb975d947 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/doxygen.sty
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/doxygen.sty
@@ -10,8 +10,8 @@
{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
{\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Oct 8 11:16:45 2007 for Paradis\-EO-PEOMoving\-Objects by Doxygen }]{}
-\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Oct 8 11:16:45 2007 for Paradis\-EO-PEOMoving\-Objects by Doxygen }}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Wed Mar 12 15:23:42 2008 for Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Wed Mar 12 15:23:42 2008 for Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects by Doxygen }}
\cfoot{}
\newenvironment{Code}
{\footnotesize}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/hierarchy.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/hierarchy.tex
index 385abf60e..cfb84c513 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/hierarchy.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/hierarchy.tex
@@ -1,36 +1,48 @@
-\section{Paradis\-EO-PEOMoving\-Objects Class Hierarchy}
+\section{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Class Hierarchy}
This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList}
+\item \contentsline{section}{Algorithm}{\pageref{structAlgorithm}}{}
\item \contentsline{section}{Communicable}{\pageref{classCommunicable}}{}
\begin{CompactList}
\item \contentsline{section}{Cooperative}{\pageref{classCooperative}}{}
\begin{CompactList}
-\item \contentsline{section}{peo\-Async\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoAsyncIslandMig}}{}
-\item \contentsline{section}{peo\-Sync\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoSyncIslandMig}}{}
+\item \contentsline{section}{peo\-Async\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$}{\pageref{classpeoAsyncIslandMig}}{}
+\item \contentsline{section}{peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$}{\pageref{classpeoSyncIslandMig}}{}
\end{CompactList}
\item \contentsline{section}{Runner}{\pageref{classRunner}}{}
\begin{CompactList}
-\item \contentsline{section}{peo\-EA$<$ EOT $>$}{\pageref{classpeoEA}}{}
-\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper}{\pageref{classpeoParallelAlgorithmWrapper}}{}
+\item \contentsline{section}{peo\-Wrapper}{\pageref{classpeoWrapper}}{}
\end{CompactList}
\item \contentsline{section}{Service}{\pageref{classService}}{}
\begin{CompactList}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$}{\pageref{classpeoMultiStart}}{}
\item \contentsline{section}{peo\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoPopEval}}{}
-\begin{CompactList}
-\item \contentsline{section}{peo\-Para\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoParaPopEval}}{}
-\item \contentsline{section}{peo\-Seq\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoSeqPopEval}}{}
-\end{CompactList}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$}{\pageref{classpeoSynchronousMultiStart}}{}
-\item \contentsline{section}{peo\-Sync\-Multi\-Start$<$ EOT $>$}{\pageref{classpeoSyncMultiStart}}{}
\item \contentsline{section}{peo\-Transform$<$ EOT $>$}{\pageref{classpeoTransform}}{}
-\begin{CompactList}
-\item \contentsline{section}{peo\-Para\-SGATransform$<$ EOT $>$}{\pageref{classpeoParaSGATransform}}{}
-\item \contentsline{section}{peo\-Seq\-Transform$<$ EOT $>$}{\pageref{classpeoSeqTransform}}{}
-\end{CompactList}
\end{CompactList}
\item \contentsline{section}{Worker}{\pageref{classWorker}}{}
\end{CompactList}
+\item \contentsline{section}{continuator}{\pageref{classcontinuator}}{}
+\begin{CompactList}
+\item \contentsline{section}{eo\-Continuator$<$ EOT $>$}{\pageref{classeoContinuator}}{}
+\item \contentsline{section}{eo\-Sync\-Continue}{\pageref{classeoSyncContinue}}{}
+\end{CompactList}
\item eo\-Functor\-Base{\tt \mbox{[}external\mbox{]}}\begin{CompactList}
\item eo\-BF$<$ A1, A2, R $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item eo\-Pop\-Eval\-Func$<$ EOT $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{peo\-Pop\-Eval$<$ EOT $>$}{\pageref{classpeoPopEval}}{}
+\end{CompactList}
+\item eo\-Replacement$<$ POT $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{peo\-Global\-Best\-Velocity$<$ POT $>$}{\pageref{classpeoGlobalBestVelocity}}{}
+\item \contentsline{section}{peo\-Worst\-Position\-Replacement$<$ POT $>$}{\pageref{classpeoWorstPositionReplacement}}{}
+\end{CompactList}
+\item mo\-Move\-Incr\-Eval$<$ Two\-Opt $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{Two\-Opt\-Incr\-Eval}{\pageref{classTwoOptIncrEval}}{}
+\end{CompactList}
+\item mo\-Move\-Init$<$ Two\-Opt $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{Two\-Opt\-Init}{\pageref{classTwoOptInit}}{}
+\end{CompactList}
+\item mo\-Next\-Move$<$ Two\-Opt $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{Two\-Opt\-Next}{\pageref{classTwoOptNext}}{}
+\end{CompactList}
\item \contentsline{section}{peo\-Agg\-Eval\-Func$<$ EOT $>$}{\pageref{classpeoAggEvalFunc}}{}
\begin{CompactList}
\item \contentsline{section}{Merge\-Route\-Eval}{\pageref{classMergeRouteEval}}{}
@@ -38,40 +50,82 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\end{CompactList}
\item \contentsline{section}{peo\-Agg\-Eval\-Func$<$ eo\-Vector$<$ int, Node $>$ $>$}{\pageref{classpeoAggEvalFunc}}{}
\end{CompactList}
+\item eo\-BF$<$ EOType \&, EOType \&, bool $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item eo\-Quad\-Op$<$ EOType $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{Edge\-Xover}{\pageref{classEdgeXover}}{}
+\item \contentsline{section}{Order\-Xover}{\pageref{classOrderXover}}{}
+\item \contentsline{section}{Partial\-Mapped\-Xover}{\pageref{classPartialMappedXover}}{}
+\end{CompactList}
+\end{CompactList}
\item eo\-F$<$ void $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
\item eo\-Updater{\tt \mbox{[}external\mbox{]}}\begin{CompactList}
\item \contentsline{section}{Display\-Best\-Route}{\pageref{classDisplayBestRoute}}{}
-\item \contentsline{section}{peo\-Async\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoAsyncIslandMig}}{}
-\item \contentsline{section}{peo\-Sync\-Island\-Mig$<$ EOT $>$}{\pageref{classpeoSyncIslandMig}}{}
-\item \contentsline{section}{peo\-Sync\-Multi\-Start$<$ EOT $>$}{\pageref{classpeoSyncMultiStart}}{}
+\item \contentsline{section}{peo\-Async\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$}{\pageref{classpeoAsyncIslandMig}}{}
+\item \contentsline{section}{peo\-Sync\-Island\-Mig$<$ TYPESELECT, TYPEREPLACE $>$}{\pageref{classpeoSyncIslandMig}}{}
\end{CompactList}
\end{CompactList}
\item eo\-UF$<$ A1, R $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item eo\-Eval\-Func$<$ EOT $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{Part\-Route\-Eval}{\pageref{classPartRouteEval}}{}
+\item \contentsline{section}{peo\-Eval\-Func$<$ EOT, Fit\-T, Function\-Arg $>$}{\pageref{structpeoEvalFunc}}{}
+\item \contentsline{section}{Route\-Eval}{\pageref{classRouteEval}}{}
+\end{CompactList}
+\item eo\-Init$<$ EOT $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{Route\-Init}{\pageref{classRouteInit}}{}
+\end{CompactList}
+\item eo\-Select\-One$<$ POT $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{peo\-PSOSelect$<$ POT $>$}{\pageref{classpeoPSOSelect}}{}
+\end{CompactList}
\item eo\-Transform$<$ EOT $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
\item \contentsline{section}{peo\-Transform$<$ EOT $>$}{\pageref{classpeoTransform}}{}
\end{CompactList}
\end{CompactList}
+\item eo\-UF$<$ EOT \&, void $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item mo\-Move$<$ EOT $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{Two\-Opt}{\pageref{classTwoOpt}}{}
\end{CompactList}
-\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper::Abstract\-Algorithm}{\pageref{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}}{}
+\end{CompactList}
+\item eo\-UF$<$ EOType \&, bool $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item eo\-Mon\-Op$<$ EOType $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item \contentsline{section}{City\-Swap}{\pageref{classCitySwap}}{}
+\end{CompactList}
+\end{CompactList}
+\end{CompactList}
+\item eo\-Op$<$ EOType $>${\tt \mbox{[}external\mbox{]}}\begin{CompactList}
+\item eo\-Mon\-Op$<$ EOType $>${\tt \mbox{[}external\mbox{]}}\item eo\-Quad\-Op$<$ EOType $>${\tt \mbox{[}external\mbox{]}}\end{CompactList}
+\item \contentsline{section}{MPIThreaded\-Env}{\pageref{classMPIThreadedEnv}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm}{\pageref{structpeoMultiStart_1_1AbstractAggregationAlgorithm}}{}
\begin{CompactList}
-\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$}{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm}}{}
-\item \contentsline{section}{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$}{\pageref{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$}{\pageref{structpeoMultiStart_1_1AggregationAlgorithm}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function}{\pageref{structpeoMultiStart_1_1NoAggregationFunction}}{}
\end{CompactList}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm}{\pageref{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm}{\pageref{structpeoMultiStart_1_1AbstractAlgorithm}}{}
\begin{CompactList}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$}{\pageref{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}}{}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function}{\pageref{structpeoSynchronousMultiStart_1_1NoAggregationFunction}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$}{\pageref{structpeoMultiStart_1_1Algorithm}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::Function\-Algorithm$<$ Algorithm\-Return\-Type, Algorithm\-Data\-Type $>$}{\pageref{structpeoMultiStart_1_1FunctionAlgorithm}}{}
\end{CompactList}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm}{\pageref{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type}{\pageref{structpeoMultiStart_1_1AbstractDataType}}{}
\begin{CompactList}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$}{\pageref{structpeoSynchronousMultiStart_1_1Algorithm}}{}
+\item \contentsline{section}{peo\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$}{\pageref{structpeoMultiStart_1_1DataType}}{}
\end{CompactList}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type}{\pageref{structpeoSynchronousMultiStart_1_1AbstractDataType}}{}
+\item \contentsline{section}{peo\-Wrapper::Abstract\-Algorithm}{\pageref{structpeoWrapper_1_1AbstractAlgorithm}}{}
\begin{CompactList}
-\item \contentsline{section}{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$}{\pageref{structpeoSynchronousMultiStart_1_1DataType}}{}
+\item \contentsline{section}{peo\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$}{\pageref{structpeoWrapper_1_1Algorithm}}{}
+\item \contentsline{section}{peo\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$}{\pageref{structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}}{}
+\item \contentsline{section}{peo\-Wrapper::Function\-Algorithm$<$ Algorithm\-Return\-Type, Algorithm\-Data\-Type $>$}{\pageref{structpeoWrapper_1_1FunctionAlgorithm}}{}
+\item \contentsline{section}{peo\-Wrapper::Function\-Algorithm$<$ Algorithm\-Return\-Type, void $>$}{\pageref{structpeoWrapper_1_1FunctionAlgorithm_3_01AlgorithmReturnType_00_01void_01_4}}{}
+\end{CompactList}
+\item \contentsline{section}{replacement$<$ TYPE $>$}{\pageref{classreplacement}}{}
+\begin{CompactList}
+\item \contentsline{section}{eo\-Replace$<$ EOT, TYPE $>$}{\pageref{classeoReplace}}{}
+\end{CompactList}
+\item \contentsline{section}{selector$<$ TYPE $>$}{\pageref{classselector}}{}
+\begin{CompactList}
+\item \contentsline{section}{eo\-Selector$<$ EOT, TYPE $>$}{\pageref{classeoSelector}}{}
\end{CompactList}
-\item \contentsline{section}{Random\-Exploration\-Algorithm}{\pageref{structRandomExplorationAlgorithm}}{}
\item \contentsline{section}{SEND\_\-REQUEST}{\pageref{structSEND__REQUEST}}{}
+\item \contentsline{section}{Sync\-Compare}{\pageref{structSyncCompare}}{}
+\item \contentsline{section}{Sync\-Entry}{\pageref{structSyncEntry}}{}
\item \contentsline{section}{Thread}{\pageref{classThread}}{}
\begin{CompactList}
\item \contentsline{section}{Reactive\-Thread}{\pageref{classReactiveThread}}{}
@@ -83,6 +137,10 @@ This inheritance list is sorted roughly, but not completely, alphabetically:\beg
\end{CompactList}
\item \contentsline{section}{Topology}{\pageref{classTopology}}{}
\begin{CompactList}
+\item \contentsline{section}{Complete\-Topology}{\pageref{classCompleteTopology}}{}
+\item \contentsline{section}{Random\-Topology}{\pageref{classRandomTopology}}{}
\item \contentsline{section}{Ring\-Topology}{\pageref{classRingTopology}}{}
+\item \contentsline{section}{Star\-Topology}{\pageref{classStarTopology}}{}
\end{CompactList}
+\item \contentsline{section}{Two\-Opt\-Rand}{\pageref{classTwoOptRand}}{}
\end{CompactList}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/namespaces.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/namespaces.tex
index c69deee37..ac9063657 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/namespaces.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/namespaces.tex
@@ -1,4 +1,4 @@
-\section{Paradis\-EO-PEOMoving\-Objects Namespace List}
+\section{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Namespace List}
Here is a list of all documented namespaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{\hyperlink{namespacepeo}{peo} }{\pageref{namespacepeo}}{}
\end{CompactList}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/refman.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/refman.tex
index e2e595b18..f54f06f0c 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/refman.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/refman.tex
@@ -31,11 +31,11 @@
\begin{titlepage}
\vspace*{7cm}
\begin{center}
-{\Large Paradis\-EO-PEOMoving\-Objects Reference Manual\\[1ex]\large 1.0 }\\
+{\Large Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Reference Manual\\[1ex]\large 1.1 }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.4.7}\\
\vspace*{0.5cm}
-{\small Mon Oct 8 11:16:45 2007}\\
+{\small Wed Mar 12 15:23:42 2008}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
@@ -45,52 +45,78 @@
\pagenumbering{arabic}
\chapter{The Paradis\-EO-PEO Framework }
\label{index}\hypertarget{index}{}\input{main}
-\chapter{Paradis\-EO-PEOMoving\-Objects Namespace Index}
+\chapter{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Namespace Index}
\input{namespaces}
-\chapter{Paradis\-EO-PEOMoving\-Objects Hierarchical Index}
+\chapter{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Hierarchical Index}
\input{hierarchy}
-\chapter{Paradis\-EO-PEOMoving\-Objects Class Index}
+\chapter{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Class Index}
\input{annotated}
-\chapter{Paradis\-EO-PEOMoving\-Objects Namespace Documentation}
+\chapter{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Namespace Documentation}
\input{namespacepeo}
-\chapter{Paradis\-EO-PEOMoving\-Objects Class Documentation}
-\input{classCommunicable}
+\chapter{Paradis\-EO-PEO-Parallelanddistributed\-Evolving\-Objects Class Documentation}
+\input{structAlgorithm}
+\include{classCitySwap}
+\include{classCommunicable}
\include{classCommunicator}
+\include{classCompleteTopology}
+\include{classcontinuator}
\include{classCooperative}
\include{classDisplayBestRoute}
+\include{classEdgeXover}
+\include{classeoContinuator}
+\include{classeoReplace}
+\include{classeoSelector}
+\include{classeoSyncContinue}
\include{classMergeRouteEval}
+\include{classMPIThreadedEnv}
+\include{classOrderXover}
+\include{classPartialMappedXover}
+\include{classPartRouteEval}
\include{classpeoAggEvalFunc}
\include{classpeoAsyncIslandMig}
-\include{classpeoEA}
+\include{structpeoEvalFunc}
+\include{classpeoGlobalBestVelocity}
+\include{classpeoMultiStart}
+\include{structpeoMultiStart_1_1AbstractAggregationAlgorithm}
+\include{structpeoMultiStart_1_1AbstractAlgorithm}
+\include{structpeoMultiStart_1_1AbstractDataType}
+\include{structpeoMultiStart_1_1AggregationAlgorithm}
+\include{structpeoMultiStart_1_1Algorithm}
+\include{structpeoMultiStart_1_1DataType}
+\include{structpeoMultiStart_1_1FunctionAlgorithm}
+\include{structpeoMultiStart_1_1NoAggregationFunction}
\include{classpeoNoAggEvalFunc}
-\include{classpeoParallelAlgorithmWrapper}
-\include{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}
-\include{structpeoParallelAlgorithmWrapper_1_1Algorithm}
-\include{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}
-\include{classpeoParaPopEval}
-\include{classpeoParaSGATransform}
\include{classpeoPopEval}
-\include{classpeoSeqPopEval}
-\include{classpeoSeqTransform}
-\include{classpeoSynchronousMultiStart}
-\include{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}
-\include{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}
-\include{structpeoSynchronousMultiStart_1_1AbstractDataType}
-\include{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}
-\include{structpeoSynchronousMultiStart_1_1Algorithm}
-\include{structpeoSynchronousMultiStart_1_1DataType}
-\include{structpeoSynchronousMultiStart_1_1NoAggregationFunction}
+\include{classpeoPSOSelect}
\include{classpeoSyncIslandMig}
-\include{classpeoSyncMultiStart}
\include{classpeoTransform}
-\include{structRandomExplorationAlgorithm}
+\include{classpeoWorstPositionReplacement}
+\include{classpeoWrapper}
+\include{structpeoWrapper_1_1AbstractAlgorithm}
+\include{structpeoWrapper_1_1Algorithm}
+\include{structpeoWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}
+\include{structpeoWrapper_1_1FunctionAlgorithm}
+\include{structpeoWrapper_1_1FunctionAlgorithm_3_01AlgorithmReturnType_00_01void_01_4}
+\include{classRandomTopology}
\include{classReactiveThread}
+\include{classreplacement}
\include{classRingTopology}
+\include{classRouteEval}
+\include{classRouteInit}
\include{classRunner}
+\include{classselector}
\include{structSEND__REQUEST}
\include{classService}
+\include{classStarTopology}
+\include{structSyncCompare}
+\include{structSyncEntry}
\include{classThread}
\include{classTopology}
+\include{classTwoOpt}
+\include{classTwoOptIncrEval}
+\include{classTwoOptInit}
+\include{classTwoOptNext}
+\include{classTwoOptRand}
\include{classWorker}
\printindex
\end{document}
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/structSEND__REQUEST.tex b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/structSEND__REQUEST.tex
index 7b319bcac..47fd5035c 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/latex/structSEND__REQUEST.tex
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/latex/structSEND__REQUEST.tex
@@ -27,7 +27,7 @@ int \hyperlink{structSEND__REQUEST_3126b3ef9d6533d3086760e413a7f23f}{tag}}
-Definition at line 52 of file send.cpp.
+Definition at line 53 of file send.cpp.
The documentation for this struct was generated from the following file:\begin{CompactItemize}
\item
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicable.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicable.3
index d0e543861..b5cc18272 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicable.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicable.3
@@ -1,4 +1,4 @@
-.TH "Communicable" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Communicable" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -33,6 +33,13 @@ Inherited by \fBCooperative\fP, \fBRunner\fP, \fBService\fP, and \fBWorker\fP.
.RI "void \fBresume\fP ()"
.br
.in -1c
+.SS "Static Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "static unsigned \fBnum_comm\fP = 0"
+.br
+.in -1c
.SS "Protected Attributes"
.in +1c
@@ -46,17 +53,10 @@ Inherited by \fBCooperative\fP, \fBRunner\fP, \fBService\fP, and \fBWorker\fP.
.RI "sem_t \fBsem_stop\fP"
.br
.in -1c
-.SS "Static Protected Attributes"
-
-.in +1c
-.ti -1c
-.RI "static unsigned \fBnum_comm\fP = 0"
-.br
-.in -1c
.SH "Detailed Description"
.PP
-Definition at line 44 of file communicable.h.
+Definition at line 45 of file communicable.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicator.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicator.3
index 4c541f2d4..82c1d2eff 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicator.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Communicator.3
@@ -1,4 +1,4 @@
-.TH "Communicator" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Communicator" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -24,4 +24,4 @@ Definition at line 43 of file comm.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Cooperative.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Cooperative.3
index 9aa4a6bc7..9affa3e35 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Cooperative.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Cooperative.3
@@ -1,4 +1,4 @@
-.TH "Cooperative" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Cooperative" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -8,7 +8,7 @@ Cooperative \-
.PP
Inherits \fBCommunicable\fP.
.PP
-Inherited by \fBpeoAsyncIslandMig< EOT >\fP, and \fBpeoSyncIslandMig< EOT >\fP.
+Inherited by \fBpeoAsyncIslandMig< TYPESELECT, TYPEREPLACE >\fP, and \fBpeoSyncIslandMig< TYPESELECT, TYPEREPLACE >\fP.
.PP
.SS "Public Member Functions"
@@ -23,8 +23,20 @@ Inherited by \fBpeoAsyncIslandMig< EOT >\fP, and \fBpeoSyncIslandMig< EOT >\fP.
.RI "void \fBsend\fP (\fBCooperative\fP *__coop)"
.br
.ti -1c
+.RI "void \fBsynchronizeCoopEx\fP ()"
+.br
+.ti -1c
.RI "virtual void \fBnotifySending\fP ()"
.br
+.ti -1c
+.RI "virtual void \fBnotifyReceiving\fP ()"
+.br
+.ti -1c
+.RI "virtual void \fBnotifySendingSyncReq\fP ()"
+.br
+.ti -1c
+.RI "virtual void \fBnotifySynchronized\fP ()"
+.br
.in -1c
.SS "Private Attributes"
@@ -35,8 +47,8 @@ Inherited by \fBpeoAsyncIslandMig< EOT >\fP, and \fBpeoSyncIslandMig< EOT >\fP.
.in -1c
.SH "Detailed Description"
.PP
-Definition at line 45 of file cooperative.h.
+Definition at line 46 of file cooperative.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/DisplayBestRoute.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/DisplayBestRoute.3
index 18f1c70df..bce27b36e 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/DisplayBestRoute.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/DisplayBestRoute.3
@@ -1,4 +1,4 @@
-.TH "DisplayBestRoute" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "DisplayBestRoute" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -31,4 +31,4 @@ Definition at line 46 of file display_best_route.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/MergeRouteEval.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/MergeRouteEval.3
index 96d7907c5..f32169b05 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/MergeRouteEval.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/MergeRouteEval.3
@@ -1,4 +1,4 @@
-.TH "MergeRouteEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "MergeRouteEval" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -21,4 +21,4 @@ Definition at line 44 of file merge_route_eval.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/ReactiveThread.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/ReactiveThread.3
index 8467f49d3..81768da4d 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/ReactiveThread.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/ReactiveThread.3
@@ -1,4 +1,4 @@
-.TH "ReactiveThread" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "ReactiveThread" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -32,8 +32,8 @@ Inherited by \fBCommunicator\fP, and \fBWorker\fP.
.in -1c
.SH "Detailed Description"
.PP
-Definition at line 44 of file reac_thread.h.
+Definition at line 45 of file reac_thread.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/RingTopology.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/RingTopology.3
index a8d404156..d1670c2c4 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/RingTopology.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/RingTopology.3
@@ -1,4 +1,4 @@
-.TH "RingTopology" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "RingTopology" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -21,4 +21,4 @@ Definition at line 42 of file ring_topo.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Runner.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Runner.3
index abdc983ec..318627d66 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Runner.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Runner.3
@@ -1,4 +1,4 @@
-.TH "Runner" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Runner" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -8,7 +8,7 @@ Runner \-
.PP
Inherits \fBCommunicable\fP, and \fBThread\fP.
.PP
-Inherited by \fBpeoEA< EOT >\fP, and \fBpeoParallelAlgorithmWrapper\fP.
+Inherited by \fBpeoWrapper\fP.
.PP
.SS "Public Member Functions"
@@ -17,26 +17,38 @@ Inherited by \fBpeoEA< EOT >\fP, and \fBpeoParallelAlgorithmWrapper\fP.
.RI "\fBRunner\fP ()"
.br
.ti -1c
-.RI "void \fBstart\fP ()"
+.RI "RUNNER_ID \fBgetDefinitionID\fP ()"
+.br
+.ti -1c
+.RI "RUNNER_ID \fBgetExecutionID\fP ()"
+.br
+.ti -1c
+.RI "void \fBsetExecutionID\fP (const RUNNER_ID &execution_id)"
+.br
+.ti -1c
+.RI "bool \fBisAssignedLocally\fP ()"
.br
.ti -1c
.RI "void \fBwaitStarting\fP ()"
.br
.ti -1c
-.RI "bool \fBisLocal\fP ()"
+.RI "void \fBwaitContextInitialization\fP ()"
+.br
+.ti -1c
+.RI "void \fBstart\fP ()"
.br
.ti -1c
.RI "void \fBterminate\fP ()"
.br
.ti -1c
-.RI "RUNNER_ID \fBgetID\fP ()"
-.br
-.ti -1c
-.RI "void \fBpackTermination\fP ()"
+.RI "void \fBnotifyContextInitialized\fP ()"
.br
.ti -1c
.RI "void \fBnotifySendingTermination\fP ()"
.br
+.ti -1c
+.RI "void \fBpackTermination\fP ()"
+.br
.in -1c
.SS "Private Attributes"
@@ -45,13 +57,19 @@ Inherited by \fBpeoEA< EOT >\fP, and \fBpeoParallelAlgorithmWrapper\fP.
.RI "sem_t \fBsem_start\fP"
.br
.ti -1c
-.RI "unsigned \fBid\fP"
+.RI "sem_t \fBsem_cntxt\fP"
+.br
+.ti -1c
+.RI "unsigned \fBdef_id\fP"
+.br
+.ti -1c
+.RI "unsigned \fBexec_id\fP"
.br
.in -1c
.SH "Detailed Description"
.PP
-Definition at line 47 of file runner.h.
+Definition at line 49 of file runner.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/SEND_REQUEST.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/SEND_REQUEST.3
index de6fbfb17..b94ace805 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/SEND_REQUEST.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/SEND_REQUEST.3
@@ -1,4 +1,4 @@
-.TH "SEND_REQUEST" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "SEND_REQUEST" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -21,8 +21,8 @@ SEND_REQUEST \-
.in -1c
.SH "Detailed Description"
.PP
-Definition at line 52 of file send.cpp.
+Definition at line 53 of file send.cpp.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Service.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Service.3
index 242238f59..e13310e07 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Service.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Service.3
@@ -1,4 +1,4 @@
-.TH "Service" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Service" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -8,7 +8,7 @@ Service \-
.PP
Inherits \fBCommunicable\fP.
.PP
-Inherited by \fBpeoPopEval< EOT >\fP, \fBpeoPopEval< eoVector< int, Node > >\fP, \fBpeoSynchronousMultiStart< EntityType >\fP, \fBpeoSynchronousMultiStart< eoVector< int, Node > >\fP, \fBpeoSyncMultiStart< EOT >\fP, and \fBpeoTransform< EOT >\fP.
+Inherited by \fBpeoMultiStart< EntityType >\fP, \fBpeoPopEval< EOT >\fP, \fBpeoPopEval< eoReal< double > >\fP, and \fBpeoTransform< EOT >\fP.
.PP
.SS "Public Member Functions"
@@ -62,8 +62,8 @@ Inherited by \fBpeoPopEval< EOT >\fP, \fBpeoPopEval< eoVector< int, Node > >\fP,
.in -1c
.SH "Detailed Description"
.PP
-Definition at line 45 of file service.h.
+Definition at line 46 of file service.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Thread.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Thread.3
index 668641367..04e88f682 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Thread.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Thread.3
@@ -1,4 +1,4 @@
-.TH "Thread" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Thread" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -37,4 +37,4 @@ Definition at line 44 of file thread.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Topology.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Topology.3
index 5d4e939ee..4f9af66a1 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Topology.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Topology.3
@@ -1,4 +1,4 @@
-.TH "Topology" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Topology" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -6,7 +6,7 @@ Topology \-
.SH SYNOPSIS
.br
.PP
-Inherited by \fBRingTopology\fP.
+Inherited by \fBCompleteTopology\fP, \fBRandomTopology\fP, \fBRingTopology\fP, and \fBStarTopology\fP.
.PP
.SS "Public Member Functions"
@@ -17,6 +17,9 @@ Inherited by \fBRingTopology\fP.
.ti -1c
.RI "void \fBadd\fP (\fBCooperative\fP &__mig)"
.br
+.ti -1c
+.RI "\fBoperator std::vector\fP ()"
+.br
.in -1c
.SS "Protected Attributes"
@@ -31,4 +34,4 @@ Definition at line 44 of file topology.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Worker.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Worker.3
index 2327bb56a..0d7718e0f 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Worker.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/Worker.3
@@ -1,4 +1,4 @@
-.TH "Worker" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "Worker" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -52,13 +52,22 @@ Inherits \fBCommunicable\fP, and \fBReactiveThread\fP.
.RI "int \fBsrc\fP"
.br
.ti -1c
-.RI "bool \fBtoto\fP"
+.RI "bool \fBrecvAndCompleted\fP"
+.br
+.ti -1c
+.RI "unsigned \fBtaskAssigned\fP"
+.br
+.ti -1c
+.RI "sem_t \fBsem_task_done\fP"
+.br
+.ti -1c
+.RI "sem_t \fBsem_task_asgn\fP"
.br
.in -1c
.SH "Detailed Description"
.PP
-Definition at line 46 of file worker.h.
+Definition at line 47 of file worker.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peo.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peo.3
index ed1fecf92..60cb0ec18 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peo.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peo.3
@@ -1,4 +1,4 @@
-.TH "peo" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "peo" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -40,4 +40,4 @@ peo \-
.in -1c
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3
index 4109b0e40..947f6782e 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAggEvalFunc.3
@@ -1,4 +1,4 @@
-.TH "peoAggEvalFunc" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "peoAggEvalFunc" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -30,4 +30,4 @@ Definition at line 53 of file peoAggEvalFunc.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3
index fd5d5126c..6e9be2fb0 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoAsyncIslandMig.3
@@ -1,8 +1,8 @@
-.TH "peoAsyncIslandMig" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "peoAsyncIslandMig" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-peoAsyncIslandMig \- The \fBpeoAsyncIslandMig\fP class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
+peoAsyncIslandMig \- Specific class for a asynchronous migration.
.PP
.SH SYNOPSIS
@@ -16,21 +16,25 @@ Inherits \fBCooperative\fP, and \fBeoUpdater\fP.
.in +1c
.ti -1c
-.RI "\fBpeoAsyncIslandMig\fP (\fBeoContinue\fP< EOT > &__cont, \fBeoSelect\fP< EOT > &__select, \fBeoReplacement\fP< EOT > &__replace, \fBTopology\fP &__topology, \fBeoPop\fP< EOT > &__source, \fBeoPop\fP< EOT > &__destination)"
+.RI "\fBpeoAsyncIslandMig\fP (\fBcontinuator\fP &__cont, \fBselector\fP< TYPESELECT > &__select, \fBreplacement\fP< TYPEREPLACE > &__replace, \fBTopology\fP &__topology)"
.br
-.RI "\fIConstructor for the \fBpeoAsyncIslandMig\fP class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \fBEO\fP, etc., or custom, derived objects may be passed as parameters. \fP"
+.RI "\fIConstructor. \fP"
.ti -1c
.RI "void \fBoperator()\fP ()"
.br
-.RI "\fI\fBFunction\fP operator to be called as checkpoint for performing the migration step. \fP"
+.RI "\fIoperator \fP"
.ti -1c
.RI "void \fBpack\fP ()"
.br
-.RI "\fIAuxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. \fP"
+.RI "\fI\fBFunction\fP realizing packages. \fP"
.ti -1c
.RI "void \fBunpack\fP ()"
.br
-.RI "\fIAuxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. \fP"
+.RI "\fI\fBFunction\fP reconstituting packages. \fP"
+.ti -1c
+.RI "void \fBpackSynchronizeReq\fP ()"
+.br
+.RI "\fI\fBFunction\fP packSynchronizeReq. \fP"
.in -1c
.SS "Private Member Functions"
@@ -38,36 +42,32 @@ Inherits \fBCooperative\fP, and \fBeoUpdater\fP.
.ti -1c
.RI "void \fBemigrate\fP ()"
.br
+.RI "\fI\fBFunction\fP which sends some emigrants. \fP"
.ti -1c
.RI "void \fBimmigrate\fP ()"
.br
+.RI "\fI\fBFunction\fP which receives some immigrants. \fP"
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
-.RI "\fBeoContinue\fP< EOT > & \fBcont\fP"
+.RI "\fBcontinuator\fP & \fBcont\fP"
.br
.ti -1c
-.RI "\fBeoSelect\fP< EOT > & \fBselect\fP"
+.RI "\fBselector\fP< TYPESELECT > & \fBselect\fP"
.br
.ti -1c
-.RI "\fBeoReplacement\fP< EOT > & \fBreplace\fP"
+.RI "\fBreplacement\fP< TYPEREPLACE > & \fBreplace\fP"
.br
.ti -1c
.RI "\fBTopology\fP & \fBtopology\fP"
.br
.ti -1c
-.RI "\fBeoPop\fP< EOT > & \fBsource\fP"
+.RI "std::queue< TYPEREPLACE > \fBimm\fP"
.br
.ti -1c
-.RI "\fBeoPop\fP< EOT > & \fBdestination\fP"
-.br
-.ti -1c
-.RI "std::queue< \fBeoPop\fP< EOT > > \fBimm\fP"
-.br
-.ti -1c
-.RI "std::queue< \fBeoPop\fP< EOT > > \fBem\fP"
+.RI "std::queue< TYPESELECT > \fBem\fP"
.br
.ti -1c
.RI "std::queue< \fBCooperative\fP * > \fBcoop_em\fP"
@@ -76,101 +76,76 @@ Inherits \fBCooperative\fP, and \fBeoUpdater\fP.
.SH "Detailed Description"
.PP
-.SS "template class peoAsyncIslandMig< EOT >"
-The \fBpeoAsyncIslandMig\fP class offers the elementary basis for implementating an asynchronous island migration model - requires the specification of several basic parameters, i.e.
+.SS "template class peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >"
+Specific class for a asynchronous migration.
-continuation criterion, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. As opposed to the synchronous migration model, in the asynchronous migration approach, there is no synchronization step between islands after performing the emigration phase.
-.PP
-The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:
-.PP
-\fBdo\fP { select( population, offsprings ); // select the offsprings from the current population transform( offsprings ); // crossover and mutation operators are applied on the selected offsprings evaluate( offsprings ); // evaluation step of the resulting offsprings replace( population, offsprings ); // replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy } \fBwhile\fP ( eaCheckpointContinue( population ) ); // checkpoint operators are applied on the current population, including the migration operator, if any specified
-.PP
-Constructing an asynchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the \fB\fBRunner\fP\fP class (for example a \fBpeoEA\fP object represents a possible owner). A simple example is offered bellow:
-.PP
-.PD 0
-.IP "1." 4
-topological model to be followed when performing migrations:
-.br
-
-.br
- \fBRingTopology\fP migTopology; // a simple ring topological model - each island communicates with two other islands
-.PP
-
-.IP "2." 4
-the continuation criterion, selection and replacement strategy etc. are defined:
-.br
-
-.br
- eoPop< EOT > population( POP_SIZE, popInitializer ); // population of individuals to be used for the evolutionary algorithm eoPeriodicContinue< EOT > migCont( MIG_FREQ ); // migrations occur periodically at MIG_FREQ iterations eoRandomSelect< EOT > migSelectStrategy; // selection strategy - in this case a random selection is applied eoSelectNumber< EOT > migSelect( migSelectStrategy, MIG_SIZE ); // number of individuals to be selected using the specified strategy eoPlusReplacement< EOT > migReplace; // immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals peoAsyncIslandMig< EOT > asyncMigration(
-.br
- migCont, migSelect, migReplace, migTopology,
-.br
- population, population
-.br
- ); // asynchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated
-.PP
-
-.IP "3." 4
-creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope):
-.br
-
-.br
- ... eoGenContinue< EOT > eaCont( NUM_GEN ); // the evolutionary algorithm will stop after NUM_GEN generations eoCheckPoint< EOT > eaCheckpointContinue( eaCont ); // number of individuals to be selected using the specified strategy ... eaCheckpointContinue.add( asyncMigration ); // adding the migration operator as checkpoint element ...
-.PP
-
-.IP "4." 4
-definition of an owner evolutionary algorithm (an object inheriting the \fB\fBRunner\fP\fP class):
-.br
-
-.br
- peoEA< EOT > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace); // evolutionary algorithm having as checkpoint the eaCheckpointContinue object defined above asyncMigration.setOwner( eaAlg ); // setting the evolutionary algorithm as owner of the migration object eaAlg( population ); // applying the evolutionary algorithm on a given population
-.PP
-.PP
-The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.
-.PP
-The above steps only create an asynchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ migTopology object has to be passed as parameter for all the migration objects, in order to interconnect them).
-.PP
-Definition at line 140 of file peoAsyncIslandMig.h.
-.SH "Constructor & Destructor Documentation"
-.PP
-.SS "template \fBpeoAsyncIslandMig\fP< EOT >::\fBpeoAsyncIslandMig\fP (\fBeoContinue\fP< EOT > & __cont, \fBeoSelect\fP< EOT > & __select, \fBeoReplacement\fP< EOT > & __replace, \fBTopology\fP & __topology, \fBeoPop\fP< EOT > & __source, \fBeoPop\fP< EOT > & __destination)"
-.PP
-Constructor for the \fBpeoAsyncIslandMig\fP class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \fBEO\fP, etc., or custom, derived objects may be passed as parameters.
-.PP
-\fBParameters:\fP
+\fBSee also:\fP
.RS 4
-\fIeoContinue<\fP EOT >& __cont - continuation criterion specifying whether the migration is performed or not;
-.br
-\fIeoSelect<\fP EOT >& __select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population;
-.br
-\fIeoReplacement<\fP EOT >& __replace - replacement strategy used for integrating the immigrant individuals in the destination population;
-.br
-\fITopology&\fP __topology - topological model to be followed when performing migrations;
-.br
-\fIeoPop<\fP EOT >& __source - source population from which the emigrant individuals are selected;
-.br
-\fIeoPop<\fP EOT >& __destination - destination population in which the immigrant population are integrated.
+\fBCooperative\fP \fBeoUpdater\fP
+.RE
+.PP
+\fBVersion:\fP
+.RS 4
+2.0
+.RE
+.PP
+\fBDate:\fP
+.RS 4
+january 2008
.RE
.PP
.PP
-Definition at line 199 of file peoAsyncIslandMig.h.
+Definition at line 64 of file peoAsyncIslandMig.h.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "template \fBpeoAsyncIslandMig\fP< TYPESELECT, TYPEREPLACE >::\fBpeoAsyncIslandMig\fP (\fBcontinuator\fP & __cont, \fBselector\fP< TYPESELECT > & __select, \fBreplacement\fP< TYPEREPLACE > & __replace, \fBTopology\fP & __topology)"
+.PP
+Constructor.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcontinuator\fP & __cont
+.br
+\fIselector\fP & __select
+.br
+\fIreplacement\fP & __replace
+.br
+\fITopology&\fP __topology
+.RE
+.PP
+
+.PP
+Definition at line 114 of file peoAsyncIslandMig.h.
.PP
References Topology::add().
-.SH "Member Function Documentation"
+.SH "Member Data Documentation"
.PP
-.SS "template void \fBpeoAsyncIslandMig\fP< EOT >::operator() ()\fC [virtual]\fP"
+.SS "template \fBcontinuator\fP& \fBpeoAsyncIslandMig\fP< TYPESELECT, TYPEREPLACE >::\fBcont\fP\fC [private]\fP"
.PP
-\fBFunction\fP operator to be called as checkpoint for performing the migration step.
+\fBParameters:\fP
+.RS 4
+\fIcontinuator\fP & cont
+.br
+\fIselector\fP & select
+.br
+\fIreplacement\fP & replace
+.br
+\fITopology&\fP topology
+.br
+\fIstd\fP :: queue< TYPEREPLACE > imm
+.br
+\fIstd\fP :: queue< TYPESELECT > em
+.br
+\fIstd\fP :: queue< Cooperative* > coop_em
+.RE
.PP
-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.
+
.PP
-Implements \fBeoF< void >\fP.
+Definition at line 104 of file peoAsyncIslandMig.h.
.PP
-Definition at line 276 of file peoAsyncIslandMig.h.
-.PP
-References peoAsyncIslandMig< EOT >::cont, peoAsyncIslandMig< EOT >::emigrate(), peoAsyncIslandMig< EOT >::immigrate(), and peoAsyncIslandMig< EOT >::source.
+Referenced by peoAsyncIslandMig< TYPESELECT, TYPEREPLACE >::operator()().
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3
index caa54ee6a..c7d632e51 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoNoAggEvalFunc.3
@@ -1,4 +1,4 @@
-.TH "peoNoAggEvalFunc" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "peoNoAggEvalFunc" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -29,7 +29,23 @@ The \fBpeoNoAggEvalFunc\fP class does nothing more than an association between a
The class is provided as a mean of declaring that no aggregation is required for the evaluation function - the fitness value is explicitly specified.
.PP
Definition at line 47 of file peoNoAggEvalFunc.h.
+.SH "Member Function Documentation"
+.PP
+.SS "template void \fBpeoNoAggEvalFunc\fP< EOT >::operator() (EOT & __sol, const typename EOT::Fitness & __fit)"
+.PP
+Operator which sets as fitness the \fB__fit\fP value for the \fB__sol\fP individual.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIEOT&\fP __sol
+.br
+\fItypename\fP EOT :: Fitness& __fit
+.RE
+.PP
+
+.PP
+Definition at line 59 of file peoNoAggEvalFunc.h.
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoPopEval.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoPopEval.3
index 2b0d9884f..1e9d07ea9 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoPopEval.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoPopEval.3
@@ -1,8 +1,8 @@
-.TH "peoPopEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "peoPopEval" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-peoPopEval \- The \fB\fBpeoPopEval\fP\fP class provides the interface for constructing ParadisEO specific evaluation functors.
+peoPopEval \- Parallel evaluation functor wrapper.
.PP
.SH SYNOPSIS
@@ -10,28 +10,275 @@ peoPopEval \- The \fB\fBpeoPopEval\fP\fP class provides the interface for constr
.PP
\fC#include \fP
.PP
-Inherits \fBService\fP.
-.PP
-Inherited by \fBpeoParaPopEval< EOT >\fP, and \fBpeoSeqPopEval< EOT >\fP.
+Inherits \fBService\fP, and \fBeoPopEvalFunc< EOT >< EOT >\fP.
.PP
.SS "Public Member Functions"
.in +1c
.ti -1c
-.RI "virtual void \fBoperator()\fP (\fBeoPop\fP< EOT > &__pop)=0"
+.RI "\fBpeoPopEval\fP (\fBeoEvalFunc\fP< EOT > &__eval_func)"
+.br
+.RI "\fIConstructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor. \fP"
+.ti -1c
+.RI "\fBpeoPopEval\fP (const std::vector< \fBeoEvalFunc\fP< EOT > * > &__funcs, \fBpeoAggEvalFunc\fP< EOT > &__merge_eval)"
+.br
+.RI "\fIConstructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function. \fP"
+.ti -1c
+.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &__pop)"
+.br
+.RI "\fIOperator for applying the evaluation functor (direct or aggregate) for each individual of the specified population. \fP"
+.ti -1c
+.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &__dummy, \fBeoPop\fP< EOT > &__pop)"
+.br
+.RI "\fIOperator ()( eoPop< EOT >& __dummy, eoPop< EOT >& __pop ). \fP"
+.ti -1c
+.RI "void \fBpackData\fP ()"
+.br
+.RI "\fIAuxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \fP"
+.ti -1c
+.RI "void \fBunpackData\fP ()"
+.br
+.RI "\fIAuxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \fP"
+.ti -1c
+.RI "void \fBexecute\fP ()"
+.br
+.RI "\fIAuxiliary function - it calls the specified evaluation functor(s). There is no need to explicitly call the function. \fP"
+.ti -1c
+.RI "void \fBpackResult\fP ()"
+.br
+.RI "\fIAuxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \fP"
+.ti -1c
+.RI "void \fBunpackResult\fP ()"
+.br
+.RI "\fIAuxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase. \fP"
+.ti -1c
+.RI "void \fBnotifySendingData\fP ()"
+.br
+.RI "\fIAuxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \fP"
+.ti -1c
+.RI "void \fBnotifySendingAllResourceRequests\fP ()"
+.br
+.RI "\fIAuxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase. \fP"
+.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "const std::vector< \fBeoEvalFunc\fP< EOT > * > & \fBfuncs\fP"
+.br
+.ti -1c
+.RI "std::vector< \fBeoEvalFunc\fP< EOT > * > \fBone_func\fP"
+.br
+.ti -1c
+.RI "\fBpeoAggEvalFunc\fP< EOT > & \fBmerge_eval\fP"
+.br
+.ti -1c
+.RI "\fBpeoNoAggEvalFunc\fP< EOT > \fBno_merge_eval\fP"
+.br
+.ti -1c
+.RI "std::queue< EOT * > \fBtasks\fP"
+.br
+.ti -1c
+.RI "std::map< EOT *, std::pair< unsigned, unsigned > > \fBprogression\fP"
+.br
+.ti -1c
+.RI "unsigned \fBnum_func\fP"
+.br
+.ti -1c
+.RI "EOT \fBsol\fP"
+.br
+.ti -1c
+.RI "EOT * \fBad_sol\fP"
+.br
+.ti -1c
+.RI "unsigned \fBtotal\fP"
.br
-.RI "\fIInterface function providing the signature for constructing an evaluation functor. \fP"
.in -1c
.SH "Detailed Description"
.PP
.SS "template class peoPopEval< EOT >"
-The \fB\fBpeoPopEval\fP\fP class provides the interface for constructing ParadisEO specific evaluation functors.
+Parallel evaluation functor wrapper.
-The derived classes may be used as wrappers for \fB\fBEO\fP\fP-derived evaluation functors. In order to have an example, please refer to the implementation of the \fB\fBpeoSeqPopEval\fP\fP and \fB\fBpeoParaPopEval\fP\fP classes.
+\fBSee also:\fP
+.RS 4
+\fBService\fP \fBeoPopEvalFunc\fP
+.RE
.PP
-Definition at line 47 of file peoPopEval.h.
+\fBVersion:\fP
+.RS 4
+1.2
+.RE
+.PP
+\fBDate:\fP
+.RS 4
+2006
+.RE
+.PP
+
+.PP
+Definition at line 53 of file peoPopEval.h.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "template \fBpeoPopEval\fP< EOT >::\fBpeoPopEval\fP (\fBeoEvalFunc\fP< EOT > & __eval_func)"
+.PP
+Constructor function - an EO-derived evaluation functor has to be specified; an internal reference is set towards the specified evaluation functor.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIeoEvalFunc<\fP EOT >& __eval_func - EO-derived evaluation functor to be applied in parallel on each individual of a specified population
+.RE
+.PP
+
+.PP
+Definition at line 132 of file peoPopEval.h.
+.PP
+References peoPopEval< EOT >::one_func.
+.SS "template \fBpeoPopEval\fP< EOT >::\fBpeoPopEval\fP (const std::vector< \fBeoEvalFunc\fP< EOT > * > & __funcs, \fBpeoAggEvalFunc\fP< EOT > & __merge_eval)"
+.PP
+Constructor function - a vector of EO-derived evaluation functors has to be specified as well as an aggregation function.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIconst\fP std :: vector< \fBeoEvalFunc\fP < EOT >* >& __funcs - vector of EO-derived partial evaluation functors;
+.br
+\fIpeoAggEvalFunc<\fP EOT >& __merge_eval - aggregation functor for creating a fitness value out of the partial fitness values.
+.RE
+.PP
+
+.PP
+Definition at line 141 of file peoPopEval.h.
+.SH "Member Function Documentation"
+.PP
+.SS "template void \fBpeoPopEval\fP< EOT >::operator() (\fBeoPop\fP< EOT > & __pop)"
+.PP
+Operator for applying the evaluation functor (direct or aggregate) for each individual of the specified population.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIeoPop<\fP EOT >& __pop - population to be evaluated by applying the evaluation functor specified in the constructor.
+.RE
+.PP
+
+.PP
+Definition at line 154 of file peoPopEval.h.
+.PP
+References peoPopEval< EOT >::funcs, peoPopEval< EOT >::progression, Service::requestResourceRequest(), Communicable::stop(), peoPopEval< EOT >::tasks, and peoPopEval< EOT >::total.
+.PP
+Referenced by peoPopEval< EOT >::operator()().
+.SS "template void \fBpeoPopEval\fP< EOT >::operator() (\fBeoPop\fP< EOT > & __dummy, \fBeoPop\fP< EOT > & __pop)"
+.PP
+Operator ()( eoPop< EOT >& __dummy, eoPop< EOT >& __pop ).
+.PP
+\fBParameters:\fP
+.RS 4
+\fIeoPop<\fP EOT >& __dummy
+.br
+\fIeoPop<\fP EOT >& __pop
+.RE
+.PP
+
+.PP
+Definition at line 149 of file peoPopEval.h.
+.PP
+References peoPopEval< EOT >::operator()().
+.SS "template void \fBpeoPopEval\fP< EOT >::packData ()\fC [virtual]\fP"
+.PP
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+.PP
+There is no need to explicitly call the function.
+.PP
+Reimplemented from \fBService\fP.
+.PP
+Definition at line 176 of file peoPopEval.h.
+.PP
+References peoPopEval< EOT >::progression, and peoPopEval< EOT >::tasks.
+.SS "template void \fBpeoPopEval\fP< EOT >::unpackData ()\fC [virtual]\fP"
+.PP
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+.PP
+There is no need to explicitly call the function.
+.PP
+Reimplemented from \fBService\fP.
+.PP
+Definition at line 190 of file peoPopEval.h.
+.PP
+References peoPopEval< EOT >::ad_sol, peoPopEval< EOT >::num_func, and peoPopEval< EOT >::sol.
+.SS "template void \fBpeoPopEval\fP< EOT >::packResult ()\fC [virtual]\fP"
+.PP
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+.PP
+There is no need to explicitly call the function.
+.PP
+Reimplemented from \fBService\fP.
+.PP
+Definition at line 208 of file peoPopEval.h.
+.PP
+References peoPopEval< EOT >::ad_sol, and peoPopEval< EOT >::sol.
+.SS "template void \fBpeoPopEval\fP< EOT >::unpackResult ()\fC [virtual]\fP"
+.PP
+Auxiliary function for transferring data between the process requesting an evaluation operation and the process that performs the actual evaluation phase.
+.PP
+There is no need to explicitly call the function.
+.PP
+Reimplemented from \fBService\fP.
+.PP
+Definition at line 217 of file peoPopEval.h.
+.PP
+References peoPopEval< EOT >::ad_sol, Service::getOwner(), peoPopEval< EOT >::merge_eval, peoPopEval< EOT >::progression, Communicable::resume(), Thread::setActive(), and peoPopEval< EOT >::total.
+.SS "template void \fBpeoPopEval\fP< EOT >::notifySendingData ()\fC [virtual]\fP"
+.PP
+Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
+.PP
+There is no need to explicitly call the function.
+.PP
+Reimplemented from \fBService\fP.
+.PP
+Definition at line 250 of file peoPopEval.h.
+.SS "template void \fBpeoPopEval\fP< EOT >::notifySendingAllResourceRequests ()\fC [virtual]\fP"
+.PP
+Auxiliary function for notifications between the process requesting an evaluation operation and the processes that performs the actual evaluation phase.
+.PP
+There is no need to explicitly call the function.
+.PP
+Reimplemented from \fBService\fP.
+.PP
+Definition at line 254 of file peoPopEval.h.
+.PP
+References Service::getOwner(), and Thread::setPassive().
+.SH "Member Data Documentation"
+.PP
+.SS "template const std :: vector< \fBeoEvalFunc\fP < EOT >* >& \fBpeoPopEval\fP< EOT >::\fBfuncs\fP\fC [private]\fP"
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstd\fP :: vector< \fBeoEvalFunc\fP < EOT >* >& funcs
+.br
+\fIstd\fP :: vector< \fBeoEvalFunc\fP < EOT >* > one_func
+.br
+\fIpeoAggEvalFunc<\fP EOT >& merge_eval
+.br
+\fIpeoNoAggEvalFunc<\fP EOT > no_merge_eval
+.br
+\fIstd\fP :: queue< EOT* >tasks
+.br
+\fIstd\fP :: map< EOT*, std :: pair< unsigned, unsigned > > progression
+.br
+\fIunsigned\fP num_func
+.br
+\fIEOT\fP sol
+.br
+\fIEOT\fP *ad_sol
+.br
+\fIunsigned\fP total
+.RE
+.PP
+
+.PP
+Definition at line 119 of file peoPopEval.h.
+.PP
+Referenced by peoPopEval< EOT >::execute(), and peoPopEval< EOT >::operator()().
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3
index d9854a182..8f2836a87 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoSyncIslandMig.3
@@ -1,8 +1,8 @@
-.TH "peoSyncIslandMig" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "peoSyncIslandMig" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-peoSyncIslandMig \- The \fBpeoSyncIslandMig\fP class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
+peoSyncIslandMig \- Specific class for a synchronous migration.
.PP
.SH SYNOPSIS
@@ -16,25 +16,41 @@ Inherits \fBCooperative\fP, and \fBeoUpdater\fP.
.in +1c
.ti -1c
-.RI "\fBpeoSyncIslandMig\fP (unsigned __frequency, \fBeoSelect\fP< EOT > &__select, \fBeoReplacement\fP< EOT > &__replace, \fBTopology\fP &__topology, \fBeoPop\fP< EOT > &__source, \fBeoPop\fP< EOT > &__destination)"
+.RI "\fBpeoSyncIslandMig\fP (unsigned __frequency, \fBselector\fP< TYPESELECT > &__select, \fBreplacement\fP< TYPEREPLACE > &__replace, \fBTopology\fP &__topology)"
.br
-.RI "\fIConstructor for the \fBpeoSyncIslandMig\fP class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \fBEO\fP, etc., or custom, derived objects may be passed as parameters. \fP"
+.RI "\fIConstructor. \fP"
.ti -1c
.RI "void \fBoperator()\fP ()"
.br
-.RI "\fI\fBFunction\fP operator to be called as checkpoint for performing the migration step. \fP"
+.RI "\fIoperator \fP"
.ti -1c
.RI "void \fBpack\fP ()"
.br
-.RI "\fIAuxiliary function dealing with sending the emigrant individuals. There is no need to explicitly call the function. \fP"
+.RI "\fI\fBFunction\fP realizing packages. \fP"
.ti -1c
.RI "void \fBunpack\fP ()"
.br
-.RI "\fIAuxiliary function dealing with receiving immigrant individuals. There is no need to explicitly call the function. \fP"
+.RI "\fI\fBFunction\fP reconstituting packages. \fP"
+.ti -1c
+.RI "void \fBpackSynchronizeReq\fP ()"
+.br
+.RI "\fI\fBFunction\fP packSynchronizeReq. \fP"
.ti -1c
.RI "void \fBnotifySending\fP ()"
.br
-.RI "\fIAuxiliary function dealing with migration notifications. There is no need to explicitly call the function. \fP"
+.RI "\fI\fBFunction\fP notifySending. \fP"
+.ti -1c
+.RI "void \fBnotifyReceiving\fP ()"
+.br
+.RI "\fI\fBFunction\fP notifyReceiving. \fP"
+.ti -1c
+.RI "void \fBnotifySendingSyncReq\fP ()"
+.br
+.RI "\fInotifySendingSyncReq \fP"
+.ti -1c
+.RI "void \fBnotifySynchronized\fP ()"
+.br
+.RI "\fInotifySynchronized \fP"
.in -1c
.SS "Private Member Functions"
@@ -50,28 +66,22 @@ Inherits \fBCooperative\fP, and \fBeoUpdater\fP.
.in +1c
.ti -1c
-.RI "\fBeoPeriodicContinue\fP< EOT > \fBcont\fP"
+.RI "\fBeoSyncContinue\fP \fBcont\fP"
.br
.ti -1c
-.RI "\fBeoSelect\fP< EOT > & \fBselect\fP"
+.RI "\fBselector\fP< TYPESELECT > & \fBselect\fP"
.br
.ti -1c
-.RI "\fBeoReplacement\fP< EOT > & \fBreplace\fP"
+.RI "\fBreplacement\fP< TYPEREPLACE > & \fBreplace\fP"
.br
.ti -1c
.RI "\fBTopology\fP & \fBtopology\fP"
.br
.ti -1c
-.RI "\fBeoPop\fP< EOT > & \fBsource\fP"
+.RI "std::queue< TYPEREPLACE > \fBimm\fP"
.br
.ti -1c
-.RI "\fBeoPop\fP< EOT > & \fBdestination\fP"
-.br
-.ti -1c
-.RI "std::queue< \fBeoPop\fP< EOT > > \fBimm\fP"
-.br
-.ti -1c
-.RI "std::queue< \fBeoPop\fP< EOT > > \fBem\fP"
+.RI "std::queue< TYPESELECT > \fBem\fP"
.br
.ti -1c
.RI "std::queue< \fBCooperative\fP * > \fBcoop_em\fP"
@@ -79,105 +89,108 @@ Inherits \fBCooperative\fP, and \fBeoUpdater\fP.
.ti -1c
.RI "sem_t \fBsync\fP"
.br
+.ti -1c
+.RI "bool \fBexplicitPassive\fP"
+.br
+.ti -1c
+.RI "bool \fBstandbyMigration\fP"
+.br
+.ti -1c
+.RI "std::vector< \fBCooperative\fP * > \fBin\fP"
+.br
+.ti -1c
+.RI "std::vector< \fBCooperative\fP * > \fBout\fP"
+.br
+.ti -1c
+.RI "std::vector< \fBCooperative\fP * > \fBall\fP"
+.br
+.ti -1c
+.RI "unsigned \fBnbMigrations\fP"
+.br
.in -1c
.SH "Detailed Description"
.PP
-.SS "template class peoSyncIslandMig< EOT >"
-The \fBpeoSyncIslandMig\fP class offers the elementary basis for implementating a synchronous island migration model - requires the specification of several basic parameters, i.e.
+.SS "template class peoSyncIslandMig< TYPESELECT, TYPEREPLACE >"
+Specific class for a synchronous migration.
-frequency of the migrations, selection and replacement strategies, a topological model and the source and destination population for the migrating individuals. The main difference as opposed to the asynchronous migration model is the synchronization step performed after selecting and sending the emigrant individuals.
-.PP
-The migration operator is called at the end of each generation of an evolutionary algorithms as a checkpoint object - the following code exposes the structure of a classic evolutionary algorithm:
-.PP
-\fBdo\fP { select( population, offsprings ); // select the offsprings from the current population transform( offsprings ); // crossover and mutation operators are applied on the selected offsprings evaluate( offsprings ); // evaluation step of the resulting offspring replace( population, offsprings ); // replace the individuals in the current population whith individuals from the offspring population, according to a specified replacement strategy } \fBwhile\fP ( eaCheckpointContinue( population ) ); // checkpoint operators are applied on the current population, including the migration operator, if any specified
-.PP
-Constructing a synchronous island migration model requires having defined (1) a topological migration model, (2) the control parameters of the migration process, (3) a checkpoint object associated with an evolutionary algorithm, and (4) an owner object must be set. The owner object must be derived from the \fB\fBRunner\fP\fP class (for example a \fBpeoEA\fP object represents a possible owner). A simple example is offered bellow:
-.PP
-.PD 0
-.IP "1." 4
-topological model to be followed when performing migrations:
-.br
-
-.br
- \fBRingTopology\fP migTopology; // a simple ring topological model - each island communicates with two other islands
-.PP
-
-.IP "2." 4
-the continuation criterion, selection and replacement strategy etc. are defined:
-.br
-
-.br
- eoPop< EOT > population( POP_SIZE, popInitializer ); // population of individuals to be used for the evolutionary algorithm eoRandomSelect< EOT > migSelectStrategy; // selection strategy - in this case a random selection is applied eoSelectNumber< EOT > migSelect( migSelectStrategy, MIG_SIZE ); // number of individuals to be selected using the specified strategy eoPlusReplacement< EOT > migReplace; // immigration strategy - the worse individuals in the destination population are replaced by the immigrant individuals peoSyncIslandMig< EOT > syncMigration(
-.br
- MIG_FREQ, migSelect, migReplace, migTopology,
-.br
- population, population
-.br
- ); // synchronous migration object - the emigrant individuals are selected from the same from population in which the immigrant individuals are being integrated
-.PP
-
-.IP "3." 4
-creation of a checkpoint object as part of the definition of an evolutionary algoritm (details of th EA not given as being out of scope):
-.br
-
-.br
- ... eoGenContinue< EOT > eaCont( NUM_GEN ); // the evolutionary algorithm will stop after NUM_GEN generations eoCheckPoint< EOT > eaCheckpointContinue( eaCont ); // number of individuals to be selected using the specified strategy ... eaCheckpointContinue.add( syncMigration ); // adding the migration operator as checkpoint element ...
-.PP
-
-.IP "4." 4
-definition of an owner evolutionary algorithm (an object inheriting the \fB\fBRunner\fP\fP class):
-.br
-
-.br
- peoEA< EOT > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace); // evolutionary algorithm having as checkpoint the eaCheckpointContinue object defined above syncMigration.setOwner( eaAlg ); // setting the evolutionary algorithm as owner of the migration object eaAlg( population ); // applying the evolutionary algorithm on a given population
-.PP
-.PP
-The source and the destination population for the migration object were specified as being the same, in step no. 2, as we are usually interested in selecting the emigrants and integrating the immigrant individuals from and in, respectively, one unique population, iteratively evolved by an evolutionary algorithm. There is no restriction in having two distinct populations as source and destination for the emigrant and immigrant individuals respectively.
-.PP
-The above steps only create a synchronous migration object associated to an evolutionary algorithm. The creation of several islands requires the reiteration of the steps 2 through 4 for creating distinct algorithms, with distinct populations and the associated distinctly parametrized migration objects. The interconnecting element is the underlying topology, defined at step 1 (the same C++ migTopology object has to be passed as parameter for all the migration objects, in order to interconnect them).
-.PP
-Definition at line 142 of file peoSyncIslandMig.h.
-.SH "Constructor & Destructor Documentation"
-.PP
-.SS "template \fBpeoSyncIslandMig\fP< EOT >::\fBpeoSyncIslandMig\fP (unsigned __frequency, \fBeoSelect\fP< EOT > & __select, \fBeoReplacement\fP< EOT > & __replace, \fBTopology\fP & __topology, \fBeoPop\fP< EOT > & __source, \fBeoPop\fP< EOT > & __destination)"
-.PP
-Constructor for the \fBpeoSyncIslandMig\fP class; the characteristics of the migration model are defined through the specified parameters - out of the box objects provided in \fBEO\fP, etc., or custom, derived objects may be passed as parameters.
-.PP
-\fBParameters:\fP
+\fBSee also:\fP
.RS 4
-\fIunsigned\fP __frequency - frequency of the migrations - the migrations occur periodically;
-.br
-\fIeoSelect<\fP EOT >& __select - selection strategy to be applied for constructing a list of emigrant individuals out of the source population;
-.br
-\fIeoReplacement<\fP EOT >& __replace - replacement strategy used for integrating the immigrant individuals in the destination population;
-.br
-\fITopology&\fP __topology - topological model to be followed when performing migrations;
-.br
-\fIeoPop<\fP EOT >& __source - source population from which the emigrant individuals are selected;
-.br
-\fIeoPop<\fP EOT >& __destination - destination population in which the immigrant population are integrated.
+\fBCooperative\fP \fBeoUpdater\fP
+.RE
+.PP
+\fBVersion:\fP
+.RS 4
+2.0
+.RE
+.PP
+\fBDate:\fP
+.RS 4
+january 2008
.RE
.PP
.PP
-Definition at line 206 of file peoSyncIslandMig.h.
-.PP
-References Topology::add(), and peoSyncIslandMig< EOT >::sync.
-.SH "Member Function Documentation"
+Definition at line 71 of file peoSyncIslandMig.h.
+.SH "Constructor & Destructor Documentation"
.PP
-.SS "template void \fBpeoSyncIslandMig\fP< EOT >::operator() ()\fC [virtual]\fP"
+.SS "template \fBpeoSyncIslandMig\fP< TYPESELECT, TYPEREPLACE >::\fBpeoSyncIslandMig\fP (unsigned __frequency, \fBselector\fP< TYPESELECT > & __select, \fBreplacement\fP< TYPEREPLACE > & __replace, \fBTopology\fP & __topology)"
.PP
-\fBFunction\fP operator to be called as checkpoint for performing the migration step.
+Constructor.
.PP
-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.
+\fBParameters:\fP
+.RS 4
+\fIunsigned\fP __frequency
+.br
+\fIselector\fP & __select
+.br
+\fIreplacement\fP & __replace
+.br
+\fITopology&\fP __topology
+.RE
.PP
-Implements \fBeoF< void >\fP.
+
.PP
-Definition at line 280 of file peoSyncIslandMig.h.
+Definition at line 139 of file peoSyncIslandMig.h.
.PP
-References peoSyncIslandMig< EOT >::cont, peoSyncIslandMig< EOT >::emigrate(), Cooperative::getOwner(), peoSyncIslandMig< EOT >::immigrate(), Thread::setActive(), peoSyncIslandMig< EOT >::source, Communicable::stop(), and peoSyncIslandMig< EOT >::sync.
+References Topology::add(), and peoSyncIslandMig< TYPESELECT, TYPEREPLACE >::sync.
+.SH "Member Data Documentation"
+.PP
+.SS "template \fBeoSyncContinue\fP \fBpeoSyncIslandMig\fP< TYPESELECT, TYPEREPLACE >::\fBcont\fP\fC [private]\fP"
+.PP
+\fBParameters:\fP
+.RS 4
+\fI\fBeoSyncContinue\fP\fP cont
+.br
+\fIselector\fP & select
+.br
+\fIreplacement\fP & replace
+.br
+\fITopology&\fP topology
+.br
+\fIstd\fP :: queue< TYPEREPLACE > imm
+.br
+\fIstd\fP :: queue< TYPESELECT > em
+.br
+\fIstd\fP :: queue< Cooperative* > coop_em
+.br
+\fIsem_t\fP sync
+.br
+\fIbool\fP explicitPassive
+.br
+\fIbool\fP standbyMigration
+.br
+\fIstd\fP :: vector< Cooperative* > in, out, all
+.br
+\fIunsigned\fP nbMigrations
+.RE
+.PP
+
+.PP
+Definition at line 124 of file peoSyncIslandMig.h.
+.PP
+Referenced by peoSyncIslandMig< TYPESELECT, TYPEREPLACE >::operator()().
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.
diff --git a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoTransform.3 b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoTransform.3
index 2ffdb3dd9..6a5ad1c37 100644
--- a/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoTransform.3
+++ b/tags/paradiseo-1.1/paradiseo-peo/doc/man/man3/peoTransform.3
@@ -1,8 +1,8 @@
-.TH "peoTransform" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*-
+.TH "peoTransform" 3 "12 Mar 2008" "Version 1.1" "ParadisEO-PEO-ParallelanddistributedEvolvingObjects" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-peoTransform \- The \fBpeoTransform\fP class acts only as an interface for creating transform operators - for an example please refer to the \fB\fBpeoSeqTransform\fP\fP and the \fB\fBpeoParaSGATransform\fP\fP classes.
+peoTransform \- Class for a parallel transform.
.PP
.SH SYNOPSIS
@@ -12,16 +12,168 @@ peoTransform \- The \fBpeoTransform\fP class acts only as an interface for creat
.PP
Inherits \fBService\fP, and \fBeoTransform< EOT >< EOT >\fP.
.PP
-Inherited by \fBpeoParaSGATransform< EOT >\fP, and \fBpeoSeqTransform< EOT >\fP.
-.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "\fBpeoTransform\fP (\fBeoQuadOp\fP< EOT > &__cross, double __cross_rate, \fBeoMonOp\fP< EOT > &__mut, double __mut_rate)"
+.br
+.RI "\fIConstructor. \fP"
+.ti -1c
+.RI "void \fBoperator()\fP (\fBeoPop\fP< EOT > &__pop)"
+.br
+.RI "\fIOperator. \fP"
+.ti -1c
+.RI "void \fBpackData\fP ()"
+.br
+.RI "\fI\fBFunction\fP realizing packages of data. \fP"
+.ti -1c
+.RI "void \fBunpackData\fP ()"
+.br
+.RI "\fI\fBFunction\fP reconstituting packages of data. \fP"
+.ti -1c
+.RI "void \fBexecute\fP ()"
+.br
+.RI "\fI\fBFunction\fP which executes the algorithm. \fP"
+.ti -1c
+.RI "void \fBpackResult\fP ()"
+.br
+.RI "\fI\fBFunction\fP realizing packages of the result. \fP"
+.ti -1c
+.RI "void \fBunpackResult\fP ()"
+.br
+.RI "\fI\fBFunction\fP reconstituting packages of result. \fP"
+.ti -1c
+.RI "void \fBnotifySendingData\fP ()"
+.br
+.RI "\fI\fBFunction\fP notifySendingData. \fP"
+.ti -1c
+.RI "void \fBnotifySendingAllResourceRequests\fP ()"
+.br
+.RI "\fI\fBFunction\fP notifySendingAllResourceRequests. \fP"
+.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBeoQuadOp\fP< EOT > & \fBcross\fP"
+.br
+.ti -1c
+.RI "double \fBcross_rate\fP"
+.br
+.ti -1c
+.RI "\fBeoMonOp\fP< EOT > & \fBmut\fP"
+.br
+.ti -1c
+.RI "double \fBmut_rate\fP"
+.br
+.ti -1c
+.RI "unsigned \fBidx\fP"
+.br
+.ti -1c
+.RI "\fBeoPop\fP< EOT > * \fBpop\fP"
+.br
+.ti -1c
+.RI "EOT \fBfather\fP"
+.br
+.ti -1c
+.RI "EOT \fBmother\fP"
+.br
+.ti -1c
+.RI "unsigned \fBnum_term\fP"
+.br
+.in -1c
.SH "Detailed Description"
.PP
.SS "template class peoTransform< EOT >"
-The \fBpeoTransform\fP class acts only as an interface for creating transform operators - for an example please refer to the \fB\fBpeoSeqTransform\fP\fP and the \fB\fBpeoParaSGATransform\fP\fP classes.
+Class for a parallel transform.
+
+\fBSee also:\fP
+.RS 4
+\fBService\fP \fBeoTransform\fP
+.RE
.PP
-Definition at line 48 of file peoTransform.h.
+\fBVersion:\fP
+.RS 4
+1.1
+.RE
+.PP
+\fBDate:\fP
+.RS 4
+january 2008
+.RE
+.PP
+
+.PP
+Definition at line 53 of file peoTransform.h.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "template \fBpeoTransform\fP< EOT >::\fBpeoTransform\fP (\fBeoQuadOp\fP< EOT > & __cross, double __cross_rate, \fBeoMonOp\fP< EOT > & __mut, double __mut_rate)"
+.PP
+Constructor.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIeoQuadOp<\fP EOT >& __cross
+.br
+\fIdouble\fP __cross_rate
+.br
+\fIeoMonOp<\fP EOT >& __mut
+.br
+\fIdouble\fP __mut_rate
+.RE
+.PP
+
+.PP
+Definition at line 108 of file peoTransform.h.
+.SH "Member Function Documentation"
+.PP
+.SS "template void \fBpeoTransform\fP< EOT >::operator() (\fBeoPop\fP< EOT > & __pop)"
+.PP
+Operator.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIeoPop<\fP EOT >& __pop
+.RE
+.PP
+
+.PP
+Definition at line 176 of file peoTransform.h.
+.PP
+References peoTransform< EOT >::idx, peoTransform< EOT >::num_term, peoTransform< EOT >::pop, Service::requestResourceRequest(), and Communicable::stop().
+.SH "Member Data Documentation"
+.PP
+.SS "template \fBeoQuadOp\fP< EOT >& \fBpeoTransform\fP< EOT >::\fBcross\fP\fC [private]\fP"
+.PP
+\fBParameters:\fP
+.RS 4
+\fIeoQuadOp<\fP EOT >& cross
+.br
+\fIdouble\fP cross_rate
+.br
+\fIeoMonOp<\fP EOT >& mut
+.br
+\fIdouble\fP mut_rate
+.br
+\fIunsigned\fP idx
+.br
+\fIeoPop<\fP EOT >* pop
+.br
+\fIEOT\fP father
+.br
+\fImother\fP
+.br
+\fIunsigned\fP num_term
+.RE
+.PP
+
+.PP
+Definition at line 98 of file peoTransform.h.
+.PP
+Referenced by peoTransform< EOT >::execute().
.SH "Author"
.PP
-Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.
+Generated automatically by Doxygen for ParadisEO-PEO-ParallelanddistributedEvolvingObjects from the source code.