|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectes.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy.DEMutationStrategy
public abstract class DEMutationStrategy
The mutation operator of the Differential Evolution Algorithm use different mutation strategies to create the individuals of the population. This abstract class represents these mutation strategies. Each specific mutation strategy should override the method getMutatedIndividual in order to generate a new mutated individual.
All the mutation strategies share two parameters the mutation factor, F and the number of difference vectors that are used to generate the new individual, diffVector. The parameter F is implemented as a plugin so it could be set to a constat value, using the Constat class from the parameter package, or it could be set as an adaptive parameter using some of the adaptive parameters classes. In the canonical version of the DE algorithm the DE/rand/1/- configuration is used, where rand indicates the random mutation strategy and 1 is the number of difference vectors.
As this is an abstract class, it could not be instanciate, but when we use a subclass that inherit from it, its xml configuration code should have at least a configuration for the F parameter and the diffVector parameter, among other specific configuration parameters of the subclass. So the xml code should be like this:
<MutationStrategy>
<Class>value</Class<br>
<F>value</F<<br>
<diffVector>value</diffVector>
...
<MutationStrategy>
where the tag Class indicates a subclass of this abstract class, F indicates the plugin used
and diffVector is an integer which indicates the number of difference vector used to generate the
mutated individual. If some of the parameters do not appear in the configuration, they are set
to their default values.Default values:
Field Summary | |
---|---|
private int |
diffVector
Integer value which indicate the number of difference vectors used to generate a new solution. |
private Parameter |
F_plugin
F is a real factor (F > 0 and F in [0,2]) which controls de amplification of the differential variation. |
Constructor Summary | |
---|---|
DEMutationStrategy()
|
Method Summary | |
---|---|
void |
configure(org.apache.commons.configuration.Configuration conf)
|
int |
getDiffVector()
|
Parameter |
getFPlugin()
|
abstract Individual |
getMutatedIndividual(EvolutionaryAlgorithm algorithm,
Individual target)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private Parameter F_plugin
private int diffVector
Constructor Detail |
---|
public DEMutationStrategy()
Method Detail |
---|
public abstract Individual getMutatedIndividual(EvolutionaryAlgorithm algorithm, Individual target)
public Parameter getFPlugin()
public int getDiffVector()
public void configure(org.apache.commons.configuration.Configuration conf)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |