BEAGLE=Beagle Engine is an Advanced Genetic Learning Environment
Open BEAGLE, a versatile EC framework
Welcome to the Open BEAGLE W3 page. 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.
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.
Make sure you also check out distributed BEAGLE. Distributed BEAGLE was created to distribute the evolutionary process using the EC framework Open BEAGLE. Its key features are robustness, fault tolerance, adaptability for heterogeneous networks, and transparency for the user. Distributed BEAGLE uses the Master-Slave model to distribute data over the network.
When doing an Open BEAGLE EC application, just 3 little modifications to your code are needed to enable Distributed BEAGLE. There's two types of program that can be executed by using different configuration files. The first one evolves the population over one generation by applying Darwinian selection and genetic operators. It usually runs on the same computer as the master. The second one evaluates the individuals's fitness. The slaves can be eventually used as screen savers.
The master is called DAGS for DAGS is an Agile Grid Scheduler. It is not specific for a given evolutionary algorithm. DAGS uses dynamic adjustment of the size of sets of individuals that are sent to the slaves based on the recent history of the evaluation clients. If an evaluation client lags to return results, the data is redistributed to another evaluation client. There's a database in the master that insures data persistency. link