peo: lessons 1,2 and 3 modified

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@999 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
canape 2008-02-22 10:44:06 +00:00
commit 93f0cfd82e
8 changed files with 123 additions and 79 deletions

View file

@ -1,7 +1,7 @@
/*
* <main.cpp>
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
* (C) OPAC Team, INRIA, 2007
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
* (C) OPAC Team, INRIA, 2008
*
* Clive Canape
*
@ -50,18 +50,19 @@ double f (const Indi & _indi)
int main (int __argc, char *__argv[])
{
peo :: init( __argc, __argv );
const unsigned int VEC_SIZE = 2;
const unsigned int POP_SIZE = 20;
const unsigned int NEIGHBORHOOD_SIZE= 6;
const unsigned int MAX_GEN = 100;
const double INIT_POSITION_MIN = -2.0;
const double INIT_POSITION_MAX = 2.0;
const double INIT_VELOCITY_MIN = -1.;
const double INIT_VELOCITY_MAX = 1.;
const unsigned int MIG_FREQ = 10;
const double omega = 1;
const double C1 = 0.5;
const double C2 = 2.;
eoParser parser(__argc, __argv);
unsigned int POP_SIZE = parser.createParam((unsigned int)(20), "popSize", "Population size",'P',"Param").value();
unsigned int MAX_GEN = parser.createParam((unsigned int)(100), "maxGen", "Maximum number of generations",'G',"Param").value();
unsigned int VEC_SIZE = parser.createParam((unsigned int)(2), "vecSize", "Vector size",'V',"Param").value();
double INIT_POSITION_MIN = parser.createParam(-2.0, "pMin", "Init position min",'N',"Param").value();
double INIT_POSITION_MAX = parser.createParam(2.0, "pMax", "Init position max",'X',"Param").value();
double INIT_VELOCITY_MIN = parser.createParam(-1.0, "vMin", "Init velocity min",'n',"Param").value();
double INIT_VELOCITY_MAX = parser.createParam(1.0, "vMax", "Init velocity max",'x',"Param").value();
double omega = parser.createParam(1.0, "weight", "Weight",'w',"Param").value();
double C1 = parser.createParam(0.5, "c1", "C1",'1',"Param").value();
double C2 = parser.createParam(2.0, "c2t", "C2",'2',"Param").value();
unsigned int NEIGHBORHOOD_SIZE = parser.createParam((unsigned int)(6), "neighSize", "Neighborhood size",'H',"Param").value();
unsigned int MIG_FREQ = parser.createParam((unsigned int)(10), "migFreq", "Migration frequency",'F',"Param").value();
rng.reseed (time(0));
// Island model
@ -135,7 +136,7 @@ int main (int __argc, char *__argv[])
eoReplace <Indi, eoPop<Indi> > mig_replace2 (mig_replac2,pop2);
// Island model
// Asynchronous island
peoAsyncIslandMig< eoPop<Indi>, eoPop<Indi> > mig(cont,mig_select, mig_replace, topologyMig);
checkpoint.add( mig );