ec.simple
Class SimpleEvaluator

java.lang.Object
  extended by ec.Evaluator
      extended by ec.simple.SimpleEvaluator
All Implemented Interfaces:
Setup, Singleton, java.io.Serializable
Direct Known Subclasses:
SteadyStateEvaluator

public class SimpleEvaluator
extends Evaluator

The SimpleEvaluator is a simple, non-coevolved generational evaluator which evaluates every single member of every subpopulation individually in its own problem space. One Problem instance is cloned from p_problem for each evaluating thread. The Problem must implement SimpleProblemForm.

Version:
1.0
Author:
Sean Luke
See Also:
Serialized Form

Nested Class Summary
protected static class SimpleEvaluator.SimpleEvaluatorThread
          A private helper class for implementing multithreaded evaluation
 
Field Summary
 
Fields inherited from class ec.Evaluator
P_IAMSLAVE, P_MASTERPROBLEM, p_problem, P_PROBLEM
 
Constructor Summary
SimpleEvaluator()
           
 
Method Summary
 void evaluatePopulation(EvolutionState state)
          A simple evaluator that doesn't do any coevolutionary evaluation.
 boolean runComplete(EvolutionState state)
          The SimpleEvaluator determines that a run is complete by asking each individual in each population if he's optimal; if he finds an individual somewhere that's optimal, he signals that the run is complete.
 void setup(EvolutionState state, Parameter base)
          Sets up the object by reading it from the parameters stored in state, built off of the parameter base base.
 
Methods inherited from class ec.Evaluator
closeContacts, initializeContacts, reinitializeContacts
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleEvaluator

public SimpleEvaluator()
Method Detail

setup

public void setup(EvolutionState state,
                  Parameter base)
Description copied from interface: Setup
Sets up the object by reading it from the parameters stored in state, built off of the parameter base base. If an ancestor implements this method, be sure to call super.setup(state,base); before you do anything else.

Specified by:
setup in interface Setup
Overrides:
setup in class Evaluator

evaluatePopulation

public void evaluatePopulation(EvolutionState state)
A simple evaluator that doesn't do any coevolutionary evaluation. Basically it applies evaluation pipelines, one per thread, to various subchunks of a new population.

Specified by:
evaluatePopulation in class Evaluator

runComplete

public boolean runComplete(EvolutionState state)
The SimpleEvaluator determines that a run is complete by asking each individual in each population if he's optimal; if he finds an individual somewhere that's optimal, he signals that the run is complete.

Specified by:
runComplete in class Evaluator