Open BEAGLE 3.0.1 review

by on

Open BEAGLE is a C++ Evolutionary Computation (EC) framework

License: LGPL (GNU Lesser General Public License)
File size: 0K
Developer: Christian Gagn?
0 stars award from

Open BEAGLE is a C++ Evolutionary Computation (EC) framework. It provides an high-level software environment to do any kind of EC, with support for tree-based genetic programming, bit string and real-valued genetic algorithms, and evolution strategy.

The Open BEAGLE architecture follows strong principles of object oriented programming, where abstractions are represented by loosely coupled objects and where it is common and easy to reuse code.

Open BEAGLE is designed to provide an EC environment that is generic, user friendly, portable, efficient, robust, elegant and free.

With Open BEAGLE, the user can execute any kind of EC, as far as it fulfills some minimum requirements. The only necessary condition is to have a population of individuals to which a sequence of evolving operations is iteratively applied.

So far, Open BEAGLE supports most mainstream EC flavors such genetic programming, bit string and real-values genetic algorithms, and evolution strategy. It also includes support for advanced EC techniques such multiobjective optimization and co-evolution.

The user can take any of these specialized frameworks and modify them further to create his own specialized flavor of evolutionary algorithms.

Here are some key features of "Open BEAGLE":
User Friendliness

Considerable efforts were deployed to make the use of Open BEAGLE as easy and pleasant as possible. Open BEAGLE possesses several mechanisms that offer a user friendly programming interface. For example, the memory management of dynamically allocated objects is greatly simplified by the use of reference counting and automatic garbage collection. The programming style promoted is high-level and allows rapid prototyping of applications.


The Open BEAGLE code is compliant with the C++ ANSI/ISO 3 standard. It requires the Standard Template Library (STL). No specific call in the core libraries are made to the operating system nor to the hardware.


To insure efficient execution, particular attention was given to optimization of critical code sections. Detailed execution profiles of these sections were done. Also, the fact that Open BEAGLE is written in C++ contributes to its overall good performance.


Many verification and validation statements are embedded into the code to ensure correct operation and to inform the user when there is a problem. Robust mechanisms for periodically saving the current evolution state have also been implemented in order to enable automatic restart of interrupted evolutions.


The interface of Open BEAGLE was developed with care. Great energy was invested in designing a coherent software package that follows good OO and generic programming principles. Moreover, strict programming rules were enforced to make the C++ code easy to read, understand and, eventually, modify. The use of XML as file format is also a central aspect of Open BEAGLE, which provide a common ground for tools development to analyze and generate files, and to integrate the framework with other systems.

Free Sourceness

The source code of Open BEAGLE is free, available under the GNU Lesser General Public License (LGPL). Thus, it can be distributed and modified without any fee. (See section copyright for further details.

What's New in This Release:
Several fixes to allow compilation on Mac OS X
Fixes in headers inclusion to allow precompiled headers

Open BEAGLE 3.0.1 keywords