diff --git a/trunk/paradiseo-peo/doc/html/Lesson1_2main_8cpp-source.html b/trunk/paradiseo-peo/doc/html/Lesson1_2main_8cpp-source.html new file mode 100644 index 000000000..9342a2ab5 --- /dev/null +++ b/trunk/paradiseo-peo/doc/html/Lesson1_2main_8cpp-source.html @@ -0,0 +1,136 @@ + +
+00001 /* +00002 * <main.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "route.h" +00038 #include "route_init.h" +00039 #include "route_eval.h" +00040 +00041 #include "order_xover.h" +00042 #include "city_swap.h" +00043 +00044 #include "param.h" +00045 +00046 #include <peo> +00047 +00048 +00049 #define POP_SIZE 10 +00050 #define NUM_GEN 100 +00051 #define CROSS_RATE 1.0 +00052 #define MUT_RATE 0.01 +00053 +00054 +00055 int main( int __argc, char** __argv ) { +00056 +00057 // initializing the ParadisEO-PEO environment +00058 peo :: init( __argc, __argv ); +00059 +00060 +00061 // processing the command line specified parameters +00062 loadParameters( __argc, __argv ); +00063 +00064 +00065 // init, eval operators, EA operators ------------------------------------------------------------------------------------------------------------- +00066 +00067 RouteInit route_init; // random init object - creates random Route objects +00068 RouteEval full_eval; // evaluator object - offers a fitness value for a specified Route object +00069 +00070 OrderXover crossover; // crossover operator - creates two offsprings out of two specified parents +00071 CitySwap mutation; // mutation operator - randomly mutates one gene for a specified individual +00072 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00073 +00074 +00075 // evolutionary algorithm components -------------------------------------------------------------------------------------------------------------- +00076 +00077 eoPop< Route > population( POP_SIZE, route_init ); // initial population for the algorithm having POP_SIZE individuals +00078 peoSeqPopEval< Route > eaPopEval( full_eval ); // evaluator object - to be applied at each iteration on the entire population +00079 +00080 eoGenContinue< Route > eaCont( NUM_GEN ); // continuation criterion - the algorithm will iterate for NUM_GEN generations +00081 eoCheckPoint< Route > eaCheckpointContinue( eaCont ); // checkpoint object - verify at each iteration if the continuation criterion is met +00082 +00083 eoRankingSelect< Route > selectionStrategy; // selection strategy - applied at each iteration for selecting parent individuals +00084 eoSelectNumber< Route > eaSelect( selectionStrategy, POP_SIZE ); // selection object - POP_SIZE individuals are selected at each iteration +00085 +00086 // transform operator - includes the crossover and the mutation operators with a specified associated rate +00087 eoSGATransform< Route > transform( crossover, CROSS_RATE, mutation, MUT_RATE ); +00088 peoSeqTransform< Route > eaTransform( transform ); // ParadisEO transform operator (please remark the peo prefix) - wraps an e EO transform object +00089 +00090 eoPlusReplacement< Route > eaReplace; // replacement strategy - for replacing the initial population with offspring individuals +00091 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00092 +00093 +00094 // ParadisEO-PEO evolutionary algorithm ----------------------------------------------------------------------------------------------------------- +00095 +00096 peoEA< Route > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace ); +00097 +00098 eaAlg( population ); // specifying the initial population for the algorithm, to be iteratively evolved +00099 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00100 +00101 +00102 peo :: run( ); +00103 peo :: finalize( ); +00104 // shutting down the ParadisEO-PEO environment +00105 +00106 return 0; +00107 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/Lesson2_2main_8cpp-source.html b/trunk/paradiseo-peo/doc/html/Lesson2_2main_8cpp-source.html
new file mode 100644
index 000000000..1c9f16bfe
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/Lesson2_2main_8cpp-source.html
@@ -0,0 +1,168 @@
+
+
+00001 /* +00002 * <main.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "route.h" +00038 #include "route_init.h" +00039 #include "route_eval.h" +00040 +00041 #include "order_xover.h" +00042 #include "city_swap.h" +00043 +00044 #include "param.h" +00045 +00046 #include "merge_route_eval.h" +00047 #include "part_route_eval.h" +00048 +00049 +00050 #include <peo> +00051 +00052 +00053 #define POP_SIZE 10 +00054 #define NUM_GEN 100 +00055 #define CROSS_RATE 1.0 +00056 #define MUT_RATE 0.01 +00057 +00058 #define NUM_PART_EVALS 2 +00059 +00060 +00061 // by default, parallel evaluation of the population is performed; +00062 // for parallel fitness evaluation, uncomment the following line +00063 +00064 // #define PARALLEL_FIT_EVALUATION +00065 +00066 +00067 int main( int __argc, char** __argv ) { +00068 +00069 // initializing the ParadisEO-PEO environment +00070 peo :: init( __argc, __argv ); +00071 +00072 +00073 // processing the command line specified parameters +00074 loadParameters( __argc, __argv ); +00075 +00076 +00077 // init, eval operators, EA operators ------------------------------------------------------------------------------------------------------------- +00078 +00079 RouteInit route_init; // random init object - creates random Route objects +00080 RouteEval full_eval; // evaluator object - offers a fitness value for a specified Route object +00081 +00082 OrderXover crossover; // crossover operator - creates two offsprings out of two specified parents +00083 CitySwap mutation; // mutation operator - randomly mutates one gene for a specified individual +00084 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00085 +00086 +00087 // evolutionary algorithm components -------------------------------------------------------------------------------------------------------------- +00088 +00089 eoPop< Route > population( POP_SIZE, route_init ); // initial population for the algorithm having POP_SIZE individuals +00090 +00091 +00092 #ifdef PARALLEL_FIT_EVALUATION +00093 +00094 MergeRouteEval merge_eval; +00095 +00096 std :: vector< eoEvalFunc< Route >* > part_eval; +00097 for ( unsigned index = 1; index <= NUM_PART_EVALS; index++ ) +00098 part_eval.push_back( new PartRouteEval( ( float )( index - 1 ) / NUM_PART_EVALS, ( float )index / NUM_PART_EVALS ) ); +00099 +00100 peoParaPopEval< Route > ox_pop_eval( part_eval, merge_eval ); +00101 +00102 #else +00103 +00104 peoParaPopEval< Route > ox_pop_eval( full_eval ); +00105 +00106 #endif +00107 +00108 +00109 +00110 peoParaPopEval< Route > eaPopEval( full_eval ); // evaluator object - to be applied at each iteration on the entire population +00111 +00112 eoGenContinue< Route > eaCont( NUM_GEN ); // continuation criterion - the algorithm will iterate for NUM_GEN generations +00113 eoCheckPoint< Route > eaCheckpointContinue( eaCont ); // checkpoint object - verify at each iteration if the continuation criterion is met +00114 +00115 eoRankingSelect< Route > selectionStrategy; // selection strategy - applied at each iteration for selecting parent individuals +00116 eoSelectNumber< Route > eaSelect( selectionStrategy, POP_SIZE ); // selection object - POP_SIZE individuals are selected at each iteration +00117 +00118 // transform operator - includes the crossover and the mutation operators with a specified associated rate +00119 eoSGATransform< Route > transform( crossover, CROSS_RATE, mutation, MUT_RATE ); +00120 peoSeqTransform< Route > eaTransform( transform ); // ParadisEO transform operator (please remark the peo prefix) - wraps an e EO transform object +00121 +00122 eoPlusReplacement< Route > eaReplace; // replacement strategy - for replacing the initial population with offspring individuals +00123 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00124 +00125 +00126 // ParadisEO-PEO evolutionary algorithm ----------------------------------------------------------------------------------------------------------- +00127 +00128 peoEA< Route > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace ); +00129 +00130 eaAlg( population ); // specifying the initial population for the algorithm, to be iteratively evolved +00131 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00132 +00133 +00134 peo :: run( ); +00135 peo :: finalize( ); +00136 // shutting down the ParadisEO-PEO environment +00137 +00138 return 0; +00139 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/Lesson3_2main_8cpp-source.html b/trunk/paradiseo-peo/doc/html/Lesson3_2main_8cpp-source.html
new file mode 100644
index 000000000..95fcf0fac
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/Lesson3_2main_8cpp-source.html
@@ -0,0 +1,217 @@
+
+
+00001 /* +00002 * <main.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "route.h" +00038 #include "route_init.h" +00039 #include "route_eval.h" +00040 +00041 #include "order_xover.h" +00042 #include "city_swap.h" +00043 +00044 #include "param.h" +00045 +00046 +00047 #include <peo> +00048 +00049 +00050 #define POP_SIZE 10 +00051 #define NUM_GEN 100 +00052 #define CROSS_RATE 1.0 +00053 #define MUT_RATE 0.01 +00054 +00055 #define MIG_FREQ 10 +00056 #define MIG_SIZE 5 +00057 +00058 +00059 int main( int __argc, char** __argv ) { +00060 +00061 // initializing the ParadisEO-PEO environment +00062 peo :: init( __argc, __argv ); +00063 +00064 +00065 // processing the command line specified parameters +00066 loadParameters( __argc, __argv ); +00067 +00068 +00069 // init, eval operators, EA operators ------------------------------------------------------------------------------------------------------------- +00070 +00071 RouteInit route_init; // random init object - creates random Route objects +00072 RouteEval full_eval; // evaluator object - offers a fitness value for a specified Route object +00073 +00074 OrderXover crossover; // crossover operator - creates two offsprings out of two specified parents +00075 CitySwap mutation; // mutation operator - randomly mutates one gene for a specified individual +00076 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00077 +00078 +00079 // evolutionary algorithm components -------------------------------------------------------------------------------------------------------------- +00080 +00081 eoPop< Route > population( POP_SIZE, route_init ); // initial population for the algorithm having POP_SIZE individuals +00082 peoParaPopEval< Route > eaPopEval( full_eval ); // evaluator object - to be applied at each iteration on the entire population +00083 +00084 eoGenContinue< Route > eaCont( NUM_GEN ); // continuation criterion - the algorithm will iterate for NUM_GEN generations +00085 eoCheckPoint< Route > eaCheckpointContinue( eaCont ); // checkpoint object - verify at each iteration if the continuation criterion is met +00086 +00087 eoRankingSelect< Route > selectionStrategy; // selection strategy - applied at each iteration for selecting parent individuals +00088 eoSelectNumber< Route > eaSelect( selectionStrategy, POP_SIZE ); // selection object - POP_SIZE individuals are selected at each iteration +00089 +00090 // transform operator - includes the crossover and the mutation operators with a specified associated rate +00091 eoSGATransform< Route > transform( crossover, CROSS_RATE, mutation, MUT_RATE ); +00092 peoSeqTransform< Route > eaTransform( transform ); // ParadisEO transform operator (please remark the peo prefix) - wraps an e EO transform object +00093 +00094 eoPlusReplacement< Route > eaReplace; // replacement strategy - for replacing the initial population with offspring individuals +00095 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00096 +00097 +00098 +00099 RingTopology topology; +00100 +00101 // migration policy and components ---------------------------------------------------------------------------------------------------------------- +00102 +00103 eoPeriodicContinue< Route > mig_cont( MIG_FREQ ); // migration occurs periodically +00104 +00105 eoRandomSelect< Route > mig_select_one; // emigrants are randomly selected +00106 eoSelectNumber< Route > mig_select( mig_select_one, MIG_SIZE ); +00107 +00108 eoPlusReplacement< Route > mig_replace; // immigrants replace the worse individuals +00109 +00110 peoSyncIslandMig< Route > mig( MIG_FREQ, mig_select, mig_replace, topology, population, population ); +00111 //peoAsyncIslandMig< Route > mig( mig_cont, mig_select, mig_replace, topology, population, population ); +00112 +00113 eaCheckpointContinue.add( mig ); +00114 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00115 +00116 +00117 +00118 +00119 +00120 // ParadisEO-PEO evolutionary algorithm ----------------------------------------------------------------------------------------------------------- +00121 +00122 peoEA< Route > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace ); +00123 +00124 mig.setOwner( eaAlg ); +00125 +00126 eaAlg( population ); // specifying the initial population for the algorithm, to be iteratively evolved +00127 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00128 +00129 +00130 +00131 +00132 // evolutionary algorithm components -------------------------------------------------------------------------------------------------------------- +00133 +00134 eoPop< Route > population2( POP_SIZE, route_init ); // initial population for the algorithm having POP_SIZE individuals +00135 peoParaPopEval< Route > eaPopEval2( full_eval ); // evaluator object - to be applied at each iteration on the entire population +00136 +00137 eoGenContinue< Route > eaCont2( NUM_GEN ); // continuation criterion - the algorithm will iterate for NUM_GEN generations +00138 eoCheckPoint< Route > eaCheckpointContinue2( eaCont2 ); // checkpoint object - verify at each iteration if the continuation criterion is met +00139 +00140 eoRankingSelect< Route > selectionStrategy2; // selection strategy - applied at each iteration for selecting parent individuals +00141 eoSelectNumber< Route > eaSelect2( selectionStrategy2, POP_SIZE ); // selection object - POP_SIZE individuals are selected at each iteration +00142 +00143 // transform operator - includes the crossover and the mutation operators with a specified associated rate +00144 eoSGATransform< Route > transform2( crossover, CROSS_RATE, mutation, MUT_RATE ); +00145 peoSeqTransform< Route > eaTransform2( transform2 ); // ParadisEO transform operator (please remark the peo prefix) - wraps an e EO transform object +00146 +00147 eoPlusReplacement< Route > eaReplace2; // replacement strategy - for replacing the initial population with offspring individuals +00148 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00149 +00150 +00151 +00152 +00153 // migration policy and components ---------------------------------------------------------------------------------------------------------------- +00154 +00155 eoPeriodicContinue< Route > mig_cont2( MIG_FREQ ); // migration occurs periodically +00156 +00157 eoRandomSelect< Route > mig_select_one2; // emigrants are randomly selected +00158 eoSelectNumber< Route > mig_select2( mig_select_one2, MIG_SIZE ); +00159 +00160 eoPlusReplacement< Route > mig_replace2; // immigrants replace the worse individuals +00161 +00162 peoSyncIslandMig< Route > mig2( MIG_FREQ, mig_select2, mig_replace2, topology, population2, population2 ); +00163 //peoAsyncIslandMig< Route > mig2( mig_cont2, mig_select2, mig_replace2, topology, population2, population2 ); +00164 +00165 eaCheckpointContinue2.add( mig2 ); +00166 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00167 +00168 +00169 +00170 +00171 +00172 // ParadisEO-PEO evolutionary algorithm ----------------------------------------------------------------------------------------------------------- +00173 +00174 peoEA< Route > eaAlg2( eaCheckpointContinue2, eaPopEval2, eaSelect2, eaTransform2, eaReplace2 ); +00175 +00176 mig2.setOwner( eaAlg2 ); +00177 +00178 eaAlg2( population2 ); // specifying the initial population for the algorithm, to be iteratively evolved +00179 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00180 +00181 +00182 +00183 peo :: run( ); +00184 peo :: finalize( ); +00185 // shutting down the ParadisEO-PEO environment +00186 +00187 return 0; +00188 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/LessonParallelAlgorithm_2main_8cpp-source.html b/trunk/paradiseo-peo/doc/html/LessonParallelAlgorithm_2main_8cpp-source.html
new file mode 100644
index 000000000..147881a07
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/LessonParallelAlgorithm_2main_8cpp-source.html
@@ -0,0 +1,366 @@
+
+
+00001 // "main.cpp" +00002 +00003 // (c) OPAC Team, LIFL, January 2006 +00004 +00005 /* +00006 Contact: paradiseo-help@lists.gforge.inria.fr +00007 */ +00008 +00009 #include <eo> +00010 #include <paradiseo> +00011 +00012 #include <peoParallelAlgorithmWrapper.h> +00013 #include <peoSynchronousMultiStart.h> +00014 +00015 +00016 +00017 #include "route.h" +00018 #include "route_init.h" +00019 #include "route_eval.h" +00020 +00021 #include "order_xover.h" +00022 #include "city_swap.h" +00023 +00024 #include "param.h" +00025 +00026 +00027 +00028 +00029 #include <mo.h> +00030 +00031 #include <graph.h> +00032 #include <route.h> +00033 #include <route_eval.h> +00034 #include <route_init.h> +00035 +00036 #include <two_opt.h> +00037 #include <two_opt_init.h> +00038 #include <two_opt_next.h> +00039 #include <two_opt_incr_eval.h> +00040 +00041 +00042 +00043 #define RANDOM_POP_SIZE 30 +00044 #define RANDOM_ITERATIONS 10 +00045 +00046 +00047 #define POP_SIZE 10 +00048 #define NUM_GEN 100 +00049 #define CROSS_RATE 1.0 +00050 #define MUT_RATE 0.01 +00051 +00052 #define NUMBER_OF_POPULATIONS 3 +00053 +00054 +00055 +00056 struct RandomExplorationAlgorithm { +00057 +00058 RandomExplorationAlgorithm( peoPopEval< Route >& __popEval, peoSynchronousMultiStart< Route >& extParallelExecution ) +00059 : popEval( __popEval ), parallelExecution( extParallelExecution ) { +00060 } +00061 +00062 +00063 // the sequential algorithm to be executed in parallel by the wrapper +00064 void operator()() { +00065 +00066 RouteInit route_init; // random init object - creates random Route objects +00067 RouteEval route_eval; +00068 eoPop< Route > population( RANDOM_POP_SIZE, route_init ); +00069 +00070 popEval( population ); +00071 +00072 +00073 // executing HCs on the population in parallel +00074 parallelExecution( population ); +00075 +00076 +00077 +00078 // just to show off :: HCs on a vector of Route objects +00079 { +00080 Route* rVect = new Route[ 5 ]; +00081 for ( unsigned int index = 0; index < 5; index++ ) { +00082 +00083 route_init( rVect[ index ] ); route_eval( rVect[ index ] ); +00084 } +00085 +00086 // applying the HCs on the vector of Route objects +00087 parallelExecution( rVect, rVect + 5 ); +00088 delete[] rVect; +00089 } +00090 +00091 +00092 +00093 Route bestRoute = population.best_element(); +00094 +00095 for ( unsigned int index = 0; index < RANDOM_ITERATIONS; index++ ) { +00096 +00097 for ( unsigned int routeIndex = 0; routeIndex < RANDOM_POP_SIZE; routeIndex++ ) { +00098 +00099 route_init( population[ routeIndex ] ); +00100 } +00101 +00102 popEval( population ); +00103 +00104 if ( fabs( population.best_element().fitness() ) < fabs( bestRoute.fitness() ) ) bestRoute = population.best_element(); +00105 +00106 std::cout << "Random Iteration #" << index << "... [ " << bestRoute.fitness() << " ]" << std::flush << std::endl; +00107 } +00108 } +00109 +00110 +00111 peoPopEval< Route >& popEval; +00112 peoSynchronousMultiStart< Route >& parallelExecution; +00113 }; +00114 +00115 +00116 +00117 +00118 int main( int __argc, char** __argv ) { +00119 +00120 srand( time(NULL) ); +00121 +00122 +00123 +00124 // initializing the ParadisEO-PEO environment +00125 peo :: init( __argc, __argv ); +00126 +00127 +00128 // processing the command line specified parameters +00129 loadParameters( __argc, __argv ); +00130 +00131 +00132 +00133 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00134 // #1 An EO evolutionary algorithm to be executed in parallel with other algorithms (no parallel evaluation, no etc.). +00135 +00136 // init, eval operators, EA operators ------------------------------------------------------------------------------------------------------------- +00137 RouteInit route_init; // random init object - creates random Route objects +00138 RouteEval full_eval; // evaluator object - offers a fitness value for a specified Route object +00139 +00140 OrderXover crossover; // crossover operator - creates two offsprings out of two specified parents +00141 CitySwap mutation; // mutation operator - randomly mutates one gene for a specified individual +00142 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00143 +00144 +00145 // evolutionary algorithm components -------------------------------------------------------------------------------------------------------------- +00146 +00147 eoPop< Route > population( POP_SIZE, route_init ); // initial population for the algorithm having POP_SIZE individuals +00148 +00149 eoGenContinue< Route > eaCont( NUM_GEN ); // continuation criterion - the algorithm will iterate for NUM_GEN generations +00150 eoCheckPoint< Route > eaCheckpointContinue( eaCont ); // checkpoint object - verify at each iteration if the continuation criterion is met +00151 +00152 eoRankingSelect< Route > selectionStrategy; // selection strategy - applied at each iteration for selecting parent individuals +00153 eoSelectNumber< Route > eaSelect( selectionStrategy, POP_SIZE ); // selection object - POP_SIZE individuals are selected at each iteration +00154 +00155 // transform operator - includes the crossover and the mutation operators with a specified associated rate +00156 eoSGATransform< Route > transform( crossover, CROSS_RATE, mutation, MUT_RATE ); +00157 +00158 eoPlusReplacement< Route > eaReplace; // replacement strategy - for replacing the initial population with offspring individuals +00159 // ------------------------------------------------------------------------------------------------------------------------------------------------ +00160 +00161 +00162 +00163 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +00164 // SEQENTIAL ALGORITHM DEFINITION ----------------------------------------------------------------------------------------------------------------- +00165 eoEasyEA< Route > eaAlg( eaCheckpointContinue, full_eval, eaSelect, transform, eaReplace ); +00166 // SEQENTIAL ALGORITHM DEFINITION ----------------------------------------------------------------------------------------------------------------- +00167 +00168 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00169 peoParallelAlgorithmWrapper parallelEAAlg( eaAlg, population ); // specifying the embedded algorithm and the algorithm input data +00170 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00171 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +00172 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00173 +00174 +00175 +00176 +00177 +00178 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00179 // #2 A MO hill climbing to be executed in parallel with other algorithms (no parallel evaluation, no etc.). +00180 +00181 if ( getNodeRank() == 1 ) { +00182 +00183 Graph::load( __argv [ 1 ] ); +00184 } +00185 +00186 Route route; +00187 RouteInit init; init( route ); +00188 RouteEval full_evalHC; full_evalHC( route ); +00189 +00190 if ( getNodeRank() == 1 ) { +00191 +00192 std :: cout << "[From] " << route << std :: endl; +00193 } +00194 +00195 +00196 TwoOptInit two_opt_init; +00197 TwoOptNext two_opt_next; +00198 TwoOptIncrEval two_opt_incr_eval; +00199 +00200 moBestImprSelect< TwoOpt > two_opt_select; +00201 +00202 +00203 +00204 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +00205 // SEQENTIAL ALGORITHM DEFINITION ----------------------------------------------------------------------------------------------------------------- +00206 moHC< TwoOpt > hill_climbing( two_opt_init, two_opt_next, two_opt_incr_eval, two_opt_select, full_evalHC ); +00207 // SEQENTIAL ALGORITHM DEFINITION ----------------------------------------------------------------------------------------------------------------- +00208 +00209 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00210 peoParallelAlgorithmWrapper parallelHillClimbing( hill_climbing, route ); // specifying the embedded algorithm and the algorithm input data +00211 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00212 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +00213 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00214 +00215 +00216 +00217 +00218 +00219 +00220 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00221 // #3 A user defined algorithm to be executed in parallel with other algorithms - parallel evaluation and synchronous +00222 // multi-start of several hill-climbing algorithms (inside the user defined algorithm)!!. +00223 +00224 RouteEval full_evalRandom; +00225 peoParaPopEval< Route > randomParaEval( full_evalRandom ); +00226 +00227 +00228 peoSynchronousMultiStart< Route > parallelExecution( hill_climbing ); +00229 +00230 RandomExplorationAlgorithm randomExplorationAlgorithm( randomParaEval, parallelExecution ); +00231 +00232 +00233 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00234 peoParallelAlgorithmWrapper parallelRandExp( randomExplorationAlgorithm ); // specifying the embedded algorithm - no input data in this case +00235 +00236 randomParaEval.setOwner( parallelRandExp ); +00237 parallelExecution.setOwner( parallelRandExp ); +00238 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00239 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00240 +00241 +00242 +00243 +00244 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00245 // #4 Synchronous Multi-Start: several hill-climbing algorithms launched in parallel on different initial solutions +00246 +00247 RouteInit ex_hc_route_init; // random init object - creates random Route objects +00248 RouteEval ex_hc_full_eval; // evaluator object - offers a fitness value for a specified Route object +00249 +00250 eoPop< Route > ex_hc_population( POP_SIZE, ex_hc_route_init ); +00251 +00252 for ( unsigned int index = 0; index < POP_SIZE; index++ ) { +00253 +00254 ex_hc_full_eval( ex_hc_population[ index ] ); +00255 } +00256 +00257 +00258 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00259 peoSynchronousMultiStart< Route > ex_hc_parallelExecution( hill_climbing ); +00260 peoParallelAlgorithmWrapper ex_hc_parallel( ex_hc_parallelExecution, ex_hc_population ); // specifying the embedded algorithm - no input data in this case +00261 +00262 ex_hc_parallelExecution.setOwner( ex_hc_parallel ); +00263 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00264 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00265 +00266 +00267 +00268 +00269 +00270 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00271 // #5 Synchronous Multi-Start: Multiple EO evolutionary algorithms to be executed in parallel +00272 // (inside different processes, on different populations; no parallel evaluation, no etc.). +00273 +00274 RouteInit ex_route_init; // random init object - creates random Route objects +00275 RouteEval ex_full_eval; // evaluator object - offers a fitness value for a specified Route object +00276 +00277 std::vector< eoPop< Route > > ex_population; +00278 ex_population.resize( NUMBER_OF_POPULATIONS ); +00279 +00280 for ( unsigned int indexPop = 0; indexPop < NUMBER_OF_POPULATIONS; indexPop++ ) { +00281 +00282 ex_population[ indexPop ].resize( POP_SIZE ); +00283 +00284 for ( unsigned int index = 0; index < POP_SIZE; index++ ) { +00285 +00286 ex_route_init( ex_population[ indexPop ][ index ] ); +00287 ex_full_eval( ex_population[ indexPop ][ index ] ); +00288 } +00289 } +00290 +00291 +00292 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00293 peoSynchronousMultiStart< eoPop< Route > > ex_parallelExecution( eaAlg ); +00294 peoParallelAlgorithmWrapper ex_parallel( ex_parallelExecution, ex_population ); // specifying the embedded algorithm - no input data in this case +00295 +00296 ex_parallelExecution.setOwner( ex_parallel ); +00297 // SETTING UP THE PARALLEL WRAPPER ---------------------------------------------------------------------------------------------------------------- +00298 // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +00299 +00300 +00301 +00302 +00303 +00304 +00305 peo :: run( ); +00306 peo :: finalize( ); +00307 // shutting down the ParadisEO-PEO environment +00308 +00309 +00310 +00311 // the algorithm is executed in the #1 rank process +00312 if ( getNodeRank() == 1 ) { +00313 +00314 std :: cout << "[To] " << route << std :: endl << std::endl; +00315 +00316 +00317 std :: cout << "Synchronous Multi-Start HCs:" << std :: endl ; +00318 for ( unsigned int index = 0; index < POP_SIZE; index++ ) { +00319 +00320 std::cout << ex_hc_population[ index ] << std::endl; +00321 } +00322 std::cout << std::endl << std::endl; +00323 +00324 +00325 std :: cout << "Synchronous Multi-Start EAs:" << std :: endl ; +00326 for ( unsigned int index = 0; index < NUMBER_OF_POPULATIONS; index++ ) { +00327 +00328 std::cout << ex_population[ index ] << std::endl; +00329 } +00330 std::cout << std::endl << std::flush; +00331 +00332 } +00333 +00334 +00335 +00336 return 0; +00337 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/README-source.html b/trunk/paradiseo-peo/doc/html/README-source.html
new file mode 100644
index 000000000..4aa422480
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/README-source.html
@@ -0,0 +1,107 @@
+
+
+00001 PARADISEO-PEO README FILE +00002 ======================================================================= +00003 check latest news at http://paradiseo.gforge.inria.fr/ +00004 ======================================================================= +00005 +00006 Welcome to ParadisEO-PEO, the Parallel Evolving Objects library. +00007 The latest news about ParadisEO-PEO can be found on the gforge repository at +00008 http://paradiseo.gforge.inria.fr/ +00009 In case of any problem, please e-mail us at +00010 paradiseo-help@lists.gforge.inria.fr +00011 +00012 +00013 ======================================================================= +00014 BUILDING PARADISEO-PEO +00015 ======================================================================= +00016 The basic installation procedure goes the following. +00017 +00018 To compile paradiseo-peo in the default directory, +00019 go to paradiseo-peo/build/ and run: +00020 > cmake ../ -Dconfig=<path to the install.cmake file> +00021 > make +00022 // for an easy-use of the provided lessons +00023 > make install +00024 // optional (if the documentation is not already available) +00025 > make doc +00026 +00027 To compile paradiseo-peo anywhere else, simply run: +00028 > cmake $(PEO) -Dconfig=<path to the install.cmake file> +00029 > make +00030 // for an easy-use of the provided lessons +00031 > make install +00032 // optional (if the documentation is not already available) +00033 > make doc +00034 +00035 To clean everything, simply run +00036 > make clean +00037 +00038 +00039 =================================================================== +00040 DIRECTORY STRUCTURE +00041 =================================================================== +00042 After unpacking the archive file, you should end up with the following +00043 structure: +00044 +00045 .../ The main PARADISEO-PEO directory, created when unpacking. +00046 | +00047 +-- build BUILD directory that contains libraries and executable files. +00048 | +00049 +-- src SOURCE directory Contains most PARADISEO-PEO .h files. +00050 | +00051 +-- doc DOCUMENTATION directory (generated by Doxygen). +00052 | | +00053 | +- html HTML files - start at index.html. +00054 | | +00055 | +- latex latex files - use to generate Postcript doc. +00056 | | +00057 | +- man Unix man format documentation. +00058 | +00059 | +00060 +-- tutorial APPLICATIONS - one directory per separate application. +00061 | +00062 +-- examples Examples repository including source code shared by all or most of the included lessons. +00063 | | +00064 | +- tsp A Traveling Salesman Problem (TSP) example with benchmarks, the main operators, definitions, etc. +00065 | +00066 +-- Lesson1 A simple ParadisEO-PEO evolutionary algorithm example using the peoEA class. +00067 | +00068 +-- Lesson2 Example of an EA featuring a parallel evaluation of the population/parallel fitness function evaluation. +00069 | +00070 +-- Lesson3 Example of an asynchronous insular model including two evolutionary algorithms. +00071 | +00072 +-- Walkthrough Walkthrough ParadisEO-PEO features - EA+LS hybridization, parallelization, insular model. +00073 +00074 =================================================================== +00075 NOTES +00076 =================================================================== +00077 +00078 Mailing list : paradiseo-help@lists.gforge.inria.fr +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/city__swap_8cpp-source.html b/trunk/paradiseo-peo/doc/html/city__swap_8cpp-source.html
new file mode 100644
index 000000000..cae89d871
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/city__swap_8cpp-source.html
@@ -0,0 +1,78 @@
+
+
+00001 /* +00002 * <city_swap.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <utils/eoRNG.h> +00038 +00039 #include "city_swap.h" +00040 +00041 bool CitySwap :: operator () (Route & __route) { +00042 +00043 std :: swap (__route [rng.random (__route.size ())], +00044 __route [rng.random (__route.size ())]) ; +00045 +00046 __route.invalidate () ; +00047 +00048 return true ; +00049 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/city__swap_8h-source.html b/trunk/paradiseo-peo/doc/html/city__swap_8h-source.html
new file mode 100644
index 000000000..4b77e3b33
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/city__swap_8h-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <city_swap.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef city_swap_h +00038 #define city_swap_h +00039 +00040 #include <eoOp.h> +00041 +00042 #include "route.h" +00043 +00046 class CitySwap : public eoMonOp <Route> { +00047 +00048 public : +00049 +00050 bool operator () (Route & __route) ; +00051 +00052 } ; +00053 +00054 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classDisplayBestRoute-members.html b/trunk/paradiseo-peo/doc/html/classDisplayBestRoute-members.html
new file mode 100644
index 000000000..492078e30
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classDisplayBestRoute-members.html
@@ -0,0 +1,47 @@
+
+
+| addTo(eoCheckPoint< EOT > &cp) | eoUpdater | |
| className(void) const | eoUpdater | [virtual] |
| DisplayBestRoute(eoPop< Route > &__pop) | DisplayBestRoute | |
| functor_category() | eoF< void > | [static] |
| lastCall() | eoUpdater | [virtual] |
| operator()() | DisplayBestRoute | [virtual] |
| pop | DisplayBestRoute | [private] |
| result_type typedef | eoF< void > | |
| ~eoF() | eoF< void > | [virtual] |
| ~eoFunctorBase() | eoFunctorBase | [virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classDisplayBestRoute.html b/trunk/paradiseo-peo/doc/html/classDisplayBestRoute.html
new file mode 100644
index 000000000..9915fa19a
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classDisplayBestRoute.html
@@ -0,0 +1,64 @@
+
+
+Inheritance diagram for DisplayBestRoute: +

Public Member Functions | |
| + | DisplayBestRoute (eoPop< Route > &__pop) |
| +void | operator() () |
Private Attributes | |
| +eoPop< Route > & | pop |
+ +
+Definition at line 46 of file display_best_route.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classDisplayBestRoute.png b/trunk/paradiseo-peo/doc/html/classDisplayBestRoute.png
new file mode 100644
index 000000000..e8040d807
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/classDisplayBestRoute.png differ
diff --git a/trunk/paradiseo-peo/doc/html/classMergeRouteEval-members.html b/trunk/paradiseo-peo/doc/html/classMergeRouteEval-members.html
new file mode 100644
index 000000000..c85d970f1
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classMergeRouteEval-members.html
@@ -0,0 +1,42 @@
+
+
+| functor_category() | eoBF< A1, A2, R > | [static] |
| operator()(Route &__route, const int &__part_fit) | MergeRouteEval | |
| peoAggEvalFunc::operator()(A1, A2)=0 | eoBF< A1, A2, R > | [pure virtual] |
| ~eoBF() | eoBF< A1, A2, R > | [virtual] |
| ~eoFunctorBase() | eoFunctorBase | [virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classMergeRouteEval.html b/trunk/paradiseo-peo/doc/html/classMergeRouteEval.html
new file mode 100644
index 000000000..212fc625d
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classMergeRouteEval.html
@@ -0,0 +1,57 @@
+
+
+Inheritance diagram for MergeRouteEval: +

Public Member Functions | |
| +void | operator() (Route &__route, const int &__part_fit) |
+ +
+Definition at line 44 of file merge_route_eval.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classMergeRouteEval.png b/trunk/paradiseo-peo/doc/html/classMergeRouteEval.png
new file mode 100644
index 000000000..7fa639930
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/classMergeRouteEval.png differ
diff --git a/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper-members.html b/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper-members.html
new file mode 100644
index 000000000..6fa13be24
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper-members.html
@@ -0,0 +1,65 @@
+
+
+| algorithm | peoParallelAlgorithmWrapper | [private] |
| Communicable() | Communicable | |
| getID() | Runner | |
| getKey() | Communicable | |
| isLocal() | Runner | |
| key | Communicable | [protected] |
| lock() | Communicable | |
| notifySendingTermination() | Runner | |
| num_comm | Communicable | [protected, static] |
| packTermination() | Runner | |
| peoParallelAlgorithmWrapper(AlgorithmType &externalAlgorithm) | peoParallelAlgorithmWrapper | [inline] |
| peoParallelAlgorithmWrapper(AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData) | peoParallelAlgorithmWrapper | [inline] |
| resume() | Communicable | |
| run() | peoParallelAlgorithmWrapper | [inline, virtual] |
| Runner() | Runner | |
| sem_lock | Communicable | [protected] |
| sem_stop | Communicable | [protected] |
| setActive() | Thread | |
| setPassive() | Thread | |
| start() | Runner | [virtual] |
| stop() | Communicable | |
| terminate() | Runner | |
| Thread() | Thread | |
| unlock() | Communicable | |
| waitStarting() | Runner | |
| ~Communicable() | Communicable | [virtual] |
| ~peoParallelAlgorithmWrapper() | peoParallelAlgorithmWrapper | [inline] |
| ~Thread() | Thread | [virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper.html b/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper.html
new file mode 100644
index 000000000..2cacf76fb
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper.html
@@ -0,0 +1,79 @@
+
+
+Inheritance diagram for peoParallelAlgorithmWrapper: +

Public Member Functions | |
| +template<typename AlgorithmType> | |
| peoParallelAlgorithmWrapper (AlgorithmType &externalAlgorithm) | |
| +template<typename AlgorithmType, typename AlgorithmDataType> | |
| peoParallelAlgorithmWrapper (AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData) | |
| + | ~peoParallelAlgorithmWrapper () |
| +void | run () |
Private Attributes | |
| +AbstractAlgorithm * | algorithm |
Classes | |
| struct | AbstractAlgorithm |
| struct | Algorithm |
| struct | Algorithm< AlgorithmType, void > |
+ +
+Definition at line 47 of file peoParallelAlgorithmWrapper.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper.png b/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper.png
new file mode 100644
index 000000000..0b0eb1065
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/classpeoParallelAlgorithmWrapper.png differ
diff --git a/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart-members.html b/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart-members.html
new file mode 100644
index 000000000..4d2a5076d
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart-members.html
@@ -0,0 +1,74 @@
+
+
+
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart.html b/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart.html
new file mode 100644
index 000000000..010e7e956
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart.html
@@ -0,0 +1,139 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >: +

Public Member Functions | |
| +template<typename AlgorithmType> | |
| peoSynchronousMultiStart (AlgorithmType &externalAlgorithm) | |
| +template<typename AlgorithmType, typename AggregationFunctionType> | |
| peoSynchronousMultiStart (std::vector< AlgorithmType * > &externalAlgorithms, AggregationFunctionType &externalAggregationFunction) | |
| + | ~peoSynchronousMultiStart () |
| +template<typename Type> | |
| void | operator() (Type &externalData) |
| +template<typename Type> | |
| void | operator() (const Type &externalDataBegin, const Type &externalDataEnd) |
| +void | packData () |
| +void | unpackData () |
| +void | execute () |
| +void | packResult () |
| +void | unpackResult () |
| +void | notifySendingData () |
| +void | notifySendingAllResourceRequests () |
Private Attributes | |
| +AbstractAlgorithm * | singularAlgorithm |
| +std::vector< AbstractAlgorithm * > | algorithms |
| +AbstractAggregationAlgorithm * | aggregationFunction |
| +EntityType | entityTypeInstance |
| +std::vector< AbstractDataType * > | data |
| +unsigned | idx |
| +unsigned | num_term |
| +unsigned | dataIndex |
| +unsigned | functionIndex |
Classes | |
| struct | AbstractAggregationAlgorithm |
| struct | AbstractAlgorithm |
| struct | AbstractDataType |
| struct | AggregationAlgorithm |
| struct | Algorithm |
| struct | DataType |
| struct | NoAggregationFunction |
+ +
+Definition at line 45 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart.png b/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart.png
new file mode 100644
index 000000000..7504d31ad
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/classpeoSynchronousMultiStart.png differ
diff --git a/trunk/paradiseo-peo/doc/html/data_8cpp-source.html b/trunk/paradiseo-peo/doc/html/data_8cpp-source.html
new file mode 100644
index 000000000..47c771d78
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/data_8cpp-source.html
@@ -0,0 +1,155 @@
+
+
+00001 /* +00002 * <data.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <stdio.h> +00038 #include <assert.h> +00039 #include <string.h> +00040 #include <stdlib.h> +00041 +00042 #include <utils/eoParser.h> +00043 +00044 #include "data.h" +00045 #include "node.h" +00046 +00047 #define MAX_TRASH_LENGTH 1000 +00048 #define MAX_FIELD_LENGTH 1000 +00049 #define MAX_LINE_LENGTH 1000 +00050 +00051 static void getNextField (FILE * __f, char * __buff) { +00052 +00053 char trash [MAX_TRASH_LENGTH]; +00054 +00055 fscanf (__f, "%[ \t:\n]", trash); /* Discarding sep. */ +00056 fscanf (__f, "%[^:\n]", __buff); /* Reading the field */ +00057 fgetc (__f); +00058 } +00059 +00060 static void getLine (FILE * __f, char * __buff) { +00061 +00062 char trash [MAX_TRASH_LENGTH]; +00063 +00064 fscanf (__f, "%[ \t:\n]", trash); /* Discarding sep. */ +00065 fscanf (__f, "%[^\n]", __buff); /* Reading the line */ +00066 } +00067 +00068 void loadData (const char * __filename) { +00069 +00070 FILE * f = fopen (__filename, "r"); +00071 +00072 if (f) { +00073 +00074 printf ("Loading '%s'.\n", __filename); +00075 +00076 char field [MAX_FIELD_LENGTH]; +00077 +00078 getNextField (f, field); /* Name */ +00079 assert (strstr (field, "NAME")); +00080 getNextField (f, field); +00081 printf ("NAME: %s.\n", field); +00082 +00083 getNextField (f, field); /* Comment */ +00084 assert (strstr (field, "COMMENT")); +00085 getLine (f, field); +00086 printf ("COMMENT: %s.\n", field); +00087 +00088 getNextField (f, field); /* Type */ +00089 assert (strstr (field, "TYPE")); +00090 getNextField (f, field); +00091 printf ("TYPE: %s.\n", field); +00092 +00093 getNextField (f, field); /* Dimension */ +00094 assert (strstr (field, "DIMENSION")); +00095 getNextField (f, field); +00096 printf ("DIMENSION: %s.\n", field); +00097 numNodes = atoi (field); +00098 +00099 getNextField (f, field); /* Edge weight type */ +00100 assert (strstr (field, "EDGE_WEIGHT_TYPE")); +00101 getNextField (f, field); +00102 printf ("EDGE_WEIGHT_TYPE: %s.\n", field); +00103 +00104 getNextField (f, field); /* Node coord section */ +00105 assert (strstr (field, "NODE_COORD_SECTION")); +00106 loadNodes (f); +00107 +00108 getNextField (f, field); /* End of file */ +00109 assert (strstr (field, "EOF")); +00110 printf ("EOF.\n"); +00111 } +00112 else { +00113 +00114 fprintf (stderr, "Can't open '%s'.\n", __filename); +00115 exit (1); +00116 } +00117 } +00118 +00119 void loadData (eoParser & __parser) { +00120 +00121 /* Getting the path of the instance */ +00122 +00123 eoValueParam <std :: string> param ("", "inst", "Path of the instance") ; +00124 __parser.processParam (param) ; +00125 loadData (param.value ().c_str ()); +00126 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/data_8h-source.html b/trunk/paradiseo-peo/doc/html/data_8h-source.html
new file mode 100644
index 000000000..88fa11847
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/data_8h-source.html
@@ -0,0 +1,75 @@
+
+
+00001 /* +00002 * <data.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __data_h +00038 #define __data_h +00039 +00040 #include <utils/eoParser.h> +00041 +00042 extern void loadData (const char * __filename); +00043 +00044 extern void loadData (eoParser & __parser); +00045 +00046 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/display_8cpp-source.html b/trunk/paradiseo-peo/doc/html/display_8cpp-source.html
new file mode 100644
index 000000000..782dc66f4
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/display_8cpp-source.html
@@ -0,0 +1,174 @@
+
+
+00001 /* +00002 * <display.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <iostream> +00038 #include <fstream> +00039 +00040 #include <X11/Xlib.h> +00041 +00042 #include "display.h" +00043 #include "node.h" +00044 #include "opt_route.h" +00045 +00046 #define BORDER 20 +00047 #define RATIO 0.5 +00048 +00049 #define screen_width 1024 +00050 #define screen_height 768 +00051 +00052 static const char * filename; +00053 +00054 /* Computed coordinates */ +00055 static unsigned * X_new_coord, * Y_new_coord ; +00056 +00057 /* this variable will contain the handle to the returned graphics context. */ +00058 static GC gc; +00059 +00060 /* this variable will contain the pointer to the Display structure */ +00061 static Display* disp; +00062 +00063 /* this variable will store the ID of the newly created window. */ +00064 static Window win; +00065 +00066 static int screen; +00067 +00068 /* Create a new backing pixmap of the appropriate size */ +00069 +00070 /* Best tour */ +00071 /* +00072 gdk_gc_set_line_attributes (gc, 2, GDK_LINE_ON_OFF_DASH, GDK_CAP_NOT_LAST, GDK_JOIN_MITER) ; +00073 +00074 gdk_gc_set_foreground (gc, & color_green) ; +00075 +00076 for (int i = 0 ; i < (int) numNodes ; i ++) { +00077 +00078 gdk_draw_line (pixmap, gc, +00079 X_new_coord [opt_route [i]], +00080 Y_new_coord [opt_route [i]], +00081 X_new_coord [opt_route [(i + 1) % numNodes]], +00082 Y_new_coord [opt_route [(i + 1) % numNodes]]); +00083 +00084 }*/ +00085 +00086 void openMainWindow (const char * __filename) { +00087 +00088 filename = __filename; +00089 +00090 /* Map */ +00091 int map_width = (int) (X_max - X_min); +00092 int map_height = (int) (Y_max - Y_min); +00093 int map_side = std :: max (map_width, map_height); +00094 +00095 /* Calculate the window's width and height. */ +00096 int win_width = (int) (screen_width * RATIO * map_width / map_side); +00097 int win_height = (int) (screen_height * RATIO * map_height / map_side); +00098 +00099 /* Computing the coordinates */ +00100 X_new_coord = new unsigned [numNodes]; +00101 Y_new_coord = new unsigned [numNodes]; +00102 +00103 for (unsigned i = 0; i < numNodes; i ++) { +00104 X_new_coord [i] = (unsigned) (win_width * (1.0 - (X_coord [i] - X_min) / map_width) + BORDER); +00105 Y_new_coord [i] = (unsigned) (win_height * (1.0 - (Y_coord [i] - Y_min) / map_height) + BORDER); +00106 } +00107 +00108 /* Initialisation */ +00109 XGCValues val ; +00110 +00111 disp = XOpenDisplay (NULL) ; +00112 screen = DefaultScreen (disp) ; +00113 win = XCreateSimpleWindow (disp, RootWindow (disp, screen), 0, 0, win_width + 2 * BORDER, win_height + 2 * BORDER, 2, BlackPixel (disp, screen), WhitePixel (disp, screen)) ; +00114 val.foreground = BlackPixel(disp, screen) ; +00115 val.background = WhitePixel(disp, screen) ; +00116 gc = XCreateGC (disp, win, GCForeground | GCBackground, & val) ; +00117 +00118 XMapWindow (disp, win) ; +00119 XFlush (disp) ; +00120 +00121 while (true) { +00122 XClearWindow (disp, win) ; +00123 +00124 /* Vertices as circles */ +00125 for (unsigned i = 1 ; i < numNodes ; i ++) +00126 XDrawArc (disp, win, gc, X_new_coord [i] - 1, Y_new_coord [i] - 1, 3, 3, 0, 364 * 64) ; +00127 +00128 /* New tour */ +00129 std :: ifstream f (filename); +00130 if (f) { +00131 Route route; +00132 f >> route; +00133 f.close (); +00134 +00135 for (int i = 0; i < (int) numNodes; i ++) +00136 XDrawLine (disp, win, gc, +00137 X_new_coord [route [i]], +00138 Y_new_coord [route [i]], +00139 X_new_coord [route [(i + 1) % numNodes]], +00140 Y_new_coord [route [(i + 1) % numNodes]]); +00141 } +00142 XFlush (disp) ; +00143 sleep (1) ; +00144 } +00145 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/display_8h-source.html b/trunk/paradiseo-peo/doc/html/display_8h-source.html
new file mode 100644
index 000000000..ff79c926d
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/display_8h-source.html
@@ -0,0 +1,73 @@
+
+
+00001 /* +00002 * <display.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __display_h +00038 #define __display_h +00039 +00040 #include "route.h" +00041 +00042 extern void openMainWindow (const char * __filename); +00043 +00044 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/display__best__route_8cpp-source.html b/trunk/paradiseo-peo/doc/html/display__best__route_8cpp-source.html
new file mode 100644
index 000000000..3e1c1f630
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/display__best__route_8cpp-source.html
@@ -0,0 +1,79 @@
+
+
+00001 /* +00002 * <display_best_route.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "display_best_route.h" +00038 #include "display.h" +00039 +00040 DisplayBestRoute :: DisplayBestRoute (eoPop <Route> & __pop +00041 ) : pop (__pop) { +00042 +00043 +00044 } +00045 +00046 void DisplayBestRoute :: operator () () { +00047 +00048 displayRoute (pop.best_element ()); +00049 } +00050 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/display__best__route_8h-source.html b/trunk/paradiseo-peo/doc/html/display__best__route_8h-source.html
new file mode 100644
index 000000000..41d920518
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/display__best__route_8h-source.html
@@ -0,0 +1,89 @@
+
+
+00001 /* +00002 * <display_best_route.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __display_best_route_h +00038 #define __display_best_route_h +00039 +00040 #include <utils/eoUpdater.h> +00041 +00042 #include <eoPop.h> +00043 +00044 #include "route.h" +00045 +00046 class DisplayBestRoute : public eoUpdater { +00047 +00048 public : +00049 +00050 DisplayBestRoute (eoPop <Route> & __pop); +00051 +00052 void operator () (); +00053 +00054 private : +00055 +00056 eoPop <Route> & pop; +00057 +00058 }; +00059 +00060 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/doclsn_8h-source.html b/trunk/paradiseo-peo/doc/html/doclsn_8h-source.html
new file mode 100644
index 000000000..739191d90
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/doclsn_8h-source.html
@@ -0,0 +1,527 @@
+
+
+00001 +00002 +00003 +00004 +00005 +00006 +00007 +00008 +00009 +00010 +00011 +00012 +00013 +00014 +00015 +00016 +00017 +00018 +00019 +00020 +00021 +00022 +00023 +00024 +00025 +00026 +00027 +00028 +00029 +00030 +00031 +00032 +00033 +00034 +00035 +00036 +00037 +00038 +00039 +00040 +00041 +00042 +00043 +00044 +00045 +00046 +00047 +00048 +00049 +00050 +00051 +00052 +00053 +00054 +00055 +00056 +00057 +00058 +00059 +00060 +00061 +00062 +00063 +00064 +00065 +00066 +00067 +00068 +00069 +00070 +00071 +00072 +00073 +00074 +00075 +00076 +00077 +00078 +00079 +00080 +00081 +00082 +00083 +00084 +00085 +00086 +00087 +00088 +00089 +00090 +00091 +00092 +00093 +00094 +00095 +00096 +00097 +00098 +00099 +00100 +00101 +00102 +00103 +00104 +00105 +00106 +00107 +00108 +00109 +00110 +00111 +00112 +00113 +00114 +00115 +00116 +00117 +00118 +00119 +00120 +00121 +00122 +00123 +00124 +00125 +00126 +00127 +00128 +00129 +00130 +00131 +00132 +00133 +00134 +00135 +00136 +00137 +00138 +00139 +00140 +00141 +00142 +00143 +00144 +00145 +00146 +00147 +00148 +00149 +00150 +00151 +00152 +00153 +00154 +00155 +00156 +00157 +00158 +00159 +00160 +00161 +00162 +00163 +00164 +00165 +00166 +00167 +00168 +00169 +00170 +00171 +00172 +00173 +00174 +00175 +00176 +00177 +00178 +00179 +00180 +00181 +00182 +00183 +00184 +00185 +00186 +00187 +00188 +00189 +00190 +00191 +00192 +00193 +00194 +00195 +00196 +00197 +00198 +00199 +00200 +00201 +00202 +00203 +00204 +00205 +00206 +00207 +00208 +00209 +00210 +00211 +00212 +00213 +00214 +00215 +00216 +00217 +00218 +00219 +00220 +00221 +00222 +00223 +00224 +00225 +00226 +00227 +00228 +00229 +00230 +00231 +00232 +00233 +00234 +00235 +00236 +00237 +00238 +00239 +00240 +00241 +00242 +00243 +00244 +00245 +00246 +00247 +00248 +00249 +00250 +00251 +00252 +00253 +00254 +00255 +00256 +00257 +00258 +00259 +00260 +00261 +00262 +00263 +00264 +00265 +00266 +00267 +00268 +00269 +00270 +00271 +00272 +00273 +00274 +00275 +00276 +00277 +00278 +00279 +00280 +00281 +00282 +00283 +00284 +00285 +00286 +00287 +00288 +00289 +00290 +00291 +00292 +00293 +00294 +00295 +00296 +00297 +00298 +00299 +00300 +00301 +00302 +00303 +00304 +00305 +00306 +00307 +00308 +00309 +00310 +00311 +00312 +00313 +00314 +00315 +00316 +00317 +00318 +00319 +00320 +00321 +00322 +00323 +00324 +00325 +00326 +00327 +00328 +00329 +00330 +00331 +00332 +00333 +00334 +00335 +00336 +00337 +00338 +00339 +00340 +00341 +00342 +00343 +00344 +00345 +00346 +00347 +00348 +00349 +00350 +00351 +00352 +00353 +00354 +00355 +00356 +00357 +00358 +00359 +00360 +00361 +00362 +00363 +00364 +00365 +00366 +00367 +00368 +00369 +00370 +00371 +00372 +00373 +00374 +00375 +00376 +00377 +00378 +00379 +00380 +00381 +00382 +00383 +00384 +00385 +00386 +00387 +00388 +00389 +00390 +00391 +00392 +00393 +00394 +00395 +00396 +00397 +00398 +00399 +00400 +00401 +00402 +00403 +00404 +00405 +00406 +00407 +00408 +00409 +00410 +00411 +00412 +00413 +00414 +00415 +00416 +00417 +00418 +00419 +00420 +00421 +00422 +00423 +00424 +00425 +00426 +00427 +00428 +00429 +00430 +00431 +00432 +00433 +00434 +00435 +00436 +00437 +00438 +00439 +00440 +00441 +00442 +00443 +00444 +00445 +00446 +00447 +00448 +00449 +00450 +00451 +00452 +00453 +00454 +00455 +00456 +00457 +00458 +00459 +00460 +00461 +00462 +00463 +00464 +00465 +00466 +00467 +00468 +00469 +00470 +00471 +00472 +00473 +00474 +00475 +00476 +00477 +00478 +00479 +00480 +00481 +00482 +00483 +00484 +00485 +00486 +00487 +00488 +00489 +00490 +00491 +00492 +00493 +00494 +00495 +00496 +00497 +00498 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/edge__xover_8cpp-source.html b/trunk/paradiseo-peo/doc/html/edge__xover_8cpp-source.html
new file mode 100644
index 000000000..2741022d3
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/edge__xover_8cpp-source.html
@@ -0,0 +1,175 @@
+
+
+00001 /* +00002 * <edge_xover.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <assert.h> +00038 #include <values.h> +00039 +00040 #include <utils/eoRNG.h> +00041 +00042 #include "edge_xover.h" +00043 +00044 void EdgeXover :: build_map (const Route & __par1, const Route & __par2) { +00045 +00046 unsigned len = __par1.size () ; +00047 +00048 /* Initialization */ +00049 _map.clear () ; +00050 _map.resize (len) ; +00051 +00052 for (unsigned i = 0 ; i < len ; i ++) { +00053 _map [__par1 [i]].insert (__par1 [(i + 1) % len]) ; +00054 _map [__par2 [i]].insert (__par2 [(i + 1) % len]) ; +00055 _map [__par1 [i]].insert (__par1 [(i - 1 + len) % len]) ; +00056 _map [__par2 [i]].insert (__par2 [(i - 1 + len) % len]) ; +00057 } +00058 +00059 visited.clear () ; +00060 visited.resize (len, false) ; +00061 } +00062 +00063 void EdgeXover :: remove_entry (unsigned __vertex, std :: vector <std :: set <unsigned> > & __map) { +00064 +00065 std :: set <unsigned> & neigh = __map [__vertex] ; +00066 +00067 for (std :: set <unsigned> :: iterator it = neigh.begin () ; +00068 it != neigh.end () ; +00069 it ++) +00070 __map [* it].erase (__vertex) ; +00071 +00072 } +00073 +00074 void EdgeXover :: add_vertex (unsigned __vertex, Route & __child) { +00075 +00076 visited [__vertex] = true ; +00077 __child.push_back (__vertex) ; +00078 remove_entry (__vertex, _map) ; /* Removing entries */ +00079 } +00080 +00081 void EdgeXover :: cross (const Route & __par1, const Route & __par2, Route & __child) { +00082 +00083 build_map (__par1, __par2) ; +00084 +00085 unsigned len = __par1.size () ; +00086 +00087 /* Go ! */ +00088 __child.clear () ; +00089 +00090 unsigned cur_vertex = rng.random (len) ; +00091 +00092 add_vertex (cur_vertex, __child) ; +00093 +00094 for (unsigned i = 1 ; i < len ; i ++) { +00095 +00096 unsigned len_min_entry = MAXINT ; +00097 +00098 std :: set <unsigned> & neigh = _map [cur_vertex] ; +00099 +00100 for (std :: set <unsigned> :: iterator it = neigh.begin () ; +00101 it != neigh.end () ; +00102 it ++) { +00103 unsigned l = _map [* it].size () ; +00104 if (len_min_entry > l) +00105 len_min_entry = l ; +00106 } +00107 +00108 std :: vector <unsigned> cand ; /* Candidates */ +00109 +00110 for (std :: set <unsigned> :: iterator it = neigh.begin () ; +00111 it != neigh.end () ; +00112 it ++) { +00113 unsigned l = _map [* it].size () ; +00114 if (len_min_entry == l) +00115 cand.push_back (* it) ; +00116 } +00117 +00118 if (! cand.size ()) { +00119 +00120 /* Oh no ! Implicit mutation */ +00121 for (unsigned j = 0 ; j < len ; j ++) +00122 if (! visited [j]) +00123 cand.push_back (j) ; +00124 } +00125 +00126 cur_vertex = cand [rng.random (cand.size ())] ; +00127 +00128 add_vertex (cur_vertex, __child) ; +00129 } +00130 } +00131 +00132 bool EdgeXover :: operator () (Route & __route1, Route & __route2) { +00133 +00134 // Init. copy +00135 Route par [2] ; +00136 par [0] = __route1 ; +00137 par [1] = __route2 ; +00138 +00139 cross (par [0], par [1], __route1) ; +00140 cross (par [1], par [0], __route2) ; +00141 +00142 __route1.invalidate () ; +00143 __route2.invalidate () ; +00144 +00145 return true ; +00146 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/edge__xover_8h-source.html b/trunk/paradiseo-peo/doc/html/edge__xover_8h-source.html
new file mode 100644
index 000000000..97da77c21
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/edge__xover_8h-source.html
@@ -0,0 +1,99 @@
+
+
+00001 /* +00002 * <edge_xover.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef edge_xover_h +00038 #define edge_xover_h +00039 +00040 #include <vector> +00041 #include <set> +00042 +00043 #include <eoOp.h> +00044 +00045 #include "route.h" +00046 +00048 class EdgeXover : public eoQuadOp <Route> { +00049 +00050 public : +00051 +00052 bool operator () (Route & __route1, Route & __route2) ; +00053 +00054 private : +00055 +00056 void cross (const Route & __par1, const Route & __par2, Route & __child) ; /* Binary */ +00057 +00058 void remove_entry (unsigned __vertex, std :: vector <std :: set <unsigned> > & __map) ; +00059 /* Updating the map of entries */ +00060 +00061 void build_map (const Route & __par1, const Route & __par2) ; +00062 +00063 void add_vertex (unsigned __vertex, Route & __child) ; +00064 +00065 std :: vector <std :: set <unsigned> > _map ; /* The handled map */ +00066 +00067 std :: vector <bool> visited ; /* Vertices that are already visited */ +00068 +00069 } ; +00070 +00071 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/exampleA_8cpp-source.html b/trunk/paradiseo-peo/doc/html/exampleA_8cpp-source.html
new file mode 100644
index 000000000..7e60ddf3b
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/exampleA_8cpp-source.html
@@ -0,0 +1,135 @@
+
+
+00001 /* +00002 * <exampleA.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 // (c) OPAC Team, LIFL, July 2007 +00037 // +00038 // Contact: paradiseo-help@lists.gforge.inria.fr +00039 +00040 #include "param.h" +00041 #include "route_init.h" +00042 #include "route_eval.h" +00043 +00044 #include "order_xover.h" +00045 #include "edge_xover.h" +00046 #include "partial_mapped_xover.h" +00047 #include "city_swap.h" +00048 #include "part_route_eval.h" +00049 #include "merge_route_eval.h" +00050 #include "two_opt_init.h" +00051 #include "two_opt_next.h" +00052 #include "two_opt_incr_eval.h" +00053 +00054 #include <peo> +00055 +00056 #define POP_SIZE 10 +00057 #define NUM_GEN 10 +00058 #define CROSS_RATE 1.0 +00059 #define MUT_RATE 0.01 +00060 +00061 +00062 int main (int __argc, char * * __argv) { +00063 +00064 peo :: init (__argc, __argv); +00065 +00066 +00067 loadParameters (__argc, __argv); /* Processing some parameters relative to the tackled +00068 problem (TSP) */ +00069 +00070 RouteInit route_init; /* It builds random routes */ +00071 RouteEval full_eval; /* Full route evaluator */ +00072 +00073 +00074 OrderXover order_cross; /* Recombination */ +00075 PartialMappedXover pm_cross; +00076 EdgeXover edge_cross; +00077 CitySwap city_swap_mut; /* Mutation */ +00078 +00079 +00081 TwoOptInit pmx_two_opt_init; +00082 TwoOptNext pmx_two_opt_next; +00083 TwoOptIncrEval pmx_two_opt_incr_eval; +00084 moBestImprSelect <TwoOpt> pmx_two_opt_move_select; +00085 moHC <TwoOpt> hc (pmx_two_opt_init, pmx_two_opt_next, pmx_two_opt_incr_eval, pmx_two_opt_move_select, full_eval); +00086 +00088 eoPop <Route> ox_pop (POP_SIZE, route_init); /* Population */ +00089 +00090 eoGenContinue <Route> ox_cont (NUM_GEN); /* A fixed number of iterations */ +00091 eoCheckPoint <Route> ox_checkpoint (ox_cont); /* Checkpoint */ +00092 peoSeqPopEval <Route> ox_pop_eval (full_eval); +00093 eoStochTournamentSelect <Route> ox_select_one; +00094 eoSelectNumber <Route> ox_select (ox_select_one, POP_SIZE); +00095 eoSGATransform <Route> ox_transform (order_cross, CROSS_RATE, city_swap_mut, MUT_RATE); +00096 peoSeqTransform <Route> ox_para_transform (ox_transform); +00097 eoEPReplacement <Route> ox_replace (2); +00098 +00099 peoEA <Route> ox_ea (ox_checkpoint, ox_pop_eval, ox_select, ox_para_transform, ox_replace); +00100 +00101 ox_ea (ox_pop); /* Application to the given population */ +00102 +00103 peo :: run (); +00104 peo :: finalize (); /* Termination */ +00105 +00106 +00107 return 0; +00108 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/exampleB_8cpp-source.html b/trunk/paradiseo-peo/doc/html/exampleB_8cpp-source.html
new file mode 100644
index 000000000..8c3f16b32
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/exampleB_8cpp-source.html
@@ -0,0 +1,141 @@
+
+
+00001 /* +00002 * <exampleB.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 // (c) OPAC Team, LIFL, July 2007 +00037 // +00038 // Contact: paradiseo-help@lists.gforge.inria.fr +00039 +00040 #include "param.h" +00041 #include "route_init.h" +00042 #include "route_eval.h" +00043 +00044 #include "order_xover.h" +00045 #include "edge_xover.h" +00046 #include "partial_mapped_xover.h" +00047 #include "city_swap.h" +00048 #include "part_route_eval.h" +00049 #include "merge_route_eval.h" +00050 #include "two_opt_init.h" +00051 #include "two_opt_next.h" +00052 #include "two_opt_incr_eval.h" +00053 +00054 #include <peo> +00055 +00056 #define POP_SIZE 10 +00057 #define NUM_GEN 10 +00058 #define CROSS_RATE 1.0 +00059 #define MUT_RATE 0.01 +00060 +00061 +00062 int main (int __argc, char * * __argv) { +00063 +00064 peo :: init (__argc, __argv); +00065 +00066 +00067 loadParameters (__argc, __argv); /* Processing some parameters relative to the tackled +00068 problem (TSP) */ +00069 +00070 RouteInit route_init; /* Its builds random routes */ +00071 RouteEval full_eval; /* Full route evaluator */ +00072 +00073 +00074 OrderXover order_cross; /* Recombination */ +00075 PartialMappedXover pm_cross; +00076 EdgeXover edge_cross; +00077 CitySwap city_swap_mut; /* Mutation */ +00078 +00079 +00081 TwoOptInit pmx_two_opt_init; +00082 TwoOptNext pmx_two_opt_next; +00083 TwoOptIncrEval pmx_two_opt_incr_eval; +00084 moBestImprSelect <TwoOpt> pmx_two_opt_move_select; +00085 moHC <TwoOpt> hc (pmx_two_opt_init, pmx_two_opt_next, pmx_two_opt_incr_eval, pmx_two_opt_move_select, full_eval); +00086 +00088 eoPop <Route> ox_pop (POP_SIZE, route_init); /* Population */ +00089 +00090 eoGenContinue <Route> ox_cont (NUM_GEN); /* A fixed number of iterations */ +00091 eoCheckPoint <Route> ox_checkpoint (ox_cont); /* Checkpoint */ +00092 peoSeqPopEval <Route> ox_pop_eval (full_eval); +00093 eoStochTournamentSelect <Route> ox_select_one; +00094 eoSelectNumber <Route> ox_select (ox_select_one, POP_SIZE); +00095 eoSGATransform <Route> ox_transform (order_cross, CROSS_RATE, city_swap_mut, MUT_RATE); +00096 peoSeqTransform <Route> ox_para_transform (ox_transform); +00097 eoEPReplacement <Route> ox_replace (2); +00098 +00099 peoEA <Route> ox_ea (ox_checkpoint, ox_pop_eval, ox_select, ox_para_transform, ox_replace); +00100 +00101 ox_ea (ox_pop); /* Application to the given population */ +00102 +00103 +00104 peo :: run (); +00105 peo :: finalize (); /* Termination */ +00106 +00107 +00108 std :: cout << ox_pop[ 0 ].fitness(); +00109 hc( ox_pop[ 0 ] ); +00110 std :: cout << " -> " << ox_pop[ 0 ].fitness() << std :: endl; +00111 +00112 +00113 return 0; +00114 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/exampleC_8cpp-source.html b/trunk/paradiseo-peo/doc/html/exampleC_8cpp-source.html
new file mode 100644
index 000000000..89e01e5bb
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/exampleC_8cpp-source.html
@@ -0,0 +1,195 @@
+
+
+00001 /* +00002 * <exampleC.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 // (c) OPAC Team, LIFL, July 2007 +00037 // +00038 // Contact: paradiseo-help@lists.gforge.inria.fr +00039 +00040 #include "param.h" +00041 #include "route_init.h" +00042 #include "route_eval.h" +00043 +00044 #include "order_xover.h" +00045 #include "edge_xover.h" +00046 #include "partial_mapped_xover.h" +00047 #include "city_swap.h" +00048 #include "part_route_eval.h" +00049 #include "merge_route_eval.h" +00050 #include "two_opt_init.h" +00051 #include "two_opt_next.h" +00052 #include "two_opt_incr_eval.h" +00053 +00054 #include <peo> +00055 +00056 #define POP_SIZE 10 +00057 #define NUM_GEN 10 +00058 #define CROSS_RATE 1.0 +00059 #define MUT_RATE 0.01 +00060 +00061 #define MIG_FREQ 1 +00062 #define MIG_SIZE 5 +00063 +00064 +00065 int main (int __argc, char * * __argv) { +00066 +00067 peo :: init (__argc, __argv); +00068 +00069 +00070 loadParameters (__argc, __argv); /* Processing some parameters relative to the tackled +00071 problem (TSP) */ +00072 +00073 /* Migration topology */ +00074 RingTopology topo; +00075 +00076 +00077 +00078 // The First EA ------------------------------------------------------------------------------------- +00079 +00080 RouteInit route_init; /* Its builds random routes */ +00081 RouteEval full_eval; /* Full route evaluator */ +00082 +00083 OrderXover order_cross; /* Recombination */ +00084 CitySwap city_swap_mut; /* Mutation */ +00085 +00086 eoPop <Route> ox_pop (POP_SIZE, route_init); /* Population */ +00087 +00088 eoGenContinue <Route> ox_cont (NUM_GEN); /* A fixed number of iterations */ +00089 eoCheckPoint <Route> ox_checkpoint (ox_cont); /* Checkpoint */ +00090 peoSeqPopEval <Route> ox_pop_eval (full_eval); +00091 eoStochTournamentSelect <Route> ox_select_one; +00092 eoSelectNumber <Route> ox_select (ox_select_one, POP_SIZE); +00093 eoSGATransform <Route> ox_transform (order_cross, CROSS_RATE, city_swap_mut, MUT_RATE); +00094 peoSeqTransform <Route> ox_seq_transform (ox_transform); +00095 eoEPReplacement <Route> ox_replace (2); +00096 +00097 +00098 /* The migration policy */ +00099 eoPeriodicContinue <Route> ox_mig_cont (MIG_FREQ); /* Migration occurs periodically */ +00100 eoStochTournamentSelect <Route> ox_mig_select_one; /* Emigrants are randomly selected */ +00101 eoSelectNumber <Route> ox_mig_select (ox_mig_select_one, MIG_SIZE); +00102 eoPlusReplacement <Route> ox_mig_replace; /* Immigrants replace the worse individuals */ +00103 +00104 peoAsyncIslandMig <Route> ox_mig (ox_mig_cont, ox_mig_select, ox_mig_replace, topo, ox_pop, ox_pop); +00105 ox_checkpoint.add (ox_mig); +00106 +00107 peoEA <Route> ox_ea (ox_checkpoint, ox_pop_eval, ox_select, ox_seq_transform, ox_replace); +00108 ox_mig.setOwner (ox_ea); +00109 +00110 ox_ea (ox_pop); /* Application to the given population */ +00111 // -------------------------------------------------------------------------------------------------- +00112 +00113 +00114 +00115 // The Second EA ------------------------------------------------------------------------------------ +00116 +00117 RouteInit route_init2; /* Its builds random routes */ +00118 RouteEval full_eval2; /* Full route evaluator */ +00119 +00120 OrderXover order_cross2; /* Recombination */ +00121 CitySwap city_swap_mut2; /* Mutation */ +00122 +00123 +00124 eoPop <Route> ox_pop2 (POP_SIZE, route_init2); /* Population */ +00125 +00126 +00127 eoGenContinue <Route> ox_cont2 (NUM_GEN); /* A fixed number of iterations */ +00128 eoCheckPoint <Route> ox_checkpoint2 (ox_cont2); /* Checkpoint */ +00129 peoSeqPopEval <Route> ox_pop_eval2 (full_eval2); +00130 eoStochTournamentSelect <Route> ox_select_one2; +00131 eoSelectNumber <Route> ox_select2 (ox_select_one2, POP_SIZE); +00132 eoSGATransform <Route> ox_transform2 (order_cross2, CROSS_RATE, city_swap_mut2, MUT_RATE); +00133 peoSeqTransform <Route> ox_seq_transform2 (ox_transform2); +00134 eoEPReplacement <Route> ox_replace2 (2); +00135 +00136 /* The migration policy */ +00137 eoPeriodicContinue <Route> ox_mig_cont2 (MIG_FREQ); /* Migration occurs periodically */ +00138 eoStochTournamentSelect <Route> ox_mig_select_one2; /* Emigrants are randomly selected */ +00139 eoSelectNumber <Route> ox_mig_select2 (ox_mig_select_one2, MIG_SIZE); +00140 eoPlusReplacement <Route> ox_mig_replace2; /* Immigrants replace the worse individuals */ +00141 +00142 peoAsyncIslandMig <Route> ox_mig2 (ox_mig_cont2, ox_mig_select2, ox_mig_replace2, topo, ox_pop2, ox_pop2); +00143 ox_checkpoint2.add (ox_mig2); +00144 +00145 peoEA <Route> ox_ea2 (ox_checkpoint2, ox_pop_eval2, ox_select2, ox_seq_transform2, ox_replace2); +00146 ox_mig2.setOwner (ox_ea2); +00147 +00148 ox_ea2 (ox_pop2); /* Application to the given population */ +00149 // -------------------------------------------------------------------------------------------------- +00150 +00151 +00152 +00153 peo :: run (); +00154 peo :: finalize (); /* Termination */ +00155 +00156 +00157 // rank 0 is assigned to the scheduler in the XML mapping file +00158 if ( getNodeRank() == 1 ) { +00159 +00160 std::cout << "EA[ 0 ] -----> " << ox_pop.best_element().fitness() << std::endl; +00161 std::cout << "EA[ 1 ] -----> " << ox_pop2.best_element().fitness() << std::endl; +00162 } +00163 +00164 +00165 return 0; +00166 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/exampleD_8cpp-source.html b/trunk/paradiseo-peo/doc/html/exampleD_8cpp-source.html
new file mode 100644
index 000000000..f124d4a0b
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/exampleD_8cpp-source.html
@@ -0,0 +1,138 @@
+
+
+00001 /* +00002 * <exampleD.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 // (c) OPAC Team, LIFL, July 2007 +00037 // +00038 // Contact: paradiseo-help@lists.gforge.inria.fr +00039 +00040 #include "param.h" +00041 #include "route_init.h" +00042 #include "route_eval.h" +00043 +00044 #include "order_xover.h" +00045 #include "edge_xover.h" +00046 #include "partial_mapped_xover.h" +00047 #include "city_swap.h" +00048 #include "part_route_eval.h" +00049 #include "merge_route_eval.h" +00050 #include "two_opt_init.h" +00051 #include "two_opt_next.h" +00052 #include "two_opt_incr_eval.h" +00053 +00054 #include <peo> +00055 +00056 #define POP_SIZE 10 +00057 #define NUM_GEN 10 +00058 #define CROSS_RATE 1.0 +00059 #define MUT_RATE 0.01 +00060 +00061 +00062 +00063 int main (int __argc, char * * __argv) { +00064 +00065 peo :: init (__argc, __argv); +00066 +00067 +00068 loadParameters (__argc, __argv); /* Processing some parameters relative to the tackled +00069 problem (TSP) */ +00070 +00071 RouteInit route_init; /* Its builds random routes */ +00072 RouteEval full_eval; /* Full route evaluator */ +00073 +00074 +00075 OrderXover order_cross; /* Recombination */ +00076 CitySwap city_swap_mut; /* Mutation */ +00077 +00078 +00080 eoPop <Route> ox_pop (POP_SIZE, route_init); /* Population */ +00081 +00082 eoGenContinue <Route> ox_cont (NUM_GEN); /* A fixed number of iterations */ +00083 eoCheckPoint <Route> ox_checkpoint (ox_cont); /* Checkpoint */ +00084 peoSeqPopEval <Route> ox_pop_eval (full_eval); +00085 eoStochTournamentSelect <Route> ox_select_one; +00086 eoSelectNumber <Route> ox_select (ox_select_one, POP_SIZE); +00087 eoSGATransform <Route> ox_transform (order_cross, CROSS_RATE, city_swap_mut, MUT_RATE); +00088 peoSeqTransform <Route> ox_para_transform (ox_transform); +00089 eoEPReplacement <Route> ox_replace (2); +00090 +00091 +00092 peoEA <Route> ox_ea (ox_checkpoint, ox_pop_eval, ox_select, ox_para_transform, ox_replace); +00093 +00094 +00095 ox_ea (ox_pop); /* Application to the given population */ +00096 +00097 peo :: run (); +00098 peo :: finalize (); /* Termination */ +00099 +00100 +00101 +00102 // rank 0 is assigned to the scheduler in the XML mapping file +00103 if ( getNodeRank() == 1 ) { +00104 +00105 std::cout << "EA[ 0 ] -----> " << ox_pop.best_element().fitness() << std::endl; +00106 } +00107 +00108 +00109 return 0; +00110 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/exampleE_8cpp-source.html b/trunk/paradiseo-peo/doc/html/exampleE_8cpp-source.html
new file mode 100644
index 000000000..d5604c8aa
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/exampleE_8cpp-source.html
@@ -0,0 +1,146 @@
+
+
+00001 /* +00002 * <exampleE.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 // (c) OPAC Team, LIFL, July 2007 +00037 // +00038 // Contact: paradiseo-help@lists.gforge.inria.fr +00039 +00040 #include "param.h" +00041 #include "route_init.h" +00042 #include "route_eval.h" +00043 +00044 #include "order_xover.h" +00045 #include "edge_xover.h" +00046 #include "partial_mapped_xover.h" +00047 #include "city_swap.h" +00048 #include "part_route_eval.h" +00049 #include "merge_route_eval.h" +00050 #include "two_opt_init.h" +00051 #include "two_opt_next.h" +00052 #include "two_opt_incr_eval.h" +00053 +00054 #include <peo> +00055 +00056 #define POP_SIZE 10 +00057 #define NUM_GEN 10 +00058 #define CROSS_RATE 1.0 +00059 #define MUT_RATE 0.01 +00060 +00061 #define NUM_PART_EVALS 2 +00062 +00063 +00064 int main (int __argc, char * * __argv) { +00065 +00066 peo :: init (__argc, __argv); +00067 +00068 +00069 loadParameters (__argc, __argv); /* Processing some parameters relative to the tackled +00070 problem (TSP) */ +00071 +00072 RouteInit route_init; /* Its builds random routes */ +00073 RouteEval full_eval; /* Full route evaluator */ +00074 +00075 +00076 MergeRouteEval merge_eval; +00077 +00078 std :: vector <eoEvalFunc <Route> *> part_eval; +00079 for (unsigned i = 1 ; i <= NUM_PART_EVALS ; i ++) +00080 part_eval.push_back (new PartRouteEval ((float) (i - 1) / NUM_PART_EVALS, (float) i / NUM_PART_EVALS)); +00081 +00082 +00083 OrderXover order_cross; /* Recombination */ +00084 CitySwap city_swap_mut; /* Mutation */ +00085 +00086 +00088 eoPop <Route> ox_pop (POP_SIZE, route_init); /* Population */ +00089 +00090 eoGenContinue <Route> ox_cont (NUM_GEN); /* A fixed number of iterations */ +00091 eoCheckPoint <Route> ox_checkpoint (ox_cont); /* Checkpoint */ +00092 peoParaPopEval <Route> ox_pop_eval (full_eval); +00093 eoStochTournamentSelect <Route> ox_select_one; +00094 eoSelectNumber <Route> ox_select (ox_select_one, POP_SIZE); +00095 eoSGATransform <Route> ox_transform (order_cross, CROSS_RATE, city_swap_mut, MUT_RATE); +00096 peoSeqTransform <Route> ox_para_transform (ox_transform); +00097 eoEPReplacement <Route> ox_replace (2); +00098 +00099 +00100 peoEA <Route> ox_ea (ox_checkpoint, ox_pop_eval, ox_select, ox_para_transform, ox_replace); +00101 +00102 +00103 ox_ea (ox_pop); /* Application to the given population */ +00104 +00105 peo :: run (); +00106 peo :: finalize (); /* Termination */ +00107 +00108 +00109 +00110 // rank 0 is assigned to the scheduler in the XML mapping file +00111 if ( getNodeRank() == 1 ) { +00112 +00113 std::cout << "EA[ 0 ] -----> " << ox_pop.best_element().fitness() << std::endl; +00114 } +00115 +00116 +00117 return 0; +00118 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/merge__route__eval_8cpp-source.html b/trunk/paradiseo-peo/doc/html/merge__route__eval_8cpp-source.html
new file mode 100644
index 000000000..579cec80a
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/merge__route__eval_8cpp-source.html
@@ -0,0 +1,74 @@
+
+
+00001 /* +00002 * <merge_route_eval.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "merge_route_eval.h" +00038 +00039 void MergeRouteEval :: operator () (Route & __route, const int & __part_fit) { +00040 +00041 int len = __route.fitness (); +00042 len += __part_fit; +00043 __route.fitness (len); +00044 } +00045 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/merge__route__eval_8h-source.html b/trunk/paradiseo-peo/doc/html/merge__route__eval_8h-source.html
new file mode 100644
index 000000000..cdbb4a651
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/merge__route__eval_8h-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <merge_route_eval.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __merge_route_eval_h +00038 #define __merge_route_eval_h +00039 +00040 #include <peoAggEvalFunc.h> +00041 +00042 #include "route.h" +00043 +00044 class MergeRouteEval : public peoAggEvalFunc <Route> { +00045 +00046 public : +00047 +00048 void operator () (Route & __route, const int & __part_fit) ; +00049 +00050 }; +00051 +00052 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/mix_8h-source.html b/trunk/paradiseo-peo/doc/html/mix_8h-source.html
new file mode 100644
index 000000000..113e73171
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/mix_8h-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <mix.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __mix_h +00038 #define __mix_h +00039 +00040 #include <vector> +00041 +00042 #include <utils/eoRNG.h> +00043 +00044 template <class T> void mix (std :: vector <T> & __v) { +00045 +00046 unsigned len = __v.size () ; +00047 +00048 for (unsigned i = 0 ; i < len ; i ++) +00049 std :: swap (__v [i], __v [rng.random (len)]) ; +00050 } +00051 +00052 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/opt__route_8cpp-source.html b/trunk/paradiseo-peo/doc/html/opt__route_8cpp-source.html
new file mode 100644
index 000000000..33a72622f
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/opt__route_8cpp-source.html
@@ -0,0 +1,164 @@
+
+
+00001 /* +00002 * <opt_route.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "opt_route.h" +00038 +00039 #define MAX_TRASH_LENGTH 1000 +00040 #define MAX_FIELD_LENGTH 1000 +00041 #define MAX_LINE_LENGTH 1000 +00042 +00043 static void getNextField (FILE * __f, char * __buff) { +00044 +00045 char trash [MAX_TRASH_LENGTH]; +00046 +00047 fscanf (__f, "%[ \t:\n]", trash); /* Discarding sep. */ +00048 fscanf (__f, "%[^:\n]", __buff); /* Reading the field */ +00049 fgetc (__f); +00050 } +00051 +00052 static void getLine (FILE * __f, char * __buff) { +00053 +00054 char trash [MAX_TRASH_LENGTH]; +00055 +00056 fscanf (__f, "%[ \t:\n]", trash); /* Discarding sep. */ +00057 fscanf (__f, "%[^\n]", __buff); /* Reading the line */ +00058 } +00059 +00060 static void loadBestRoute (FILE * __f) { +00061 +00062 opt_route.clear (); +00063 +00064 for (unsigned i = 0; i < numNodes; i ++) { +00065 Node node; +00066 fscanf (__f, "%u", & node); +00067 opt_route.push_back (node - 1); +00068 } +00069 int d; /* -1 ! */ +00070 fscanf (__f, "%d", & d); +00071 } +00072 +00073 void loadOptimumRoute (const char * __filename) { +00074 +00075 FILE * f = fopen (__filename, "r"); +00076 +00077 if (f) { +00078 +00079 printf ("Loading '%s'.\n", __filename); +00080 +00081 char field [MAX_FIELD_LENGTH]; +00082 +00083 getNextField (f, field); /* Name */ +00084 assert (strstr (field, "NAME")); +00085 getNextField (f, field); +00086 //printf ("NAME: %s.\n", field); +00087 +00088 getNextField (f, field); /* Comment */ +00089 assert (strstr (field, "COMMENT")); +00090 getLine (f, field); +00091 // printf ("COMMENT: %s.\n", field); +00092 +00093 getNextField (f, field); /* Type */ +00094 assert (strstr (field, "TYPE")); +00095 getNextField (f, field); +00096 //printf ("TYPE: %s.\n", field); +00097 +00098 getNextField (f, field); /* Dimension */ +00099 assert (strstr (field, "DIMENSION")); +00100 getNextField (f, field); +00101 // printf ("DIMENSION: %s.\n", field); +00102 numNodes = atoi (field); +00103 +00104 getNextField (f, field); /* Tour section */ +00105 assert (strstr (field, "TOUR_SECTION")); +00106 loadBestRoute (f); +00107 +00108 getNextField (f, field); /* End of file */ +00109 assert (strstr (field, "EOF")); +00110 //printf ("EOF.\n"); +00111 +00112 printf ("The length of the best route is %u.\n", length (opt_route)); +00113 } +00114 else { +00115 +00116 fprintf (stderr, "Can't open '%s'.\n", __filename); +00117 exit (1); +00118 } +00119 } +00120 +00121 void loadOptimumRoute (eoParser & __parser) { +00122 +00123 /* Getting the path of the instance */ +00124 +00125 eoValueParam <std :: string> param ("", "optimumTour", "Optimum tour") ; +00126 __parser.processParam (param) ; +00127 if (strlen (param.value ().c_str ())) +00128 loadOptimumRoute (param.value ().c_str ()); +00129 else +00130 opt_route.fitness (0); +00131 } +00132 +00133 Route opt_route; /* Optimum route */ +00134 +00135 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/opt__route_8h-source.html b/trunk/paradiseo-peo/doc/html/opt__route_8h-source.html
new file mode 100644
index 000000000..7fbb643aa
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/opt__route_8h-source.html
@@ -0,0 +1,80 @@
+
+
+00001 /* +00002 * <opt_route.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __opt_route_h +00038 #define __opt_route_h +00039 +00040 #include <cassert> +00041 #include <utils/eoParser.h> +00042 +00043 #include "route.h" +00044 +00045 extern void loadOptimumRoute (const char * __filename); +00046 +00047 extern void loadOptimumRoute (eoParser & __parser); +00048 +00049 extern Route opt_route; /* Optimum route */ +00050 +00051 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/order__xover_8cpp-source.html b/trunk/paradiseo-peo/doc/html/order__xover_8cpp-source.html
new file mode 100644
index 000000000..b73368e34
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/order__xover_8cpp-source.html
@@ -0,0 +1,121 @@
+
+
+00001 /* +00002 * <order_xover.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <assert.h> +00038 +00039 #include <utils/eoRNG.h> +00040 +00041 #include "order_xover.h" +00042 +00043 void OrderXover :: cross (const Route & __par1, const Route & __par2, Route & __child) { +00044 +00045 unsigned cut2 = 1 + rng.random (numNodes) ; +00046 unsigned cut1 = rng.random (cut2); +00047 unsigned l = 0; +00048 +00049 /* To store vertices that have already been crossed */ +00050 std :: vector <bool> v (numNodes, false); +00051 +00052 /* Copy of the left partial route of the first parent */ +00053 for (unsigned i = cut1 ; i < cut2 ; i ++) { +00054 __child [l ++] = __par1 [i] ; +00055 v [__par1 [i]] = true ; +00056 } +00057 +00058 /* Searching the vertex of the second path, that ended the previous first one */ +00059 unsigned from = 0 ; +00060 for (unsigned i = 0; i < numNodes; i ++) +00061 if (__par2 [i] == __child [cut2 - 1]) { +00062 from = i ; +00063 break ; +00064 } +00065 +00066 /* Selecting a direction (Left or Right) */ +00067 char direct = rng.flip () ? 1 : -1 ; +00068 +00069 for (unsigned i = 0; i < numNodes + 1; i ++) { +00070 unsigned bidule = (direct * i + from + numNodes) % numNodes; +00071 if (! v [__par2 [bidule]]) { +00072 __child [l ++] = __par2 [bidule] ; +00073 v [__par2 [bidule]] = true ; +00074 } +00075 } +00076 } +00077 +00078 bool OrderXover :: operator () (Route & __route1, Route & __route2) { +00079 +00080 // Init. copy +00081 Route par [2] ; +00082 par [0] = __route1 ; +00083 par [1] = __route2 ; +00084 +00085 cross (par [0], par [1], __route1) ; +00086 cross (par [1], par [0], __route2) ; +00087 +00088 __route1.invalidate () ; +00089 __route2.invalidate () ; +00090 +00091 return true ; +00092 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/order__xover_8h-source.html b/trunk/paradiseo-peo/doc/html/order__xover_8h-source.html
new file mode 100644
index 000000000..93b2d10d1
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/order__xover_8h-source.html
@@ -0,0 +1,84 @@
+
+
+00001 /* +00002 * <order_xover.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef order_xover_h +00038 #define order_xover_h +00039 +00040 #include <eoOp.h> +00041 +00042 #include "route.h" +00043 +00045 class OrderXover : public eoQuadOp <Route> { +00046 +00047 public : +00048 +00049 bool operator () (Route & __route1, Route & __route2) ; +00050 +00051 private : +00052 +00053 void cross (const Route & __par1, const Route & __par2, Route & __child) ; +00054 } ; +00055 +00056 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/part__route__eval_8cpp-source.html b/trunk/paradiseo-peo/doc/html/part__route__eval_8cpp-source.html
new file mode 100644
index 000000000..34a6d4e92
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/part__route__eval_8cpp-source.html
@@ -0,0 +1,87 @@
+
+
+00001 /* +00002 * <part_route_eval.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "part_route_eval.h" +00038 #include "node.h" +00039 +00040 PartRouteEval :: PartRouteEval (float __from, +00041 float __to +00042 ) : from (__from), +00043 to (__to) { +00044 +00045 } +00046 +00047 void PartRouteEval :: operator () (Route & __route) { +00048 +00049 +00050 unsigned len = 0 ; +00051 +00052 for (unsigned i = (unsigned) (__route.size () * from) ; +00053 i < (unsigned) (__route.size () * to) ; +00054 i ++) +00055 len += distance (__route [i], __route [(i + 1) % numNodes]) ; +00056 +00057 __route.fitness (- (int) len) ; +00058 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/part__route__eval_8h-source.html b/trunk/paradiseo-peo/doc/html/part__route__eval_8h-source.html
new file mode 100644
index 000000000..43fc31513
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/part__route__eval_8h-source.html
@@ -0,0 +1,88 @@
+
+
+00001 /* +00002 * <part_route_eval.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __part_route_eval_h +00038 #define __part_route_eval_h +00039 +00040 #include <eoEvalFunc.h> +00041 +00042 #include "route.h" +00043 +00045 class PartRouteEval : public eoEvalFunc <Route> { +00046 +00047 public : +00048 +00050 PartRouteEval (float __from, float __to) ; +00051 +00052 void operator () (Route & __route) ; +00053 +00054 private : +00055 +00056 float from, to ; +00057 +00058 } ; +00059 +00060 +00061 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/partial__mapped__xover_8cpp-source.html b/trunk/paradiseo-peo/doc/html/partial__mapped__xover_8cpp-source.html
new file mode 100644
index 000000000..75f1c08a9
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/partial__mapped__xover_8cpp-source.html
@@ -0,0 +1,118 @@
+
+
+00001 /* +00002 * <partial_mapped_xover.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <assert.h> +00038 +00039 #include <utils/eoRNG.h> +00040 +00041 #include "partial_mapped_xover.h" +00042 #include "mix.h" +00043 +00044 void PartialMappedXover :: repair (Route & __route, unsigned __cut1, unsigned __cut2) { +00045 +00046 unsigned v [__route.size ()] ; // Number of times a cities are visited ... +00047 +00048 for (unsigned i = 0 ; i < __route.size () ; i ++) +00049 v [i] = 0 ; +00050 +00051 for (unsigned i = 0 ; i < __route.size () ; i ++) +00052 v [__route [i]] ++ ; +00053 +00054 std :: vector <unsigned> vert ; +00055 +00056 for (unsigned i = 0 ; i < __route.size () ; i ++) +00057 if (! v [i]) +00058 vert.push_back (i) ; +00059 +00060 mix (vert) ; +00061 +00062 for (unsigned i = 0 ; i < __route.size () ; i ++) +00063 if (i < __cut1 || i >= __cut2) +00064 if (v [__route [i]] > 1) { +00065 __route [i] = vert.back () ; +00066 vert.pop_back () ; +00067 } +00068 } +00069 +00070 bool PartialMappedXover :: operator () (Route & __route1, Route & __route2) { +00071 +00072 unsigned cut1 = rng.random (__route1.size ()), cut2 = rng.random (__route2.size ()) ; +00073 +00074 if (cut2 < cut1) +00075 std :: swap (cut1, cut2) ; +00076 +00077 // Between the cuts +00078 for (unsigned i = cut1 ; i < cut2 ; i ++) +00079 std :: swap (__route1 [i], __route2 [i]) ; +00080 +00081 // Outside the cuts +00082 repair (__route1, cut1, cut2) ; +00083 repair (__route2, cut1, cut2) ; +00084 +00085 __route1.invalidate () ; +00086 __route2.invalidate () ; +00087 +00088 return true ; +00089 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/partial__mapped__xover_8h-source.html b/trunk/paradiseo-peo/doc/html/partial__mapped__xover_8h-source.html
new file mode 100644
index 000000000..5c5b555d6
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/partial__mapped__xover_8h-source.html
@@ -0,0 +1,84 @@
+
+
+00001 /* +00002 * <partial_mapped_xover.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef partial_mapped_xover_h +00038 #define partial_mapped_xover_h +00039 +00040 #include <eoOp.h> +00041 +00042 #include "route.h" +00043 +00045 class PartialMappedXover : public eoQuadOp <Route> { +00046 +00047 public : +00048 +00049 bool operator () (Route & __route1, Route & __route2) ; +00050 +00051 private : +00052 +00053 void repair (Route & __route, unsigned __cut1, unsigned __cut2) ; +00054 } ; +00055 +00056 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/peoParallelAlgorithmWrapper_8h-source.html b/trunk/paradiseo-peo/doc/html/peoParallelAlgorithmWrapper_8h-source.html
new file mode 100644
index 000000000..4e630d7f9
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/peoParallelAlgorithmWrapper_8h-source.html
@@ -0,0 +1,142 @@
+
+
+00001 /* +00002 * <peoParallelAlgorithmWrapper.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __peoParaAlgorithm_h +00038 #define __peoParaAlgorithm_h +00039 +00040 +00041 #include "core/runner.h" +00042 #include "core/peo_debug.h" +00043 +00044 +00045 +00046 +00047 class peoParallelAlgorithmWrapper : public Runner { +00048 +00049 public: +00050 +00051 template< typename AlgorithmType > peoParallelAlgorithmWrapper( AlgorithmType& externalAlgorithm ) +00052 : algorithm( new Algorithm< AlgorithmType, void >( externalAlgorithm ) ) { +00053 +00054 } +00055 +00056 template< typename AlgorithmType, typename AlgorithmDataType > peoParallelAlgorithmWrapper( AlgorithmType& externalAlgorithm, AlgorithmDataType& externalData ) +00057 : algorithm( new Algorithm< AlgorithmType, AlgorithmDataType >( externalAlgorithm, externalData ) ) { +00058 +00059 } +00060 +00061 ~peoParallelAlgorithmWrapper() { +00062 +00063 delete algorithm; +00064 } +00065 +00066 void run() { algorithm->operator()(); } +00067 +00068 +00069 private: +00070 +00071 struct AbstractAlgorithm { +00072 +00073 // virtual destructor as we will be using inheritance and polymorphism +00074 virtual ~AbstractAlgorithm() { } +00075 +00076 // operator to be called for executing the algorithm +00077 virtual void operator()() { } +00078 }; +00079 +00080 +00081 template< typename AlgorithmType, typename AlgorithmDataType > struct Algorithm : public AbstractAlgorithm { +00082 +00083 Algorithm( AlgorithmType& externalAlgorithm, AlgorithmDataType& externalData ) +00084 : algorithm( externalAlgorithm ), algorithmData( externalData ) { +00085 +00086 } +00087 +00088 virtual void operator()() { algorithm( algorithmData ); } +00089 +00090 AlgorithmType& algorithm; +00091 AlgorithmDataType& algorithmData; +00092 }; +00093 +00094 +00095 template< typename AlgorithmType > struct Algorithm< AlgorithmType, void > : public AbstractAlgorithm { +00096 +00097 Algorithm( AlgorithmType& externalAlgorithm ) : algorithm( externalAlgorithm ) { +00098 +00099 } +00100 +00101 virtual void operator()() { algorithm(); } +00102 +00103 AlgorithmType& algorithm; +00104 }; +00105 +00106 +00107 private: +00108 +00109 AbstractAlgorithm* algorithm; +00110 }; +00111 +00112 +00113 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/peoSynchronousMultiStart_8h-source.html b/trunk/paradiseo-peo/doc/html/peoSynchronousMultiStart_8h-source.html
new file mode 100644
index 000000000..683518196
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/peoSynchronousMultiStart_8h-source.html
@@ -0,0 +1,298 @@
+
+
+00001 /* +00002 * <peoSynchronousMultiStart.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 #ifndef __peoSynchronousMultiStart_h +00037 #define __peoSynchronousMultiStart_h +00038 +00039 #include <vector> +00040 +00041 #include "core/service.h" +00042 #include "core/messaging.h" +00043 +00044 +00045 template < typename EntityType > class peoSynchronousMultiStart : public Service { +00046 +00047 public: +00048 +00049 template < typename AlgorithmType > peoSynchronousMultiStart( AlgorithmType& externalAlgorithm ) { +00050 +00051 singularAlgorithm = new Algorithm< AlgorithmType >( externalAlgorithm ); +00052 algorithms.push_back( singularAlgorithm ); +00053 +00054 aggregationFunction = new NoAggregationFunction(); +00055 } +00056 +00057 template < typename AlgorithmType, typename AggregationFunctionType > peoSynchronousMultiStart( std::vector< AlgorithmType* >& externalAlgorithms, AggregationFunctionType& externalAggregationFunction ) { +00058 +00059 for ( unsigned int index = 0; index < externalAlgorithms; index++ ) { +00060 +00061 algorithms.push_back( new Algorithm< AlgorithmType >( *externalAlgorithms[ index ] ) ); +00062 } +00063 +00064 aggregationFunction = new Algorithm< AggregationFunctionType >( externalAggregationFunction ); +00065 } +00066 +00067 +00068 ~peoSynchronousMultiStart() { +00069 +00070 for ( unsigned int index = 0; index < data.size(); index++ ) delete data[ index ]; +00071 for ( unsigned int index = 0; index < algorithms.size(); index++ ) delete algorithms[ index ]; +00072 +00073 delete aggregationFunction; +00074 } +00075 +00076 +00077 template < typename Type > void operator()( Type& externalData ) { +00078 +00079 for ( typename Type::iterator externalDataIterator = externalData.begin(); externalDataIterator != externalData.end(); externalDataIterator++ ) { +00080 +00081 data.push_back( new DataType< EntityType >( *externalDataIterator ) ); +00082 } +00083 +00084 functionIndex = dataIndex = idx = num_term = 0; +00085 requestResourceRequest( data.size() * algorithms.size() ); +00086 stop(); +00087 } +00088 +00089 +00090 template < typename Type > void operator()( const Type& externalDataBegin, const Type& externalDataEnd ) { +00091 +00092 for ( Type externalDataIterator = externalDataBegin; externalDataIterator != externalDataEnd; externalDataIterator++ ) { +00093 +00094 data.push_back( new DataType< EntityType >( *externalDataIterator ) ); +00095 } +00096 +00097 functionIndex = dataIndex = idx = num_term = 0; +00098 requestResourceRequest( data.size() * algorithms.size() ); +00099 stop(); +00100 } +00101 +00102 +00103 void packData(); +00104 +00105 void unpackData(); +00106 +00107 void execute(); +00108 +00109 void packResult(); +00110 +00111 void unpackResult(); +00112 +00113 void notifySendingData(); +00114 +00115 void notifySendingAllResourceRequests(); +00116 +00117 +00118 private: +00119 +00120 template < typename Type > struct DataType; +00121 +00122 struct AbstractDataType { +00123 +00124 virtual ~AbstractDataType() { } +00125 +00126 template < typename Type > operator Type& () { +00127 +00128 return ( dynamic_cast< DataType< Type >& >( *this ) ).data; +00129 } +00130 }; +00131 +00132 template < typename Type > struct DataType : public AbstractDataType { +00133 +00134 DataType( Type& externalData ) : data( externalData ) { } +00135 +00136 Type& data; +00137 }; +00138 +00139 struct AbstractAlgorithm { +00140 +00141 virtual ~AbstractAlgorithm() { } +00142 +00143 virtual void operator()( AbstractDataType& dataTypeInstance ) {} +00144 }; +00145 +00146 template < typename AlgorithmType > struct Algorithm : public AbstractAlgorithm { +00147 +00148 Algorithm( AlgorithmType& externalAlgorithm ) : algorithm( externalAlgorithm ) { } +00149 +00150 void operator()( AbstractDataType& dataTypeInstance ) { algorithm( dataTypeInstance ); } +00151 +00152 AlgorithmType& algorithm; +00153 }; +00154 +00155 +00156 +00157 struct AbstractAggregationAlgorithm { +00158 +00159 virtual ~AbstractAggregationAlgorithm() { } +00160 +00161 virtual void operator()( AbstractDataType& dataTypeInstanceA, AbstractDataType& dataTypeInstanceB ) {}; +00162 }; +00163 +00164 template < typename AggregationAlgorithmType > struct AggregationAlgorithm : public AbstractAggregationAlgorithm { +00165 +00166 AggregationAlgorithm( AggregationAlgorithmType& externalAggregationAlgorithm ) : aggregationAlgorithm( externalAggregationAlgorithm ) { } +00167 +00168 void operator()( AbstractDataType& dataTypeInstanceA, AbstractDataType& dataTypeInstanceB ) { +00169 +00170 aggregationAlgorithm( dataTypeInstanceA, dataTypeInstanceB ); +00171 } +00172 +00173 AggregationAlgorithmType& aggregationAlgorithm; +00174 }; +00175 +00176 struct NoAggregationFunction : public AbstractAggregationAlgorithm { +00177 +00178 void operator()( AbstractDataType& dataTypeInstanceA, AbstractDataType& dataTypeInstanceB ) { +00179 +00180 static_cast< EntityType& >( dataTypeInstanceA ) = static_cast< EntityType& >( dataTypeInstanceB ); +00181 } +00182 }; +00183 +00184 +00185 +00186 AbstractAlgorithm* singularAlgorithm; +00187 +00188 std::vector< AbstractAlgorithm* > algorithms; +00189 AbstractAggregationAlgorithm* aggregationFunction; +00190 +00191 +00192 EntityType entityTypeInstance; +00193 std::vector< AbstractDataType* > data; +00194 +00195 unsigned idx; +00196 unsigned num_term; +00197 unsigned dataIndex; +00198 unsigned functionIndex; +00199 }; +00200 +00201 +00202 template < typename EntityType > void peoSynchronousMultiStart< EntityType >::packData() { +00203 +00204 ::pack( functionIndex ); +00205 ::pack( idx ); +00206 ::pack( ( EntityType& ) *data[ idx++ ] ); +00207 +00208 // done with functionIndex for the entire data set - moving to another +00209 // function/algorithm starting all over with the entire data set ( idx is set to 0 ) +00210 if ( idx == data.size() ) { +00211 +00212 ++functionIndex; idx = 0; +00213 } +00214 } +00215 +00216 template < typename EntityType > void peoSynchronousMultiStart< EntityType >::unpackData() { +00217 +00218 ::unpack( functionIndex ); +00219 ::unpack( dataIndex ); +00220 ::unpack( entityTypeInstance ); +00221 } +00222 +00223 template < typename EntityType > void peoSynchronousMultiStart< EntityType >::execute() { +00224 +00225 // wrapping the unpacked data - the definition of an abstract algorithm imposes +00226 // that its internal function operator acts only on abstract data types +00227 AbstractDataType* entityWrapper = new DataType< EntityType >( entityTypeInstance ); +00228 algorithms[ functionIndex ]->operator()( *entityWrapper ); +00229 +00230 delete entityWrapper; +00231 } +00232 +00233 template < typename EntityType > void peoSynchronousMultiStart< EntityType >::packResult() { +00234 +00235 ::pack( dataIndex ); +00236 ::pack( entityTypeInstance ); +00237 } +00238 +00239 template < typename EntityType > void peoSynchronousMultiStart< EntityType >::unpackResult() { +00240 +00241 ::unpack( dataIndex ); +00242 ::unpack( entityTypeInstance ); +00243 +00244 // wrapping the unpacked data - the definition of an abstract algorithm imposes +00245 // that its internal function operator acts only on abstract data types +00246 AbstractDataType* entityWrapper = new DataType< EntityType >( entityTypeInstance ); +00247 aggregationFunction->operator()( *data[ dataIndex ], *entityWrapper ); +00248 delete entityWrapper; +00249 +00250 num_term++; +00251 +00252 if ( num_term == data.size() * algorithms.size() ) { +00253 +00254 getOwner()->setActive(); +00255 resume(); +00256 } +00257 } +00258 +00259 template < typename EntityType > void peoSynchronousMultiStart< EntityType >::notifySendingData() { +00260 +00261 } +00262 +00263 template < typename EntityType > void peoSynchronousMultiStart< EntityType >::notifySendingAllResourceRequests() { +00264 +00265 getOwner()->setPassive(); +00266 } +00267 +00268 +00269 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/peo_8h-source.html b/trunk/paradiseo-peo/doc/html/peo_8h-source.html
new file mode 100644
index 000000000..698147329
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/peo_8h-source.html
@@ -0,0 +1,96 @@
+
+
+00001 /* +00002 * <peo.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __peo_h_ +00038 #define __peo_h_ +00039 +00040 #include <eo> +00041 #include <mo> +00042 +00043 +00319 +00320 #include "core/peo_init.h" +00321 #include "core/peo_run.h" +00322 #include "core/peo_fin.h" +00323 +00324 #include "core/eoVector_comm.h" +00325 +00326 #include "peoEA.h" +00327 +00328 /* Parallel steps of the E.A. */ +00329 #include "peoSeqTransform.h" +00330 #include "peoParaSGATransform.h" +00331 #include "peoSeqPopEval.h" +00332 #include "peoParaPopEval.h" +00333 +00334 /* Cooperative island model */ +00335 #include "core/ring_topo.h" +00336 #include "peoAsyncIslandMig.h" +00337 #include "peoSyncIslandMig.h" +00338 +00339 /* Synchronous multi-start model */ +00340 #include "peoSyncMultiStart.h" +00341 +00342 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/route_8cpp-source.html b/trunk/paradiseo-peo/doc/html/route_8cpp-source.html
new file mode 100644
index 000000000..9937479a9
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/route_8cpp-source.html
@@ -0,0 +1,78 @@
+
+
+00001 /* +00002 * <route.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "route.h" +00038 +00039 unsigned length (const Route & __route) { +00040 +00041 unsigned len = 0 ; +00042 +00043 for (unsigned i = 0; i < numNodes; i ++) +00044 len += distance (__route [i], __route [(i + 1) % numNodes]) ; +00045 +00046 return len; +00047 } +00048 +00049 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/route_8h-source.html b/trunk/paradiseo-peo/doc/html/route_8h-source.html
new file mode 100644
index 000000000..b5139e667
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/route_8h-source.html
@@ -0,0 +1,77 @@
+
+
+00001 /* +00002 * <route.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __route_h +00038 #define __route_h +00039 +00040 #include <eoVector.h> +00041 +00042 #include "node.h" +00043 +00044 typedef eoVector <int, Node> Route; +00045 +00046 unsigned length (const Route & __route); +00047 +00048 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/route__eval_8cpp-source.html b/trunk/paradiseo-peo/doc/html/route__eval_8cpp-source.html
new file mode 100644
index 000000000..26cded3dd
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/route__eval_8cpp-source.html
@@ -0,0 +1,71 @@
+
+
+00001 /* +00002 * <route_eval.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "route_eval.h" +00038 +00039 void RouteEval :: operator () (Route & __route) { +00040 +00041 __route.fitness (- (int) length (__route)); +00042 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/route__eval_8h-source.html b/trunk/paradiseo-peo/doc/html/route__eval_8h-source.html
new file mode 100644
index 000000000..0fcfb21fb
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/route__eval_8h-source.html
@@ -0,0 +1,80 @@
+
+
+00001 /* +00002 * <route_eval.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __route_eval_h +00038 #define __route_eval_h +00039 +00040 #include <eoEvalFunc.h> +00041 +00042 #include "route.h" +00043 +00044 class RouteEval : public eoEvalFunc <Route> { +00045 +00046 public : +00047 +00048 void operator () (Route & __route) ; +00049 } ; +00050 +00051 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/route__init_8cpp-source.html b/trunk/paradiseo-peo/doc/html/route__init_8cpp-source.html
new file mode 100644
index 000000000..824282875
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/route__init_8cpp-source.html
@@ -0,0 +1,80 @@
+
+
+00001 /* +00002 * <route_init.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <utils/eoRNG.h> +00038 +00039 #include "route_init.h" +00040 #include "node.h" +00041 +00042 void RouteInit :: operator () (Route & __route) { +00043 +00044 __route.clear (); +00045 +00046 for (unsigned i = 0 ; i < numNodes ; i ++) +00047 __route.push_back (i); +00048 +00049 for (unsigned i = 0 ; i < numNodes ; i ++) +00050 std :: swap (__route [i], __route [rng.random (numNodes)]); +00051 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/route__init_8h-source.html b/trunk/paradiseo-peo/doc/html/route__init_8h-source.html
new file mode 100644
index 000000000..451e81a9a
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/route__init_8h-source.html
@@ -0,0 +1,80 @@
+
+
+00001 /* +00002 * <route_init.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __route_init_h +00038 #define __route_init_h +00039 +00040 #include <eoInit.h> +00041 +00042 #include "route.h" +00043 +00044 class RouteInit : public eoInit <Route> { +00045 +00046 public : +00047 +00048 void operator () (Route & __route); +00049 } ; +00050 +00051 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2node_8cpp-source.html b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2node_8cpp-source.html
new file mode 100644
index 000000000..d52cbc6c3
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2node_8cpp-source.html
@@ -0,0 +1,115 @@
+
+
+00001 /* +00002 * <node.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <mpi.h> +00038 #include <vector> +00039 #include <map> +00040 #include <string> +00041 #include <cassert> +00042 +00043 static int rk, sz; /* Rank & size */ +00044 +00045 static std :: map <std :: string, int> name_to_rk; +00046 +00047 static std :: vector <std :: string> rk_to_name; +00048 +00049 int getNodeRank () { +00050 +00051 return rk; +00052 } +00053 +00054 int getNumberOfNodes () { +00055 +00056 return sz; +00057 } +00058 +00059 int getRankFromName (const std :: string & __name) { +00060 +00061 return atoi (__name.c_str ()); +00062 } +00063 +00064 void initNode (int * __argc, char * * * __argv) { +00065 +00066 int provided; +00067 MPI_Init_thread (__argc, __argv, MPI_THREAD_FUNNELED, & provided); +00068 assert (provided == MPI_THREAD_FUNNELED); /* The MPI implementation must be multi-threaded. +00069 Yet, only one thread performs the comm. +00070 operations */ +00071 MPI_Comm_rank (MPI_COMM_WORLD, & rk); /* Who ? */ +00072 MPI_Comm_size (MPI_COMM_WORLD, & sz); /* How many ? */ +00073 +00074 char names [sz] [MPI_MAX_PROCESSOR_NAME]; +00075 int len; +00076 +00077 /* Processor names */ +00078 MPI_Get_processor_name (names [0], & len); /* Me */ +00079 MPI_Allgather (names, MPI_MAX_PROCESSOR_NAME, MPI_CHAR, names, MPI_MAX_PROCESSOR_NAME, MPI_CHAR, MPI_COMM_WORLD); /* Broadcast */ +00080 +00081 for (int i = 0; i < sz; i ++) { +00082 rk_to_name.push_back (names [i]); +00083 name_to_rk [names [i]] = i; +00084 } +00085 } +00086 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2node_8h-source.html b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2node_8h-source.html
new file mode 100644
index 000000000..c107521e7
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2node_8h-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <node.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __node_h +00038 #define __node_h +00039 +00040 #include <string> +00041 #include <cassert> +00042 +00043 extern int getNodeRank (); /* It gives the rank of the calling process */ +00044 +00045 extern int getNumberOfNodes (); /* It gives the size of the environment (Total number of nodes) */ +00046 +00047 extern int getRankFromName (const std :: string & __name); /* It gives the rank of the process +00048 expressed by its name */ +00049 +00050 extern void initNode (int * __argc, char * * * __argv); +00051 +00052 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2param_8cpp-source.html b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2param_8cpp-source.html
new file mode 100644
index 000000000..4799a4a15
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2param_8cpp-source.html
@@ -0,0 +1,78 @@
+
+
+00001 /* +00002 * <param.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <utils/eoParser.h> +00038 +00039 #include "schema.h" +00040 +00041 void loadRMCParameters (int & __argc, char * * & __argv) { +00042 +00043 eoParser parser (__argc, __argv); +00044 +00045 /* Schema */ +00046 eoValueParam <std :: string> schema_param ("schema.xml", "schema", "?"); +00047 parser.processParam (schema_param); +00048 loadSchema (schema_param.value ().c_str ()); +00049 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2param_8h-source.html b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2param_8h-source.html
new file mode 100644
index 000000000..5de9ceb5d
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/src_2rmc_2mpi_2param_8h-source.html
@@ -0,0 +1,71 @@
+
+
+00001 /* +00002 * <param.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __rmc_param_h +00038 #define __rmc_param_h +00039 +00040 extern void loadRMCParameters (int & __argc, char * * & __argv); +00041 +00042 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structRandomExplorationAlgorithm-members.html b/trunk/paradiseo-peo/doc/html/structRandomExplorationAlgorithm-members.html
new file mode 100644
index 000000000..f45769568
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structRandomExplorationAlgorithm-members.html
@@ -0,0 +1,41 @@
+
+
+| operator()() | RandomExplorationAlgorithm | [inline] |
| parallelExecution | RandomExplorationAlgorithm | |
| popEval | RandomExplorationAlgorithm | |
| RandomExplorationAlgorithm(peoPopEval< Route > &__popEval, peoSynchronousMultiStart< Route > &extParallelExecution) | RandomExplorationAlgorithm | [inline] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structRandomExplorationAlgorithm.html b/trunk/paradiseo-peo/doc/html/structRandomExplorationAlgorithm.html
new file mode 100644
index 000000000..400d3148d
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structRandomExplorationAlgorithm.html
@@ -0,0 +1,61 @@
+
+
+Public Member Functions | |
| + | RandomExplorationAlgorithm (peoPopEval< Route > &__popEval, peoSynchronousMultiStart< Route > &extParallelExecution) |
| +void | operator() () |
Public Attributes | |
| +peoPopEval< Route > & | popEval |
|
+peoSynchronousMultiStart< + Route > & | parallelExecution |
+ +
+Definition at line 56 of file LessonParallelAlgorithm/main.cpp.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm-members.html b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm-members.html
new file mode 100644
index 000000000..875eaa683
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm-members.html
@@ -0,0 +1,39 @@
+
+
+| operator()() | peoParallelAlgorithmWrapper::AbstractAlgorithm | [inline, virtual] |
| ~AbstractAlgorithm() | peoParallelAlgorithmWrapper::AbstractAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.html b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.html
new file mode 100644
index 000000000..cc8b12e0d
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.html
@@ -0,0 +1,61 @@
+
+
+Inheritance diagram for peoParallelAlgorithmWrapper::AbstractAlgorithm: +

Public Member Functions | |
| +virtual | ~AbstractAlgorithm () |
| +virtual void | operator() () |
+ +
+Definition at line 71 of file peoParallelAlgorithmWrapper.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.png b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.png
new file mode 100644
index 000000000..88c4e7f51
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm-members.html b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm-members.html
new file mode 100644
index 000000000..5a7b0bdfe
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm-members.html
@@ -0,0 +1,42 @@
+
+
+| algorithm | peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > | |
| Algorithm(AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData) | peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > | [inline] |
| algorithmData | peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > | |
| operator()() | peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > | [inline, virtual] |
| ~AbstractAlgorithm() | peoParallelAlgorithmWrapper::AbstractAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm.html b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm.html
new file mode 100644
index 000000000..81a64ce4f
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm.html
@@ -0,0 +1,70 @@
+
+
+Inheritance diagram for peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >: +

Public Member Functions | |
| + | Algorithm (AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData) |
| +virtual void | operator() () |
Public Attributes | |
| +AlgorithmType & | algorithm |
| +AlgorithmDataType & | algorithmData |
+ +
+Definition at line 81 of file peoParallelAlgorithmWrapper.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm.png b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm.png
new file mode 100644
index 000000000..8017c720c
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4-members.html b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4-members.html
new file mode 100644
index 000000000..234d9cc92
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4-members.html
@@ -0,0 +1,41 @@
+
+
+| algorithm | peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > | |
| Algorithm(AlgorithmType &externalAlgorithm) | peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > | [inline] |
| operator()() | peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > | [inline, virtual] |
| ~AbstractAlgorithm() | peoParallelAlgorithmWrapper::AbstractAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html
new file mode 100644
index 000000000..f49b5d557
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.html
@@ -0,0 +1,67 @@
+
+
+Inheritance diagram for peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >: +

Public Member Functions | |
| + | Algorithm (AlgorithmType &externalAlgorithm) |
| +virtual void | operator() () |
Public Attributes | |
| +AlgorithmType & | algorithm |
+ +
+Definition at line 95 of file peoParallelAlgorithmWrapper.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.png b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.png
new file mode 100644
index 000000000..e7f3958d0
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm-members.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm-members.html
new file mode 100644
index 000000000..66cf13e18
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm-members.html
@@ -0,0 +1,39 @@
+
+
+| operator()(AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB) | peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm | [inline, virtual] |
| ~AbstractAggregationAlgorithm() | peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.html
new file mode 100644
index 000000000..4d647d542
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.html
@@ -0,0 +1,64 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm: +

Public Member Functions | |
| +virtual | ~AbstractAggregationAlgorithm () |
| +virtual void | operator() (AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB) |
+ +
+Definition at line 157 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.png b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.png
new file mode 100644
index 000000000..d29a3362b
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm-members.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm-members.html
new file mode 100644
index 000000000..8779005d8
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm-members.html
@@ -0,0 +1,39 @@
+
+
+| operator()(AbstractDataType &dataTypeInstance) | peoSynchronousMultiStart< EntityType >::AbstractAlgorithm | [inline, virtual] |
| ~AbstractAlgorithm() | peoSynchronousMultiStart< EntityType >::AbstractAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.html
new file mode 100644
index 000000000..d12786ed0
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.html
@@ -0,0 +1,63 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >::AbstractAlgorithm: +

Public Member Functions | |
| +virtual | ~AbstractAlgorithm () |
| +virtual void | operator() (AbstractDataType &dataTypeInstance) |
+ +
+Definition at line 139 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.png b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.png
new file mode 100644
index 000000000..0861ea04a
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType-members.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType-members.html
new file mode 100644
index 000000000..2ae5dfe8e
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType-members.html
@@ -0,0 +1,39 @@
+
+
+| operator Type &() | peoSynchronousMultiStart< EntityType >::AbstractDataType | [inline] |
| ~AbstractDataType() | peoSynchronousMultiStart< EntityType >::AbstractDataType | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType.html
new file mode 100644
index 000000000..0b9ce2e85
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType.html
@@ -0,0 +1,64 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >::AbstractDataType: +

Public Member Functions | |
| +virtual | ~AbstractDataType () |
| +template<typename Type> | |
| operator Type & () | |
+ +
+Definition at line 122 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType.png b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType.png
new file mode 100644
index 000000000..fdec90776
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AbstractDataType.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm-members.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm-members.html
new file mode 100644
index 000000000..96c7aaa52
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm-members.html
@@ -0,0 +1,41 @@
+
+
+| aggregationAlgorithm | peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType > | |
| AggregationAlgorithm(AggregationAlgorithmType &externalAggregationAlgorithm) | peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType > | [inline] |
| operator()(AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB) | peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType > | [inline, virtual] |
| ~AbstractAggregationAlgorithm() | peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.html
new file mode 100644
index 000000000..8b82eb1cf
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.html
@@ -0,0 +1,68 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >: +

Public Member Functions | |
| + | AggregationAlgorithm (AggregationAlgorithmType &externalAggregationAlgorithm) |
| +void | operator() (AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB) |
Public Attributes | |
| +AggregationAlgorithmType & | aggregationAlgorithm |
+ +
+Definition at line 164 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.png b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.png
new file mode 100644
index 000000000..3b9e8664e
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm-members.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm-members.html
new file mode 100644
index 000000000..8aa35189e
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm-members.html
@@ -0,0 +1,41 @@
+
+
+| algorithm | peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType > | |
| Algorithm(AlgorithmType &externalAlgorithm) | peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType > | [inline] |
| operator()(AbstractDataType &dataTypeInstance) | peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType > | [inline, virtual] |
| ~AbstractAlgorithm() | peoSynchronousMultiStart< EntityType >::AbstractAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm.html
new file mode 100644
index 000000000..74d0eeb9f
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm.html
@@ -0,0 +1,68 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >: +

Public Member Functions | |
| + | Algorithm (AlgorithmType &externalAlgorithm) |
| +void | operator() (AbstractDataType &dataTypeInstance) |
Public Attributes | |
| +AlgorithmType & | algorithm |
+ +
+Definition at line 146 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm.png b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm.png
new file mode 100644
index 000000000..e3a21bff5
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1Algorithm.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType-members.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType-members.html
new file mode 100644
index 000000000..ca702c581
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType-members.html
@@ -0,0 +1,41 @@
+
+
+| data | peoSynchronousMultiStart< EntityType >::DataType< Type > | |
| DataType(Type &externalData) | peoSynchronousMultiStart< EntityType >::DataType< Type > | [inline] |
| operator Type &() | peoSynchronousMultiStart< EntityType >::AbstractDataType | [inline] |
| ~AbstractDataType() | peoSynchronousMultiStart< EntityType >::AbstractDataType | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType.html
new file mode 100644
index 000000000..7887d2433
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType.html
@@ -0,0 +1,65 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >::DataType< Type >: +

Public Member Functions | |
| + | DataType (Type &externalData) |
Public Attributes | |
| +Type & | data |
+ +
+Definition at line 132 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType.png b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType.png
new file mode 100644
index 000000000..27559b2de
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1DataType.png differ
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction-members.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction-members.html
new file mode 100644
index 000000000..63011af07
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction-members.html
@@ -0,0 +1,39 @@
+
+
+| operator()(AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB) | peoSynchronousMultiStart< EntityType >::NoAggregationFunction | [inline, virtual] |
| ~AbstractAggregationAlgorithm() | peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm | [inline, virtual] |
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction.html b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction.html
new file mode 100644
index 000000000..45c1478e8
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction.html
@@ -0,0 +1,60 @@
+
+
+Inheritance diagram for peoSynchronousMultiStart< EntityType >::NoAggregationFunction: +

Public Member Functions | |
| +void | operator() (AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB) |
+ +
+Definition at line 176 of file peoSynchronousMultiStart.h.
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction.png b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction.png
new file mode 100644
index 000000000..ca3756877
Binary files /dev/null and b/trunk/paradiseo-peo/doc/html/structpeoSynchronousMultiStart_1_1NoAggregationFunction.png differ
diff --git a/trunk/paradiseo-peo/doc/html/t-peo_8cpp-source.html b/trunk/paradiseo-peo/doc/html/t-peo_8cpp-source.html
new file mode 100644
index 000000000..fffa8530d
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/t-peo_8cpp-source.html
@@ -0,0 +1,83 @@
+
+
+00001 /* +00002 * <t-peo.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 //----------------------------------------------------------------------------- +00037 // t-peo.cpp +00038 //----------------------------------------------------------------------------- +00039 +00040 #include <peo.h> +00041 +00042 //----------------------------------------------------------------------------- +00043 +00044 +00045 //----------------------------------------------------------------------------- +00046 +00047 int main() +00048 { +00049 std::cout << "Please fill the test" << std::endl; +00050 +00051 return 0; +00052 } +00053 +00054 //----------------------------------------------------------------------------- +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8cpp-source.html b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8cpp-source.html
new file mode 100644
index 000000000..9d6d9f2cb
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8cpp-source.html
@@ -0,0 +1,134 @@
+
+
+00001 /* +00002 * <node.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <math.h> +00038 #include <values.h> +00039 +00040 #include "node.h" +00041 +00042 unsigned numNodes; /* Number of nodes */ +00043 +00044 //static unsigned * * dist; /* Square matrix of distances */ +00045 +00046 double * X_coord, * Y_coord; +00047 +00048 double X_min = MAXDOUBLE, X_max = MINDOUBLE, Y_min = MAXDOUBLE, Y_max = MINDOUBLE; +00049 +00050 void loadNodes (FILE * __f) { +00051 +00052 /* Coord */ +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 /* Allocation */ +00075 /* +00076 dist = new unsigned * [numNodes]; +00077 +00078 for (unsigned i = 0; i < numNodes; i ++) +00079 dist [i] = new unsigned [numNodes]; +00080 */ +00081 /* Computation of the distances */ +00082 +00083 /* +00084 for (unsigned i = 0; i < numNodes; i ++) { +00085 +00086 dist [i] [i] = 0; +00087 +00088 for (unsigned j = 0; j < numNodes; j ++) { +00089 +00090 double dx = X_coord [i] - X_coord [j], dy = Y_coord [i] - Y_coord [j]; +00091 +00092 dist [i] [j] = dist [j] [i] = (unsigned) (sqrt (dx * dx + dy * dy) + 0.5) ; +00093 } +00094 }*/ +00095 } +00096 +00097 unsigned distance (Node __from, Node __to) { +00098 +00099 // return dist [__from] [__to]; +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 } +00105 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8h-source.html b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8h-source.html
new file mode 100644
index 000000000..c8d476ad7
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2node_8h-source.html
@@ -0,0 +1,83 @@
+
+
+00001 /* +00002 * <node.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __node_h +00038 #define __node_h +00039 +00040 #include <stdio.h> +00041 +00042 typedef unsigned Node; +00043 +00044 extern double X_min, X_max, Y_min, Y_max; +00045 +00046 extern double * X_coord, * Y_coord; +00047 +00048 extern unsigned numNodes; /* Number of nodes */ +00049 +00050 extern void loadNodes (FILE * __f); +00051 +00052 extern unsigned distance (Node __from, Node __to); +00053 +00054 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8cpp-source.html b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8cpp-source.html
new file mode 100644
index 000000000..2200d9b71
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8cpp-source.html
@@ -0,0 +1,80 @@
+
+
+00001 /* +00002 * <param.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <utils/eoParser.h> +00038 +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 +00051 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8h-source.html b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8h-source.html
new file mode 100644
index 000000000..1d8690989
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/tutorial_2examples_2tsp_2param_8h-source.html
@@ -0,0 +1,71 @@
+
+
+00001 /* +00002 * <param.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __param_h +00038 #define __param_h +00039 +00040 extern void loadParameters (int __argc, char * * __argv); +00041 +00042 #endif +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt_8cpp-source.html b/trunk/paradiseo-peo/doc/html/two__opt_8cpp-source.html
new file mode 100644
index 000000000..ddf4275dc
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt_8cpp-source.html
@@ -0,0 +1,77 @@
+
+
+00001 /* +00002 * <two_opt.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +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 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt_8h-source.html b/trunk/paradiseo-peo/doc/html/two__opt_8h-source.html
new file mode 100644
index 000000000..629e5011a
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt_8h-source.html
@@ -0,0 +1,82 @@
+
+
+00001 /* +00002 * <two_opt.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __two_opt_h +00038 #define __two_opt_h +00039 +00040 #include <utility> +00041 #include <moMove.h> +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 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__incr__eval_8cpp-source.html b/trunk/paradiseo-peo/doc/html/two__opt__incr__eval_8cpp-source.html
new file mode 100644
index 000000000..2a3fceadf
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__incr__eval_8cpp-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <two_opt_incr_eval.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include "two_opt_incr_eval.h" +00038 #include "node.h" +00039 +00040 int TwoOptIncrEval :: operator () (const TwoOpt & __move, const Route & __route) { +00041 +00042 /* From */ +00043 Node v1 = __route [__move.first], v1_left = __route [(__move.first - 1 + numNodes) % numNodes]; +00044 +00045 /* To */ +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 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__incr__eval_8h-source.html b/trunk/paradiseo-peo/doc/html/two__opt__incr__eval_8h-source.html
new file mode 100644
index 000000000..7a25390a2
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__incr__eval_8h-source.html
@@ -0,0 +1,80 @@
+
+
+00001 /* +00002 * <two_opt_incr_eval.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __two_opt_incr_eval_h +00038 #define __two_opt_incr_eval_h +00039 +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 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__init_8cpp-source.html b/trunk/paradiseo-peo/doc/html/two__opt__init_8cpp-source.html
new file mode 100644
index 000000000..4453764a6
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__init_8cpp-source.html
@@ -0,0 +1,71 @@
+
+
+00001 /* +00002 * <two_opt_init.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +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 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__init_8h-source.html b/trunk/paradiseo-peo/doc/html/two__opt__init_8h-source.html
new file mode 100644
index 000000000..0ce10347e
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__init_8h-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <two_opt_init.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __two_opt_init_h +00038 #define __two_opt_init_h +00039 +00040 #include <moMoveInit.h> +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 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__next_8cpp-source.html b/trunk/paradiseo-peo/doc/html/two__opt__next_8cpp-source.html
new file mode 100644
index 000000000..d5b5f6eed
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__next_8cpp-source.html
@@ -0,0 +1,84 @@
+
+
+00001 /* +00002 * <two_opt_next.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +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 } +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__next_8h-source.html b/trunk/paradiseo-peo/doc/html/two__opt__next_8h-source.html
new file mode 100644
index 000000000..e0b7e9092
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__next_8h-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <two_opt_next.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __two_opt_next_h +00038 #define __two_opt_next_h +00039 +00040 #include <moNextMove.h> +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 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__rand_8cpp-source.html b/trunk/paradiseo-peo/doc/html/two__opt__rand_8cpp-source.html
new file mode 100644
index 000000000..5ffc4e7c4
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__rand_8cpp-source.html
@@ -0,0 +1,78 @@
+
+
+00001 /* +00002 * <two_opt_rand.cpp> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #include <utils/eoRNG.h> +00038 +00039 #include "two_opt_rand.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 +00049 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/html/two__opt__rand_8h-source.html b/trunk/paradiseo-peo/doc/html/two__opt__rand_8h-source.html
new file mode 100644
index 000000000..a2c308c36
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/html/two__opt__rand_8h-source.html
@@ -0,0 +1,81 @@
+
+
+00001 /* +00002 * <two_opt_rand.h> +00003 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 +00004 * (C) OPAC Team, LIFL, 2002-2007 +00005 * +00006 * Sebastien Cahon, Alexandru-Adrian Tantar +00007 * +00008 * This software is governed by the CeCILL license under French law and +00009 * abiding by the rules of distribution of free software. You can use, +00010 * modify and/ or redistribute the software under the terms of the CeCILL +00011 * license as circulated by CEA, CNRS and INRIA at the following URL +00012 * "http://www.cecill.info". +00013 * +00014 * As a counterpart to the access to the source code and rights to copy, +00015 * modify and redistribute granted by the license, users are provided only +00016 * with a limited warranty and the software's author, the holder of the +00017 * economic rights, and the successive licensors have only limited liability. +00018 * +00019 * In this respect, the user's attention is drawn to the risks associated +00020 * with loading, using, modifying and/or developing or reproducing the +00021 * software by the user in light of its specific status of free software, +00022 * that may mean that it is complicated to manipulate, and that also +00023 * therefore means that it is reserved for developers and experienced +00024 * professionals having in-depth computer knowledge. Users are therefore +00025 * encouraged to load and test the software's suitability as regards their +00026 * requirements in conditions enabling the security of their systems and/or +00027 * data to be ensured and, more generally, to use and operate it in the +00028 * same conditions as regards security. +00029 * The fact that you are presently reading this means that you have had +00030 * knowledge of the CeCILL license and that you accept its terms. +00031 * +00032 * ParadisEO WebSite : http://paradiseo.gforge.inria.fr +00033 * Contact: paradiseo-help@lists.gforge.inria.fr +00034 * +00035 */ +00036 +00037 #ifndef __two_opt_rand_h +00038 #define __two_opt_rand_h +00039 +00040 #include <eoMoveRand.h> +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 +
1.4.7
+
+
diff --git a/trunk/paradiseo-peo/doc/latex/classCommunicable.pdf b/trunk/paradiseo-peo/doc/latex/classCommunicable.pdf
new file mode 100644
index 000000000..9213c1a3e
Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classCommunicable.pdf differ
diff --git a/trunk/paradiseo-peo/doc/latex/classCommunicator.pdf b/trunk/paradiseo-peo/doc/latex/classCommunicator.pdf
new file mode 100644
index 000000000..803364617
Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classCommunicator.pdf differ
diff --git a/trunk/paradiseo-peo/doc/latex/classCooperative.pdf b/trunk/paradiseo-peo/doc/latex/classCooperative.pdf
new file mode 100644
index 000000000..d7a04b51a
Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classCooperative.pdf differ
diff --git a/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.eps b/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.eps
new file mode 100644
index 000000000..b2d0ad093
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.eps
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 677.966
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.7375 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 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(DisplayBestRoute) cw
+(eoUpdater) cw
+(eoF< void >) cw
+(eoFunctorBase) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (DisplayBestRoute) 0 0 box
+ (eoUpdater) 0 1 box
+ (eoF< void >) 0 2 box
+ (eoFunctorBase) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.pdf b/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.pdf
new file mode 100644
index 000000000..3e97f2f86
Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.pdf differ
diff --git a/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.tex b/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.tex
new file mode 100644
index 000000000..390c5544a
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/latex/classDisplayBestRoute.tex
@@ -0,0 +1,44 @@
+\hypertarget{classDisplayBestRoute}{
+\section{Display\-Best\-Route Class Reference}
+\label{classDisplayBestRoute}\index{DisplayBestRoute@{DisplayBestRoute}}
+}
+Inheritance diagram for Display\-Best\-Route::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classDisplayBestRoute}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item
+\hypertarget{classDisplayBestRoute_db263e38f1e82174f811bf62f323f87f}{
+\hyperlink{classDisplayBestRoute_db263e38f1e82174f811bf62f323f87f}{Display\-Best\-Route} (\bf{eo\-Pop}$<$ \bf{Route} $>$ \&\_\-\_\-pop)}
+\label{classDisplayBestRoute_db263e38f1e82174f811bf62f323f87f}
+
+\item
+\hypertarget{classDisplayBestRoute_ee879344a6d8b81a04d4eabbed2c7a04}{
+void \hyperlink{classDisplayBestRoute_ee879344a6d8b81a04d4eabbed2c7a04}{operator()} ()}
+\label{classDisplayBestRoute_ee879344a6d8b81a04d4eabbed2c7a04}
+
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item
+\hypertarget{classDisplayBestRoute_5270aabbf294d2deca9878934216eb89}{
+\bf{eo\-Pop}$<$ \bf{Route} $>$ \& \hyperlink{classDisplayBestRoute_5270aabbf294d2deca9878934216eb89}{pop}}
+\label{classDisplayBestRoute_5270aabbf294d2deca9878934216eb89}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+
+
+Definition at line 46 of file display\_\-best\_\-route.h.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item
+display\_\-best\_\-route.h\item
+display\_\-best\_\-route.cpp\end{CompactItemize}
diff --git a/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.eps b/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.eps
new file mode 100644
index 000000000..a46755cc0
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.eps
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For:
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 479.042
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.04375 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 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+ /a exch def
+ /b exch def
+ a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+ 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+ /str exch def
+ /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+ 2 setlinewidth
+ newpath
+ exch xspacing mul xoffset add
+ exch yspacing mul
+ moveto
+ boxwidth 0 rlineto
+ 0 boxheight rlineto
+ boxwidth neg 0 rlineto
+ 0 boxheight neg rlineto
+ closepath
+ dup stringwidth pop neg boxwidth add 2 div
+ boxheight fontheight 2 div sub 2 div
+ rmoveto show stroke
+ grestore
+} def
+
+/mark
+{ newpath
+ exch xspacing mul xoffset add boxwidth add
+ exch yspacing mul
+ moveto
+ 0 boxheight 4 div rlineto
+ boxheight neg 4 div boxheight neg 4 div rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/arrow
+{ newpath
+ moveto
+ 3 -8 rlineto
+ -6 0 rlineto
+ 3 8 rlineto
+ closepath
+ eofill
+ stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight add
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+ newpath
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul disty 2 div sub
+ /y exch def
+ /x exch def
+ x y moveto
+ 0 disty 2 div rlineto
+ stroke
+ 1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+ exch xspacing mul xoffset add boxwidth 2 div add
+ exch yspacing mul boxheight 2 div sub
+ /y exch def
+ /x exch def
+ newpath
+ x y moveto
+ boxwidth 2 div distx add 0 rlineto
+ stroke
+ 1 eq
+ { newpath x boxwidth 2 div distx add add y moveto
+ -8 3 rlineto
+ 0 -6 rlineto
+ 8 3 rlineto
+ closepath
+ eofill
+ stroke
+ } if
+} def
+
+/vedge
+{
+ /ye exch def
+ /ys exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add dup
+ ys yspacing mul boxheight 2 div sub
+ moveto
+ ye yspacing mul boxheight 2 div sub
+ lineto
+ stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+ /ys exch def
+ /xe exch def
+ /xs exch def
+ newpath
+ xs xspacing mul xoffset add boxwidth 2 div add
+ ys yspacing mul disty 2 div sub
+ moveto
+ xspacing xe xs sub mul 0
+ rlineto
+ stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(MergeRouteEval) cw
+(peoAggEvalFunc< 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
+/scalefactor
+ boxwidth cols mul distx cols 1 sub mul add
+ boxheight rows mul disty rows 1 sub mul add boundaspect mul
+ max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (MergeRouteEval) 0 0 box
+ (peoAggEvalFunc< EOT >) 0 1 box
+ (eoBF< A1, A2, R >) 0 2 box
+ (eoFunctorBase) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.pdf b/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.pdf
new file mode 100644
index 000000000..d469f7cf8
Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.pdf differ
diff --git a/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.tex b/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.tex
new file mode 100644
index 000000000..d2fcb7425
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/latex/classMergeRouteEval.tex
@@ -0,0 +1,31 @@
+\hypertarget{classMergeRouteEval}{
+\section{Merge\-Route\-Eval Class Reference}
+\label{classMergeRouteEval}\index{MergeRouteEval@{MergeRouteEval}}
+}
+Inheritance diagram for Merge\-Route\-Eval::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classMergeRouteEval}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item
+\hypertarget{classMergeRouteEval_29cb0028ac0df4b2cee3a809c8f35dea}{
+void \hyperlink{classMergeRouteEval_29cb0028ac0df4b2cee3a809c8f35dea}{operator()} (\bf{Route} \&\_\-\_\-route, const int \&\_\-\_\-part\_\-fit)}
+\label{classMergeRouteEval_29cb0028ac0df4b2cee3a809c8f35dea}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+
+
+
+
+Definition at line 44 of file merge\_\-route\_\-eval.h.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item
+merge\_\-route\_\-eval.h\item
+merge\_\-route\_\-eval.cpp\end{CompactItemize}
diff --git a/trunk/paradiseo-peo/doc/latex/classReactiveThread.pdf b/trunk/paradiseo-peo/doc/latex/classReactiveThread.pdf
new file mode 100644
index 000000000..2e0f92b3c
--- /dev/null
+++ b/trunk/paradiseo-peo/doc/latex/classReactiveThread.pdf
@@ -0,0 +1,76 @@
+%PDF-1.3
+%쏢
+5 0 obj
+<>
+stream
+xSM0Wό
+BD\jY3·n]Eyٓu֕gwy/g}`îݔ-HJ6'E $lӚ7wg.w1C |F|4g;\ c"@cF
+