|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectes.udc.gii.common.eaf.algorithm.operator.reproduction.ReproductionOperator
es.udc.gii.common.eaf.algorithm.operator.reproduction.ColonizationOperator
public class ColonizationOperator
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.
To config this operator the xml code is:
<Operator>
<Class>es.udc.gii.common.eaf.algorithm.operator.reproduction.ColonizationOperator</Class>
<Rho>
<Class>value</Class>
...
</Rho>
<Lambda>
<Class>value</Class>
...
</Lambda>
<Thau>
<Class>value</Class>
...
</Thau>
<Chooser>
<Class>value</Class>
...
</Chooser>
</Operator>
where the tags Rho, Lambda and Thau represent the parameters of the operator and Chooser is the
strategy to choose the survivor chromosome. In all these tags, the tag Class is mandatory
and it should be a subclass of the Parameter Class in the first three ones and a subclass of IndividualChooser
in the last one. Each of them should be configured. If this parameters
do not appear in the configuration file, they are set to their default values.Default values:
Field Summary | |
---|---|
private IndividualChooser |
chooser
|
private Parameter |
lambdaGenerator
|
private Parameter |
rho
|
private Parameter |
tau
|
Constructor Summary | |
---|---|
ColonizationOperator()
|
Method Summary | |
---|---|
void |
configure(org.apache.commons.configuration.Configuration conf)
Configures the specific element that implements this method. |
IndividualChooser |
getChooser()
|
Parameter |
getRho()
|
Parameter |
getTau()
|
java.util.List<Individual> |
operate(EvolutionaryAlgorithm algorithm,
java.util.List<Individual> individuals)
Execute this operator over a group of individuals. |
void |
setChooser(IndividualChooser chooser)
|
void |
setRho(Parameter rho)
|
void |
setTau(Parameter tau)
|
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, toString, wait, wait, wait |
Field Detail |
---|
private Parameter rho
private Parameter tau
private IndividualChooser chooser
private Parameter lambdaGenerator
Constructor Detail |
---|
public ColonizationOperator()
Method Detail |
---|
public void configure(org.apache.commons.configuration.Configuration conf)
Configurable
configure
in interface Configurable
configure
in class ReproductionOperator
conf
- a Configuration object.Configuration
public java.util.List<Individual> operate(EvolutionaryAlgorithm algorithm, java.util.List<Individual> individuals) throws OperatorException
Operator
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.
algorithm
- the current algorithm, to visit when it is necessary.individuals
- list of individuals on wich we will apply the operator.
OperatorException
- when occurs some type of error during the execution of this operator.public IndividualChooser getChooser()
public void setChooser(IndividualChooser chooser)
public Parameter getRho()
public void setRho(Parameter rho)
public Parameter getTau()
public void setTau(Parameter tau)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |