|
||||||||||
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.mutation.MutationOperator
es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.DEMutationOperator
public class DEMutationOperator
For each target vector xi,G, i = 1,2,...,NP; a trial vector is generated. To generate this trial vector the algorithm follow two phases. First of all, a mutated individual is generated by applying a mutation strategy to each target vector. In order to increase the diversity of the population, a crossOver operator is appliad to this mutated vector generating the trial vector.
To decide if the trial vector should become a member of the population in the next generation, it is compared with the target vector. This behavior is implemented in a replace operator. As the DE Algorithm is an evolutionary strategy, the EvolutionaryStrategyReplaceOperator or a subclass of it should be use.
The mutation stategy and the crossOver scheme are implemented in DEMutationStrategy and CrossOverScheme classes respectively. To config this operator the xml code is:
<Operator>
<Class>es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.de.DEMutationOperator</Class>
<MutationStrategy>
<Class>value</Class>
<F>value<F;>
<diffVector>value<diffVector;>
...
</MutationStr>
<CrossOverScheme>
<Class>value</Class>
<CR>value<CR>
...
</CrossOverScheme>
</Operator>
where the tags MutationStrategy and CrossOverScheme represent the mutation strategy and the crossover scheme
repectively. In these two tags, the tag Class is mandatory and it should be a subclass of the
DEMutationStrategy class or the CrossOverScheme class. 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 CrossOverScheme |
crossOverScheme
In order to increase the divertity a CrossOver operator is introduced. |
private DEMutationStrategy |
mutationStrategy
The strategy to choose the base vector. |
Constructor Summary | |
---|---|
DEMutationOperator()
Creates a new instance of DEMutationOperator |
Method Summary | |
---|---|
void |
configure(org.apache.commons.configuration.Configuration conf)
Configures the specific element that implements this method. |
CrossOverScheme |
getCrossOverScheme()
|
DEMutationStrategy |
getMutationStrategy()
|
protected java.util.List<Individual> |
mutation(EvolutionaryAlgorithm algorithm,
Individual target)
|
Methods inherited from class es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.MutationOperator |
---|
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, toString, wait, wait, wait |
Field Detail |
---|
private CrossOverScheme crossOverScheme
private DEMutationStrategy mutationStrategy
Constructor Detail |
---|
public DEMutationOperator()
Method Detail |
---|
public void configure(org.apache.commons.configuration.Configuration conf)
Configurable
configure
in interface Configurable
configure
in class MutationOperator
conf
- a Configuration object.Configuration
protected java.util.List<Individual> mutation(EvolutionaryAlgorithm algorithm, Individual target)
mutation
in class MutationOperator
public CrossOverScheme getCrossOverScheme()
public DEMutationStrategy getMutationStrategy()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |