Borrar filtros
Borrar filtros

A problem in determining the mutation rate

8 visualizaciones (últimos 30 días)
nedjma ALI
nedjma ALI el 30 de Abr. de 2012
Editada: Abdullah Kokcam el 31 de Jul. de 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

Respuesta aceptada

Alan Weiss
Alan Weiss el 30 de Abr. de 2012
Editada: John Kelly el 2 de Mzo. de 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

Más respuestas (2)

Abdullah Kokcam
Abdullah Kokcam el 31 de Jul. de 2017
Editada: Abdullah Kokcam el 31 de Jul. de 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 el 31 de Oct. de 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 comentario
Abdullah Kokcam
Abdullah Kokcam el 31 de Jul. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Genetic Algorithm en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by