GALex is the next version of the Genetic Algorithm Library which aims the cover more advanced concepts of genetic algorithms such as multi-objective optimization and coevolution.
The fist goal of development is to increase the flexibility of the library so it can support wide range of different types of genetic algorithms. To achieve required flexibility, library employs concept of workflows which allows user to specify when and how each step of the algorithm is executed. Workflows offer user great control over parallel execution of the algorithms and they even allow run-time changes and reconfiguration of the algorithms.
The second goal is to actually implement these concepts. The main focus was on implementing genetic algorithms for multi-objective optimization. Beside multi-objective optimization this version of the library also introduces support for coevolution and implements simple migration strategies for coexisting populations.
While the library aims platform independence, like its predecessor, it is not yet completed and it is not tested on any other platforms and compilers other then Windows and Visual Studio 2010 and 2012.
Documentation is work in progress. Parts of it will be posted here as they are completed, so stay tuned. In a mean time you can consult documentation generated from annotated source code. Documentation that is available so far:
- Memory Management
- Multithreading And Synchronization
- Multi-objective Genetic Algorithms
- Supporting Classes
Source code of the library is available on Bitbucket.