Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members

Individual Class Reference

#include <Individual.h>

List of all members.

Public Member Functions

 Individual (MultiobjectiveProblem *problem, Random *random)
 Constructor.

 Individual (Individual &individual)
 Copy constructor.

 Individual (Individual *individual)
 Copy constructor.

 ~Individual ()
 Destructor.

void setFitness (double *fitness)
 Sets the fitness of the individual.

double * getFitness () const
 Gets the fitness of the individual.

int dominanceTest (Individual *individual)
 . Dominance test

int constraintComparison (Individual *individual)
 Constraint comparison test between two individuals.

bool identicalFitness (Individual *individual)
int bitFlipMutation (double mutationProbability)
int randomMutation (double mutationProbability)
int polynomialMutation (double mutationProbability, double distributionIndex)
 Applies a polynomial mutation with certain probability.

int uniformMutation (double mutationProbability, double perturbation)
Individualoperator= (Individual &individual)
void printFitness ()

Public Attributes

MultiobjectiveProblemproblem_
 Problem to be solved.

Randomrandom_
 Random number generator.

Chromosomechromosome_
 Chromosome of the individual.

double * fitness_
 Array of fitness values.

int gridLocation_
 Necessary if an adaptive grid is used.


Friends

ostream & operator<< (ostream &outputStream, Individual &individual)


Constructor & Destructor Documentation

Individual::Individual MultiobjectiveProblem problem,
Random random
 

Parameters:
 Constructor of the class

Definition at line 17 of file Individual.cpp.

References chromosome_, fitness_, MultiobjectiveProblem::numberOfFunctions_, problem_, and random_.

Individual::Individual Individual individual  ) 
 

Parameters:
individual The individual to copy
Constructor of the class

Definition at line 44 of file Individual.cpp.

References chromosome_, fitness_, MultiobjectiveProblem::numberOfFunctions_, and problem_.

Individual::Individual Individual individual  ) 
 

Parameters:
individual The individual to copy
Constructor of the class

Definition at line 70 of file Individual.cpp.

References chromosome_, fitness_, MultiobjectiveProblem::numberOfFunctions_, and problem_.

Individual::~Individual  ) 
 

Destructor of the class

Definition at line 95 of file Individual.cpp.

References chromosome_, and fitness_.


Member Function Documentation

int Individual::bitFlipMutation double  mutationProbability  ) 
 

Definition at line 123 of file Individual.cpp.

References Gene::bitFlipMutation(), chromosome_, Chromosome::gene_, and Chromosome::length_.

Referenced by Paes::start().

int Individual::constraintComparison Individual individual  ) 
 

Parameters:
individual The individual against the test if performed
Returns:
1 if this individual violates less constraints than the the individual passed as parameter, -1 if this individual violates less constraints than the current individual, and 0 otherwise
It is assumed that the individual has been previously decoded to a real representation

Definition at line 206 of file Individual.cpp.

References MultiobjectiveProblem::numberOfNonSatisfiedConstraints(), and problem_.

Referenced by dominanceTest().

int Individual::dominanceTest Individual individual  ) 
 

Parameters:
individual The individual against the test is performed
Returns:
1 if the individual passed as argument is dominated, -1 if this individual dominates the current individual, and 0 if the two individuals are non-dominated

Definition at line 231 of file Individual.cpp.

References constraintComparison(), fitness_, MultiobjectiveProblem::numberOfConstraints_, MultiobjectiveProblem::numberOfFunctions_, and problem_.

Referenced by Paes::archiveSolution(), Paes::compareToArchive(), and Paes::start().

double * Individual::getFitness  )  const
 

Returns:
An array of doubles with the fitness of the individual

Definition at line 119 of file Individual.cpp.

References fitness_.

Referenced by AdaptiveGrid::findLocation(), Population::printFitness(), and AdaptiveGrid::updateGridLocations().

bool Individual::identicalFitness Individual individual  ) 
 

Definition at line 184 of file Individual.cpp.

References fitness_, MultiobjectiveProblem::numberOfFunctions_, and problem_.

Referenced by Paes::archiveSolution().

Individual & Individual::operator= Individual individual  ) 
 

Definition at line 279 of file Individual.cpp.

References chromosome_, fitness_, MultiobjectiveProblem::numberOfFunctions_, and problem_.

int Individual::polynomialMutation double  mutationProbability,
double  distributionIndex
 

Parameters:
individual The individual to mutate
mutationProbability The probability of a bit mutation
Returns:
The number of mutations
The polynomial mutation is defined in [Deb 2002], p 124.

Definition at line 170 of file Individual.cpp.

References chromosome_, Chromosome::gene_, Chromosome::length_, and Gene::polynomialMutation().

Referenced by Paes::start().

void Individual::printFitness  ) 
 

Definition at line 299 of file Individual.cpp.

References fitness_, MultiobjectiveProblem::numberOfFunctions_, and problem_.

Referenced by Paes::start().

int Individual::randomMutation double  mutationProbability  ) 
 

Definition at line 149 of file Individual.cpp.

References chromosome_, Chromosome::gene_, Chromosome::length_, and Gene::randomMutation().

Referenced by Paes::start().

void Individual::setFitness double *  fitness  ) 
 

Parameters:
fitness An array of doubles with the fitness of the individual

Definition at line 107 of file Individual.cpp.

References fitness_, MultiobjectiveProblem::numberOfFunctions_, and problem_.

Referenced by Population::setFitness().

int Individual::uniformMutation double  mutationProbability,
double  perturbation
 

Definition at line 135 of file Individual.cpp.

References chromosome_, Chromosome::gene_, Chromosome::length_, and Gene::uniformMutation().

Referenced by Paes::start().


Friends And Related Function Documentation

ostream& operator<< ostream &  outputStream,
Individual individual
[friend]
 

Definition at line 290 of file Individual.cpp.


Member Data Documentation

Chromosome* Individual::chromosome_
 

Definition at line 25 of file Individual.h.

Referenced by bitFlipMutation(), Constr_Ex::constraintsAreSafisfied(), Viennet4::constraintsAreSatisfied(), Tanaka::constraintsAreSatisfied(), Osyczka2::constraintsAreSatisfied(), Golinski::constraintsAreSatisfied(), Binh2::constraintsAreSatisfied(), Zdt2::evaluate(), Zdt1::evaluate(), Viennet4::evaluate(), Viennet3::evaluate(), Viennet2::evaluate(), Tanaka::evaluate(), Schaffer::evaluate(), Poloni::evaluate(), Osyczka2::evaluate(), OneMax::evaluate(), Kursawe::evaluate(), Golinski::evaluate(), Fonseca::evaluate(), Deb::evaluate(), Constr_Ex::evaluate(), Binh2::evaluate(), g(), Individual(), Viennet4::numberOfNonSatisfiedConstraints(), Tanaka::numberOfNonSatisfiedConstraints(), Osyczka2::numberOfNonSatisfiedConstraints(), Golinski::numberOfNonSatisfiedConstraints(), Constr_Ex::numberOfNonSatisfiedConstraints(), Binh2::numberOfNonSatisfiedConstraints(), operator<<(), operator=(), polynomialMutation(), Population::printGenotype(), randomMutation(), uniformMutation(), and ~Individual().

double* Individual::fitness_
 

Definition at line 26 of file Individual.h.

Referenced by dominanceTest(), Zdt2::evaluate(), Zdt1::evaluate(), Viennet4::evaluate(), Viennet3::evaluate(), Viennet2::evaluate(), Tanaka::evaluate(), Schaffer::evaluate(), Poloni::evaluate(), Osyczka2::evaluate(), OneMax::evaluate(), Kursawe::evaluate(), Golinski::evaluate(), Fonseca::evaluate(), Deb::evaluate(), Constr_Ex::evaluate(), Binh2::evaluate(), getFitness(), identicalFitness(), Individual(), operator<<(), operator=(), printFitness(), setFitness(), and ~Individual().

int Individual::gridLocation_
 

Definition at line 28 of file Individual.h.

Referenced by Paes::archiveSolution(), and AdaptiveGrid::updateGridLocations().

MultiobjectiveProblem* Individual::problem_
 

Definition at line 23 of file Individual.h.

Referenced by constraintComparison(), dominanceTest(), identicalFitness(), Individual(), operator<<(), operator=(), printFitness(), and setFitness().

Random* Individual::random_
 

Definition at line 24 of file Individual.h.

Referenced by Individual().


The documentation for this class was generated from the following files:
Generated on Wed Feb 11 10:38:03 2004 for Paes by doxygen 1.3.3