Individual Class Reference

Base class for individuals in a population. More...

#include <Individual.h>

Inheritance diagram for Individual:

IndividualCT< CT > IndividualCT< ChromosomeT< T > > IndividualT< T >

List of all members.

Public Member Functions

 Individual (unsigned noChromosomes=0)
 Individual (unsigned, const Chromosome &)
 Individual (const Chromosome &)
 Individual (const Chromosome &, const Chromosome &)
 Individual (const Chromosome &, const Chromosome &, const Chromosome &)
 Individual (const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &)
 Individual (const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &)
 Individual (const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &)
 Individual (const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &)
 Individual (const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &, const Chromosome &)
 Individual (const std::vector< Chromosome * > &)
 Individual (const Individual &)
virtual ~Individual ()
unsigned size () const
unsigned totalSize () const
double fitnessValue () const
double selectionProbability () const
bool isFeasible () const
unsigned numberOfCopies () const
bool isElitist () const
void setFitness (double fit)
void setFeasible (bool f)
void setSelectionProbability (double ps)
Chromosomeoperator[] (unsigned i)
const Chromosomeoperator[] (unsigned i) const
Individualoperator= (const Individual &)
void replace (unsigned i, const Chromosome &chrom)
void insert (unsigned i, const Chromosome &chrom)
void append (const Chromosome &chrom)
void remove (unsigned i)
void remove (unsigned from, unsigned to)
void setAge (unsigned a=0)
void incAge ()
unsigned getAge () const
template<class ChromosomeTemplate >
void append (const ChromosomeTemplate &chrom)
void setLearnTime (unsigned lt=0)
unsigned getLearnTime () const
void setEvaluationFlag ()
void clearEvaluationFlag ()
bool needEvaluation () const
bool operator== (const Individual &) const
bool operator< (const Individual &) const
double getFitness () const
double getScaledFitness () const
void setScaledFitness (double sf)
void setSelProb (double sp)
double getSelProb () const
void setNumCopies (unsigned snc)
unsigned getNumCopies () const
void setEvalFlg (bool ef)
bool getEvalFlg () const
bool getFeasible () const
void setElitist (bool e)
bool getElitist () const
int pvm_pkind ()
int pvm_upkind ()

Protected Attributes

double fitness
double scaledFitness
bool evalFlg
bool feasible
double selProb
unsigned numCopies
bool elitist
unsigned age
unsigned learnTime

Friends

class Population
class PopulationMOO
class IndividualMOO
std::ostream & operator<< (std::ostream &os, const Individual &ind)
std::istream & operator>> (std::istream &is, Individual &ind)


Detailed Description

Base class for individuals in a population.
Examples:

ackleyES.cpp, integerES.cpp, and pvmSphereGA.cpp.

Definition at line 53 of file Individual.h.


Constructor & Destructor Documentation

Individual::Individual ( unsigned  noChromosomes = 0  )  [explicit]

Definition at line 50 of file Individual.cpp.

References size().

Individual::Individual ( unsigned  n,
const Chromosome chrom 
)

Definition at line 64 of file Individual.cpp.

References Chromosome::clone(), and size().

Individual::Individual ( const Chromosome chrom0  ) 

Definition at line 78 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const Chromosome chrom0,
const Chromosome chrom1 
)

Definition at line 91 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const Chromosome chrom0,
const Chromosome chrom1,
const Chromosome chrom2 
)

Definition at line 106 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const Chromosome chrom0,
const Chromosome chrom1,
const Chromosome chrom2,
const Chromosome chrom3 
)

Definition at line 123 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const Chromosome chrom0,
const Chromosome chrom1,
const Chromosome chrom2,
const Chromosome chrom3,
const Chromosome chrom4 
)

Definition at line 142 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const Chromosome chrom0,
const Chromosome chrom1,
const Chromosome chrom2,
const Chromosome chrom3,
const Chromosome chrom4,
const Chromosome chrom5 
)

Definition at line 163 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const Chromosome chrom0,
const Chromosome chrom1,
const Chromosome chrom2,
const Chromosome chrom3,
const Chromosome chrom4,
const Chromosome chrom5,
const Chromosome chrom6 
)

Definition at line 186 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const Chromosome chrom0,
const Chromosome chrom1,
const Chromosome chrom2,
const Chromosome chrom3,
const Chromosome chrom4,
const Chromosome chrom5,
const Chromosome chrom6,
const Chromosome chrom7 
)

Definition at line 211 of file Individual.cpp.

References Chromosome::clone().

Individual::Individual ( const std::vector< Chromosome * > &   ) 

Individual::Individual ( const Individual indiv  ) 

Definition at line 250 of file Individual.cpp.

References size().

Individual::~Individual (  )  [virtual]

Definition at line 268 of file Individual.cpp.

References size().


Member Function Documentation

template<class ChromosomeTemplate >
void Individual::append ( const ChromosomeTemplate &  chrom  )  [inline]

Appends Chromosomes to the Individual, refer also to Chromosome.h.

Definition at line 188 of file Individual.h.

References size().

void Individual::append ( const Chromosome chrom  ) 

Definition at line 322 of file Individual.cpp.

References Chromosome::clone().

void Individual::clearEvaluationFlag (  )  [inline]

Definition at line 216 of file Individual.h.

References evalFlg.

double Individual::fitnessValue (  )  const [inline]

Definition at line 104 of file Individual.h.

References fitness.

unsigned Individual::getAge (  )  const [inline]

Definition at line 178 of file Individual.h.

References age.

bool Individual::getElitist (  )  const [inline]

Definition at line 282 of file Individual.h.

References elitist.

bool Individual::getEvalFlg (  )  const [inline]

Definition at line 267 of file Individual.h.

References evalFlg.

bool Individual::getFeasible (  )  const [inline]

Definition at line 272 of file Individual.h.

References feasible.

double Individual::getFitness (  )  const [inline]

unsigned Individual::getLearnTime (  )  const [inline]

Definition at line 203 of file Individual.h.

References learnTime.

unsigned Individual::getNumCopies (  )  const [inline]

Definition at line 257 of file Individual.h.

References numCopies.

double Individual::getScaledFitness (  )  const [inline]

Definition at line 232 of file Individual.h.

References scaledFitness.

double Individual::getSelProb (  )  const [inline]

Definition at line 247 of file Individual.h.

References selProb.

void Individual::incAge (  )  [inline]

Definition at line 174 of file Individual.h.

References age.

void Individual::insert ( unsigned  i,
const Chromosome chrom 
)

Definition at line 316 of file Individual.cpp.

References Chromosome::clone(), and size().

bool Individual::isElitist (  )  const [inline]

Definition at line 120 of file Individual.h.

References elitist.

bool Individual::isFeasible (  )  const [inline]

Definition at line 112 of file Individual.h.

References feasible.

bool Individual::needEvaluation (  )  const [inline]

Definition at line 220 of file Individual.h.

References evalFlg.

unsigned Individual::numberOfCopies (  )  const [inline]

Definition at line 116 of file Individual.h.

References numCopies.

bool Individual::operator< ( const Individual ind  )  const

Definition at line 365 of file Individual.cpp.

References size().

Individual & Individual::operator= ( const Individual indiv  ) 

The Chromosome method 'registerIndividual(Ind&,int)' was added, refer also to 'Chromosome.h'.

Definition at line 284 of file Individual.cpp.

References age, elitist, evalFlg, feasible, fitness, learnTime, numCopies, scaledFitness, selProb, and size().

bool Individual::operator== ( const Individual ind  )  const

Definition at line 346 of file Individual.cpp.

References age, elitist, evalFlg, feasible, fitness, learnTime, numCopies, scaledFitness, selProb, and size().

const Chromosome& Individual::operator[] ( unsigned  i  )  const [inline]

Reimplemented in IndividualCT< CT >, IndividualT< T >, IndividualCT< ChromosomeT< T > >, and IndividualT< double >.

Definition at line 144 of file Individual.h.

References size().

Chromosome& Individual::operator[] ( unsigned  i  )  [inline]

Reimplemented in IndividualCT< CT >, IndividualT< T >, IndividualCT< ChromosomeT< T > >, and IndividualT< double >.

Definition at line 138 of file Individual.h.

References size().

int Individual::pvm_pkind (  ) 

Part of PVM-send routine for individuals

Definition at line 393 of file Individual.cpp.

References age, elitist, evalFlg, feasible, fitness, learnTime, numCopies, pvm_pkdouble(), pvm_pkuint(), scaledFitness, selProb, and size().

int Individual::pvm_upkind (  ) 

Part of PVM-rceive routine for individuals

Definition at line 435 of file Individual.cpp.

References age, elitist, evalFlg, feasible, fitness, learnTime, numCopies, pvm_upkdouble(), pvm_upkuint(), scaledFitness, selProb, and size().

void Individual::remove ( unsigned  from,
unsigned  to 
)

Definition at line 334 of file Individual.cpp.

References size().

void Individual::remove ( unsigned  i  ) 

Definition at line 327 of file Individual.cpp.

References size().

void Individual::replace ( unsigned  i,
const Chromosome chrom 
)

Definition at line 309 of file Individual.cpp.

References Chromosome::clone(), and size().

double Individual::selectionProbability (  )  const [inline]

Definition at line 108 of file Individual.h.

References selProb.

void Individual::setAge ( unsigned  a = 0  )  [inline]

Definition at line 170 of file Individual.h.

References age.

void Individual::setElitist ( bool  e  )  [inline]

Definition at line 277 of file Individual.h.

References elitist.

void Individual::setEvalFlg ( bool  ef  )  [inline]

Definition at line 262 of file Individual.h.

References evalFlg.

void Individual::setEvaluationFlag (  )  [inline]

Interface for a flag that indicates the neccessity of an individual to become evaluated

Definition at line 212 of file Individual.h.

References evalFlg.

void Individual::setFeasible ( bool  f  )  [inline]

Definition at line 129 of file Individual.h.

References feasible.

void Individual::setFitness ( double  fit  )  [inline]

void Individual::setLearnTime ( unsigned  lt = 0  )  [inline]

Interface for a buffer that stores how many learning iterations an individual conducts per generation

Definition at line 199 of file Individual.h.

References learnTime.

void Individual::setNumCopies ( unsigned  snc  )  [inline]

Definition at line 252 of file Individual.h.

References numCopies.

void Individual::setScaledFitness ( double  sf  )  [inline]

Definition at line 237 of file Individual.h.

References scaledFitness.

void Individual::setSelectionProbability ( double  ps  )  [inline]

Definition at line 133 of file Individual.h.

References selProb.

void Individual::setSelProb ( double  sp  )  [inline]

Definition at line 242 of file Individual.h.

References selProb.

unsigned Individual::size (  )  const [inline]

unsigned Individual::totalSize (  )  const

Definition at line 275 of file Individual.cpp.

References size().


Friends And Related Function Documentation

friend class IndividualMOO [friend]

Definition at line 374 of file Individual.h.

std::ostream& operator<< ( std::ostream &  os,
const Individual ind 
) [friend]

Definition at line 317 of file Individual.h.

std::istream& operator>> ( std::istream &  is,
Individual ind 
) [friend]

Definition at line 337 of file Individual.h.

friend class Population [friend]

Definition at line 372 of file Individual.h.

friend class PopulationMOO [friend]

Definition at line 373 of file Individual.h.


Member Data Documentation

unsigned Individual::age [protected]

Definition at line 311 of file Individual.h.

Referenced by getAge(), incAge(), operator=(), operator==(), pvm_pkind(), pvm_upkind(), and setAge().

bool Individual::elitist [protected]

bool Individual::evalFlg [protected]

bool Individual::feasible [protected]

double Individual::fitness [protected]

unsigned Individual::learnTime [protected]

Definition at line 314 of file Individual.h.

Referenced by getLearnTime(), operator=(), operator==(), pvm_pkind(), pvm_upkind(), and setLearnTime().

unsigned Individual::numCopies [protected]

double Individual::scaledFitness [protected]

double Individual::selProb [protected]


The documentation for this class was generated from the following files: