ec.multiobjective.spea2
Class SPEA2Evaluator

java.lang.Object
  extended by ec.Evaluator
      extended by ec.simple.SimpleEvaluator
          extended by ec.multiobjective.spea2.SPEA2Evaluator
All Implemented Interfaces:
Setup, Singleton, java.io.Serializable

public class SPEA2Evaluator
extends SimpleEvaluator

The SPEA2Evaluator 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. The evaluator is also responsible for calculating the SPEA2Fitness function. This function depends on the entire population and so cannot be calculated in the Problem class.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class ec.Evaluator
P_IAMSLAVE, P_MASTERPROBLEM, p_problem, P_PROBLEM
 
Constructor Summary
SPEA2Evaluator()
           
 
Method Summary
 void computeAuxiliaryData(EvolutionState state)
           
 void evaluatePopulation(EvolutionState state)
          A simple evaluator that doesn't do any coevolutionary evaluation.
 double volSphere(int dimensions)
          Private helper function.
 
Methods inherited from class ec.simple.SimpleEvaluator
evalPopChunk, runComplete, setup
 
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

SPEA2Evaluator

public SPEA2Evaluator()
Method Detail

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.

Overrides:
evaluatePopulation in class SimpleEvaluator

computeAuxiliaryData

public void computeAuxiliaryData(EvolutionState state)

volSphere

public double volSphere(int dimensions)
Private helper function. This calculates the area of a sphere in n dimensions for use in the SPEA2 density calculation.