Open BEAGLE is a C++ software application that provides an evolutionary computation framework for users.
Open BEAGLE supports mainstream EC flavors such as tree-based genetic programming, bit string and real-valued genetic algorithms, and evolution strategy. It also includes support for advanced EC techniques such as multiobjective optimization and co-evolution. The user can take any of these specialized frameworks and further modify them to create their own customized evolutionary algorithms.
One of the key features of Open BEAGLE is its user-friendliness, making the programming interface easy and pleasant. It simplifies memory management of dynamically allocated objects through the use of reference counting and automatic garbage collection, while promoting a high-level programming style that enables rapid prototyping of applications.
The portability of Open BEAGLE is ensured by its compliance with the C++ ANSI/ISO 3 standard, with no specific calls to the operating system or hardware. It requires the Standard Template Library (STL). Efficiency is also given importance, with optimization of critical code sections through detailed execution profiles and the usage of C++.
To ensure robustness, validation statements are integrated into the code, while mechanisms for saving the current evolution state are implemented for automatic restarts of interrupted evolutions. The interface of Open BEAGLE has been developed with great care, strictly following good OO and generic programming principles for software coherence and easy readability.
The source code of Open BEAGLE is free and available under the GNU Lesser General Public License (LGPL), allowing distribution and modification without any fees. Its file format uses XML, providing a common ground for tools development for file analysis and generation, and integration with other systems.
In the latest release, a bug in reading GP ephemeral random constants has been fixed, with the method GP::EphemeralT< T >::readWithContext properly called for XML file reading of a GP ephemeral random constant.
Version 3.0.3: N/A