es.udc.gii.common.eaf.plugin.parameter.jade
Class JADECRAdaptiveParameter

java.lang.Object
  extended by es.udc.gii.common.eaf.plugin.parameter.Parameter
      extended by es.udc.gii.common.eaf.plugin.parameter.jade.JADECRAdaptiveParameter
All Implemented Interfaces:
Configurable, Plugin

public class JADECRAdaptiveParameter
extends Parameter

JADE is a differential evolution version which updates control parameters in an adaptive maner. This class implements the adaptive strategy of the CR parameter. At each generation g, the crossover probability CRi of each individual xi is independently generated according to a normal distribution of mean µCR and standard deviation 0.1 and then truncated to [0, 1].

The mean µCR is initialized to be 0.5 and then updated with the CRi values of the successful individuals, i.e, these that survive their parents, as:

µCR = (1 - c)⋅µCR + c⋅meanA(SCR)

Where c is a positive constant between 0 and 1, meanA(⋅) is the usual arithmetic mean and SCR is the set of successful individuals.

To configure this parameter the xml code should be:

 <Parameter>
      <Class>eaf.plugin.parameter.JADECRAdaptiveParameter</Class>
      <mu>value</mu>
      <std_cr>value</std_cr>
      <c>value</c>
 </Parameter>
 
 
where, Parameter is the name of the parameter which is indicated in the Class where it is used, Class is a mandatory tag and value should be change to the specific value which the user wants to use. If some of the parameters (mu, std_cr or c) are not indicated its value is set to their default values.

Default values:

JADE is 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  int alg_generation
           
private  double c
           
private  double mu_cr
           
private  double std_cr
           
 
Constructor Summary
JADECRAdaptiveParameter()
           
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
          Configures the specific element that implements this method.
 double get(EvolutionaryAlgorithm algorithm)
           
 double getC()
           
 double getMu_cr()
           
 double getStd_cr()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

c

private double c

mu_cr

private double mu_cr

std_cr

private double std_cr

alg_generation

private int alg_generation
Constructor Detail

JADECRAdaptiveParameter

public JADECRAdaptiveParameter()
Method Detail

get

public double get(EvolutionaryAlgorithm algorithm)
Specified by:
get in class Parameter

configure

public void configure(org.apache.commons.configuration.Configuration conf)
Description copied from interface: Configurable
Configures the specific element that implements this method.

Parameters:
conf - a Configuration object.
See Also:
Configuration

getC

public double getC()

getMu_cr

public double getMu_cr()

getStd_cr

public double getStd_cr()