es.udc.gii.common.eaf.algorithm.operator.reproduction
Class SeparableColonizationOperator
java.lang.Object
es.udc.gii.common.eaf.algorithm.operator.reproduction.ReproductionOperator
es.udc.gii.common.eaf.algorithm.operator.reproduction.SeparableColonizationOperator
- All Implemented Interfaces:
- Operator, Configurable
public class SeparableColonizationOperator
- extends ReproductionOperator
Modification of the colonzation operator (@see ColonizationOperator) to deal
with separable functions.
It allows filling vacant sites that are freed by extinct individuals (that is,
those such that Si = 0. This operator is applied to each
extinct individual in two ways.
With a probability τ, a totally new solution pn
∈ Ω will be generated. Otherwise exploitation on surviving
solutions takes place throughh colonization. For a given solution p
i, we choose one of the surviving solutions, say p
b. Now the extinct solution will be "attracted" toward
pb.
The solution implemented in this case is:
pi(t+1) = pb(t) + ρ*λ*(
pb(t) - pi(t)), if ε > τ
pi(t+1) = pn, if ε ≤ τ
where ε ∈ [0,1] is a random number, λ ∈ [-1,1] (both
with uniform distribution) and ρ and τ are given constants of our
operator. So we can see that ρ describes a maximum radius around surviving
solutions and τ acts as a temperature.
- Author:
- Grupo Integrado de Ingenieria (http://www.gii.udc.es)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
rho
private Parameter rho
tau
private Parameter tau
chooser
private IndividualChooser chooser
lambdaGenerator
private Parameter lambdaGenerator
SeparableColonizationOperator
public SeparableColonizationOperator()
configure
public void configure(org.apache.commons.configuration.Configuration conf)
- Specified by:
configure
in interface Configurable
- Overrides:
configure
in class ReproductionOperator
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.
- 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.
getChooser
public IndividualChooser getChooser()
setChooser
public void setChooser(IndividualChooser chooser)
getRho
public Parameter getRho()
setRho
public void setRho(Parameter rho)
getTau
public Parameter getTau()
setTau
public void setTau(Parameter tau)