Class ConfigurableAdaptiveMutationRate
- java.lang.Object
-
- org.opt4j.operator.mutate.AdaptiveMutationRate
-
- de.uka.ipd.sdq.dsexplore.opt4j.representation.ConfigurableAdaptiveMutationRate
-
- All Implemented Interfaces:
org.opt4j.core.IndividualStateListener
,org.opt4j.operator.mutate.MutationRate
public class ConfigurableAdaptiveMutationRate extends org.opt4j.operator.mutate.AdaptiveMutationRate
TheAdaptiveMutationRate
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 theAdaptiveMutationRate
. A mutation intensity larger than 1 leads to more mutation than in theAdaptiveMutationRate
.
-
-
Constructor Summary
Constructors Constructor Description ConfigurableAdaptiveMutationRate(org.opt4j.core.IndividualFactory individualFactory, double intensity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getMutationIntensity()
void
inidividualStateChanged(org.opt4j.core.Individual individual)
void
setMutationIntensity(double mutationIntensity)
-
-
-
Method Detail
-
inidividualStateChanged
public void inidividualStateChanged(org.opt4j.core.Individual individual)
- Specified by:
inidividualStateChanged
in interfaceorg.opt4j.core.IndividualStateListener
- Overrides:
inidividualStateChanged
in classorg.opt4j.operator.mutate.AdaptiveMutationRate
-
setMutationIntensity
public void setMutationIntensity(double mutationIntensity)
-
getMutationIntensity
public double getMutationIntensity()
-
-