FGA – Fast Genetic Algorithm


This is the home page for the FGA project.

FGA is a simple yet powerful implementation of genetic algorithms which provides many choices for crossover and selection procedures.

It is suitable to solve mathematical problems such as combinatorial optimization ones, as well as to build artificial life simulations.

The library is written in C++, and you can easily incorporate it in your own application, provided that you respect the terms of the license.

A parallel version of the algorithm (using POSIX threads) is included in order to take advantage of multi-processor environments.

The library is in the form of a single C++ header and compiles on both Linux/Unix and Windows platforms.


You can download the latest version from SourceForge.net mirrors: fga-1.4.

The tarball includes the library and an example of its use to solve the "travelling salesman problem".

A fancier graphical version of the TSP example can be downloaded separately: graphical TSP solver.

Thanks to FreeBSD developers, users of this operating system can install FGA directly from ports: FreeBSD port.


Documentation for the project can be found at this page: FGA documentation.

Used by

Tetrabot: Resonance Based Locomotion for Harsh Enviroments, Neubert, J., Stockton, J., Blechman, B., Lipson, H., Int. Conf. on Intelligent Robots and Systems (IROS'10), Taipei, Rep. of China (Taiwan), October 2010.

Performance Analysis of Coarse-grained Parallel Genetic Algorithms on the multicore Sun UltraSPARC T1, J. Byun, K. Datta, A. Mukherjee, A. Ravindran and B. Joshi, IEEE Southeast Con 2009 (Atlanta, GA) (talk slides).

Analysis and Design of a Resonant Robotic Rolling Polyhedron, Patrick J. Lingane, Masters of Engineering Project, Cornell University, May 2010.


Please help us testing and feel free to submit your opinions/bug reports to alessandro.presta@gmail.com.

Powered by