Package ec.de

Class DEEvaluator

All Implemented Interfaces:
Setup, Singleton, Serializable

public class DEEvaluator extends SimpleEvaluator
DEEvaluator is a simple subclass of SimpleEvaluator which first evaluates the population, then compares each population member against the parent which had created it in Differential Evolution. The parents are stored in DEBreeder.previousPopulation. If the parent is superior to the child, then the parent replaces the child in the population and the child is discarded. This does not happen in the first generation, as there are of course no parents yet.

This code could have been moved into the Breeder of course. But then the better of the parents and children would not appear in standard Statistics objects. So we've broken it out here.

The full description of Differential Evolution may be found in the book "Differential Evolution: A Practical Approach to Global Optimization" by Kenneth Price, Rainer Storn, and Jouni Lampinen.

See Also:
  • Constructor Details

    • DEEvaluator

      public DEEvaluator()
  • Method Details

    • evaluatePopulation

      public void evaluatePopulation(EvolutionState state)
      Description copied from class: SimpleEvaluator
      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