Function minimization as genetic algorithm stop condition
There are three typical stopping criteria:


You have reached a sufficient value
Your new optimal value hasn't changed for the past $n$ minutes/generations
Your time (and patience) runs out.


The best case scenario is Case 1.  These are the cases where you are looking for a good enough solution, and you have found a solution that is good enough.  This criterion depends on you actually being able to set such a value, of course.

Typically Case 2 is better than Case 3 when it works out.  Here you don't abort your simulation as long as "it's improving" and therefore hasn't found the optimal solution.

But some times you get to borrow the cluster for 2 weeks, and then that's when you shut it off.