es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy
Class CurrentToPBestMutationStrategy

java.lang.Object
  extended by es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy.DEMutationStrategy
      extended by 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:

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.
 
Constructor Summary
CurrentToPBestMutationStrategy()
           
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
           
 Individual getMutatedIndividual(EvolutionaryAlgorithm algorithm, Individual target)
           
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.mutationStrategy.DEMutationStrategy
getDiffVector, getFPlugin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

p

private double p
Parameter which controls the greediness of the mutation strategy. The authors recommend p ∈ [5%, 20%].


archive

private boolean archive
Constructor Detail

CurrentToPBestMutationStrategy

public CurrentToPBestMutationStrategy()
Method Detail

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