Copy of GAlib ( for use in pngwolf-zopfli
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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 ---------------------------------------------------------------

COMPILATION -------------------------------------------------------------------

There are two things to build: the library and the examples.  Here is the
short version of how to build and test everything:

On unix,

   % make test

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

There are two GAlib mailing lists: and
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 (or galib-announce-request)
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.