MPI Multistart: using eoCountContinue in resetAlgo functors instead of eoGenContinue.

This commit is contained in:
Benjamin Bouvier 2012-07-26 15:13:36 +02:00
commit 2ca5483f5d
2 changed files with 8 additions and 11 deletions

View file

@ -219,10 +219,9 @@ namespace eo
struct ReuseOriginalPopEA: public MultiStartStore<EOT>::ResetAlgo
{
ReuseOriginalPopEA(
eoGenContinue<EOT> & continuator,
eoCountContinue<EOT> & continuator,
const eoPop<EOT>& originalPop,
eoEvalFunc<EOT>& eval) :
_initial( continuator.totalGenerations() ),
_continuator( continuator ),
_originalPop( originalPop ),
_eval( eval )
@ -237,12 +236,11 @@ namespace eo
{
_eval( pop[i] );
}
_continuator.totalGenerations( _initial );
_continuator.reset();
}
private:
unsigned int _initial;
eoGenContinue<EOT> & _continuator;
eoCountContinue<EOT> & _continuator;
const eoPop<EOT>& _originalPop;
eoEvalFunc<EOT>& _eval;
};
@ -251,14 +249,13 @@ namespace eo
struct ReuseSamePopEA : public MultiStartStore<EOT>::ResetAlgo
{
ReuseSamePopEA(
eoGenContinue<EOT>& continuator,
eoCountContinue<EOT>& continuator,
const eoPop<EOT>& originalPop,
eoEvalFunc<EOT>& eval
) :
_continuator( continuator ),
_originalPop( originalPop ),
_firstTime( true ),
_initial( continuator.totalGenerations() )
_firstTime( true )
{
for( unsigned i = 0, size = originalPop.size();
i < size; ++i )
@ -274,15 +271,14 @@ namespace eo
pop = _originalPop;
_firstTime = false;
}
_continuator.totalGenerations( _initial );
_continuator.reset();
}
protected:
eoGenContinue<EOT>& _continuator;
eoCountContinue<EOT>& _continuator;
eoPop<EOT> _originalPop;
bool _firstTime;
int _initial;
};
template< class EOT >

View file

@ -162,6 +162,7 @@ int main(int argc, char **argv)
/////////////////////////////////////
// stop after MAX_GEN generations
eoGenContinue<Indi> continuator(MAX_GEN);
// eoSteadyFitContinue< Indi > continuator( 10, 50 );
// GENERATION
/////////////////////////////////////////