DEAP (Distributed Evolutionary Algorithms in Python) is a novel evolutionary
computation framework for rapid prototyping and testing of ideas. Its design
departs from most other existing frameworks in that it seeks to make algorithms
explicit and data structures transparent, as opposed to the more common black
box type of frameworks.

To get to know more about DEAP and the current release, we invite you
to read the most recent article on DEAP published in SIGEvolution volume 6,
issue 2, pp. 17-26.

This release includes:
– Major overhaul of statistics computing and logging;
– Ability to do Object Oriented Genetic Programming (OOGP);
– Symbolic regression benchmarks for GP;
– New tutorials and better documentation;
– Several new examples from diverse fields;
– and several other changes.

DEAP (Distributed Evolutionary Algorithms in Python) is a novel evolutionary computation framework for rapid prototyping and testing of ideas. Its design departs from most other existing frameworks in that it seeks to make algorithms explicit and data structures transparent, as opposed to the more common black box type of frameworks.

This release includes : – major overhaul of the genetic programming with significant speed increase; – new state of the art operators to control bloat in GP; – several new examples from diverse fields; – organization of the examples by category; – examples are now compatible with Python 2 and 3 out of the box; – and several other changes.

A major change for DEAP is that from 0.9.0, the easy distribution module DTM will be replaced by SCOOP (Scalable COncurrent Operations in Python), a distributed task module allowing concurrent parallel programming on various environments, from heterogeneous grids to supercomputers. This new project is led by Yannick Hold-Geoffroy (@yannickhold) in close association with DEAP’s developers. You can download the last release at the following web page.

This release includes :
– compatibility with Python 3;
– a new algorithm : generate-update
– a lot of new examples;
– a lot of new benchmarks;
– History can now return the genealogy of a single individual;
– C++ version of the NSGA-2 algorithm
– more detailed documentation with new tutorials and examples;
– new theme for the documentation;
– and many more.

Users of DEAP 0.7 should be aware that some of the modifications
included with 0.8 will break your code. Be sure to check the this page :http://code.google.com/p/deap/wiki/Break to find out the minor modifications that
are needed to get your code fully functionnal with 0.8.

We are also proud to announce the creation of the DEAP speed project which aims
at benchmarking on a daily basis the execution time of every examples provided
with DEAP. Details of the project and the results are available at the following
web page.

For those who wouldn’t already know about the project, it is built around two major parts, EAP and DTM.

EAP has been built using the Python and UNIX programming philosophies in order to provide a transparent, simple and coherent environment for implementing your favourite evolutionary algorithms. EAP is very easy to use even for those who do not know much about the Python programming language. EAP uses both the object oriented and functional programming paradigm that are provided by Python in order to make development simple and beautiful. It also contains more than 20 illustrative and diversified examples, to help newcomers to ramp up very quickly in using this environment.

The D part of DEAP, called DTM, is under intense development and currently available as an alpha version (0.2). DTM provides tools to distribute workload evenly on a cluster or LAN of workstations, based on MPI and TCP communication managers. The load balancing is based on a new epidemiologic model. This unique model allows unique possibilities, like tasks spawning other tasks that can be run on any available workers.

This release includes a lot of new examples, a cleaner API, new features like easy statistics computation and a benchmark module, new variation methods for finer control on algorithms, and a few bug fixes.

Following a question we had regarding if we thought about integrating swarm intelligence algorithm in DEAP, we thought : what does it take to implement the original particle swarm optimization (PSO) algorithm in EAP? The answer was : everything is already implemented!

So we rushed to code, and built a simple example, that optimizes a function H1 described in “The Merits of a Parallel Genetic Algorithm in Solving Hard Optimization Problems”, by A. J. Knoek van Soest and L. J. R. Richard Casius. The example and the explanations on how to implement PSO with DEAP are described on googlecode wiki : PSOExample.

We are proud to announce the first public release of EAP, a library for doing Evolutionary Algorithms in Python. You can download a copy of this open source project at the following web page.

http://deap.googlecode.com
EAP has been built using the Python and UNIX programming philosophies in order to provide a transparent, simple and coherent environment for implementing your favourite evolutionary algorithms. EAP is very easy to use even for those who do not know much about the Python programming language. EAP uses the object oriented paradigm that is provided by Python in order to make development simple and beautiful. It also contains a 15 illustrative and diversified examples, to help newcomers to ramp up very quickly in using this environment.

EAP is part of the DEAP project, that also includes some facilities for the automatic distribution and parallelization of tasks over a cluster of computers. The D part of DEAP, called DTM, is under intense development and currently available as an alpha version. DTM currently provides two and a half ways to distribute workload on a cluster or LAN of workstations, based on MPI and TCP communication managers.

This public release (version 0.6) is more complete and simpler than ever. It includes Genetic Algorithms using any imaginable representation, Genetic Programming with strongly and loosely typed trees in addition to automatically defined functions, Evolution Strategies (including Covariance Matrix Adaptation), multiobjective optimization techniques (NSGA-II and SPEA2), easy parallelization of algorithms and much more like milestones, genealogy, etc.

We are impatient to hear your feedback and comments on that system at <deap-users at googlegroups dot com>.