SAL Home OTHERS Artificial Intelligence


EO is a templates-based, ANSI-C++ compliant evolutionary computation library. It contains classes for any kind of evolutionary computation (specially genetic algorithms) you might come up to, except maybe genetic programming. Here are its features

  • Chromosomes: Can be defined by the user, by subclassing the EO class; binary, floating point and string are provided. All algorithms defined work on all kind of chromosomes.
  • Genetic operators: Can be defined by the user, by subclassing the EOOp class. Operators can be unary, binary or n-ary (orgy) operators. Several floating point, bitstring, and generic operators are defined, like mutation, crossover, and things like that.
  • Selection/elimination procedure: Can be defined by the user, by subclassing the EOSelect class. Steady-State and rank-based are provided.
  • Reproduction procedure: Can be user defined (I'll skip that from now on, but everything can be user-defined) by subclassing EOBreed. Random, lottery, and rank-based are provided.
  • Termination conditions: (user-definable) fitness and generation-based.
  • Algorithms: Easy Ga, SimpleGA and simulated annealing with user-definable cooling schedule. Some utilities: command-line parsing, random-number generations

Current Version:   0.8.7

License Type:   Free for non-commercial use

Home Site:

Source Code Availability:   Yes

Available Binary Packages:

  • Debian Package:   No
  • RedHat RPM Package:   No
  • Other Packages:   No

Targeted Platforms:

Tested on Linux/egcs 1.0.2, Irix, Solaris, Windows 95/NT

Software/Hardware Requirements:

C++ compiler

Other Links:

Mailing Lists/USENET News Groups:

See Home Site for details

User Comments:

  • None

See A Screen Shot? (Not Yet)

  SAL Home   |   Other Scientific Fields   |   Artificial Intelligence

Comments? SAL@KachinaTech.COM
Copyright © 1995-2001 by Herng-Jeng Jou
Copyright © 1997-2001 by Kachina Technologies, Inc.
All rights reserved.