diff --git a/eo/src/mpi/eoMultiStart.h b/eo/src/mpi/eoMultiStart.h index 456124f1..a58ba2e9 100644 --- a/eo/src/mpi/eoMultiStart.h +++ b/eo/src/mpi/eoMultiStart.h @@ -219,10 +219,9 @@ namespace eo struct ReuseOriginalPopEA: public MultiStartStore::ResetAlgo { ReuseOriginalPopEA( - eoGenContinue & continuator, + eoCountContinue & continuator, const eoPop& originalPop, eoEvalFunc& 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 & _continuator; + eoCountContinue & _continuator; const eoPop& _originalPop; eoEvalFunc& _eval; }; @@ -251,14 +249,13 @@ namespace eo struct ReuseSamePopEA : public MultiStartStore::ResetAlgo { ReuseSamePopEA( - eoGenContinue& continuator, + eoCountContinue& continuator, const eoPop& originalPop, eoEvalFunc& 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& _continuator; + eoCountContinue& _continuator; eoPop _originalPop; bool _firstTime; - int _initial; }; template< class EOT > diff --git a/eo/test/mpi/t-mpi-multistart.cpp b/eo/test/mpi/t-mpi-multistart.cpp index a50c17a6..4aa0fde3 100644 --- a/eo/test/mpi/t-mpi-multistart.cpp +++ b/eo/test/mpi/t-mpi-multistart.cpp @@ -162,6 +162,7 @@ int main(int argc, char **argv) ///////////////////////////////////// // stop after MAX_GEN generations eoGenContinue continuator(MAX_GEN); + // eoSteadyFitContinue< Indi > continuator( 10, 50 ); // GENERATION /////////////////////////////////////////