es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy
Class CurrentToPBestMutationStrategy
java.lang.Object
es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy.DEMutationStrategy
es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy.CurrentToPBestMutationStrategy
public class CurrentToPBestMutationStrategy
- extends DEMutationStrategy
The mutation operator of the Differential Evolution Algorithm use different mutation strategies to
create the individuals of the population. This class implements the Current-to-pbest strategy.
Following this strategy a new mutation vector is generated as follows:
vi,g = xi,g + F⋅(xpbest,g - xi,g) +
F⋅(xr1,g - xr2,g)
where xpbest,g is randomly chosen as one of the 100p% individuals in
the current population with p ∈(0, 1]. This strategy is a generalization of current-to-best
strategy. Any of the top 100p% solution can be randomly chosen to play the role of tje single
best solution in current-to-best.
To configure this mutation strategy the xml code should be:
<MutationStrategy>
<Class>es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy.CurrentToPBestMutationStrategy</Class>
<p>value</p>
<F>value</F>
<diffVector>value</diffVector>
<MutationStrategy>
where p is the value of the parameter that control the greediness of the mutation strategy given
as a fraction of unity. F and diffVector are parameters inherit from the DEMutationStrategy class. If
some of the parameters do not appear in the configuration, they are set to their default values.
Default values:
- p = 0.05
- F as a constant parameter with value 0.5
- diffVector = 1
This mutation strategy was first presented in "JADE: Adaptive Differential Evolution with Optional External Archive",
Jinqiao Zhang amd Arthur C. Sanderson, IEEE Transacions on Evolutionary Computation, Vol. 13,
No. 5, October 2009.
- Since:
- 1.0.
- Author:
- Grupo Integrado de IngenierĂa (www.gii.udc.es)
Field Summary |
private boolean |
archive
|
private double |
p
Parameter which controls the greediness of the mutation strategy. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
p
private double p
- Parameter which controls the greediness of the mutation strategy. The authors recommend
p ∈ [5%, 20%].
archive
private boolean archive
CurrentToPBestMutationStrategy
public CurrentToPBestMutationStrategy()
getMutatedIndividual
public Individual getMutatedIndividual(EvolutionaryAlgorithm algorithm,
Individual target)
- Specified by:
getMutatedIndividual
in class DEMutationStrategy
configure
public void configure(org.apache.commons.configuration.Configuration conf)
- Overrides:
configure
in class DEMutationStrategy