rm fit and div, replace constructors and indent

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@214 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2007-04-13 12:59:54 +00:00
commit d710dc0d6c

View file

@ -14,32 +14,29 @@
#define MOEODETTOURNAMENTSELECT_H_ #define MOEODETTOURNAMENTSELECT_H_
#include <moeoComparator.h> #include <moeoComparator.h>
#include <moeoDiversityAssignment.h>
#include <moeoFitnessAssignment.h>
#include <moeoSelectOne.h> #include <moeoSelectOne.h>
#include <moeoSelectors.h> #include <moeoSelectors.h>
/** /**
* Selection strategy that selects ONE individual by deterministic tournament. * Selection strategy that selects ONE individual by deterministic tournament.
*/ */
template < class MOEOT > template < class MOEOT > class moeoDetTournamentSelect:public moeoSelectOne <
class moeoDetTournamentSelect : public moeoSelectOne <MOEOT> MOEOT >
{ {
public: public:
/** /**
* Full Ctor. * Full Ctor.
* @param _evalFitness the fitness assignment strategy
* @param _evalDiversity the diversity assignment strategy
* @param _comparator the comparator (used to compare 2 individuals) * @param _comparator the comparator (used to compare 2 individuals)
* @param _tSize the number of individuals in the tournament (default: 2) * @param _tSize the number of individuals in the tournament (default: 2)
*/ */
moeoDetTournamentSelect(moeoFitnessAssignment < MOEOT > & _evalFitness, moeoDiversityAssignment < MOEOT > & _evalDiversity, moeoComparator < MOEOT > & _comparator, unsigned _tSize = 2) : moeoDetTournamentSelect (moeoComparator < MOEOT > &_comparator, unsigned _tSize = 2):
evalFitness (_evalFitness), evalDiversity (_evalDiversity), comparator (_comparator), tSize (_tSize) comparator (_comparator), tSize (_tSize)
{ {
// consistency check // consistency check
if (tSize < 2) if (tSize < 2)
{ {
std::
cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n"; cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
tSize = 2; tSize = 2;
} }
@ -48,84 +45,22 @@ public:
/** /**
* Ctor without comparator. A moeoFitnessThenDiversityComparator is used as default. * Ctor without comparator. A moeoFitnessThenDiversityComparator is used as default.
* @param _evalFitness the fitness assignment strategy
* @param _evalDiversity the diversity assignment strategy
* @param _tSize the number of individuals in the tournament (default: 2) * @param _tSize the number of individuals in the tournament (default: 2)
*/ */
moeoDetTournamentSelect (moeoFitnessAssignment < MOEOT > & _evalFitness, moeoDiversityAssignment < MOEOT > & _evalDiversity, unsigned _tSize = 2) : moeoDetTournamentSelect (unsigned _tSize = 2):
evalFitness (_evalFitness),evalDiversity(_evalDiversity),tSize(_tSize) comparator (*(new moeoFitnessThenDiversityComparator < MOEOT > ())),
tSize (_tSize)
{ {
// a moeoFitThenDivComparator is used as default
moeoFitnessThenDiversityComparator < MOEOT > & fitThenDivComparator;
comparator = fitThenDivComparator;
// consistency check // consistency check
if (tSize < 2) if (tSize < 2)
{ {
std::
cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n"; cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
tSize = 2; tSize = 2;
} }
} }
/**
* Ctor without diversity assignment. A dummy diversity assignment is used.
* @param _evalFitness the fitness assignment strategy
* @param _comparator the comparator (used to compare 2 individuals)
* @param _tSize the number of individuals in the tournament (default: 2)
*/
moeoDetTournamentSelect (moeoFitnessAssignment < MOEOT > & _evalFitness, moeoComparator < MOEOT > & _comparator, unsigned _tSize = 2) :
evalFitness (_evalFitness), comparator (_comparator), tSize (_tSize)
{
// a dummy diversity is used as default
moeoDummyDiversityAssignment < MOEOT > &dummyDiversityAssignment;
evalDiversity = dummyDiversityAssignment;
// consistency check
if (tSize < 2)
{
cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
tSize = 2;
}
}
/**
* Ctor without diversity assignment nor comparator.
* A moeoDummyDiversityAssignment and a moeoFitnessThenDiversityComparator are used as default.
* @param _evalFitness the fitness assignment strategy
* @param _tSize the number of individuals in the tournament (default: 2)
*/
moeoDetTournamentSelect (moeoFitnessAssignment < MOEOT > & _evalFitness, unsigned _tSize = 2) :
evalFitness (_evalFitness), tSize (_tSize)
{
// a dummy diversity is used as default
moeoDummyDiversityAssignment < MOEOT > &dummyDiversityAssignment;
evalDiversity = dummyDiversityAssignment;
// a moeoFitThenDivComparator is used as default
moeoFitnessThenDiversityComparator < MOEOT > &fitThenDivComparator;
comparator = fitThenDivComparator;
// consistency check
if (tSize < 2)
{
cout << "Warning, Tournament size should be >= 2\nAdjusted to 2\n";
tSize = 2;
}
}
/**
* Evaluate the fitness and the diversity of each individual of the population _pop.
* @param _pop the population
*/
//void setup (eoPop<MOEOT>& _pop)
virtual void setup(const eoPop<MOEOT>& _pop)
{
// eval fitness
//evalFitness(_pop);
// eval diversity
//evalDiversity(_pop);
}
/** /**
* Apply the tournament to the given population * Apply the tournament to the given population
* @param _pop the population * @param _pop the population
@ -139,15 +74,11 @@ public:
protected: protected:
/** the fitness assignment strategy */
moeoFitnessAssignment < MOEOT > & evalFitness;
/** the diversity assignment strategy */
moeoDiversityAssignment < MOEOT > & evalDiversity;
/** the comparator (used to compare 2 individuals) */ /** the comparator (used to compare 2 individuals) */
moeoComparator < MOEOT > &comparator; moeoComparator < MOEOT > &comparator;
/** the number of individuals in the tournament */ /** the number of individuals in the tournament */
unsigned tSize; unsigned tSize;
}; };
#endif /*MOEODETTOURNAMENTSELECT_H_ */ #endif /*MOEODETTOURNAMENTSELECT_H_ */