MPI Multistart: using eoCountContinue in resetAlgo functors instead of eoGenContinue.
This commit is contained in:
parent
a14526e01a
commit
2ca5483f5d
2 changed files with 8 additions and 11 deletions
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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
|
||||
/////////////////////////////////////////
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue