[ Home | Docs | News | Resources | Download]
Welcome to the GAUL home page
GAUL logo

GAUL is an open source programming library, released under the GNU General Public License.  It is designed to assist in the development of code that requires evolutionary algorithms.

Current Version:  devel-0.1849, examples-0.1849
Distribution License:  GNU General Public License
Latest Changes:  LatestChanges
Development home:  http://souceforge.net/projects/gaul
On-line documentation:  http://gaul.souceforge.net/documentation.html FAQ
Copyright © 2000-2009 Stewart Adcock.


The Genetic Algorithm Utility Library (or, GAUL for short) is a flexible programming library designed to aid in the development of applications that use genetic, or evolutionary, algorithms. It provides data structures and functions for handling and manipulation of the data required for serial and parallel evolutionary algorithms. Additional stochastic algorithms are provided for comparison to the genetic algorithms. Much of the functionality is also available through a simple S-Lang interface.

  • Darwinian, Lamarckian or Baldwinian evolutionary schemes.
  • Both steady-state and generation-based GAs included.
  • The island model of evolution is available.
  • Chromosome datatype agnostic. A selection of common chromosome types are built-in.
  • Includes most of the usual crossover, mutation and selection operators.
  • Allows user-defined crossover, mutation, selection, adaptation and replacement operators.
  • Availability of multiple chromosome genomes.
  • Full support for multiple, simultaneously evolved, populations.
  • Choice of high-level or low-level interface functions.
  • Additional optimisation algorithms are built-in for local optimisation or comparative purposes:
    • Hill-climbing.
    • Tabu Search.
    • Simulated Annealling.
    • Simplex Search.
    • Steepest Ascents.
    • Deterministic Crowding.
    • Differential Evolution.
  • Trivial to extend using external code via the built-in code hooks.
  • May be driven by, or extended by, simple yet powerful S-Lang scripts.
  • Support for multiprocessor calculations on various architectures:
    • MPI
    • OpenMP 2.0
    • pthreads
    • forked-process model
  • Written using highly portable C code.
  • Distributed with a large set of example programs.
  • Available as a free download, with full source code.

The current primary aims of this project are to produce documentation, examples and test cases for this open-source release of GAUL. Several new features are also planned for GAUL including wrappers to enable its use with programming languages other than C/C++.

The main development platform for GAUL is Linux with the gcc compiler, but it should be fairly trivial to use GAUL on any POSIX compliant systems. Full use is made of the GNU maketools to aid portability issues. Here is a list of platforms that are known to work. Recent versions of GAUL have been successfully used a variety of operating systems, including RedHat Linux, FreeBSD, Sun's Solaris and SGI's IRIX. Additionally, GAUL may be compiled successfully on Microsoft Windows, albeit with a few minor features disabled.

The GAUL project is a member of the AI foundry.

Press releases: 27 August, 2003, 28 June, 2004, 22 April, 2005.

Genetic Algorithm Resources

Here a few few handy genetic algorithm resources:

What is a GA? (Simple overviews)

What is a GA? (Detailed information)

Other GA codes.

  • Galopps - C code organized in a similar fashion to the code in Goldberg's book.
  • GAlib - A C++ library of genetic algorithm objects.
  • jaga - Java Genetic Algorithm Package.
  • Simple Generalized GA - A Perl module.

Other GA Resource lists.

Books about GAs.

Example GA applications.

  • LigBuilder - De novo molecular design.
  • Autodock - Ligand docking using a Lamarckian genetic algorithm.
  • Gold - More ligand docking.
  • GAs in biochemistry - water site prediction, drug-design, protein folding.
  • tablix - High school timetable generator.

Research groups.

  • GARAGe - Genetic Algorithms Research and Applications Group.
  • IlliGAL - Illinois Genetic Algorithms Laboratory.

If you have another site which you would like to be linked from here, feel free to ask.

Web gaul.sourceforge.net

Further Information

All available documentation may be accessed here.

In addition to the wriiten documentation, you are invited to join the mailing list, gaul-devel@lists.sourceforge.net, hosted by SourceForge. You may find information about this mailing list through a web interface, or by sending an email with just the word `help' as subject or in the body, to gaul-devel-request@lists.sourceforge.net. A brief GAUL FAQ is also available.

Bug Submission and Feature Requests

GAUL is still under heavy development, and therefore is unlikely to be bug free. If you find a bug, please send details of your system, the version of GAUL that you are using and concise instructions for reproducing the crash, or erronerous result, to the GAUL mailing list. Alternatively, use SourceForge's bug submission facility.

If there is a particular feature that you would like to see added to GAUL, you are welcome to send details to the GAUL mailing list. If you would like to discuss terms for a proprietry modification, enhancement or addition, please send your request to gaul@linux-domain.com.

[ Home | Docs | News | Resources | Download]
GAUL Button Hosted by:
SourceForge Logo
AI-Depot OSI Certified OpemMP 2.0 Valid HTML 4.01!

© 2001-2009, "Stewart Adcock" <stewart@linux-domain.com> All rights reserved.
All trademarks on this page are probably owned by their respective companies. You can insert you own favourite disclaimer here.