GA options stall vs tolerance

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