es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.crossover
Class ExpCrossOverScheme

java.lang.Object
  extended by es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.crossover.CrossOverScheme
      extended by es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.crossover.ExpCrossOverScheme
All Implemented Interfaces:
Configurable

public class ExpCrossOverScheme
extends CrossOverScheme

This class represents a specific implementation of a CrossOverScheme. Specifically, this class implements the exponential crossover scheme.

The exponential crossover was designed to be similar to the one point and two point crossover variants, generally used in genetic algorithms. This cross over scheme constructs the trial vector by taking consecutive components (in a circular manner) from the mutant vector, as we describe here:

zij is equal to vij (the trial vector), while Ui ≤ CR, where Ui is a random value. Otherwise, zij is equal to xij (the target vector).

To use this specific cross over scheme, the xml configuration code should have the configuration of the CR parameter. So the xml code should be like this:

 <CrossOverScheme>
      <Class>es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.crossover.ExpCrossOverScheme</Class>
      <CR>value</CR>
      ...
 <CrossOverScheme>
 
 
where the tag CR indicates the plugin used. If some of the parameters do not appear in the configuration, they are set to their default values.

Default values:

Since:
1.0
Author:
Grupo Integrado de IngenierĂ­a (www.gii.udc.es)

Constructor Summary
ExpCrossOverScheme()
          Creates a new instance of ExpCrossOverScheme
 
Method Summary
 Individual crossOver(EvolutionaryAlgorithm ea, Individual target, Individual v)
           
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.crossover.CrossOverScheme
configure, getCRPlugin, setCRPlugin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpCrossOverScheme

public ExpCrossOverScheme()
Creates a new instance of ExpCrossOverScheme

Method Detail

crossOver

public Individual crossOver(EvolutionaryAlgorithm ea,
                            Individual target,
                            Individual v)
Specified by:
crossOver in class CrossOverScheme