Package org.apache.commons.math.genetics
Class Chromosome
- java.lang.Object
-
- org.apache.commons.math.genetics.Chromosome
-
- All Implemented Interfaces:
java.lang.Comparable<Chromosome>
,Fitness
- Direct Known Subclasses:
AbstractListChromosome
public abstract class Chromosome extends java.lang.Object implements java.lang.Comparable<Chromosome>, Fitness
Individual in a population. Chromosomes are compared based on their fitness. The chromosomes are IMMUTABLE, and so their fitness is also immutable and therefore it can be cached.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description Chromosome()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(Chromosome another)
Compares two chromosomes based on their fitness.double
getFitness()
Access the fitness of this chromosome.void
searchForFitnessUpdate(Population population)
Searches the population for a chromosome representing the same solution, and if it finds one, updates the fitness to its value.
-
-
-
Method Detail
-
getFitness
public double getFitness()
Access the fitness of this chromosome. The bigger the fitness, the better the chromosome. Computation of fitness is usually very time-consuming task, therefore the fitness is cached.- Returns:
- the fitness.
-
compareTo
public int compareTo(Chromosome another)
Compares two chromosomes based on their fitness. The bigger the fitness, the better the chromosome.- Specified by:
compareTo
in interfacejava.lang.Comparable<Chromosome>
- Parameters:
another
- another chromosome to compare- Returns:
- -1 if
another
is better thanthis
- 1 if
another
is worse thanthis
- 0 if the two chromosomes have the same fitness
- -1 if
-
searchForFitnessUpdate
public void searchForFitnessUpdate(Population population)
Searches the population for a chromosome representing the same solution, and if it finds one, updates the fitness to its value.- Parameters:
population
- Population to search
-
-