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.?

 Accepted Answer

Alan Weiss
Alan Weiss on 14 Jan 2015
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 Comments

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.
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
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.

Sign in to comment.

More Answers (0)

Asked:

Mo
on 14 Jan 2015

Commented:

Mo
on 15 Jan 2015

Community Treasure Hunt

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

Start Hunting!