Class Chromosome

    • 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 interface Comparable<Chromosome>
        Parameters:
        another - another chromosome to compare
        Returns:
        • -1 if another is better than this
        • 1 if another is worse than this
        • 0 if the two chromosomes have the same fitness
      • isSame

        protected boolean isSame​(Chromosome another)
        Returns true iff another has the same representation and therefore the same fitness. By default, it returns false -- override it in your implementation if you need it.
        Parameters:
        another - chromosome to compare
        Returns:
        true if another is equivalent to this chromosome
      • findSameChromosome

        protected Chromosome findSameChromosome​(Population population)
        Searches the population for another chromosome with the same representation. If such chromosome is found, it is returned, if no such chromosome exists, returns null.
        Parameters:
        population - Population to search
        Returns:
        Chromosome with the same representation, or null if no such chromosome exists.
      • 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