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

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

public class JADEFAdaptiveParameter
extends Parameter

JADE is a differential evolution version which updates control parameters in an adaptive maner. This class implements the adaptive strategy of the F parameter. At each generation g, the mutation factor Fi of each individual xi is independently generated according to a Cauchy distribution with location parameter µF and scale parameter 0.1 and then truncated to 1 if Fi ≥ 1 or regenerated if Fi ≤ 0.

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

µCR = (1 - c)⋅µCR + c⋅meanC(SF)

Where c is a positive constant between 0 and 1, SF is the set of successful individuals and meanL(⋅) is the Lehmer mean:

meanL(SF) = ∑(F ∈ SF) F2/∑(F ∈ SF) F

To configure this parameter the xml code should be:

 <Parameter>
      <Class>eaf.plugin.parameter.JADECRAdaptiveParameter</Class>
      <mu>value</mu>
      <std_f>value</std_f>
      <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_f 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 init_mu_f
           
private  double mu_f
           
private  org.apache.commons.math.random.RandomDataImpl rand_imp
           
private  double std_f
           
 
Constructor Summary
JADEFAdaptiveParameter()
           
 
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_f()
           
 double getStd_f()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

init_mu_f

private double init_mu_f

c

private double c

mu_f

private double mu_f

std_f

private double std_f

rand_imp

private org.apache.commons.math.random.RandomDataImpl rand_imp

alg_generation

private int alg_generation
Constructor Detail

JADEFAdaptiveParameter

public JADEFAdaptiveParameter()
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_f

public double getMu_f()

getStd_f

public double getStd_f()