ec.de
Class DEBreeder

java.lang.Object
  extended by ec.Breeder
      extended by ec.de.DEBreeder
All Implemented Interfaces:
Setup, Singleton, java.io.Serializable
Direct Known Subclasses:
Rand1EitherOrDEBreeder, Rand1ExpDEBreeder

public class DEBreeder
extends Breeder

DEBreeder provides a straightforward Differential Evolution (DE) breeder for the ECJ system. The code relies (with permission from the original authors) on the DE algorithms posted at http://www.icsi.berkeley.edu/~storn/code.html . For more information on Differential Evolution, please refer to the aforementioned webpage.

The default breeding code in DEBreeder is a simple adaptive breeder communicated personally by Dr. Kenneth Price. The algorithm might also be explored in the recent book "Differential Evolution: A Practical Approach to Global Optimization" by Kenneth Price, Rainer Storn, and Jouni Lampinen.

Version:
1.0
Author:
Liviu Panait
See Also:
Serialized Form

Field Summary
 Population previousPopulation
           
static double SCALE_F
           
 
Constructor Summary
DEBreeder()
           
 
Method Summary
 Population breedPopulation(EvolutionState state)
          Breeds state.population, returning a new population.
 Individual createIndividual(EvolutionState state, int subpop, Individual[] inds, int index, int thread)
           
 void prepareDEBreeder(EvolutionState state)
           
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

previousPopulation

public Population previousPopulation

SCALE_F

public static final double SCALE_F
See Also:
Constant Field Values
Constructor Detail

DEBreeder

public DEBreeder()
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.


prepareDEBreeder

public void prepareDEBreeder(EvolutionState state)

breedPopulation

public Population breedPopulation(EvolutionState state)
Description copied from class: Breeder
Breeds state.population, returning a new population. In general, state.population should not be modified.

Specified by:
breedPopulation in class Breeder

createIndividual

public Individual createIndividual(EvolutionState state,
                                   int subpop,
                                   Individual[] inds,
                                   int index,
                                   int thread)