Under what conditions do the fitness values in the GA solver (genetic algorithm) not fall monotonically over iterations?
조회 수: 1 (최근 30일)
이전 댓글 표시
Using MATLAB R2014a, but get similar results for MATLAB 2013b. Global Optimization Toolbox. Options are the following:
optParams.gaOpt = gaoptimset(... 'Display', 'iter', ... 'Generations', 10, ... 'InitialPopulation', {[]}, ... 'PopulationSize', 16, ... 'TimeLimit', 5*60*60,... 'StallGenLimit', 100, ... 'TolFun', 1e-16, ... 'PlotFcns', @gaplotbestf, ... 'MutationFcn', @mutationadaptfeasible, ... 'EliteCount', 1,... 'CrossoverFraction', 0.2, ... 'Vectorized', 'on', ... 'UseParallel', 'never' ... );
I expect that the plotted fitness value from @gaplotbestf to fall monotonically for non-zero EliteCount.
Here's a Mathworks link where the 2nd and 3rd figures show non-monotonic fitness function values:
The problem is when my optimization terminates the result I get is worse than the best possible value found over all iterations. I also worry that the best population member is not carried forward and so does not contribute to improving the optimization.
Best..
댓글 수: 2
Rakesh Kumar
2014년 5월 6일
The new version (R2014a) seems to have a bug (I will investigate more) with default EliteCount value (it is set to zero for smaller population). This is the reason for the example plot to show non-monotone best fitness function value.
Your options setting for EliteCount will not have this bug in R2013b or R2014a.
However, I have some questions about the options settings you posted. You are specifying an initial population as {[]}, a cell array is used to indicate custom population. And at the same time, you are using @mutationadaptfeasible which is for 'doubleVector' population. These options will result in error. Am I missing something here?
Can you post more details about this problem?
Regards, Rakesh
답변 (0개)
참고 항목
카테고리
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!