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:
- a) Hill-climbing;
- b) Tabu Search;
- c) Simulated Annealing;
- d) Simplex Search;
- e) Steepest Ascents;
- f) Deterministic Crowding; and
- g) Differential Evolution.
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:
- a) MPI (Message Passing Interface);
- b) OpenMP 2.0 - OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer;
- c) pthreads - POSIX threads (pthreads) are a standardized interface on operating system threads; and
- d) Forked-process model.
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 gaul-devel@lists.sourceforge.net. 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 gaul-devel@lists.sourceforge.net.
If you would like to discuss terms for a proprietary modification, enhancement or addition, please send your request to gaul@linux-domain.com.
System Requirements
Manufacturer
- Stewart Adcock
- E-mail: stewart@linux-domain.com
Manufacturer Web Site Genetic Algorithm Utility Library (GAUL)
Price Contact manufacturer.
G6G Abstract Number 20756
G6G Manufacturer Number 104337