In Differential Evolution Algorithm for optimization problems. There are three evolutionary processes involved, that is mutation crossing over and selection
I am just a beginner but I have tried removing the crossing over process and there is no significant difference result from the original algorithm.
So what is the importance of crossing over in Differential Evolution Algorithm?
If you don't use crossover may be your algorithm just explore the problem search space and doesn't exploit it. In general an evolutionary algorithm succeeds if it makes good balance between exploration and exploitation rates.
For example DE/rand/1/Either-Or
is a variant of DE which eliminates crossover operator but uses effective mutation operator. According to Differential Evolution: A Survey of the State-of-the-Art, in this Algorithm, trial vectors that are pure mutants occur with a probability pF
and those that are pure recombinants occur with a probability 1 − pF
. This variant is shown to yield competitive results against classical DE-variants rand/1/bin and target-to-best/1/bin (Main Reference).
X(i,G)
is the i-th target (parent) vector of Generation G, U(i,G)
is it's corresponding trial vector,F
is difference vector scale factor and k = 0.5*(F + 1)[in the original paper]
.
In this scheme crossover isn't used but mutation is effective enough to compare with original DE algorithm.
来源:https://stackoverflow.com/questions/12464245/what-is-the-importance-of-crossing-over-in-differential-evolution-algorithm