Genetic Algorithm Utility Library (GAUL)

Category Intelligent Software>Genetic Algorithm Systems/Tools

Abstract The Genetic Algorithm Utility Library (or, GAUL for short) is an open source programming library designed to assist in the development of code requiring genetic algorithms.

The steady-state, generation based and the island model of evolution are supported, using the Darwinian, Lamarckian or Baldwinian evolutionary schemes.

Standard mutation, crossover and selection operators are provided, while code hooks additionally allow custom operators.

GAUL provides data structures and functions for handling and manipulation of the data required for a genetic algorithm (GA).

Additional stochastic algorithms are provided for comparison to the genetic algorithms.

Much of the functionality is also available through a simple S-Lang (see below...) interface.

GAUL features/capabilities include:

1) Darwinian, Lamarckian or Baldwinian evolutionary schemes.

2) Both steady-state and generation-based Genetic Algorithms (GAs) are included.

3) The island model of evolution is available.

4) Chromosome data-type agnostic. A selection of common chromosome types is built-in.

5) Includes most of the usual crossover, mutation and selection operators.

6) Allows user-defined crossover, mutation, selection, and adaptation, and replacement operators.

7) Availability of multiple chromosome genomes.

8) Full support for multiple, simultaneously evolved, populations.

9) Choice of high-level or low-level interface functions.

10) Additional optimization algorithms are built-in for local optimization or comparative purposes:

11) According to the manufacturer, GAUL is trivial to extend using external code via built-in code hooks.

12) May be driven by, or extended by, simple yet advanced S-Lang (see below...) scripts.

13) Support for multiprocessor calculations on various architectures:

14) Written using highly portable C code.

15) Distributed with a large set of example programs.

16) Available as a free download, with full source code.

S-Lang (Programmer’s library and Interpreted language) --

S-Lang is a multi-platform Programmer’s library and Interpreted language designed to allow a developer to create robust multi-platform software.

It provides facilities required by interactive applications such as display/screen management, keyboard input, key-maps, and so on.

The most exciting feature of the library is the ‘slang interpreter’ that may be easily embedded into a program to make it extensible.

While the emphasis has always been on the embedded nature of the interpreter, it may also be used in a stand-alone fashion through the use of slsh (S-Lang shell), which is part of the S-Lang distribution.

Unlike many interpreters, the S-Lang interpreter supports all of the native C integer types (signed and unsigned versions of char, short, int, long, and long long), and both single and double precision types, as well as a double precision complex type.

Other data types supported by the interpreter include strings, lists, associative arrays (hashes), user-defined structures, and multi-dimensional arrays of any data-type.

GAUL Future plans --

Future plans for GAUL include wrappers to enable its use with programming languages other than C/C++.

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 erroneous result, to 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

If you would like to discuss terms for a proprietary modification, enhancement or addition, please send your request to

System Requirements

Supported platforms


Manufacturer Web Site Genetic Algorithm Utility Library (GAUL)

Price Contact manufacturer.

G6G Abstract Number 20756

G6G Manufacturer Number 104337