GAlib: A C++ Genetic Algorithm Library
Copyright (c) 1994-1996 MIT, 1996-2005 Matthew Wall
GAlib is a C++ library of genetic algorithm objects. With GAlib you can add evolutionary algorithm optimization to almost any program using any data representation and standard or custom selection, crossover, mutation, scaling, and termination methods.
The library requires reasonable C++ compiler. I have tested GAlib on MacOS using Metrowerks and Symantec development environments, MacOSX using gcc2/3, DOS/Windows using Borland C++ and MS VC++, and various UNIX platforms using g++, egcs, CC, DCC, xlC, and aCC.
Graphic examples (XWindows/Motif and MS Windows) are available, as are parallel, distributed implementations using PVM. There are about 30 examples that illustrate various ways to use GAlib on a variety of problems.
WHERE TO GET IT
There are two things to build: the library and the examples. Here is the short version of how to build and test everything:
On windows, with MS VC++,
nmake /f makefile.vcpp test
On windows, with Borland,
make -f makefile.bcc test
If that does not work, then here are the files you might have to modify:
ga/gaconfig.h- this contains the macros that control library options
makevars- compiler and linker options for each compilier/os
makefile- the actual build rules for putting everything together
If you still have problems, look at
Installation.html in the doc directory.
DOCUMENTATION and MAILING LIST
Complete documentation in html format is available in the
doc directory. The
distribution site contains PDF and PostScript(tm) versions.
A current list of bugs is at http://lancet.mit.edu/ga/Bugs.html
There are two GAlib mailing lists:
The first list is an unmoderated list intended as a forum for galib users to
help each other. The second is only for announcements about GAlib updates.
To subscribe, send email to
with the word 'subscribe' as the subject and nothing in the body of the email.
To unsubscribe, send email with the word 'unsubscribe' as the subject.