ec.steadystate
Class SteadyStateEvaluator

java.lang.Object
  |
  +--ec.Evaluator
        |
        +--ec.simple.SimpleEvaluator
              |
              +--ec.steadystate.SteadyStateEvaluator
All Implemented Interfaces:
java.io.Serializable, Setup, Singleton

public class SteadyStateEvaluator
extends SimpleEvaluator

The SteadyStateEvaluator is a simple, mostly single-threaded, non-coevolved steady-state evaluator which evaluates every single member of every subpopulation individually. On the first pass, SteadyStateEvaluator's functions deal with the whole population. On subsequent passes, the functions only consider the first state.newnuminds individuals in each subpopulation; thus breeding methods must place the new individuala in the first spota in a subpopulation. Furthermore, the first pass is the only time you'll see multiple threads, if any.

See Also:
Serialized Form

Fields inherited from class ec.Evaluator
p_problem, P_PROBLEM
 
Constructor Summary
SteadyStateEvaluator()
           
 
Method Summary
 void evaluatePopulation(EvolutionState state)
          If state.generation is 0, all the individuals in the population are evaluated.
 boolean runComplete(EvolutionState state)
          The SteadyStateEvaluator determines that a run is complete by asking each individual if he's optimal; if he finds one that's optimal, he signals that the run is complete.
 
Methods inherited from class ec.simple.SimpleEvaluator
evalPopChunk, setup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SteadyStateEvaluator

public SteadyStateEvaluator()
Method Detail

evaluatePopulation

public void evaluatePopulation(EvolutionState state)
If state.generation is 0, all the individuals in the population are evaluated. Else only the first individual in each subpopulation is evaluated.
Overrides:
evaluatePopulation in class SimpleEvaluator

runComplete

public boolean runComplete(EvolutionState state)
The SteadyStateEvaluator determines that a run is complete by asking each individual if he's optimal; if he finds one that's optimal, he signals that the run is complete. This version checks every individual in the population when generation is 0, else it only checks the first state.numnewinds individuals in each subpopulation.
Overrides:
runComplete in class SimpleEvaluator