grouping classes in documentation
This commit is contained in:
parent
44d1ab1bc2
commit
f478817c6e
73 changed files with 326 additions and 164 deletions
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
/** eoInt: implementation of simple integer-valued chromosome.
|
/** eoInt: implementation of simple integer-valued chromosome.
|
||||||
* based on eoVector class
|
* based on eoVector class
|
||||||
|
*
|
||||||
|
* @ingroup Representations
|
||||||
*/
|
*/
|
||||||
template <class FitT> class eoInt: public eoVector<FitT, int>
|
template <class FitT> class eoInt: public eoVector<FitT, int>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,8 @@
|
||||||
* At step t: v(t+1)= c1 * v(t) + c2 * r2 * ( xbest(t)-x(t) ) + c3 * r3 * ( gbest(t) - x(t) )
|
* At step t: v(t+1)= c1 * v(t) + c2 * r2 * ( xbest(t)-x(t) ) + c3 * r3 * ( gbest(t) - x(t) )
|
||||||
* v(t) is an INT for any time step
|
* v(t) is an INT for any time step
|
||||||
* (ci given and Ri chosen at random in [0;1]).
|
* (ci given and Ri chosen at random in [0;1]).
|
||||||
|
*
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
template < class POT > class eoIntegerVelocity:public eoVelocity < POT >
|
template < class POT > class eoIntegerVelocity:public eoVelocity < POT >
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
|
|
||||||
#include <eoOp.h>
|
#include <eoOp.h>
|
||||||
|
|
||||||
|
/** @addtogroup Utilities
|
||||||
|
|
||||||
/**
|
/**
|
||||||
One of the invalidator operators. Use this one as a 'hat' on an operator
|
One of the invalidator operators. Use this one as a 'hat' on an operator
|
||||||
that is defined to work on a generic datatype. This functor will then check
|
that is defined to work on a generic datatype. This functor will then check
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@
|
||||||
* Nt is the total number of generations/event
|
* Nt is the total number of generations/event
|
||||||
* w(0) is the initial weight
|
* w(0) is the initial weight
|
||||||
* w(Nt) is the last inertia weight
|
* w(Nt) is the last inertia weight
|
||||||
|
*
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
template <class WeightType, class StopCriteriaType> class eoLinearDecreasingWeightUp:public eoWeightUpdater<WeightType>
|
template <class WeightType, class StopCriteriaType> class eoLinearDecreasingWeightUp:public eoWeightUpdater<WeightType>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,8 @@
|
||||||
* truncate negative values to 0 -
|
* truncate negative values to 0 -
|
||||||
*
|
*
|
||||||
* to be used within an eoSelectFromWorth object
|
* to be used within an eoSelectFromWorth object
|
||||||
|
*
|
||||||
|
* @ingroup Selectors
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoLinearFitScaling : public eoPerf2Worth<EOT> // false: do not cache fitness
|
class eoLinearFitScaling : public eoPerf2Worth<EOT> // false: do not cache fitness
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@
|
||||||
* One of the local best strategies for particle swarm optimization. Each particle has a fixed number of neighbours, ans
|
* One of the local best strategies for particle swarm optimization. Each particle has a fixed number of neighbours, ans
|
||||||
* the neighborhood is social.
|
* the neighborhood is social.
|
||||||
* The topology is never modified during the flight.
|
* The topology is never modified during the flight.
|
||||||
|
*
|
||||||
|
* @ingroup Selectors
|
||||||
*/
|
*/
|
||||||
template < class POT > class eoLinearTopology:public eoTopology <
|
template < class POT > class eoLinearTopology:public eoTopology <
|
||||||
POT >
|
POT >
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ eoMGGReplacement is an eoReplacement:
|
||||||
- select best N-1 of this merged population (detTournament only at the moment)
|
- select best N-1 of this merged population (detTournament only at the moment)
|
||||||
- put them back into parent population
|
- put them back into parent population
|
||||||
|
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,9 @@
|
||||||
* two populations into one (the second argument).
|
* two populations into one (the second argument).
|
||||||
* Note that the algorithms assume that the second argument denotes the
|
* Note that the algorithms assume that the second argument denotes the
|
||||||
* next generation.
|
* next generation.
|
||||||
|
*
|
||||||
|
* @ingroup Core
|
||||||
|
* @ingroup Replacors
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template<class Chrom> class eoMerge: public eoBF<const eoPop<Chrom>&, eoPop<Chrom>&, void>
|
template<class Chrom> class eoMerge: public eoBF<const eoPop<Chrom>&, eoPop<Chrom>&, void>
|
||||||
|
|
@ -51,6 +54,8 @@ template<class Chrom> class eoMerge: public eoBF<const eoPop<Chrom>&, eoPop<Chro
|
||||||
/**
|
/**
|
||||||
Straightforward elitism class, specify the number of individuals to copy
|
Straightforward elitism class, specify the number of individuals to copy
|
||||||
into new geneneration or the rate w.r.t. pop size
|
into new geneneration or the rate w.r.t. pop size
|
||||||
|
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
template <class EOT> class eoElitism : public eoMerge<EOT>
|
template <class EOT> class eoElitism : public eoMerge<EOT>
|
||||||
{
|
{
|
||||||
|
|
@ -103,6 +108,7 @@ private :
|
||||||
|
|
||||||
/**
|
/**
|
||||||
No elite
|
No elite
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
template <class EOT> class eoNoElitism : public eoElitism<EOT>
|
template <class EOT> class eoNoElitism : public eoElitism<EOT>
|
||||||
{
|
{
|
||||||
|
|
@ -112,6 +118,7 @@ template <class EOT> class eoNoElitism : public eoElitism<EOT>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Very elitist class, copies entire population into next gen
|
Very elitist class, copies entire population into next gen
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
template <class EOT> class eoPlus : public eoMerge<EOT>
|
template <class EOT> class eoPlus : public eoMerge<EOT>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ Replacement strategies that combine en eoMerge and an eoReduce.
|
||||||
/**
|
/**
|
||||||
eoMergeReduce: abstract replacement strategy that is just an application of
|
eoMergeReduce: abstract replacement strategy that is just an application of
|
||||||
an embedded merge, followed by an embedded reduce
|
an embedded merge, followed by an embedded reduce
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoMergeReduce : public eoReplacement<EOT>
|
class eoMergeReduce : public eoReplacement<EOT>
|
||||||
|
|
@ -68,6 +69,7 @@ class eoMergeReduce : public eoReplacement<EOT>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
ES type of replacement strategy: first add parents to population, then truncate
|
ES type of replacement strategy: first add parents to population, then truncate
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoPlusReplacement : public eoMergeReduce<EOT>
|
class eoPlusReplacement : public eoMergeReduce<EOT>
|
||||||
|
|
@ -82,6 +84,7 @@ class eoPlusReplacement : public eoMergeReduce<EOT>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
ES type of replacement strategy: ignore parents, truncate offspring
|
ES type of replacement strategy: ignore parents, truncate offspring
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoCommaReplacement : public eoMergeReduce<EOT>
|
class eoCommaReplacement : public eoMergeReduce<EOT>
|
||||||
|
|
@ -97,6 +100,7 @@ class eoCommaReplacement : public eoMergeReduce<EOT>
|
||||||
/**
|
/**
|
||||||
EP type of replacement strategy: first add parents to population,
|
EP type of replacement strategy: first add parents to population,
|
||||||
then truncate using EP tournament
|
then truncate using EP tournament
|
||||||
|
@ingroup Replacors
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoEPReplacement : public eoMergeReduce<EOT>
|
class eoEPReplacement : public eoMergeReduce<EOT>
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@
|
||||||
/**
|
/**
|
||||||
* Abstract class for neighborboods. Used for particle swarm optimization
|
* Abstract class for neighborboods. Used for particle swarm optimization
|
||||||
* topology strategies. Can be social or physical.
|
* topology strategies. Can be social or physical.
|
||||||
|
*
|
||||||
|
* @ingroup Selectors
|
||||||
*/
|
*/
|
||||||
template < class POT > class eoNeighborhood
|
template < class POT > class eoNeighborhood
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -38,15 +38,15 @@
|
||||||
#include <eoPopulator.h>
|
#include <eoPopulator.h>
|
||||||
#include <utils/eoHowMany.h>
|
#include <utils/eoHowMany.h>
|
||||||
|
|
||||||
/*****************************************************************************
|
/** eoOneToOneBreeder: transforms a population using
|
||||||
* eoOneToOneBreeder: transforms a population using
|
|
||||||
* - an operator that MODIFIES only one parent from the populator
|
* - an operator that MODIFIES only one parent from the populator
|
||||||
* (though it can use any number aside) and thus generates ONE offspring)
|
* (though it can use any number aside) and thus generates ONE offspring)
|
||||||
* - a local replacement between the parent and its offspring
|
* - a local replacement between the parent and its offspring
|
||||||
*
|
*
|
||||||
* Typically, Differential Evolution (Storn and Price 94) and Deb et al's
|
* Typically, Differential Evolution (Storn and Price 94) and Deb et al's
|
||||||
* G3 can be built on this
|
* G3 can be built on this
|
||||||
****************************************************************************
|
*
|
||||||
|
* @ingroup Combination
|
||||||
*/
|
*/
|
||||||
template<class EOT>
|
template<class EOT>
|
||||||
class eoOneToOneBreeder: public eoBreed<EOT>
|
class eoOneToOneBreeder: public eoBreed<EOT>
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
#include <eoPrintable.h>
|
#include <eoPrintable.h>
|
||||||
#include <eoFunctor.h>
|
#include <eoFunctor.h>
|
||||||
#include <utils/eoRNG.h>
|
#include <utils/eoRNG.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@defgroup Operators Evolutionary Operators
|
@defgroup Operators Evolutionary Operators
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@
|
||||||
* the differnet instances of eoOpContainer:
|
* the differnet instances of eoOpContainer:
|
||||||
* an ***absolute*** probability in the sequential version, and
|
* an ***absolute*** probability in the sequential version, and
|
||||||
* a ***relative*** weight in the proportional version
|
* a ***relative*** weight in the proportional version
|
||||||
|
*
|
||||||
|
* @ingroup Combination
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoOpContainer : public eoGenOp<EOT>
|
class eoOpContainer : public eoGenOp<EOT>
|
||||||
|
|
@ -83,6 +85,8 @@ class eoOpContainer : public eoGenOp<EOT>
|
||||||
* note the mark, rewind, unmark cycle
|
* note the mark, rewind, unmark cycle
|
||||||
* here operators are repeatedly applied on the same individual(s)
|
* here operators are repeatedly applied on the same individual(s)
|
||||||
* not all too elegant, but it sort of works...
|
* not all too elegant, but it sort of works...
|
||||||
|
*
|
||||||
|
* @ingroup Combination
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoSequentialOp : public eoOpContainer<EOT>
|
class eoSequentialOp : public eoOpContainer<EOT>
|
||||||
|
|
|
||||||
|
|
@ -20,21 +20,20 @@
|
||||||
|
|
||||||
Contact: todos@geneura.ugr.es, http://geneura.ugr.es
|
Contact: todos@geneura.ugr.es, http://geneura.ugr.es
|
||||||
*/
|
*/
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#ifndef _EOOPSELMASON_H
|
#ifndef _EOOPSELMASON_H
|
||||||
#define _EOOPSELMASON_H
|
#define _EOOPSELMASON_H
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
#include <eoProportionalOpSel.h>
|
|
||||||
#include <eoOpFactory.h> // for eoFactory and eoOpFactory
|
#include <eoOpFactory.h> // for eoFactory and eoOpFactory
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
/** EO Mason, or builder, for operator selectors. A builder must allocate memory
|
/** EO Mason, or builder, for operator selectors. A builder must allocate memory
|
||||||
to the objects it builds, and then deallocate it when it gets out of scope*/
|
to the objects it builds, and then deallocate it when it gets out of scope
|
||||||
|
|
||||||
|
@ingroup Utilities
|
||||||
|
*/
|
||||||
template<class eoClass>
|
template<class eoClass>
|
||||||
class eoOpSelMason: public eoFactory<eoOpSelector<eoClass> > {
|
class eoOpSelMason: public eoFactory<eoOpSelector<eoClass> > {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
* p1 : [1|2,4,3|6,5] and p2 : [4|5,3,1|6,2] generate two children:
|
* p1 : [1|2,4,3|6,5] and p2 : [4|5,3,1|6,2] generate two children:
|
||||||
* c1 = [2,4,3,6,5,1] 2,4,3 taken from p1 and 6,5,1 from p2
|
* c1 = [2,4,3,6,5,1] 2,4,3 taken from p1 and 6,5,1 from p2
|
||||||
* c2 = [5,3,1,6,2,4] 5,3,1 taken from p2 and 6,2,4 from p1
|
* c2 = [5,3,1,6,2,4] 5,3,1 taken from p2 and 6,2,4 from p1
|
||||||
|
*
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
template<class Chrom> class eoOrderXover: public eoQuadOp<Chrom>
|
template<class Chrom> class eoOrderXover: public eoQuadOp<Chrom>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,9 @@
|
||||||
/** @brief Base class to transform raw fitnesses into fitness for selection
|
/** @brief Base class to transform raw fitnesses into fitness for selection
|
||||||
|
|
||||||
@see eoSelectFromWorth
|
@see eoSelectFromWorth
|
||||||
|
|
||||||
|
@ingroup Selectors
|
||||||
|
@ingroup Utilities
|
||||||
*/
|
*/
|
||||||
template <class EOT, class WorthT = double>
|
template <class EOT, class WorthT = double>
|
||||||
class eoPerf2Worth : public eoUF<const eoPop<EOT>&, void>, public eoValueParam<std::vector<WorthT> >
|
class eoPerf2Worth : public eoUF<const eoPop<EOT>&, void>, public eoValueParam<std::vector<WorthT> >
|
||||||
|
|
@ -106,6 +109,8 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Perf2Worth with fitness cache
|
Perf2Worth with fitness cache
|
||||||
|
@ingroup Selectors
|
||||||
|
@ingroup Utilities
|
||||||
*/
|
*/
|
||||||
template <class EOT, class WorthT = typename EOT::Fitness>
|
template <class EOT, class WorthT = typename EOT::Fitness>
|
||||||
class eoPerf2WorthCached : public eoPerf2Worth<EOT, WorthT>
|
class eoPerf2WorthCached : public eoPerf2Worth<EOT, WorthT>
|
||||||
|
|
@ -225,7 +230,10 @@ public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** A dummy perf2worth, just in case you need it */
|
/** A dummy perf2worth, just in case you need it
|
||||||
|
@ingroup Selectors
|
||||||
|
@ingroup Utilities
|
||||||
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
class eoNoPerf2Worth : public eoPerf2Worth<EOT, typename EOT::Fitness>
|
class eoNoPerf2Worth : public eoPerf2Worth<EOT, typename EOT::Fitness>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
|
// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
|
||||||
|
|
||||||
// "eoFreqContinue.h"
|
|
||||||
|
|
||||||
// (c) OPAC Team, LIFL, Feb. 2006
|
// (c) OPAC Team, LIFL, Feb. 2006
|
||||||
|
|
||||||
/* This library is free software; you can redistribute it and/or
|
/* This library is free software; you can redistribute it and/or
|
||||||
|
|
@ -27,16 +25,25 @@
|
||||||
#include <eoContinue.h>
|
#include <eoContinue.h>
|
||||||
#include <eoPop.h>
|
#include <eoPop.h>
|
||||||
|
|
||||||
|
/** A continue that becomes true periodically.
|
||||||
|
*/
|
||||||
template <class EOT> class eoPeriodicContinue: public eoContinue <EOT> {
|
template <class EOT> class eoPeriodicContinue: public eoContinue <EOT> {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/** Constructor. The period is given in parameter. */
|
/** Constructor. The period is given in parameter. */
|
||||||
eoPeriodicContinue (unsigned __period, unsigned __init_counter = 0);
|
eoPeriodicContinue (unsigned __period, unsigned __init_counter = 0) :
|
||||||
|
period (__period), counter (__init_counter)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
/** It returns 'true' only if the current number of generations modulo
|
/** It returns 'true' only if the current number of generations modulo
|
||||||
the period doen't equal to zero. */
|
the period doen't equal to zero. */
|
||||||
bool operator () (const eoPop <EOT> & pop);
|
bool operator () (const eoPop <EOT> & pop)
|
||||||
|
{
|
||||||
|
return ((++ counter) % period) != 0 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
@ -45,19 +52,5 @@ private:
|
||||||
unsigned counter;
|
unsigned counter;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class EOT>
|
|
||||||
eoPeriodicContinue <EOT> :: eoPeriodicContinue (unsigned __period, unsigned __init_counter
|
|
||||||
) : period (__period),
|
|
||||||
counter (__init_counter) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class EOT>
|
|
||||||
bool eoPeriodicContinue <EOT> :: operator () (const eoPop <EOT> & __pop) {
|
|
||||||
|
|
||||||
return ((++ counter) % period) != 0 ;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
//Implementation of these objects
|
//Implementation of these objects
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
std::istream & operator >> ( std::istream& _is, eoPersistent& _o ) {
|
std::istream & operator >> ( std::istream& _is, eoPersistent& _o ) {
|
||||||
_o.readFrom(_is);
|
_o.readFrom(_is);
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,9 @@
|
||||||
* and eoInit derived object. in the ctor.
|
* and eoInit derived object. in the ctor.
|
||||||
* EOT must also have a copy ctor, since temporaries are created and then
|
* EOT must also have a copy ctor, since temporaries are created and then
|
||||||
* passed to the eoInit object
|
* passed to the eoInit object
|
||||||
|
*
|
||||||
|
* @ingroup Core
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template<class EOT>
|
template<class EOT>
|
||||||
class eoPop: public std::vector<EOT>, public eoObject, public eoPersistent
|
class eoPop: public std::vector<EOT>, public eoObject, public eoPersistent
|
||||||
{
|
{
|
||||||
|
|
@ -333,9 +334,6 @@ public:
|
||||||
for (unsigned i=0; i<size(); i++)
|
for (unsigned i=0; i<size(); i++)
|
||||||
this->operator[](i).invalidate();
|
this->operator[](i).invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,8 @@
|
||||||
*
|
*
|
||||||
* Basic parallelization (synchronous standard evolution engine):
|
* Basic parallelization (synchronous standard evolution engine):
|
||||||
* call the slaves and wait for the results
|
* call the slaves and wait for the results
|
||||||
|
*
|
||||||
|
* @ingroup Evaluation
|
||||||
*/
|
*/
|
||||||
template<class EOT>
|
template<class EOT>
|
||||||
class eoPopEvalFunc : public eoBF<eoPop<EOT> & , eoPop<EOT> &, void>
|
class eoPopEvalFunc : public eoBF<eoPop<EOT> & , eoPop<EOT> &, void>
|
||||||
|
|
@ -55,6 +57,8 @@ class eoPopEvalFunc : public eoBF<eoPop<EOT> & , eoPop<EOT> &, void>
|
||||||
|
|
||||||
/** eoPopLoopEval: an instance of eoPopEvalFunc that simply applies
|
/** eoPopLoopEval: an instance of eoPopEvalFunc that simply applies
|
||||||
* a private eoEvalFunc to all offspring
|
* a private eoEvalFunc to all offspring
|
||||||
|
*
|
||||||
|
* @ingroup Evaluation
|
||||||
*/
|
*/
|
||||||
template<class EOT>
|
template<class EOT>
|
||||||
class eoPopLoopEval : public eoPopEvalFunc<EOT> {
|
class eoPopLoopEval : public eoPopEvalFunc<EOT> {
|
||||||
|
|
@ -79,6 +83,8 @@ private:
|
||||||
/** eoPopLoopEval: an instance of eoPopEvalFunc that simply applies
|
/** eoPopLoopEval: an instance of eoPopEvalFunc that simply applies
|
||||||
* a private eoEvalFunc to all offspring AND ALL PARENTS
|
* a private eoEvalFunc to all offspring AND ALL PARENTS
|
||||||
* as the fitness is supposed here to vary
|
* as the fitness is supposed here to vary
|
||||||
|
*
|
||||||
|
* @ingroup Evaluation
|
||||||
*/
|
*/
|
||||||
template<class EOT>
|
template<class EOT>
|
||||||
class eoTimeVaryingLoopEval : public eoPopEvalFunc<EOT> {
|
class eoTimeVaryingLoopEval : public eoPopEvalFunc<EOT> {
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue