EO Evolutionary Computation Framework

What is EO?

EO is a templates-based, ANSI-C++ compliant evolutionary computation library. It contains classes for almost any kind of evolutionary computation you might come up to - at least for the ones we could think of. It is component-based, so that if you don't find the class you need in it, it is very easy to subclass existing abstract or concrete classes. 

Download

Current release is  0.9.3z: it supports gcc 3.x, 4.x, and good old gcc 2.9x.  This is the version you should use NOW (September 29. 2005).
All subsequent versions will NOT support gcc 2.xx any more.
In particular, you can also get the current version through the daily snapshots made available at LRI.

The tutorial home page is at LRI. The latest tutorial release Dec. 12, 2002!) contains tutorial for ParadisEO, the parallel version of EO. And still demonstrates that writing an evolutionary algorithm evolving your own structures is now easy, using ready-to-use template files.

EO was initiated at University of Granada, and the original Web site is also the only place where you will find old releases of EO (up to 0.8.7), but beware that it is not compatible at all with the current version. 

EO@sourceforge

EO was started by the Geneura Team at University of Granada, headed by JJ. Merelo. The developement team has  then been reinforced by Maarten Keijzer, the C++ wizzard, and Marc Schoenauer. Later came Jeroen Eggermont, who, among other things, did a lot of work on GP, Sébastien Cahon, who developped the parallel version of EO, ParadisEO, Olivier König, who did a lot of useful additions and cleaning of the code and Jochen Küpper, the master of automatic installation procedures.

The following resources are available, thanks to sourceforge

Tutorial

The tutorial has not been upgraded for some time now (almost 3 years!). It nevertheless remains the best way to dive into EO. You can start by trying it on-line, before downloading it.

Warning: the tutorial refers to the current 0.9.2 version of EO (see Download section).

Platforms

EO has been tested and works on the following platforms: 
  • Linux with egcs 1.0.2, g++ 2.95, g++ 3.x, gcc 4.x
  • Irix 4.0 with egcs 1.0.2 
  • Solaris with egcs 1.0.2 and gcc 2.8.1 
  • Win95/NT with CygWin/egcs 1.0.2, VC++ 5.0 and Borland Builder. Makefiles and projects files are provided. 

Presentations

A functional and "philosophical" overview of EO was presented at EA'01 conference. You can download the paper (gzipped Postscript) or the slides (PDF)

An older, but huge, PowerPoint presentation shows the EO philosophy, and it includes a Visual Basic macro for evolving objects in Visual Basic for Applications. You can download it from here

Related Apps

EO 0.8.4 has been embedded in an ActiveX control, called DegaX by 3 degree students. You can download it from the DegaX directory. It's better if you download it by parts:
  • Start by the documentation, which is, as everthing else, in Spanish, explains how to decompress and use everything, and the evolutionary and Microsoftie basics. The documentation is also available from here.
  • Follow by downloading the ActiveX control, and install it. You'll need this to embed it in any application.
  • Several apps that use the ActiveX control are also there: in Visual Basic, in Visual C++, and in Excel.
  • Finally, if you feel like it, download the sources for everything. 

License

EO is distributed under the GNU Lesser General Public License

Releases

Releases are at the EO site at sourceforge.

You can also of course use the sourceforge CVS facilities or get a snapshot from LRI.

Mailing Lists

We would like EO to be an open development effort; that is why we have created two mailing lists to discuss future developments, solve technical problems, announce releases, publish patches, and discuss evolutionary computation in general. Join the EO mailing lists

maartenkeijzer@users.sourceforge.net - merelo@users.sourceforge.net - evomarc@users.sourceforge.net

Hosted by: