Package ec.de

Differential Evolution Algorithms.

See:
          Description

Class Summary
Best1BinDEBreeder Best1BinDEBreeder implements the DE/best/1/bin Differential Evolution algorithm.
DEBreeder DEBreeder provides a straightforward Differential Evolution (DE) breeder for the ECJ system.
DEStatistics DEStatistics provides a straightforward solution to one problem many existing ECJ statistics classes have when used in conjunction with Differential Evolution (DE), namely reporting the fitness of individuals after they have been evaluated.
Rand1EitherOrDEBreeder Rand1EitherOrDEBreeder implements the DE/rand/1/either-or Differential Evolution Algorithm, explored recently in the "Differential Evolution: A Practical Approach to Global Optimization" book by Kenneth Price, Rainer Storn, and Jouni Lampinen.
Rand1ExpDEBreeder Rand1ExpDEBreeder implements the DE/rand/1/exp Differential Evolution Algorithm, explored recently in the "Differential Evolution: A Practical Approach to Global Optimization" book by Kenneth Price, Rainer Storn, and Jouni Lampinen.
 

Package ec.de Description

Differential Evolution Algorithms.

This package implements various algorithms from "Differential Evolution: A Practical Approach to Global Optimization" by Kenneth Price, Rainer Storn, and Jouni Lampinen. Much of the algorithms were taken, with permission from the Differential Evolution website.

ECJ's implementation of Differential Evolution requires that the user specify one of several Breeders, and also that the user include a special Statistics object in the Statistics chain. This Statistics object must be the *first* such object in the chain -- other Statistics objects must hang off of it.

The Breeder options implement various Differential Evolution Algorithms. Options include:

breed =         ec.de.DEBreeder
breed =         ec.de.Best1BinDEBreeder
breed =         ec.de.Rand1EitherOrDEBreeder
breed =         ec.de.Rand1ExpDEBreeder
The Statistics object is ec.de.DEStatistics. To use it in conjunction with ec.simple.SimpleStatistics, for example, we do:
stat =                      ec.de.DEStatistics
stat.num-children =         1
stat.child.0 =              ec.simple.SimpleStatistics
stat.child.0.file =         $out.stat
The conf/params/ec/app/ecsuite/de.params file contains an example.