es.udc.gii.common.eaf.algorithm.operator.reproduction.crossover
Class SBXCrossOver

java.lang.Object
  extended by es.udc.gii.common.eaf.algorithm.operator.reproduction.ReproductionOperator
      extended by es.udc.gii.common.eaf.algorithm.operator.reproduction.crossover.CrossOverOperator
          extended by es.udc.gii.common.eaf.algorithm.operator.reproduction.crossover.SBXCrossOver
All Implemented Interfaces:
Operator, Configurable

public class SBXCrossOver
extends CrossOverOperator

This class implements a SBX crossover (Simulated Binary Crossover). It is based on the search features of the single-point crossover used in the binary-coded genetic algorithm. In this operator, the common interval schemata of the parents are preserved in the offspring. This operator tends to generate offspring near the parents. So, the extent of the children is proportional to the extent of the parents.

This is the xml code to configure this operator

 <Operator>
      <Class>es.udc.gii.common.eaf.algorithm.operator.reproduction.crossover.SBXCrossOver</Class>
      <Probability>value</Probability>+
      <CrossOverIndex>value</CrossOverIndex>
 </Operator>
 
 
Where the tag Class is mandatory and indicates the this class is goint to be used. The other two tags are optional. The tag Probability represents the probability of two individuals of being crossover and the tag CrossOverIndex represents the crossover index of the two individuals. If some of these parameters do not appear in the configuration, their default value is used. Default values:

More information about this operator can be found in:
K. Deb and R. B. Agrawal. Simulated binary crossover for continuous search space. Complex Systems, 9115-148, 1995.

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

Field Summary
private  int crossOverIndex
           
private static double EPS
           
private  int numberCrossOvers
           
 
Constructor Summary
SBXCrossOver()
          Creates a new instance of MOPCrossOver
SBXCrossOver(int probability)
           
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
          Configures the specific element that implements this method.
protected  java.util.List<Individual> crossOver(EvolutionaryAlgorithm ea, java.util.List<Individual> individuals)
           
private  void increaseCrossOvers()
           
 java.lang.String toString()
           
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.operator.reproduction.crossover.CrossOverOperator
getCrossPoints, getProbability, operate, setProbability
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.operator.reproduction.ReproductionOperator
checkBounds
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EPS

private static double EPS

crossOverIndex

private int crossOverIndex

numberCrossOvers

private int numberCrossOvers
Constructor Detail

SBXCrossOver

public SBXCrossOver()
Creates a new instance of MOPCrossOver


SBXCrossOver

public SBXCrossOver(int probability)
Method Detail

configure

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

Specified by:
configure in interface Configurable
Overrides:
configure in class CrossOverOperator
Parameters:
conf - a Configuration object.
See Also:
Configuration

crossOver

protected java.util.List<Individual> crossOver(EvolutionaryAlgorithm ea,
                                               java.util.List<Individual> individuals)
Specified by:
crossOver in class CrossOverOperator

increaseCrossOvers

private void increaseCrossOvers()

toString

public java.lang.String toString()
Overrides:
toString in class CrossOverOperator