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 @@ + + +ParadisEO-PEOMovingObjects: main.cpp Source File + + + + +
+
+

main.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: main.cpp Source File + + + + +
+
+

main.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: main.cpp Source File + + + + +
+
+

main.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: main.cpp Source File + + + + +
+
+

main.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: README Source File + + + + +
+
+

README

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: city_swap.cpp Source File + + + + +
+
+

city_swap.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: city_swap.h Source File + + + + +
+
+

city_swap.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

DisplayBestRoute Member List

This is the complete list of members for DisplayBestRoute, including all inherited members.

+ + + + + + + + + + +
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]
popDisplayBestRoute [private]
result_type typedefeoF< void >
~eoF()eoF< void > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: DisplayBestRoute Class Reference + + + + +
+
+
+
+

DisplayBestRoute Class Reference

Inheritance diagram for DisplayBestRoute: +

+ +eoUpdater +eoF< void > +eoFunctorBase + +List of all members. + + + + + + + + + +

Public Member Functions

DisplayBestRoute (eoPop< Route > &__pop)
+void operator() ()

Private Attributes

+eoPop< Route > & pop
+

Detailed Description

+ +

+ +

+Definition at line 46 of file display_best_route.h.


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

MergeRouteEval Member List

This is the complete list of members for MergeRouteEval, including all inherited members.

+ + + + + +
functor_category()eoBF< A1, A2, R > [static]
operator()(Route &__route, const int &__part_fit)MergeRouteEval
peoAggEvalFunc::operator()(A1, A2)=0eoBF< A1, A2, R > [pure virtual]
~eoBF()eoBF< A1, A2, R > [virtual]
~eoFunctorBase()eoFunctorBase [virtual]


Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: MergeRouteEval Class Reference + + + + +
+
+
+
+

MergeRouteEval Class Reference

Inheritance diagram for MergeRouteEval: +

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

Public Member Functions

+void operator() (Route &__route, const int &__part_fit)
+

Detailed Description

+ +

+ +

+Definition at line 44 of file merge_route_eval.h.


The documentation for this class was generated from the following files: +
Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoParallelAlgorithmWrapper Member List

This is the complete list of members for peoParallelAlgorithmWrapper, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
algorithmpeoParallelAlgorithmWrapper [private]
Communicable()Communicable
getID()Runner
getKey()Communicable
isLocal()Runner
keyCommunicable [protected]
lock()Communicable
notifySendingTermination()Runner
num_commCommunicable [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_lockCommunicable [protected]
sem_stopCommunicable [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]


Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoParallelAlgorithmWrapper Class Reference + + + + +
+
+
+
+

peoParallelAlgorithmWrapper Class Reference

Inheritance diagram for peoParallelAlgorithmWrapper: +

+ +Runner +Communicable +Thread + +List of all members. + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

+template<typename AlgorithmType>
 peoParallelAlgorithmWrapper (AlgorithmType &externalAlgorithm)
+template<typename AlgorithmType, typename AlgorithmDataType>
 peoParallelAlgorithmWrapper (AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData)
~peoParallelAlgorithmWrapper ()
+void run ()

Private Attributes

+AbstractAlgorithmalgorithm

Classes

struct  AbstractAlgorithm
struct  Algorithm
struct  Algorithm< AlgorithmType, void >
+

Detailed Description

+ +

+ +

+Definition at line 47 of file peoParallelAlgorithmWrapper.h.


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType > Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aggregationFunctionpeoSynchronousMultiStart< EntityType > [private]
algorithmspeoSynchronousMultiStart< EntityType > [private]
Communicable()Communicable
datapeoSynchronousMultiStart< EntityType > [private]
dataIndexpeoSynchronousMultiStart< EntityType > [private]
entityTypeInstancepeoSynchronousMultiStart< EntityType > [private]
execute()peoSynchronousMultiStart< EntityType > [virtual]
functionIndexpeoSynchronousMultiStart< EntityType > [private]
getKey()Communicable
getOwner()Service
idxpeoSynchronousMultiStart< EntityType > [private]
keyCommunicable [protected]
lock()Communicable
notifySendingAllResourceRequests()peoSynchronousMultiStart< EntityType > [virtual]
notifySendingData()peoSynchronousMultiStart< EntityType > [virtual]
notifySendingResourceRequest()Service [virtual]
num_commCommunicable [protected, static]
num_termpeoSynchronousMultiStart< EntityType > [private]
operator()(Type &externalData)peoSynchronousMultiStart< EntityType > [inline]
operator()(const Type &externalDataBegin, const Type &externalDataEnd)peoSynchronousMultiStart< EntityType > [inline]
packData()peoSynchronousMultiStart< EntityType > [virtual]
packResourceRequest()Service
packResult()peoSynchronousMultiStart< EntityType > [virtual]
peoSynchronousMultiStart(AlgorithmType &externalAlgorithm)peoSynchronousMultiStart< EntityType > [inline]
peoSynchronousMultiStart(std::vector< AlgorithmType * > &externalAlgorithms, AggregationFunctionType &externalAggregationFunction)peoSynchronousMultiStart< EntityType > [inline]
requestResourceRequest(unsigned __how_many=1)Service
resume()Communicable
sem_lockCommunicable [protected]
sem_stopCommunicable [protected]
setOwner(Thread &__owner)Service
singularAlgorithmpeoSynchronousMultiStart< EntityType > [private]
stop()Communicable
unlock()Communicable
unpackData()peoSynchronousMultiStart< EntityType > [virtual]
unpackResult()peoSynchronousMultiStart< EntityType > [virtual]
~Communicable()Communicable [virtual]
~peoSynchronousMultiStart()peoSynchronousMultiStart< EntityType > [inline]


Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType > Class Template Reference + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType > Class Template Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >: +

+ +Service +Communicable + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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

+AbstractAlgorithmsingularAlgorithm
+std::vector< AbstractAlgorithm * > algorithms
+AbstractAggregationAlgorithmaggregationFunction
+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
+

Detailed Description

+

template<typename EntityType>
+ class peoSynchronousMultiStart< EntityType >

+ + +

+ +

+Definition at line 45 of file peoSynchronousMultiStart.h.


The documentation for this class was generated from the following file: +
Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: data.cpp Source File + + + + +
+
+

data.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: data.h Source File + + + + +
+
+

data.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: display.cpp Source File + + + + +
+
+

display.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: display.h Source File + + + + +
+
+

display.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: display_best_route.cpp Source File + + + + +
+
+

display_best_route.cpp

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 
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: display_best_route.h Source File + + + + +
+
+

display_best_route.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: doclsn.h Source File + + + + +
+
+

doclsn.h

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 
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: edge_xover.cpp Source File + + + + +
+
+

edge_xover.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: edge_xover.h Source File + + + + +
+
+

edge_xover.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: exampleA.cpp Source File + + + + +
+
+

exampleA.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: exampleB.cpp Source File + + + + +
+
+

exampleB.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: exampleC.cpp Source File + + + + +
+
+

exampleC.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: exampleD.cpp Source File + + + + +
+
+

exampleD.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: exampleE.cpp Source File + + + + +
+
+

exampleE.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: merge_route_eval.cpp Source File + + + + +
+
+

merge_route_eval.cpp

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   
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: merge_route_eval.h Source File + + + + +
+
+

merge_route_eval.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: mix.h Source File + + + + +
+
+

mix.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: opt_route.cpp Source File + + + + +
+
+

opt_route.cpp

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 
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: opt_route.h Source File + + + + +
+
+

opt_route.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: order_xover.cpp Source File + + + + +
+
+

order_xover.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: order_xover.h Source File + + + + +
+
+

order_xover.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: part_route_eval.cpp Source File + + + + +
+
+

part_route_eval.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: part_route_eval.h Source File + + + + +
+
+

part_route_eval.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: partial_mapped_xover.cpp Source File + + + + +
+
+

partial_mapped_xover.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: partial_mapped_xover.h Source File + + + + +
+
+

partial_mapped_xover.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoParallelAlgorithmWrapper.h Source File + + + + +
+
+

peoParallelAlgorithmWrapper.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart.h Source File + + + + +
+
+

peoSynchronousMultiStart.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peo.h Source File + + + + +
+
+

peo.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: route.cpp Source File + + + + +
+
+

route.cpp

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 
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: route.h Source File + + + + +
+
+

route.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: route_eval.cpp Source File + + + + +
+
+

route_eval.cpp

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

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: route_eval.h Source File + + + + +
+
+

route_eval.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: route_init.cpp Source File + + + + +
+
+

route_init.cpp

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

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: route_init.h Source File + + + + +
+
+

route_init.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: node.cpp Source File + + + + +
+
+

node.cpp

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 
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: node.h Source File + + + + +
+
+

node.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: param.cpp Source File + + + + +
+
+

param.cpp

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

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: param.h Source File + + + + +
+
+

param.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

RandomExplorationAlgorithm Member List

This is the complete list of members for RandomExplorationAlgorithm, including all inherited members.

+ + + + +
operator()()RandomExplorationAlgorithm [inline]
parallelExecutionRandomExplorationAlgorithm
popEvalRandomExplorationAlgorithm
RandomExplorationAlgorithm(peoPopEval< Route > &__popEval, peoSynchronousMultiStart< Route > &extParallelExecution)RandomExplorationAlgorithm [inline]


Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: RandomExplorationAlgorithm Struct Reference + + + + +
+
+
+
+

RandomExplorationAlgorithm Struct Reference

List of all members. + + + + + + + + + + + +

Public Member Functions

RandomExplorationAlgorithm (peoPopEval< Route > &__popEval, peoSynchronousMultiStart< Route > &extParallelExecution)
+void operator() ()

Public Attributes

+peoPopEval< Route > & popEval
+peoSynchronousMultiStart<
+ Route > & 
parallelExecution
+

Detailed Description

+ +

+ +

+Definition at line 56 of file LessonParallelAlgorithm/main.cpp.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoParallelAlgorithmWrapper::AbstractAlgorithm Member List

This is the complete list of members for peoParallelAlgorithmWrapper::AbstractAlgorithm, including all inherited members.

+ + +
operator()()peoParallelAlgorithmWrapper::AbstractAlgorithm [inline, virtual]
~AbstractAlgorithm()peoParallelAlgorithmWrapper::AbstractAlgorithm [inline, virtual]


Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoParallelAlgorithmWrapper::AbstractAlgorithm Struct Reference + + + + +
+
+
+
+ +

peoParallelAlgorithmWrapper::AbstractAlgorithm Struct Reference

Inheritance diagram for peoParallelAlgorithmWrapper::AbstractAlgorithm: +

+ +peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > +peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > + +List of all members. + + + + + + +

Public Member Functions

+virtual ~AbstractAlgorithm ()
+virtual void operator() ()
+

Detailed Description

+ +

+ +

+Definition at line 71 of file peoParallelAlgorithmWrapper.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > Member List

This is the complete list of members for peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >, including all inherited members.

+ + + + + +
algorithmpeoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
Algorithm(AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData)peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > [inline]
algorithmDatapeoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >
operator()()peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > [inline, virtual]
~AbstractAlgorithm()peoParallelAlgorithmWrapper::AbstractAlgorithm [inline, virtual]


Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > Struct Template Reference + + + + +
+
+
+
+ +

peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType > Struct Template Reference

Inheritance diagram for peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >: +

+ +peoParallelAlgorithmWrapper::AbstractAlgorithm + +List of all members. + + + + + + + + + + + +

Public Member Functions

Algorithm (AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData)
+virtual void operator() ()

Public Attributes

+AlgorithmType & algorithm
+AlgorithmDataType & algorithmData
+

Detailed Description

+

template<typename AlgorithmType, typename AlgorithmDataType>
+ struct peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >

+ + +

+ +

+Definition at line 81 of file peoParallelAlgorithmWrapper.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > Member List

This is the complete list of members for peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >, including all inherited members.

+ + + + +
algorithmpeoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >
Algorithm(AlgorithmType &externalAlgorithm)peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > [inline]
operator()()peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > [inline, virtual]
~AbstractAlgorithm()peoParallelAlgorithmWrapper::AbstractAlgorithm [inline, virtual]


Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > Struct Template Reference + + + + +
+
+
+
+ +

peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > Struct Template Reference

Inheritance diagram for peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >: +

+ +peoParallelAlgorithmWrapper::AbstractAlgorithm + +List of all members. + + + + + + + + + +

Public Member Functions

Algorithm (AlgorithmType &externalAlgorithm)
+virtual void operator() ()

Public Attributes

+AlgorithmType & algorithm
+

Detailed Description

+

template<typename AlgorithmType>
+ struct peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >

+ + +

+ +

+Definition at line 95 of file peoParallelAlgorithmWrapper.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:47 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm, including all inherited members.

+ + +
operator()(AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB)peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm [inline, virtual]
~AbstractAggregationAlgorithm()peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm [inline, virtual]


Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm Struct Reference + + + + +
+
+
+
+ +

peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm Struct Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm: +

+ +peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType > +peoSynchronousMultiStart< EntityType >::NoAggregationFunction + +List of all members. + + + + + + +

Public Member Functions

+virtual ~AbstractAggregationAlgorithm ()
+virtual void operator() (AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB)
+

Detailed Description

+

template<typename EntityType>
+ struct peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm

+ + +

+ +

+Definition at line 157 of file peoSynchronousMultiStart.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType >::AbstractAlgorithm Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >::AbstractAlgorithm, including all inherited members.

+ + +
operator()(AbstractDataType &dataTypeInstance)peoSynchronousMultiStart< EntityType >::AbstractAlgorithm [inline, virtual]
~AbstractAlgorithm()peoSynchronousMultiStart< EntityType >::AbstractAlgorithm [inline, virtual]


Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType >::AbstractAlgorithm Struct Reference + + + + +
+
+
+
+ +

peoSynchronousMultiStart< EntityType >::AbstractAlgorithm Struct Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >::AbstractAlgorithm: +

+ +peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType > + +List of all members. + + + + + + +

Public Member Functions

+virtual ~AbstractAlgorithm ()
+virtual void operator() (AbstractDataType &dataTypeInstance)
+

Detailed Description

+

template<typename EntityType>
+ struct peoSynchronousMultiStart< EntityType >::AbstractAlgorithm

+ + +

+ +

+Definition at line 139 of file peoSynchronousMultiStart.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType >::AbstractDataType Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >::AbstractDataType, including all inherited members.

+ + +
operator Type &()peoSynchronousMultiStart< EntityType >::AbstractDataType [inline]
~AbstractDataType()peoSynchronousMultiStart< EntityType >::AbstractDataType [inline, virtual]


Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType >::AbstractDataType Struct Reference + + + + +
+
+
+
+ +

peoSynchronousMultiStart< EntityType >::AbstractDataType Struct Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >::AbstractDataType: +

+ +peoSynchronousMultiStart< EntityType >::DataType< Type > + +List of all members. + + + + + + + +

Public Member Functions

+virtual ~AbstractDataType ()
+template<typename Type>
 operator Type & ()
+

Detailed Description

+

template<typename EntityType>
+ struct peoSynchronousMultiStart< EntityType >::AbstractDataType

+ + +

+ +

+Definition at line 122 of file peoSynchronousMultiStart.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType > Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >, including all inherited members.

+ + + + +
aggregationAlgorithmpeoSynchronousMultiStart< 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]


Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType > Struct Template Reference + + + + +
+
+
+
+ +

peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType > Struct Template Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >: +

+ +peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm + +List of all members. + + + + + + + + + +

Public Member Functions

AggregationAlgorithm (AggregationAlgorithmType &externalAggregationAlgorithm)
+void operator() (AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB)

Public Attributes

+AggregationAlgorithmType & aggregationAlgorithm
+

Detailed Description

+

template<typename EntityType>
+template<typename AggregationAlgorithmType>
+ struct peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >

+ + +

+ +

+Definition at line 164 of file peoSynchronousMultiStart.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType > Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >, including all inherited members.

+ + + + +
algorithmpeoSynchronousMultiStart< 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]


Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType > Struct Template Reference + + + + +
+
+
+
+ +

peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType > Struct Template Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >: +

+ +peoSynchronousMultiStart< EntityType >::AbstractAlgorithm + +List of all members. + + + + + + + + + +

Public Member Functions

Algorithm (AlgorithmType &externalAlgorithm)
+void operator() (AbstractDataType &dataTypeInstance)

Public Attributes

+AlgorithmType & algorithm
+

Detailed Description

+

template<typename EntityType>
+template<typename AlgorithmType>
+ struct peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >

+ + +

+ +

+Definition at line 146 of file peoSynchronousMultiStart.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:48 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType >::DataType< Type > Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >::DataType< Type >, including all inherited members.

+ + + + +
datapeoSynchronousMultiStart< EntityType >::DataType< Type >
DataType(Type &externalData)peoSynchronousMultiStart< EntityType >::DataType< Type > [inline]
operator Type &()peoSynchronousMultiStart< EntityType >::AbstractDataType [inline]
~AbstractDataType()peoSynchronousMultiStart< EntityType >::AbstractDataType [inline, virtual]


Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType >::DataType< Type > Struct Template Reference + + + + +
+
+
+
+ +

peoSynchronousMultiStart< EntityType >::DataType< Type > Struct Template Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >::DataType< Type >: +

+ +peoSynchronousMultiStart< EntityType >::AbstractDataType + +List of all members. + + + + + + + +

Public Member Functions

DataType (Type &externalData)

Public Attributes

+Type & data
+

Detailed Description

+

template<typename EntityType>
+template<typename Type>
+ struct peoSynchronousMultiStart< EntityType >::DataType< Type >

+ + +

+ +

+Definition at line 132 of file peoSynchronousMultiStart.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: Member List + + + + +
+
+
+
+

peoSynchronousMultiStart< EntityType >::NoAggregationFunction Member List

This is the complete list of members for peoSynchronousMultiStart< EntityType >::NoAggregationFunction, including all inherited members.

+ + +
operator()(AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB)peoSynchronousMultiStart< EntityType >::NoAggregationFunction [inline, virtual]
~AbstractAggregationAlgorithm()peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm [inline, virtual]


Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: peoSynchronousMultiStart< EntityType >::NoAggregationFunction Struct Reference + + + + +
+
+
+
+ +

peoSynchronousMultiStart< EntityType >::NoAggregationFunction Struct Reference

Inheritance diagram for peoSynchronousMultiStart< EntityType >::NoAggregationFunction: +

+ +peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm + +List of all members. + + + + +

Public Member Functions

+void operator() (AbstractDataType &dataTypeInstanceA, AbstractDataType &dataTypeInstanceB)
+

Detailed Description

+

template<typename EntityType>
+ struct peoSynchronousMultiStart< EntityType >::NoAggregationFunction

+ + +

+ +

+Definition at line 176 of file peoSynchronousMultiStart.h.


The documentation for this struct was generated from the following file: +
Generated on Mon Oct 8 11:16:49 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: t-peo.cpp Source File + + + + +
+
+

t-peo.cpp

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

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: node.cpp Source File + + + + +
+
+

node.cpp

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 
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: node.h Source File + + + + +
+
+

node.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: param.cpp Source File + + + + +
+
+

param.cpp

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 
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: param.h Source File + + + + +
+
+

param.h

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
+

Generated on Mon Oct 8 11:16:45 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt.cpp Source File + + + + +
+
+

two_opt.cpp

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

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt.h Source File + + + + +
+
+

two_opt.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_incr_eval.cpp Source File + + + + +
+
+

two_opt_incr_eval.cpp

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

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_incr_eval.h Source File + + + + +
+
+

two_opt_incr_eval.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_init.cpp Source File + + + + +
+
+

two_opt_init.cpp

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

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_init.h Source File + + + + +
+
+

two_opt_init.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_next.cpp Source File + + + + +
+
+

two_opt_next.cpp

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

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_next.h Source File + + + + +
+
+

two_opt_next.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_rand.cpp Source File + + + + +
+
+

two_opt_rand.cpp

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 
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 @@ + + +ParadisEO-PEOMovingObjects: two_opt_rand.h Source File + + + + +
+
+

two_opt_rand.h

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
+

Generated on Mon Oct 8 11:16:46 2007 for ParadisEO-PEOMovingObjects by  + +doxygen 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 +˶P2 뚅Z3֗8Ab@}" +-I.q|> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000746 00000 n +0000000960 00000 n +0000000687 00000 n +0000000534 00000 n +0000000015 00000 n +0000000515 00000 n +0000000794 00000 n +0000000894 00000 n +0000000835 00000 n +0000000864 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(sY_Z?l!)(sY_Z?l!)] +>> +startxref +1117 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/classRingTopology.pdf b/trunk/paradiseo-peo/doc/latex/classRingTopology.pdf new file mode 100644 index 000000000..3b9bdd5d6 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classRingTopology.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classRunner.pdf b/trunk/paradiseo-peo/doc/latex/classRunner.pdf new file mode 100644 index 000000000..c9bfd3d1a Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classRunner.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classService.pdf b/trunk/paradiseo-peo/doc/latex/classService.pdf new file mode 100644 index 000000000..c9b2abcb1 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classService.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classThread.pdf b/trunk/paradiseo-peo/doc/latex/classThread.pdf new file mode 100644 index 000000000..2e71727a7 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classThread.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classTopology.pdf b/trunk/paradiseo-peo/doc/latex/classTopology.pdf new file mode 100644 index 000000000..dfcce5d06 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classTopology.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classWorker.pdf b/trunk/paradiseo-peo/doc/latex/classWorker.pdf new file mode 100644 index 000000000..e43d46552 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classWorker.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.pdf b/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.pdf new file mode 100644 index 000000000..474c0d8dd --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoAggEvalFunc.pdf @@ -0,0 +1,72 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +xj1 LCP,ٖm]- e2d͡iKi $ g~I~,Mk'cJ<`\6-,+MJ@ ;3P@t%ZsPMz^o.`ߪ?fUkC8_!G@c v0DpȊŀ&7tT3XnF>h&uMȉG~7~yTN:=1h*fNGM޽<ם!vtY>Oe,uGX=?;bB+Gx=#/̨& S|rBg(IQRqw:*AH =@ FOp+Em.{dKk&Hil!-!AXPʒB2R(8.J&883TYRf]7gwendstream +endobj +6 0 obj +419 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000735 00000 n +0000000949 00000 n +0000000676 00000 n +0000000523 00000 n +0000000015 00000 n +0000000504 00000 n +0000000783 00000 n +0000000883 00000 n +0000000824 00000 n +0000000853 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(Xě}y^}rz')(Xě}y^}rz')] +>> +startxref +1106 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.pdf b/trunk/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.pdf new file mode 100644 index 000000000..45d2aac49 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoAsyncIslandMig.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoEA.pdf b/trunk/paradiseo-peo/doc/latex/classpeoEA.pdf new file mode 100644 index 000000000..10660f801 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoEA.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.pdf b/trunk/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.pdf new file mode 100644 index 000000000..6c9a46e11 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoNoAggEvalFunc.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoParaPopEval.pdf b/trunk/paradiseo-peo/doc/latex/classpeoParaPopEval.pdf new file mode 100644 index 000000000..fcb9725ca --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoParaPopEval.pdf @@ -0,0 +1,73 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +xN0EYO PŒJVE } 3IUABeܣqvрaZua4Z2} [S)E`0&@TGcbQ֛bnâyk 凚j,c`K#=DiXz:.: ¾VxFng˞Xsdc7duCTR!13aciuxo.j*2N^ +G=)B#gBYRB88)hy_i1FYH? !Ȕ r1K賐$ ~' "S{Lendstream +endobj +6 0 obj +354 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000669 00000 n +0000000883 00000 n +0000000610 00000 n +0000000458 00000 n +0000000015 00000 n +0000000439 00000 n +0000000717 00000 n +0000000817 00000 n +0000000758 00000 n +0000000787 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(V%8cW65)(V%8cW65)] +>> +startxref +1040 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/classpeoParaSGATransform.pdf b/trunk/paradiseo-peo/doc/latex/classpeoParaSGATransform.pdf new file mode 100644 index 000000000..644de362e --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoParaSGATransform.pdf @@ -0,0 +1,75 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +xSn0+xlbC.KAHrlr²i~iJ1R p<3Z>KZ3F\>|:%$ r\V'Yg-ujć_۲].v;ms%oVESVAh!(_Yh;A QK$"m- ($II2x;w + !nlVh}WS6:3 de4/jc{vV`3XXXwWZ>7h4DV^vfyx#?xw"LzeR`喙`<XTw` +A+[8 5bE|*R+f0c6d܆ ~<=8 +ݤMV{3aXN:9T%2T/tendstream +endobj +6 0 obj +523 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000836 00000 n +0000001050 00000 n +0000000777 00000 n +0000000627 00000 n +0000000015 00000 n +0000000608 00000 n +0000000884 00000 n +0000000984 00000 n +0000000925 00000 n +0000000954 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(wVP$j)(wVP$j)] +>> +startxref +1207 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.eps b/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.eps new file mode 100644 index 000000000..d3b1407fa --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.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 161.29 +%%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 3.1 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 2 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 +(peoParallelAlgorithmWrapper) cw +(Runner) cw +(Communicable) cw +(Thread) 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 ----- + + (peoParallelAlgorithmWrapper) 0.5 0 box + (Runner) 0.5 1 box + (Communicable) 0 2 box + (Thread) 1 2 box + +% ----- relations ----- + +solid +0 0.5 0 out +solid +1 0.5 1 in +solid +0 0.5 1 out +solid +0 1 2 conn +solid +1 0 2 in +solid +1 1 2 in diff --git a/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.pdf b/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.pdf new file mode 100644 index 000000000..897fdc562 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.pdf @@ -0,0 +1,74 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +xSN@ WL}!DJ@Iy4lT ͎gg&v Yn*'j#jυ: s& Ybd!ն<MQUeuW-6kY6v[6zDE[V8 ,lQ"蘠)X3K4ݯש`']$OQa7}~oU9Z Y j +il}c}7sNF6Ro5TKP[ȿCO:kFg;)Gk:xP J O1abE"ek!Jb8Q?Mȑendstream +endobj +6 0 obj +365 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000681 00000 n +0000000895 00000 n +0000000622 00000 n +0000000469 00000 n +0000000015 00000 n +0000000450 00000 n +0000000729 00000 n +0000000829 00000 n +0000000770 00000 n +0000000799 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(ijy> +startxref +1052 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.tex b/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.tex new file mode 100644 index 000000000..ff8968483 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoParallelAlgorithmWrapper.tex @@ -0,0 +1,62 @@ +\hypertarget{classpeoParallelAlgorithmWrapper}{ +\section{peo\-Parallel\-Algorithm\-Wrapper Class Reference} +\label{classpeoParallelAlgorithmWrapper}\index{peoParallelAlgorithmWrapper@{peoParallelAlgorithmWrapper}} +} +Inheritance diagram for peo\-Parallel\-Algorithm\-Wrapper::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classpeoParallelAlgorithmWrapper} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{classpeoParallelAlgorithmWrapper_e1e1de8b007934080876df1c65c4d8b0}{ +template$<$typename Algorithm\-Type$>$ \hyperlink{classpeoParallelAlgorithmWrapper_e1e1de8b007934080876df1c65c4d8b0}{peo\-Parallel\-Algorithm\-Wrapper} (Algorithm\-Type \&external\-Algorithm)} +\label{classpeoParallelAlgorithmWrapper_e1e1de8b007934080876df1c65c4d8b0} + +\item +\hypertarget{classpeoParallelAlgorithmWrapper_1ebfe70e6826002f6280aba01e141ad5}{ +template$<$typename Algorithm\-Type, typename Algorithm\-Data\-Type$>$ \hyperlink{classpeoParallelAlgorithmWrapper_1ebfe70e6826002f6280aba01e141ad5}{peo\-Parallel\-Algorithm\-Wrapper} (Algorithm\-Type \&external\-Algorithm, Algorithm\-Data\-Type \&external\-Data)} +\label{classpeoParallelAlgorithmWrapper_1ebfe70e6826002f6280aba01e141ad5} + +\item +\hypertarget{classpeoParallelAlgorithmWrapper_0e64f517afe790db467750a6980e1666}{ +\hyperlink{classpeoParallelAlgorithmWrapper_0e64f517afe790db467750a6980e1666}{$\sim$peo\-Parallel\-Algorithm\-Wrapper} ()} +\label{classpeoParallelAlgorithmWrapper_0e64f517afe790db467750a6980e1666} + +\item +\hypertarget{classpeoParallelAlgorithmWrapper_4b10b46b4ea2e3f66c660c15f3c98e6c}{ +void \hyperlink{classpeoParallelAlgorithmWrapper_4b10b46b4ea2e3f66c660c15f3c98e6c}{run} ()} +\label{classpeoParallelAlgorithmWrapper_4b10b46b4ea2e3f66c660c15f3c98e6c} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\hypertarget{classpeoParallelAlgorithmWrapper_99f10723f15c63c4822dd6431b9d6d7d}{ +\hyperlink{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}{Abstract\-Algorithm} $\ast$ \hyperlink{classpeoParallelAlgorithmWrapper_99f10723f15c63c4822dd6431b9d6d7d}{algorithm}} +\label{classpeoParallelAlgorithmWrapper_99f10723f15c63c4822dd6431b9d6d7d} + +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +struct \hyperlink{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}{Abstract\-Algorithm} +\item +struct \hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm}{Algorithm} +\item +struct \hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}{Algorithm$<$ Algorithm\-Type, void $>$} +\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 47 of file peo\-Parallel\-Algorithm\-Wrapper.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +peo\-Parallel\-Algorithm\-Wrapper.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/classpeoPopEval.pdf b/trunk/paradiseo-peo/doc/latex/classpeoPopEval.pdf new file mode 100644 index 000000000..4e901adc8 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoPopEval.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSeqPopEval.pdf b/trunk/paradiseo-peo/doc/latex/classpeoSeqPopEval.pdf new file mode 100644 index 000000000..259beaa2f Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoSeqPopEval.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSeqTransform.pdf b/trunk/paradiseo-peo/doc/latex/classpeoSeqTransform.pdf new file mode 100644 index 000000000..4b42bd7f9 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoSeqTransform.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSyncIslandMig.pdf b/trunk/paradiseo-peo/doc/latex/classpeoSyncIslandMig.pdf new file mode 100644 index 000000000..7b727b208 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoSyncIslandMig.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSyncMultiStart.pdf b/trunk/paradiseo-peo/doc/latex/classpeoSyncMultiStart.pdf new file mode 100644 index 000000000..a091e904a Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoSyncMultiStart.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.eps b/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.eps new file mode 100644 index 000000000..6e4832756 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 238.095 +%%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 2.1 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 3 def +/cols 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 +(peoSynchronousMultiStart< EntityType >) cw +(Service) cw +(Communicable) 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 ----- + + (peoSynchronousMultiStart< EntityType >) 0 0 box + (Service) 0 1 box + (Communicable) 0 2 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in +solid +0 0 1 out +solid +1 0 2 in diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.pdf b/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.pdf new file mode 100644 index 000000000..c8f374cbf Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.tex b/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.tex new file mode 100644 index 000000000..8b103fb89 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoSynchronousMultiStart.tex @@ -0,0 +1,152 @@ +\hypertarget{classpeoSynchronousMultiStart}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$ Class Template Reference} +\label{classpeoSynchronousMultiStart}\index{peoSynchronousMultiStart@{peoSynchronousMultiStart}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=3cm]{classpeoSynchronousMultiStart} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{classpeoSynchronousMultiStart_e9a336c61dd6216d7d15253ff9c9d2a3}{ +template$<$typename Algorithm\-Type$>$ \hyperlink{classpeoSynchronousMultiStart_e9a336c61dd6216d7d15253ff9c9d2a3}{peo\-Synchronous\-Multi\-Start} (Algorithm\-Type \&external\-Algorithm)} +\label{classpeoSynchronousMultiStart_e9a336c61dd6216d7d15253ff9c9d2a3} + +\item +\hypertarget{classpeoSynchronousMultiStart_689374232ff67f266ddaa5d309ea54ac}{ +template$<$typename Algorithm\-Type, typename Aggregation\-Function\-Type$>$ \hyperlink{classpeoSynchronousMultiStart_689374232ff67f266ddaa5d309ea54ac}{peo\-Synchronous\-Multi\-Start} (std::vector$<$ Algorithm\-Type $\ast$ $>$ \&external\-Algorithms, Aggregation\-Function\-Type \&external\-Aggregation\-Function)} +\label{classpeoSynchronousMultiStart_689374232ff67f266ddaa5d309ea54ac} + +\item +\hypertarget{classpeoSynchronousMultiStart_f9ec55d67f5f45f5a737064fae569277}{ +\hyperlink{classpeoSynchronousMultiStart_f9ec55d67f5f45f5a737064fae569277}{$\sim$peo\-Synchronous\-Multi\-Start} ()} +\label{classpeoSynchronousMultiStart_f9ec55d67f5f45f5a737064fae569277} + +\item +\hypertarget{classpeoSynchronousMultiStart_1fd09337a6edcf173edff1fdda2387c7}{ +template$<$typename Type$>$ void \hyperlink{classpeoSynchronousMultiStart_1fd09337a6edcf173edff1fdda2387c7}{operator()} (Type \&external\-Data)} +\label{classpeoSynchronousMultiStart_1fd09337a6edcf173edff1fdda2387c7} + +\item +\hypertarget{classpeoSynchronousMultiStart_45372c26ac5b979d29458815debceff8}{ +template$<$typename Type$>$ void \hyperlink{classpeoSynchronousMultiStart_45372c26ac5b979d29458815debceff8}{operator()} (const Type \&external\-Data\-Begin, const Type \&external\-Data\-End)} +\label{classpeoSynchronousMultiStart_45372c26ac5b979d29458815debceff8} + +\item +\hypertarget{classpeoSynchronousMultiStart_c73358b4f04f258c55f631660a7992fb}{ +void \hyperlink{classpeoSynchronousMultiStart_c73358b4f04f258c55f631660a7992fb}{pack\-Data} ()} +\label{classpeoSynchronousMultiStart_c73358b4f04f258c55f631660a7992fb} + +\item +\hypertarget{classpeoSynchronousMultiStart_9881b3f05c9f90bcb3c3ec0af8109ccc}{ +void \hyperlink{classpeoSynchronousMultiStart_9881b3f05c9f90bcb3c3ec0af8109ccc}{unpack\-Data} ()} +\label{classpeoSynchronousMultiStart_9881b3f05c9f90bcb3c3ec0af8109ccc} + +\item +\hypertarget{classpeoSynchronousMultiStart_da98ee86056eca293b3f08c89584b701}{ +void \hyperlink{classpeoSynchronousMultiStart_da98ee86056eca293b3f08c89584b701}{execute} ()} +\label{classpeoSynchronousMultiStart_da98ee86056eca293b3f08c89584b701} + +\item +\hypertarget{classpeoSynchronousMultiStart_0a5e0e1c1db5af61351e201e019f5a89}{ +void \hyperlink{classpeoSynchronousMultiStart_0a5e0e1c1db5af61351e201e019f5a89}{pack\-Result} ()} +\label{classpeoSynchronousMultiStart_0a5e0e1c1db5af61351e201e019f5a89} + +\item +\hypertarget{classpeoSynchronousMultiStart_976b78c11073ee3be09c1aed7826411a}{ +void \hyperlink{classpeoSynchronousMultiStart_976b78c11073ee3be09c1aed7826411a}{unpack\-Result} ()} +\label{classpeoSynchronousMultiStart_976b78c11073ee3be09c1aed7826411a} + +\item +\hypertarget{classpeoSynchronousMultiStart_de581c634fa9f952d571f9ed0a6611ed}{ +void \hyperlink{classpeoSynchronousMultiStart_de581c634fa9f952d571f9ed0a6611ed}{notify\-Sending\-Data} ()} +\label{classpeoSynchronousMultiStart_de581c634fa9f952d571f9ed0a6611ed} + +\item +\hypertarget{classpeoSynchronousMultiStart_e328547d97849bfc85f2a7356e5e7927}{ +void \hyperlink{classpeoSynchronousMultiStart_e328547d97849bfc85f2a7356e5e7927}{notify\-Sending\-All\-Resource\-Requests} ()} +\label{classpeoSynchronousMultiStart_e328547d97849bfc85f2a7356e5e7927} + +\end{CompactItemize} +\subsection*{Private Attributes} +\begin{CompactItemize} +\item +\hypertarget{classpeoSynchronousMultiStart_ea22b8cd0f4974da519ec416904d772e}{ +\hyperlink{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}{Abstract\-Algorithm} $\ast$ \hyperlink{classpeoSynchronousMultiStart_ea22b8cd0f4974da519ec416904d772e}{singular\-Algorithm}} +\label{classpeoSynchronousMultiStart_ea22b8cd0f4974da519ec416904d772e} + +\item +\hypertarget{classpeoSynchronousMultiStart_f47bb795f53df73f04c0d1528fa346a6}{ +std::vector$<$ \hyperlink{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}{Abstract\-Algorithm} $\ast$ $>$ \hyperlink{classpeoSynchronousMultiStart_f47bb795f53df73f04c0d1528fa346a6}{algorithms}} +\label{classpeoSynchronousMultiStart_f47bb795f53df73f04c0d1528fa346a6} + +\item +\hypertarget{classpeoSynchronousMultiStart_abcd58d71eabf2fab35c662fb300e61c}{ +\hyperlink{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}{Abstract\-Aggregation\-Algorithm} $\ast$ \hyperlink{classpeoSynchronousMultiStart_abcd58d71eabf2fab35c662fb300e61c}{aggregation\-Function}} +\label{classpeoSynchronousMultiStart_abcd58d71eabf2fab35c662fb300e61c} + +\item +\hypertarget{classpeoSynchronousMultiStart_6efedfa64f7a4f3a0d81002e8226dcea}{ +Entity\-Type \hyperlink{classpeoSynchronousMultiStart_6efedfa64f7a4f3a0d81002e8226dcea}{entity\-Type\-Instance}} +\label{classpeoSynchronousMultiStart_6efedfa64f7a4f3a0d81002e8226dcea} + +\item +\hypertarget{classpeoSynchronousMultiStart_f729f5a1671437dce7607ad5b7253560}{ +std::vector$<$ \hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} $\ast$ $>$ \hyperlink{classpeoSynchronousMultiStart_f729f5a1671437dce7607ad5b7253560}{data}} +\label{classpeoSynchronousMultiStart_f729f5a1671437dce7607ad5b7253560} + +\item +\hypertarget{classpeoSynchronousMultiStart_0264a28725fb4a030ed1e4010e07e69e}{ +unsigned \hyperlink{classpeoSynchronousMultiStart_0264a28725fb4a030ed1e4010e07e69e}{idx}} +\label{classpeoSynchronousMultiStart_0264a28725fb4a030ed1e4010e07e69e} + +\item +\hypertarget{classpeoSynchronousMultiStart_e8c889e6228535ce02086c76d3480cbb}{ +unsigned \hyperlink{classpeoSynchronousMultiStart_e8c889e6228535ce02086c76d3480cbb}{num\_\-term}} +\label{classpeoSynchronousMultiStart_e8c889e6228535ce02086c76d3480cbb} + +\item +\hypertarget{classpeoSynchronousMultiStart_a49cb2d76e6fdbfdbe0788c8388d6a0f}{ +unsigned \hyperlink{classpeoSynchronousMultiStart_a49cb2d76e6fdbfdbe0788c8388d6a0f}{data\-Index}} +\label{classpeoSynchronousMultiStart_a49cb2d76e6fdbfdbe0788c8388d6a0f} + +\item +\hypertarget{classpeoSynchronousMultiStart_20cff9a01fb7bb621264b901dab7f336}{ +unsigned \hyperlink{classpeoSynchronousMultiStart_20cff9a01fb7bb621264b901dab7f336}{function\-Index}} +\label{classpeoSynchronousMultiStart_20cff9a01fb7bb621264b901dab7f336} + +\end{CompactItemize} +\subsection*{Classes} +\begin{CompactItemize} +\item +struct \hyperlink{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}{Abstract\-Aggregation\-Algorithm} +\item +struct \hyperlink{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}{Abstract\-Algorithm} +\item +struct \hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} +\item +struct \hyperlink{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}{Aggregation\-Algorithm} +\item +struct \hyperlink{structpeoSynchronousMultiStart_1_1Algorithm}{Algorithm} +\item +struct \hyperlink{structpeoSynchronousMultiStart_1_1DataType}{Data\-Type} +\item +struct \hyperlink{structpeoSynchronousMultiStart_1_1NoAggregationFunction}{No\-Aggregation\-Function} +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$ class peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$} + + + + + +Definition at line 45 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this class was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/classpeoTransform.pdf b/trunk/paradiseo-peo/doc/latex/classpeoTransform.pdf new file mode 100644 index 000000000..936add316 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/classpeoTransform.pdf @@ -0,0 +1,74 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +xUn0+Ŗ\/ (Imb\C\Xv4wD*N!vˡt +dM->;xxn|': æIEkr+(QkPݯX6p˟wBix +;*,JHKB4XIh$Ϫj6䁘**Fh(4,:5/E}g˱ܹWY@Zu2.G?7&0p^}l֏ mHZ@R #5̛mݬWoaª:WmFD)Zep;`LEޖF짬0܅,Eυ W~@"LP;Npnu2ښc-(2/ĮFpt5"ܩO;&c X,%f%ȼRjkDpMmmHyTCֆp#ۤezKXX6"bW]n{1A~ *\@eUJ8Տ"i܋)s_ $Zendstream +endobj +6 0 obj +557 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000870 00000 n +0000001084 00000 n +0000000811 00000 n +0000000661 00000 n +0000000015 00000 n +0000000642 00000 n +0000000918 00000 n +0000001018 00000 n +0000000959 00000 n +0000000988 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(tgǙ\)U;PC)(tgǙ\)U;PC)] +>> +startxref +1241 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/structRandomExplorationAlgorithm.tex b/trunk/paradiseo-peo/doc/latex/structRandomExplorationAlgorithm.tex new file mode 100644 index 000000000..73b474c3a --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structRandomExplorationAlgorithm.tex @@ -0,0 +1,42 @@ +\hypertarget{structRandomExplorationAlgorithm}{ +\section{Random\-Exploration\-Algorithm Struct Reference} +\label{structRandomExplorationAlgorithm}\index{RandomExplorationAlgorithm@{RandomExplorationAlgorithm}} +} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structRandomExplorationAlgorithm_ed4847c164759fbb1168948d3620037c}{ +\hyperlink{structRandomExplorationAlgorithm_ed4847c164759fbb1168948d3620037c}{Random\-Exploration\-Algorithm} (\hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ \bf{Route} $>$ \&\_\-\_\-pop\-Eval, \hyperlink{classpeoSynchronousMultiStart}{peo\-Synchronous\-Multi\-Start}$<$ \bf{Route} $>$ \&ext\-Parallel\-Execution)} +\label{structRandomExplorationAlgorithm_ed4847c164759fbb1168948d3620037c} + +\item +\hypertarget{structRandomExplorationAlgorithm_3a7b3cc174726fff45985854c3d1b812}{ +void \hyperlink{structRandomExplorationAlgorithm_3a7b3cc174726fff45985854c3d1b812}{operator()} ()} +\label{structRandomExplorationAlgorithm_3a7b3cc174726fff45985854c3d1b812} + +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +\hypertarget{structRandomExplorationAlgorithm_e9fbab7402f290c62224cedebd9de0a4}{ +\hyperlink{classpeoPopEval}{peo\-Pop\-Eval}$<$ \bf{Route} $>$ \& \hyperlink{structRandomExplorationAlgorithm_e9fbab7402f290c62224cedebd9de0a4}{pop\-Eval}} +\label{structRandomExplorationAlgorithm_e9fbab7402f290c62224cedebd9de0a4} + +\item +\hypertarget{structRandomExplorationAlgorithm_e36e837e956772738773364cd71201de}{ +\hyperlink{classpeoSynchronousMultiStart}{peo\-Synchronous\-Multi\-Start}$<$ \bf{Route} $>$ \& \hyperlink{structRandomExplorationAlgorithm_e36e837e956772738773364cd71201de}{parallel\-Execution}} +\label{structRandomExplorationAlgorithm_e36e837e956772738773364cd71201de} + +\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 56 of file Lesson\-Parallel\-Algorithm/main.cpp. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +Lesson\-Parallel\-Algorithm/main.cpp\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.eps b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.eps new file mode 100644 index 000000000..c20f6ccc6 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 42.9185 +%%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 11.65 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 2 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 +(peoParallelAlgorithmWrapper::AbstractAlgorithm) cw +(peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >) cw +(peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >) 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 ----- + + (peoParallelAlgorithmWrapper::AbstractAlgorithm) 0.5 1 box + (peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >) 0 0 box + (peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >) 1 0 box + +% ----- relations ----- + +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.pdf b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.pdf new file mode 100644 index 000000000..b76ae706b --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.pdf @@ -0,0 +1,73 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +xMK@+"f?ūՀZIhM (JX&33fB>敺xp(jx@ +yp(bYC:Wdv 5 :}deYrjkdu]4y6Y'雺MLY$aak/MC譋X6wN5[`P8.ο7Yu\ ݬ8}_-_I;W(n#Hщ'@QFr$Cx@ܱ21?cCrGJjz85dԨVO'ʺxendstream +endobj +6 0 obj +309 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000624 00000 n +0000000838 00000 n +0000000565 00000 n +0000000413 00000 n +0000000015 00000 n +0000000394 00000 n +0000000672 00000 n +0000000772 00000 n +0000000713 00000 n +0000000742 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(Z&)(Z&)] +>> +startxref +995 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.tex b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.tex new file mode 100644 index 000000000..c6241f877 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm.tex @@ -0,0 +1,35 @@ +\hypertarget{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}{ +\section{peo\-Parallel\-Algorithm\-Wrapper::Abstract\-Algorithm Struct Reference} +\label{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm}\index{peoParallelAlgorithmWrapper::AbstractAlgorithm@{peoParallelAlgorithmWrapper::AbstractAlgorithm}} +} +Inheritance diagram for peo\-Parallel\-Algorithm\-Wrapper::Abstract\-Algorithm::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.20172cm]{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm_af530b7731cb212f8dd74e5a57484a9e}{ +virtual \hyperlink{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm_af530b7731cb212f8dd74e5a57484a9e}{$\sim$Abstract\-Algorithm} ()} +\label{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm_af530b7731cb212f8dd74e5a57484a9e} + +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm_32e08b3810cef49d0b8751645ef79b6f}{ +virtual void \hyperlink{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm_32e08b3810cef49d0b8751645ef79b6f}{operator()} ()} +\label{structpeoParallelAlgorithmWrapper_1_1AbstractAlgorithm_32e08b3810cef49d0b8751645ef79b6f} + +\end{CompactItemize} + + +\subsection{Detailed Description} + + + + +Definition at line 71 of file peo\-Parallel\-Algorithm\-Wrapper.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Parallel\-Algorithm\-Wrapper.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.eps b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.eps new file mode 100644 index 000000000..5950e1a42 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 85.8369 +%%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 5.825 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >) cw +(peoParallelAlgorithmWrapper::AbstractAlgorithm) 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 ----- + + (peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >) 0 0 box + (peoParallelAlgorithmWrapper::AbstractAlgorithm) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.pdf b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.pdf new file mode 100644 index 000000000..9e9621cbb Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.tex b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.tex new file mode 100644 index 000000000..afe682d32 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm.tex @@ -0,0 +1,50 @@ +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm}{ +\section{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$ Struct Template Reference} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm}\index{peoParallelAlgorithmWrapper::Algorithm@{peoParallelAlgorithmWrapper::Algorithm}} +} +Inheritance diagram for peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoParallelAlgorithmWrapper_1_1Algorithm} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_bdd2048610a35f525d7cef9a9041caba}{ +\hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_bdd2048610a35f525d7cef9a9041caba}{Algorithm} (Algorithm\-Type \&external\-Algorithm, Algorithm\-Data\-Type \&external\-Data)} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_bdd2048610a35f525d7cef9a9041caba} + +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_a54fa5366a7663491608399ab21ea092}{ +virtual void \hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_a54fa5366a7663491608399ab21ea092}{operator()} ()} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_a54fa5366a7663491608399ab21ea092} + +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_91681bf54649f58335c181515a92db7a}{ +Algorithm\-Type \& \hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_91681bf54649f58335c181515a92db7a}{algorithm}} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_91681bf54649f58335c181515a92db7a} + +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_e812277c85c5b6884d2019849e7eabde}{ +Algorithm\-Data\-Type \& \hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_e812277c85c5b6884d2019849e7eabde}{algorithm\-Data}} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_e812277c85c5b6884d2019849e7eabde} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Algorithm\-Type, typename Algorithm\-Data\-Type$>$ struct peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, Algorithm\-Data\-Type $>$} + + + + + +Definition at line 81 of file peo\-Parallel\-Algorithm\-Wrapper.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Parallel\-Algorithm\-Wrapper.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.eps b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.eps new file mode 100644 index 000000000..6c358548e --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 104.439 +%%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 4.7875 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >) cw +(peoParallelAlgorithmWrapper::AbstractAlgorithm) 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 ----- + + (peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >) 0 0 box + (peoParallelAlgorithmWrapper::AbstractAlgorithm) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.pdf b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.pdf new file mode 100644 index 000000000..262887441 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.pdf @@ -0,0 +1,74 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +x[K0ẈI:eAA|n-ީ-BsNfd4ikţz +dְy);-5.kt['Yb1N/RѶU{}jƷ9PjQ.qƯ:Ǐyū@3k4~JnR +Md`V NQftvLE9.&,Grm=ya+#au/L12d3'Q*5g '0vendstream +endobj +6 0 obj +253 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000569 00000 n +0000000783 00000 n +0000000510 00000 n +0000000357 00000 n +0000000015 00000 n +0000000338 00000 n +0000000617 00000 n +0000000717 00000 n +0000000658 00000 n +0000000687 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(}EqjYjv\n)(}EqjYjv\n)] +>> +startxref +940 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.tex b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.tex new file mode 100644 index 000000000..6653f0f9d --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4.tex @@ -0,0 +1,45 @@ +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}{ +\section{peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$ Struct Template Reference} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4}\index{peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >@{peoParallelAlgorithmWrapper::Algorithm$<$ AlgorithmType, void $>$}} +} +Inheritance diagram for peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_c44d45b69accab079e1fb30d7ddf6b4e}{ +\hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_c44d45b69accab079e1fb30d7ddf6b4e}{Algorithm} (Algorithm\-Type \&external\-Algorithm)} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_c44d45b69accab079e1fb30d7ddf6b4e} + +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_27b5bd346932e7f3ba9dd8c9e0dd952b}{ +virtual void \hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_27b5bd346932e7f3ba9dd8c9e0dd952b}{operator()} ()} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_27b5bd346932e7f3ba9dd8c9e0dd952b} + +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +\hypertarget{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_7dcb305dd8c78ffac232bd86b913183d}{ +Algorithm\-Type \& \hyperlink{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_7dcb305dd8c78ffac232bd86b913183d}{algorithm}} +\label{structpeoParallelAlgorithmWrapper_1_1Algorithm_3_01AlgorithmType_00_01void_01_4_7dcb305dd8c78ffac232bd86b913183d} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Algorithm\-Type$>$ struct peo\-Parallel\-Algorithm\-Wrapper::Algorithm$<$ Algorithm\-Type, void $>$} + + + + + +Definition at line 95 of file peo\-Parallel\-Algorithm\-Wrapper.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Parallel\-Algorithm\-Wrapper.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.eps b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.eps new file mode 100644 index 000000000..62a992443 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.eps @@ -0,0 +1,203 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 36.1011 +%%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 13.85 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 2 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 +(peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm) cw +(peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >) cw +(peoSynchronousMultiStart< EntityType >::NoAggregationFunction) 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 ----- + + (peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm) 0.5 1 box + (peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >) 0 0 box + (peoSynchronousMultiStart< EntityType >::NoAggregationFunction) 1 0 box + +% ----- relations ----- + +solid +1 0.5 0.25 out +solid +0 1 1 conn +solid +0 0 0.75 in +solid +0 1 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.pdf b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.pdf new file mode 100644 index 000000000..95a6fa637 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.tex b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.tex new file mode 100644 index 000000000..d232dea56 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm.tex @@ -0,0 +1,37 @@ +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm Struct Reference} +\label{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm}\index{peoSynchronousMultiStart::AbstractAggregationAlgorithm@{peoSynchronousMultiStart::AbstractAggregationAlgorithm}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=1.01083cm]{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm_d5bb9f3712564b788bb7c6da71ef2d3f}{ +virtual \hyperlink{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm_d5bb9f3712564b788bb7c6da71ef2d3f}{$\sim$Abstract\-Aggregation\-Algorithm} ()} +\label{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm_d5bb9f3712564b788bb7c6da71ef2d3f} + +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm_cf9b3275e26f24984c9bb839e7f07ba6}{ +virtual void \hyperlink{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm_cf9b3275e26f24984c9bb839e7f07ba6}{operator()} (\hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance\-A, \hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance\-B)} +\label{structpeoSynchronousMultiStart_1_1AbstractAggregationAlgorithm_cf9b3275e26f24984c9bb839e7f07ba6} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$ struct peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Aggregation\-Algorithm} + + + + + +Definition at line 157 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.eps b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.eps new file mode 100644 index 000000000..863be5db9 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 96.1538 +%%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 5.2 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoSynchronousMultiStart< EntityType >::AbstractAlgorithm) cw +(peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >) 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 ----- + + (peoSynchronousMultiStart< EntityType >::AbstractAlgorithm) 0 1 box + (peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >) 0 0 box + +% ----- relations ----- + +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.pdf b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.pdf new file mode 100644 index 000000000..aa871ed95 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.tex b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.tex new file mode 100644 index 000000000..7bcb35c7c --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractAlgorithm.tex @@ -0,0 +1,37 @@ +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm Struct Reference} +\label{structpeoSynchronousMultiStart_1_1AbstractAlgorithm}\index{peoSynchronousMultiStart::AbstractAlgorithm@{peoSynchronousMultiStart::AbstractAlgorithm}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoSynchronousMultiStart_1_1AbstractAlgorithm} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractAlgorithm_c77be114590c79c1b96d3afbe73596e0}{ +virtual \hyperlink{structpeoSynchronousMultiStart_1_1AbstractAlgorithm_c77be114590c79c1b96d3afbe73596e0}{$\sim$Abstract\-Algorithm} ()} +\label{structpeoSynchronousMultiStart_1_1AbstractAlgorithm_c77be114590c79c1b96d3afbe73596e0} + +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractAlgorithm_a5f7790ac2b99e798e4e84f2d5a5f78c}{ +virtual void \hyperlink{structpeoSynchronousMultiStart_1_1AbstractAlgorithm_a5f7790ac2b99e798e4e84f2d5a5f78c}{operator()} (\hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance)} +\label{structpeoSynchronousMultiStart_1_1AbstractAlgorithm_a5f7790ac2b99e798e4e84f2d5a5f78c} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$ struct peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Algorithm} + + + + + +Definition at line 139 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.eps b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.eps new file mode 100644 index 000000000..15195ea2c --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 109.89 +%%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 4.55 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoSynchronousMultiStart< EntityType >::AbstractDataType) cw +(peoSynchronousMultiStart< EntityType >::DataType< Type >) 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 ----- + + (peoSynchronousMultiStart< EntityType >::AbstractDataType) 0 1 box + (peoSynchronousMultiStart< EntityType >::DataType< Type >) 0 0 box + +% ----- relations ----- + +solid +1 0 0.25 out +solid +0 0 0.75 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.pdf b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.pdf new file mode 100644 index 000000000..efbd671a0 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.tex b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.tex new file mode 100644 index 000000000..540d77fd4 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AbstractDataType.tex @@ -0,0 +1,37 @@ +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractDataType}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type Struct Reference} +\label{structpeoSynchronousMultiStart_1_1AbstractDataType}\index{peoSynchronousMultiStart::AbstractDataType@{peoSynchronousMultiStart::AbstractDataType}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoSynchronousMultiStart_1_1AbstractDataType} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractDataType_4d868a93f8e97621ec5c7b6a2e28b265}{ +virtual \hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType_4d868a93f8e97621ec5c7b6a2e28b265}{$\sim$Abstract\-Data\-Type} ()} +\label{structpeoSynchronousMultiStart_1_1AbstractDataType_4d868a93f8e97621ec5c7b6a2e28b265} + +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AbstractDataType_a4addfca8a9acecadb4c786deed36934}{ +template$<$typename Type$>$ \hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType_a4addfca8a9acecadb4c786deed36934}{operator Type \&} ()} +\label{structpeoSynchronousMultiStart_1_1AbstractDataType_a4addfca8a9acecadb4c786deed36934} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$ struct peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Abstract\-Data\-Type} + + + + + +Definition at line 122 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.eps b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.eps new file mode 100644 index 000000000..9a1dfebaa --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 72.2022 +%%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 6.925 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >) cw +(peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm) 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 ----- + + (peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >) 0 0 box + (peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.pdf b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.pdf new file mode 100644 index 000000000..60c13dc95 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.tex b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.tex new file mode 100644 index 000000000..1ed41f60a --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1AggregationAlgorithm.tex @@ -0,0 +1,45 @@ +\hypertarget{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$ Struct Template Reference} +\label{structpeoSynchronousMultiStart_1_1AggregationAlgorithm}\index{peoSynchronousMultiStart::AggregationAlgorithm@{peoSynchronousMultiStart::AggregationAlgorithm}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoSynchronousMultiStart_1_1AggregationAlgorithm} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_1e03bf7728d19f4649366238962ca365}{ +\hyperlink{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_1e03bf7728d19f4649366238962ca365}{Aggregation\-Algorithm} (Aggregation\-Algorithm\-Type \&external\-Aggregation\-Algorithm)} +\label{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_1e03bf7728d19f4649366238962ca365} + +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_f8abe94db942aa42f0e3d9c1657db581}{ +void \hyperlink{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_f8abe94db942aa42f0e3d9c1657db581}{operator()} (\hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance\-A, \hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance\-B)} +\label{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_f8abe94db942aa42f0e3d9c1657db581} + +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_3c701a64f21aa00278c58b5b4ac914a1}{ +Aggregation\-Algorithm\-Type \& \hyperlink{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_3c701a64f21aa00278c58b5b4ac914a1}{aggregation\-Algorithm}} +\label{structpeoSynchronousMultiStart_1_1AggregationAlgorithm_3c701a64f21aa00278c58b5b4ac914a1} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$template$<$typename Aggregation\-Algorithm\-Type$>$ struct peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Aggregation\-Algorithm$<$ Aggregation\-Algorithm\-Type $>$} + + + + + +Definition at line 164 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.eps b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.eps new file mode 100644 index 000000000..23ef940d6 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 96.1538 +%%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 5.2 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >) cw +(peoSynchronousMultiStart< EntityType >::AbstractAlgorithm) 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 ----- + + (peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >) 0 0 box + (peoSynchronousMultiStart< EntityType >::AbstractAlgorithm) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.pdf b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.pdf new file mode 100644 index 000000000..e583faaf5 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.tex b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.tex new file mode 100644 index 000000000..4772f9628 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1Algorithm.tex @@ -0,0 +1,45 @@ +\hypertarget{structpeoSynchronousMultiStart_1_1Algorithm}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$ Struct Template Reference} +\label{structpeoSynchronousMultiStart_1_1Algorithm}\index{peoSynchronousMultiStart::Algorithm@{peoSynchronousMultiStart::Algorithm}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoSynchronousMultiStart_1_1Algorithm} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1Algorithm_8ba4ac2674ca61a8e6b0af2e8e25ba66}{ +\hyperlink{structpeoSynchronousMultiStart_1_1Algorithm_8ba4ac2674ca61a8e6b0af2e8e25ba66}{Algorithm} (Algorithm\-Type \&external\-Algorithm)} +\label{structpeoSynchronousMultiStart_1_1Algorithm_8ba4ac2674ca61a8e6b0af2e8e25ba66} + +\item +\hypertarget{structpeoSynchronousMultiStart_1_1Algorithm_d8902e501b61a8d5727589a5a106bb10}{ +void \hyperlink{structpeoSynchronousMultiStart_1_1Algorithm_d8902e501b61a8d5727589a5a106bb10}{operator()} (\hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance)} +\label{structpeoSynchronousMultiStart_1_1Algorithm_d8902e501b61a8d5727589a5a106bb10} + +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1Algorithm_2d533c96d2eefea51a72d241d39abf22}{ +Algorithm\-Type \& \hyperlink{structpeoSynchronousMultiStart_1_1Algorithm_2d533c96d2eefea51a72d241d39abf22}{algorithm}} +\label{structpeoSynchronousMultiStart_1_1Algorithm_2d533c96d2eefea51a72d241d39abf22} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$template$<$typename Algorithm\-Type$>$ struct peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Algorithm$<$ Algorithm\-Type $>$} + + + + + +Definition at line 146 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.eps b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.eps new file mode 100644 index 000000000..b4f4c4665 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 109.89 +%%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 4.55 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoSynchronousMultiStart< EntityType >::DataType< Type >) cw +(peoSynchronousMultiStart< EntityType >::AbstractDataType) 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 ----- + + (peoSynchronousMultiStart< EntityType >::DataType< Type >) 0 0 box + (peoSynchronousMultiStart< EntityType >::AbstractDataType) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.pdf b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.pdf new file mode 100644 index 000000000..5e993da80 Binary files /dev/null and b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.pdf differ diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.tex b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.tex new file mode 100644 index 000000000..d0230a652 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1DataType.tex @@ -0,0 +1,40 @@ +\hypertarget{structpeoSynchronousMultiStart_1_1DataType}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$ Struct Template Reference} +\label{structpeoSynchronousMultiStart_1_1DataType}\index{peoSynchronousMultiStart::DataType@{peoSynchronousMultiStart::DataType}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoSynchronousMultiStart_1_1DataType} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1DataType_cf5b9add5416139738e152b461008a89}{ +\hyperlink{structpeoSynchronousMultiStart_1_1DataType_cf5b9add5416139738e152b461008a89}{Data\-Type} (Type \&external\-Data)} +\label{structpeoSynchronousMultiStart_1_1DataType_cf5b9add5416139738e152b461008a89} + +\end{CompactItemize} +\subsection*{Public Attributes} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1DataType_76abc322ae058a820b2c964907bc0d80}{ +Type \& \hyperlink{structpeoSynchronousMultiStart_1_1DataType_76abc322ae058a820b2c964907bc0d80}{data}} +\label{structpeoSynchronousMultiStart_1_1DataType_76abc322ae058a820b2c964907bc0d80} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$template$<$typename Type$>$ struct peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::Data\-Type$<$ Type $>$} + + + + + +Definition at line 132 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.eps b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.eps new file mode 100644 index 000000000..a3ef4d771 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.eps @@ -0,0 +1,197 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: ClassName +%%Creator: Doxygen +%%CreationDate: Time +%%For: +%Magnification: 1.00 +%%Orientation: Portrait +%%BoundingBox: 0 0 500 93.6768 +%%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 5.3375 def % aspect ratio of the BoundingBox (width/height) +/boundx 500 def +/boundy boundx boundaspect div def +/xspacing 0 def +/yspacing 0 def +/rows 2 def +/cols 1 def +/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 +(peoSynchronousMultiStart< EntityType >::NoAggregationFunction) cw +(peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm) 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 ----- + + (peoSynchronousMultiStart< EntityType >::NoAggregationFunction) 0 0 box + (peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm) 0 1 box + +% ----- relations ----- + +solid +0 0 0 out +solid +1 0 1 in diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.pdf b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.pdf new file mode 100644 index 000000000..8cf88d473 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.pdf @@ -0,0 +1,74 @@ +%PDF-1.3 +%쏢 +5 0 obj +<> +stream +xn0 vA$&]m/*(h %h0 "߿x<}Ji!?0olD+>d%A0(yuCidwU8U٦xx?n}?? +'z*_^U}f)31Fl~JFd%&ByGi-8qђ-`~AKP'n"~|w +"iܕPਜhYH&l1naGDPI##RsB~zv@Ir~ja$ɘN*!8 (endstream +endobj +6 0 obj +327 +endobj +4 0 obj +<> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +7 0 obj +<>endobj +9 0 obj +<> +endobj +10 0 obj +<> +endobj +8 0 obj +<> +endobj +2 0 obj +<>endobj +xref +0 11 +0000000000 65535 f +0000000642 00000 n +0000000856 00000 n +0000000583 00000 n +0000000431 00000 n +0000000015 00000 n +0000000412 00000 n +0000000690 00000 n +0000000790 00000 n +0000000731 00000 n +0000000760 00000 n +trailer +<< /Size 11 /Root 1 0 R /Info 2 0 R +/ID [(/gF1Y Zd3)(/gF1Y Zd3)] +>> +startxref +1013 +%%EOF diff --git a/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.tex b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.tex new file mode 100644 index 000000000..6c3fe2a42 --- /dev/null +++ b/trunk/paradiseo-peo/doc/latex/structpeoSynchronousMultiStart_1_1NoAggregationFunction.tex @@ -0,0 +1,32 @@ +\hypertarget{structpeoSynchronousMultiStart_1_1NoAggregationFunction}{ +\section{peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function Struct Reference} +\label{structpeoSynchronousMultiStart_1_1NoAggregationFunction}\index{peoSynchronousMultiStart::NoAggregationFunction@{peoSynchronousMultiStart::NoAggregationFunction}} +} +Inheritance diagram for peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function::\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=2cm]{structpeoSynchronousMultiStart_1_1NoAggregationFunction} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{CompactItemize} +\item +\hypertarget{structpeoSynchronousMultiStart_1_1NoAggregationFunction_d094bb3cca92a48de0afadf576cda044}{ +void \hyperlink{structpeoSynchronousMultiStart_1_1NoAggregationFunction_d094bb3cca92a48de0afadf576cda044}{operator()} (\hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance\-A, \hyperlink{structpeoSynchronousMultiStart_1_1AbstractDataType}{Abstract\-Data\-Type} \&data\-Type\-Instance\-B)} +\label{structpeoSynchronousMultiStart_1_1NoAggregationFunction_d094bb3cca92a48de0afadf576cda044} + +\end{CompactItemize} + + +\subsection{Detailed Description} +\subsubsection*{template$<$typename Entity\-Type$>$ struct peo\-Synchronous\-Multi\-Start$<$ Entity\-Type $>$::No\-Aggregation\-Function} + + + + + +Definition at line 176 of file peo\-Synchronous\-Multi\-Start.h. + +The documentation for this struct was generated from the following file:\begin{CompactItemize} +\item +peo\-Synchronous\-Multi\-Start.h\end{CompactItemize} diff --git a/trunk/paradiseo-peo/doc/man/man3/DisplayBestRoute.3 b/trunk/paradiseo-peo/doc/man/man3/DisplayBestRoute.3 new file mode 100644 index 000000000..18f1c70df --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/DisplayBestRoute.3 @@ -0,0 +1,34 @@ +.TH "DisplayBestRoute" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +DisplayBestRoute \- +.SH SYNOPSIS +.br +.PP +Inherits \fBeoUpdater\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBDisplayBestRoute\fP (\fBeoPop\fP< \fBRoute\fP > &__pop)" +.br +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBeoPop\fP< \fBRoute\fP > & \fBpop\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 46 of file display_best_route.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/MergeRouteEval.3 b/trunk/paradiseo-peo/doc/man/man3/MergeRouteEval.3 new file mode 100644 index 000000000..96d7907c5 --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/MergeRouteEval.3 @@ -0,0 +1,24 @@ +.TH "MergeRouteEval" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +MergeRouteEval \- +.SH SYNOPSIS +.br +.PP +Inherits \fBpeoAggEvalFunc< EOT >< eoVector< int, Node > >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBRoute\fP &__route, const int &__part_fit)" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 44 of file merge_route_eval.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/RandomExplorationAlgorithm.3 b/trunk/paradiseo-peo/doc/man/man3/RandomExplorationAlgorithm.3 new file mode 100644 index 000000000..9964708ac --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/RandomExplorationAlgorithm.3 @@ -0,0 +1,35 @@ +.TH "RandomExplorationAlgorithm" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +RandomExplorationAlgorithm \- +.SH SYNOPSIS +.br +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBRandomExplorationAlgorithm\fP (\fBpeoPopEval\fP< \fBRoute\fP > &__popEval, \fBpeoSynchronousMultiStart\fP< \fBRoute\fP > &extParallelExecution)" +.br +.ti -1c +.RI "void \fBoperator()\fP ()" +.br +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "\fBpeoPopEval\fP< \fBRoute\fP > & \fBpopEval\fP" +.br +.ti -1c +.RI "\fBpeoSynchronousMultiStart\fP< \fBRoute\fP > & \fBparallelExecution\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 56 of file LessonParallelAlgorithm/main.cpp. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper.3 b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper.3 new file mode 100644 index 000000000..71288d753 --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper.3 @@ -0,0 +1,53 @@ +.TH "peoParallelAlgorithmWrapper" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoParallelAlgorithmWrapper \- +.SH SYNOPSIS +.br +.PP +Inherits \fBRunner\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "template \fBpeoParallelAlgorithmWrapper\fP (AlgorithmType &externalAlgorithm)" +.br +.ti -1c +.RI "template \fBpeoParallelAlgorithmWrapper\fP (AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData)" +.br +.ti -1c +.RI "\fB~peoParallelAlgorithmWrapper\fP ()" +.br +.ti -1c +.RI "void \fBrun\fP ()" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBAbstractAlgorithm\fP * \fBalgorithm\fP" +.br +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "struct \fBAbstractAlgorithm\fP" +.br +.ti -1c +.RI "struct \fBAlgorithm\fP" +.br +.ti -1c +.RI "struct \fBAlgorithm< AlgorithmType, void >\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 47 of file peoParallelAlgorithmWrapper.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_AbstractAlgorithm.3 b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_AbstractAlgorithm.3 new file mode 100644 index 000000000..4eda5a990 --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_AbstractAlgorithm.3 @@ -0,0 +1,27 @@ +.TH "peoParallelAlgorithmWrapper::AbstractAlgorithm" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoParallelAlgorithmWrapper::AbstractAlgorithm \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBpeoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >\fP, and \fBpeoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual \fB~AbstractAlgorithm\fP ()" +.br +.ti -1c +.RI "virtual void \fBoperator()\fP ()" +.br +.in -1c +.SH "Detailed Description" +.PP +Definition at line 71 of file peoParallelAlgorithmWrapper.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_Algorithm.3 b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_Algorithm.3 new file mode 100644 index 000000000..4982862ee --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_Algorithm.3 @@ -0,0 +1,41 @@ +.TH "peoParallelAlgorithmWrapper::Algorithm" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoParallelAlgorithmWrapper::Algorithm \- +.SH SYNOPSIS +.br +.PP +Inherits \fBpeoParallelAlgorithmWrapper::AbstractAlgorithm\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBAlgorithm\fP (AlgorithmType &externalAlgorithm, AlgorithmDataType &externalData)" +.br +.ti -1c +.RI "virtual void \fBoperator()\fP ()" +.br +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "AlgorithmType & \fBalgorithm\fP" +.br +.ti -1c +.RI "AlgorithmDataType & \fBalgorithmData\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template struct peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, AlgorithmDataType >" + +.PP +Definition at line 81 of file peoParallelAlgorithmWrapper.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_Algorithm_ AlgorithmType, void _.3 b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_Algorithm_ AlgorithmType, void _.3 new file mode 100644 index 000000000..cfd54f2b4 --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoParallelAlgorithmWrapper_Algorithm_ AlgorithmType, void _.3 @@ -0,0 +1,38 @@ +.TH "peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void > \- +.SH SYNOPSIS +.br +.PP +Inherits \fBpeoParallelAlgorithmWrapper::AbstractAlgorithm\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBAlgorithm\fP (AlgorithmType &externalAlgorithm)" +.br +.ti -1c +.RI "virtual void \fBoperator()\fP ()" +.br +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "AlgorithmType & \fBalgorithm\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template struct peoParallelAlgorithmWrapper::Algorithm< AlgorithmType, void >" + +.PP +Definition at line 95 of file peoParallelAlgorithmWrapper.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart.3 new file mode 100644 index 000000000..166617ead --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart.3 @@ -0,0 +1,117 @@ +.TH "peoSynchronousMultiStart" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart \- +.SH SYNOPSIS +.br +.PP +Inherits \fBService\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "template \fBpeoSynchronousMultiStart\fP (AlgorithmType &externalAlgorithm)" +.br +.ti -1c +.RI "template \fBpeoSynchronousMultiStart\fP (std::vector< AlgorithmType * > &externalAlgorithms, AggregationFunctionType &externalAggregationFunction)" +.br +.ti -1c +.RI "\fB~peoSynchronousMultiStart\fP ()" +.br +.ti -1c +.RI "template void \fBoperator()\fP (Type &externalData)" +.br +.ti -1c +.RI "template void \fBoperator()\fP (const Type &externalDataBegin, const Type &externalDataEnd)" +.br +.ti -1c +.RI "void \fBpackData\fP ()" +.br +.ti -1c +.RI "void \fBunpackData\fP ()" +.br +.ti -1c +.RI "void \fBexecute\fP ()" +.br +.ti -1c +.RI "void \fBpackResult\fP ()" +.br +.ti -1c +.RI "void \fBunpackResult\fP ()" +.br +.ti -1c +.RI "void \fBnotifySendingData\fP ()" +.br +.ti -1c +.RI "void \fBnotifySendingAllResourceRequests\fP ()" +.br +.in -1c +.SS "Private Attributes" + +.in +1c +.ti -1c +.RI "\fBAbstractAlgorithm\fP * \fBsingularAlgorithm\fP" +.br +.ti -1c +.RI "std::vector< \fBAbstractAlgorithm\fP * > \fBalgorithms\fP" +.br +.ti -1c +.RI "\fBAbstractAggregationAlgorithm\fP * \fBaggregationFunction\fP" +.br +.ti -1c +.RI "EntityType \fBentityTypeInstance\fP" +.br +.ti -1c +.RI "std::vector< \fBAbstractDataType\fP * > \fBdata\fP" +.br +.ti -1c +.RI "unsigned \fBidx\fP" +.br +.ti -1c +.RI "unsigned \fBnum_term\fP" +.br +.ti -1c +.RI "unsigned \fBdataIndex\fP" +.br +.ti -1c +.RI "unsigned \fBfunctionIndex\fP" +.br +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "struct \fBAbstractAggregationAlgorithm\fP" +.br +.ti -1c +.RI "struct \fBAbstractAlgorithm\fP" +.br +.ti -1c +.RI "struct \fBAbstractDataType\fP" +.br +.ti -1c +.RI "struct \fBAggregationAlgorithm\fP" +.br +.ti -1c +.RI "struct \fBAlgorithm\fP" +.br +.ti -1c +.RI "struct \fBDataType\fP" +.br +.ti -1c +.RI "struct \fBNoAggregationFunction\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template class peoSynchronousMultiStart< EntityType >" + +.PP +Definition at line 45 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractAggregationAlgorithm.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractAggregationAlgorithm.3 new file mode 100644 index 000000000..409b9e62f --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractAggregationAlgorithm.3 @@ -0,0 +1,31 @@ +.TH "peoSynchronousMultiStart::AbstractAggregationAlgorithm" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart::AbstractAggregationAlgorithm \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBpeoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >\fP, and \fBpeoSynchronousMultiStart< EntityType >::NoAggregationFunction\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual \fB~AbstractAggregationAlgorithm\fP ()" +.br +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBAbstractDataType\fP &dataTypeInstanceA, \fBAbstractDataType\fP &dataTypeInstanceB)" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template struct peoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm" + +.PP +Definition at line 157 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractAlgorithm.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractAlgorithm.3 new file mode 100644 index 000000000..9bfd71852 --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractAlgorithm.3 @@ -0,0 +1,31 @@ +.TH "peoSynchronousMultiStart::AbstractAlgorithm" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart::AbstractAlgorithm \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBpeoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual \fB~AbstractAlgorithm\fP ()" +.br +.ti -1c +.RI "virtual void \fBoperator()\fP (\fBAbstractDataType\fP &dataTypeInstance)" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template struct peoSynchronousMultiStart< EntityType >::AbstractAlgorithm" + +.PP +Definition at line 139 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractDataType.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractDataType.3 new file mode 100644 index 000000000..ed1b5ee4d --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AbstractDataType.3 @@ -0,0 +1,31 @@ +.TH "peoSynchronousMultiStart::AbstractDataType" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart::AbstractDataType \- +.SH SYNOPSIS +.br +.PP +Inherited by \fBpeoSynchronousMultiStart< EntityType >::DataType< Type >\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "virtual \fB~AbstractDataType\fP ()" +.br +.ti -1c +.RI "template \fBoperator Type &\fP ()" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template struct peoSynchronousMultiStart< EntityType >::AbstractDataType" + +.PP +Definition at line 122 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AggregationAlgorithm.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AggregationAlgorithm.3 new file mode 100644 index 000000000..5f26001fc --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_AggregationAlgorithm.3 @@ -0,0 +1,38 @@ +.TH "peoSynchronousMultiStart::AggregationAlgorithm" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart::AggregationAlgorithm \- +.SH SYNOPSIS +.br +.PP +Inherits \fBpeoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBAggregationAlgorithm\fP (AggregationAlgorithmType &externalAggregationAlgorithm)" +.br +.ti -1c +.RI "void \fBoperator()\fP (\fBAbstractDataType\fP &dataTypeInstanceA, \fBAbstractDataType\fP &dataTypeInstanceB)" +.br +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "AggregationAlgorithmType & \fBaggregationAlgorithm\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "templatetemplate struct peoSynchronousMultiStart< EntityType >::AggregationAlgorithm< AggregationAlgorithmType >" + +.PP +Definition at line 164 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_Algorithm.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_Algorithm.3 new file mode 100644 index 000000000..2336cfde9 --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_Algorithm.3 @@ -0,0 +1,38 @@ +.TH "peoSynchronousMultiStart::Algorithm" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart::Algorithm \- +.SH SYNOPSIS +.br +.PP +Inherits \fBpeoSynchronousMultiStart< EntityType >::AbstractAlgorithm\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBAlgorithm\fP (AlgorithmType &externalAlgorithm)" +.br +.ti -1c +.RI "void \fBoperator()\fP (\fBAbstractDataType\fP &dataTypeInstance)" +.br +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "AlgorithmType & \fBalgorithm\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "templatetemplate struct peoSynchronousMultiStart< EntityType >::Algorithm< AlgorithmType >" + +.PP +Definition at line 146 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_DataType.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_DataType.3 new file mode 100644 index 000000000..bd97d38d5 --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_DataType.3 @@ -0,0 +1,35 @@ +.TH "peoSynchronousMultiStart::DataType" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart::DataType \- +.SH SYNOPSIS +.br +.PP +Inherits \fBpeoSynchronousMultiStart< EntityType >::AbstractDataType\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "\fBDataType\fP (Type &externalData)" +.br +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "Type & \fBdata\fP" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "templatetemplate struct peoSynchronousMultiStart< EntityType >::DataType< Type >" + +.PP +Definition at line 132 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code. diff --git a/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_NoAggregationFunction.3 b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_NoAggregationFunction.3 new file mode 100644 index 000000000..2cd5af48d --- /dev/null +++ b/trunk/paradiseo-peo/doc/man/man3/peoSynchronousMultiStart_NoAggregationFunction.3 @@ -0,0 +1,28 @@ +.TH "peoSynchronousMultiStart::NoAggregationFunction" 3 "8 Oct 2007" "Version 1.0" "ParadisEO-PEOMovingObjects" \" -*- nroff -*- +.ad l +.nh +.SH NAME +peoSynchronousMultiStart::NoAggregationFunction \- +.SH SYNOPSIS +.br +.PP +Inherits \fBpeoSynchronousMultiStart< EntityType >::AbstractAggregationAlgorithm\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBoperator()\fP (\fBAbstractDataType\fP &dataTypeInstanceA, \fBAbstractDataType\fP &dataTypeInstanceB)" +.br +.in -1c +.SH "Detailed Description" +.PP + +.SS "template struct peoSynchronousMultiStart< EntityType >::NoAggregationFunction" + +.PP +Definition at line 176 of file peoSynchronousMultiStart.h. + +.SH "Author" +.PP +Generated automatically by Doxygen for ParadisEO-PEOMovingObjects from the source code.