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 intcompareTo(Chromosome another)Compares two chromosomes based on their fitness.doublegetFitness()Access the fitness of this chromosome.voidsearchForFitnessUpdate(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:
compareToin interfacejava.lang.Comparable<Chromosome>- Parameters:
another- another chromosome to compare- Returns:
- -1 if
anotheris better thanthis - 1 if
anotheris 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
-
-