Filter löschen
Filter löschen

A problem in determining the mutation rate

8 Ansichten (letzte 30 Tage)
nedjma ALI
nedjma ALI am 30 Apr. 2012
Bearbeitet: Abdullah Kokcam am 31 Jul. 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

Akzeptierte Antwort

Alan Weiss
Alan Weiss am 30 Apr. 2012
Bearbeitet: John Kelly am 2 Mär. 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

Weitere Antworten (2)

Abdullah Kokcam
Abdullah Kokcam am 31 Jul. 2017
Bearbeitet: Abdullah Kokcam am 31 Jul. 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

Hector
Hector am 31 Okt. 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 Kommentar
Abdullah Kokcam
Abdullah Kokcam am 31 Jul. 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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by