A problem in determining the mutation rate
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
nedjma ALI
le 30 Avr 2012
Modifié(e) : Abdullah Kokcam
le 31 Juil 2017
Hi, everyone
Hope you are well and thanks for your attention. I am using the GLobal optimmisation Tool Boox and I was looking how can I change the default value of Rate of mutation at so I found this syntax options = gaoptimset('MutationFcn', {@mutationuniform, rate}) my problem is that i found also this : For example, if the Population size is 20, the Elite count is 2, and the Crossover fraction is 0.8, the numbers of each type of children in the next generation is as follows: •There are 2 elite children •There are 18 individuals other than elite children, so the algorithm rounds 0.8*18 = 14.4 to 14 to get the number of crossover children. •The remaining 4 individuals, other than elite children, are mutation children. So my question is : what is the influence of determining the mutation rate through options = gaoptimset('MutationFcn', {@mutationuniform, rate}) If the mutation depend on the crossover rate
Thanks for any help or suggestion
0 commentaires
Réponse acceptée
Alan Weiss
le 30 Avr 2012
Modifié(e) : John Kelly
le 2 Mar 2015
http://www.mathworks.com/help/gads/genetic-algorithm-options.html states "Uniform (mutationuniform) — Uniform mutation is a two-step process. First, the algorithm selects a fraction of the vector entries of an individual for mutation, where each entry has a probability Rate of being mutated. The default value of Rate is 0.01. In the second step, the algorithm replaces each selected entry by a random number selected uniformly from the range for that entry."
http://www.mathworks.com/help/gads/genetic-algorithm-options.html explains what CrossoverFraction does, and how it affects the mutation rate.
Alan Weiss
MATLAB mathematical toolbox documentation
0 commentaires
Plus de réponses (2)
Abdullah Kokcam
le 31 Juil 2017
Modifié(e) : Abdullah Kokcam
le 31 Juil 2017
So I found as crossover fraction and mutation fraction sums up to 100 percent.
For example: If crossover fraction is set to 0.8, it means that mutation fraction can be considered as 0.2
Population size = 100
Elite count = 20
Crossover population = (100-20)*0.8 = 64
Mutation population = (100-20)-64 = 16
Note that mutation fraction may not exactly equal to 0.2 even if crossover fraction is 0.8
If crossover fraction is set to 0.5
Population size = 20
Elite count = 5
Crossover population = (20-5)*0.8 = 7.5 -> 8
Mutation population = (20-5)-8 = 7
0 commentaires
Hector
le 31 Oct 2012
Continuing the theme, if I have a custom MutationFcn. How do I change the rate of mutation?
If you read the manual, you really do not go as the percentage change of mutation when a custom MutationFcn.
How I can change the rate of mutation in a custom MutationFcn?
thanks
Hector R:.
1 commentaire
Abdullah Kokcam
le 31 Juil 2017
This question is asked many years ago, but seems that not answered at all. I also wonder this topic. I appreciate if someone share if s/he found the answer. Thanks.
Voir également
Catégories
En savoir plus sur Genetic Algorithm dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!