September 2006


Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sean Luke <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Fri, 22 Sep 2006 19:01:26 -0400
text/plain (56 lines)
ECJ does not have hooks for a negative termination criterion -- it  
does have hooks for a positive criteria.  I'd have to think about the  
negative criteria a bit, that's interesting.

Basically ECJ's positive mechanism is: if an individual, when  
evaluated had its ideal fitness flag set, then ECJ terminates that  
generation (or depending on the facility, terminates immediately).   
Wheat you're looking for is a negative mechanism: should we quit  
because we're not making progress?  ECJ doesn't have that built-in,  
but the obvious place to hook it in is in the Evaluator, which is  
responsible for determining if we should continue.  You'd override  
the  runComplete(final EvolutionState state) to analyze the current  
results and determine if you're not making progress and should quit.   
Else you call super.runComplete(...).


On Sep 22, 2006, at 9:08 AM, Stefan Wappler wrote:

> I'm looking for alternative termination criteria for the  
> optimization process which ECJ possibly already implements or  
> someone did by himself. Sometimes I'm not able to say what the  
> number of generations should be, and from another GA toolbox I know  
> e.g. a termination criterion which works the following way:
> Calculate the mean best objective value over X generations. If the  
> difference of this value to the best objective value of the current  
> generation is smaller than Y, terminate the search.
> This criterion can prevent the search process from getting  
> unnecessarily long if it turns out that the optimum cannot be found  
> after some few generations.
> Maybe it's not much effort to implement this on my own, but maybe  
> ECJ is already able to do this and I'm not aware of it/haven't  
> found any documentation about that or someone else just programmed  
> that anyway.
> Thanks in advance for any comments,
> Stefan
> Mit freundlichen Grüßen / Kind regards
> Stefan Wappler
> DaimlerChrysler Automotive IT Institute
> Ernst-Reuter-Platz 7
> 10587 Berlin/Germany
> Phone +49 (0)30 39982 358
> Fax +49 (0)711 3052 160825
> mailto: [log in to unmask]