A problem in determining the mutation rate
조회 수: 7 (최근 30일)
이전 댓글 표시
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
채택된 답변
Alan Weiss
2012년 4월 30일
편집: John Kelly
2015년 3월 2일
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
추가 답변 (2개)
Abdullah Kokcam
2017년 7월 31일
편집: Abdullah Kokcam
2017년 7월 31일
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
Hector
2012년 10월 31일
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
Abdullah Kokcam
2017년 7월 31일
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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Genetic Algorithm에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!