“crossover or mutation” strategy versus “crossover and mutation” strategy

1 view (last 30 days)
I noticed that GA implementations in tutorials or textbooks evolve the population according to a “crossover and mutation” strategy. In this strategy, crossover (with a certain probability) is applied to the selected parents and then mutation (with a certain probability) to the resulting children.
However, the Matlab optimization toolbox uses a “crossover or mutation” strategy. i.e., crossover or mutation are applied to obtain the next generation. This means a certain part of the next population - except the elite which is guaranteed to survive to the next generation - is created by using crossover (with a certain probability) and the rest is mutated (with a certain probability).
Is a “crossover or mutation” strategy preferable to a “crossover and mutation” strategy?
What motivated Mathworks to chose the former strategy and why is not the latter strategy allowed to the user in the GA toolbox?

Answers (1)

Alan Weiss
Alan Weiss on 2 Jun 2020
Edited: Alan Weiss on 2 Jun 2020
I cannot answer why the toolbox has the design it has. However, you are certainly ALLOWED to use any strategy you want. For example, you can choose to have 100% of the population use a custom crossover function that performs both crossover and mutation, in any way that you like, even with extra stochasticity. The toolbox is completely flexible that way. To do this easily, copy a built-in crossover function to a custom function and follow that effect with mutation if you want. For details, see Crossover options and Mutation options.
If you choose to do this with a linearly constrained problem, ensure that the resulting population remains feasible with respect to these constraints.
Alan Weiss
MATLAB mathematical toolbox documentation

Products


Release

R2014b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!