What is the difference between StallTimeLimit and TolFun. I think I know what they are in principle, but in the documentation they have identical descriptions. Also is the tolerance applied to successive raw fittest values, or are they scaled etc.?

 채택된 답변

Alan Weiss
Alan Weiss 2015년 1월 14일

0 개 추천

According to the documentation, "The algorithm stops if the average relative change in the best fitness function value over StallGenLimit generations is less than or equal to TolFun." If you don't understand what this means, take a look at How the Genetic Algorithm Works.
Alan Weiss
MATLAB mathematical toolbox documentation

댓글 수: 3

Mo
Mo 2015년 1월 14일
I think the meaning is clear enough now. StallGenLimit increases if the change in fitness is less than TolFun. But in what way are they weight?
But I get the following termination statement before the stall generation limit, how can i force it to continue searching? Optimization terminated: average change in the penalty fitness value less than options.TolFun and constraint violation is less than options.TolCon.
Alan Weiss
Alan Weiss 2015년 1월 14일
Oh, you either have nonlinear constraints or an integer-constrained problem. To encourage ga to continue, set TolFun to a small value, maybe 1e-10 or 1e-12.
If you have integer constraints, there might be no other help but to play with options (and make sure your bounds are as tight as possible). But for nonlinear constraints, I uuge you to try patternsearch instead of ga. You will almost certainly get more reliable answers, and more quickly, too.
Alan Weiss
MATLAB mathematical toolbox documentation
Mo
Mo 2015년 1월 15일
Indeed. Haven't checked the full results, but PS does at least appear to get solutions with reduced fitness penalty function much faster than GA. Orders of magnitude faster.
Thanks.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

질문:

Mo
2015년 1월 14일

댓글:

Mo
2015년 1월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by