Class ConfigurableAdaptiveMutationRate

  • All Implemented Interfaces:
    org.opt4j.core.IndividualStateListener, org.opt4j.operator.mutate.MutationRate

    public class ConfigurableAdaptiveMutationRate
    extends org.opt4j.operator.mutate.AdaptiveMutationRate
    The AdaptiveMutationRate always uses a mutation rate of 1 / (genome length). In this class, the ratio can be configured by a factor mutationIntensity, so that the final mutation rate is min(1, 1 / (genome length) * mutationIntensity). The higher the mutation intensity, the closer the mutation rate comes to 1. If the mutation intensity is larger than the genome length, then the mutation rate is capped to 1. A mutation intensity smaller than 1 leads to less mutation that in the AdaptiveMutationRate. A mutation intensity larger than 1 leads to more mutation than in the AdaptiveMutationRate.
    • Constructor Detail

      • ConfigurableAdaptiveMutationRate

        public ConfigurableAdaptiveMutationRate​(org.opt4j.core.IndividualFactory individualFactory,
                                                double intensity)
    • Method Detail

      • inidividualStateChanged

        public void inidividualStateChanged​(org.opt4j.core.Individual individual)
        Specified by:
        inidividualStateChanged in interface org.opt4j.core.IndividualStateListener
        Overrides:
        inidividualStateChanged in class org.opt4j.operator.mutate.AdaptiveMutationRate
      • setMutationIntensity

        public void setMutationIntensity​(double mutationIntensity)
      • getMutationIntensity

        public double getMutationIntensity()