es.udc.gii.common.eaf.algorithm.operator.selection
Class ExtintionOperator

java.lang.Object
  extended by es.udc.gii.common.eaf.algorithm.operator.selection.SelectionOperator
      extended by es.udc.gii.common.eaf.algorithm.operator.selection.ExtintionOperator
All Implemented Interfaces:
Operator, Configurable
Direct Known Subclasses:
InheritExtintionOperator

public class ExtintionOperator
extends SelectionOperator

This operator allows calculating the surviving individuals throug their relations, i.e., as a sum of penalties and benefits. The state of a given individual Si will be given by:

Si(t+1) = 1, if ∑Wi,j(t) ≥ 0

Si(t+1) = 0, otherwise

where t is the generation number and Wi,j = W(pi ,pj) is calculated according to:

Wi,j=(f(pi)-f(pj))/(|pi- pj|)

Config:

<Operator>

<Class>es.udc.gii.common.eaf.algorithm.operator.CalculateStateOperator</Class> </Operator>

Author:
Grupo Integrado de Ingenieria (http://www.gii.udc.es)

Nested Class Summary
protected  class ExtintionOperator.Wxy
           
protected  class ExtintionOperator.WxyMaximizing
           
protected  class ExtintionOperator.WxyMinimizing
           
 
Constructor Summary
ExtintionOperator()
           
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
           
 java.util.List<Individual> operate(EvolutionaryAlgorithm algorithm, java.util.List<Individual> individuals)
          Execute this operator over a group of individuals.
protected  Individual select(EvolutionaryAlgorithm algorithm, java.util.List<Individual> individuals)
           
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.operator.selection.SelectionOperator
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExtintionOperator

public ExtintionOperator()
Method Detail

configure

public void configure(org.apache.commons.configuration.Configuration conf)
Specified by:
configure in interface Configurable
Overrides:
configure in class SelectionOperator

operate

public java.util.List<Individual> operate(EvolutionaryAlgorithm algorithm,
                                          java.util.List<Individual> individuals)
                                   throws OperatorException
Description copied from interface: Operator
Execute this operator over a group of individuals. This method will be invoked by the current algorithm during its execution. It will be applied on a list of individuals and will return a list of modified individuals.

This method will recive two parameters. The current algorithm, to visit it if it is necessary, for example, to get some parameter of the current execution. And a list of individuals on wich we will apply this operator.

Specified by:
operate in interface Operator
Overrides:
operate in class SelectionOperator
Parameters:
algorithm - the current algorithm, to visit when it is necessary.
individuals - list of individuals on wich we will apply the operator.
Returns:
the result of apply this operator to a individuals' lisr.
Throws:
OperatorException - when occurs some type of error during the execution of this operator.

select

protected Individual select(EvolutionaryAlgorithm algorithm,
                            java.util.List<Individual> individuals)
Specified by:
select in class SelectionOperator