New lessons for peo : version 1.0

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@784 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
canape 2007-11-12 14:06:06 +00:00
commit d55413b5e4
16 changed files with 51 additions and 14 deletions

View file

@ -21,6 +21,13 @@ ADD_CUSTOM_COMMAND(
ARGS -E copy_if_different ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson1/schema.xml ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson1/schema.xml
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson1) ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson1)
ADD_CUSTOM_COMMAND(
TARGET install
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson1/Lesson1.pdf
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson1)
###################################################################################### ######################################################################################

Binary file not shown.

View file

@ -21,6 +21,13 @@ ADD_CUSTOM_COMMAND(
ARGS -E copy_if_different ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson2/schema.xml ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson2/schema.xml
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson2) ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson2)
ADD_CUSTOM_COMMAND(
TARGET install
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson2/Lesson2.pdf
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson2)
###################################################################################### ######################################################################################

Binary file not shown.

View file

@ -21,6 +21,13 @@ ADD_CUSTOM_COMMAND(
ARGS -E copy_if_different ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson3/schema.xml ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson3/schema.xml
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson3) ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson3)
ADD_CUSTOM_COMMAND(
TARGET install
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson3/Lesson3.pdf
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson3)
###################################################################################### ######################################################################################

Binary file not shown.

View file

@ -17,7 +17,7 @@
* economic rights, and the successive licensors have only limited liability. * economic rights, and the successive licensors have only limited liability.
* *
* In this respect, the user's attention is drawn to the risks associated * In this respect, the user's attention is drawn to the risks associated
* with loading, using, modifying and/or developing or reproducing the * with loading, using, modifying and/syncor developing or reproducing the
* software by the user in light of its specific status of free software, * software by the user in light of its specific status of free software,
* that may mean that it is complicated to manipulate, and that also * that may mean that it is complicated to manipulate, and that also
* therefore means that it is reserved for developers and experienced * therefore means that it is reserved for developers and experienced
@ -60,7 +60,7 @@ int main (int __argc, char *__argv[])
const float CROSS_RATE = 0.8; const float CROSS_RATE = 0.8;
const double EPSILON = 0.01; const double EPSILON = 0.01;
const float MUT_RATE = 0.3; const float MUT_RATE = 0.3;
// MIG_FREQ define the frequence of the migration. // MIG_FREQ define the frequency of the migration.
const unsigned int MIG_FREQ = 10; const unsigned int MIG_FREQ = 10;
// MIG_SIZE define the size of each migration. // MIG_SIZE define the size of each migration.
const unsigned int MIG_SIZE = 5; const unsigned int MIG_SIZE = 5;
@ -122,9 +122,9 @@ int main (int __argc, char *__argv[])
// You can choose between : // You can choose between :
// //
// - Synchrone communication : peoSyncIslandMig<Indi> mig(MIG_FREQ,mig_select,mig_replace,topology,pop,pop); // - Synchronous communication : peoSyncIslandMig<Indi> mig(MIG_FREQ,mig_select,mig_replace,topology,pop,pop);
// - Asynchrone communication : peoAsyncIslandMig<Indi> mig(mig_cont,mig_select,mig_replace,topology,pop,pop); // - Asynchronous communication : peoAsyncIslandMig<Indi> mig(mig_cont,mig_select,mig_replace,topology,pop,pop);
// With a grid, you should use an asynchrone communication // With a grid, you should use an asynchronous communication
peoAsyncIslandMig<Indi> mig(mig_cont,mig_select,mig_replace,topology,pop,pop2); peoAsyncIslandMig<Indi> mig(mig_cont,mig_select,mig_replace,topology,pop,pop2);
checkpoint.add(mig); checkpoint.add(mig);
peoAsyncIslandMig<Indi> mig2(mig_cont2,mig_select2,mig_replace2,topology,pop2,pop); peoAsyncIslandMig<Indi> mig2(mig_cont2,mig_select2,mig_replace2,topology,pop2,pop);

View file

@ -50,10 +50,10 @@ double f (const Indi & _indi)
int main (int __argc, char *__argv[]) int main (int __argc, char *__argv[])
{ {
// In this lesson, we define two algorithms of the PSO witch represente two islands. // In this lesson, we define two algorithms of the PSO witch represents two islands.
// Obviously, you can define more algorithms. // Obviously, you can define more algorithms.
// The parameters are commun between the two algorithms. // The parameters are common between the two algorithms.
/*****************************************************************************************/ /*****************************************************************************************/
peo :: init( __argc, __argv ); peo :: init( __argc, __argv );
const unsigned int VEC_SIZE = 2; const unsigned int VEC_SIZE = 2;
@ -68,7 +68,7 @@ int main (int __argc, char *__argv[])
const double C2 = 2.; const double C2 = 2.;
// C3 is used for the calculation of one of the strategies of the island model. // C3 is used for the calculation of one of the strategies of the island model.
const double C3 = 2.; const double C3 = 2.;
// MIG_FREQ define the frequence of the migration. // MIG_FREQ define the frequency of the migration.
const unsigned int MIG_FREQ = 10; // The optimal value is 1 or 2 for the component peoPSOVelocity. const unsigned int MIG_FREQ = 10; // The optimal value is 1 or 2 for the component peoPSOVelocity.
rng.reseed (time(0)); rng.reseed (time(0));
/*****************************************************************************************/ /*****************************************************************************************/

View file

@ -21,6 +21,13 @@ ADD_CUSTOM_COMMAND(
ARGS -E copy_if_different ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson4/schema.xml ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson4/schema.xml
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson4) ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson4)
ADD_CUSTOM_COMMAND(
TARGET install
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson4/Lesson4.pdf
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson4)
###################################################################################### ######################################################################################

Binary file not shown.

View file

@ -51,7 +51,7 @@ double f (const Indi & _indi)
int main (int __argc, char *__argv[]) int main (int __argc, char *__argv[])
{ {
// In this lesson, we can see an exemple of an evolutionary algorithms with three islands. // In this lesson, we can see an example of an evolutionary algorithms with three islands.
// The evaluation is parallel. // The evaluation is parallel.
// The transformation is parallel. // The transformation is parallel.

View file

@ -50,8 +50,8 @@ double f (const Indi & _indi)
int main (int __argc, char *__argv[]) int main (int __argc, char *__argv[])
{ {
// In this lesson, we can see an exemple of a PSO with three islands. // In this lesson, we can see an example of a PSO with three islands.
// The stategy of migration is the replacement. // The strategy of migration is the replacement.
// The evaluation is parallel. // The evaluation is parallel.
peo :: init( __argc, __argv ); peo :: init( __argc, __argv );

View file

@ -21,6 +21,13 @@ ADD_CUSTOM_COMMAND(
ARGS -E copy_if_different ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson5/schema.xml ${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson5/schema.xml
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson5) ${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson5)
ADD_CUSTOM_COMMAND(
TARGET install
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different
${ParadisEO-PEO_SOURCE_DIR}/tutorial/Lesson5/Lesson5.pdf
${ParadisEO-PEO_BINARY_DIR}/tutorial/Lesson5)
###################################################################################### ######################################################################################

Binary file not shown.

View file

@ -3,7 +3,7 @@
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 * Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
* (C) OPAC Team, LIFL, 2002-2007 * (C) OPAC Team, LIFL, 2002-2007
* *
* Sebastien Cahon, Alexandru-Adrian Tantar * Sebastien Cahon, Alexandru-Adrian Tantar, Clive Canape
* *
* This software is governed by the CeCILL license under French law and * This software is governed by the CeCILL license under French law and
* abiding by the rules of distribution of free software. You can use, * abiding by the rules of distribution of free software. You can use,
@ -33,14 +33,14 @@
* Contact: paradiseo-help@lists.gforge.inria.fr * Contact: paradiseo-help@lists.gforge.inria.fr
* *
*/ */
// (c) OPAC Team, LIFL, July 2007 // (c) OPAC Team, LIFL, 2007
// //
// Contact: paradiseo-help@lists.gforge.inria.fr // Contact: paradiseo-help@lists.gforge.inria.fr
// Libraries of problem
#include "param.h" #include "param.h"
#include "route_init.h" #include "route_init.h"
#include "route_eval.h" #include "route_eval.h"
#include "order_xover.h" #include "order_xover.h"
#include "edge_xover.h" #include "edge_xover.h"
#include "partial_mapped_xover.h" #include "partial_mapped_xover.h"
@ -60,6 +60,8 @@
int main (int __argc, char * * __argv) { int main (int __argc, char * * __argv) {
// Example of a problem (TSP) with an hybridization
peo :: init (__argc, __argv); peo :: init (__argc, __argv);