|
||||||||||
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.real_code.MichalewiczNonUniformMutation
public class MichalewiczNonUniformMutation
If this operator is applied in a generation t and gmax is the maximum number of generations then
c'i=
ci+&delta(t,bi-ci) if &tau = 0
ci-&delta(t,ci-ai) if &tau = 1
with &tau being a random number which may have a value of zero or one, and:
&delta(t,y)=y(1-r(1-t/gmax)b)
, where r is a random number from the interval [0,1] and b is a parameter chosen by the user, which determines the degree of dependency on the number of iterations. This function gives a value in the range of [0,y] such that the probability of returning a number close to 0 increases as the algorithm advances. The size of the gene generation interval shall be lower with the passing of generations. This property causes this operator to make a uniform search in the initial space when t is small, and very locally at a later stage, favouring local tunning. To configure this operator the tag at the xml config file would be like:
<Operator>
<Class>es.udc.gii.common.eaf.algorithm.operator.reproduction.mutation.real_code.DoubleNonUniformMutation</Class>
<Probability>0.5</Probability>
<B>5</B>
</Operator>
Field Summary | |
---|---|
private double |
b
|
private StopTestPlugin |
plugin
|
Constructor Summary | |
---|---|
MichalewiczNonUniformMutation()
Creates a new instance of FloatNonUniformMutation |
Method Summary | |
---|---|
void |
configure(org.apache.commons.configuration.Configuration conf)
|
private double |
delta(int t,
double y,
int gmax,
double r)
|
protected java.util.List<Individual> |
mutation(EvolutionaryAlgorithm algorithm,
Individual individual)
|
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 double b
private StopTestPlugin plugin
Constructor Detail |
---|
public MichalewiczNonUniformMutation()
Method Detail |
---|
public void configure(org.apache.commons.configuration.Configuration conf)
configure
in interface Configurable
configure
in class MutationOperator
protected java.util.List<Individual> mutation(EvolutionaryAlgorithm algorithm, Individual individual)
mutation
in class MutationOperator
private double delta(int t, double y, int gmax, double r)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |