Source Code Collection, GA Archive
** Privacy and Security Notice **
Source Code Collection
This is an index of source code for implementations of genetic
algorithms and other EC methods. Many of these packages are archived
here at GA Archive, others are maintained as links. This list is now
maintained alphabetically, and by language.
Please note: Many of the links in the GA Archive connect to sites
outside of this NCARAI web server. We are not responsible for the
content of these other sites.
Index
- C/C++
- Eiffel
- FORTRAN
- Java
- Lisp
- Other (matlab etc.)
-
C/C++
-
BUGS.tar.Z
-
BUGS (Better to Use Genetic Systems) is an interactive
program for demonstrating the Genetic Algorithm and is
written in the spirit of Richard Dawkins' celebrated
Blind Watchmaker software. Written by J. R. Smith (I
think). Submitted by: unknown.
-
dgenesis-1.0.tar.Z
-
DGENESIS is a distributed implementation of a Parallel Genetic
Algorithm. It is based on John Grefenstette's GENESIS 5.0. Each
subpopulation is handled by a Unix process and communication between
them is handled with Berkeley sockets. The user can set the migration
rate, the migration interval and the topology of communication between
subpopulations. Tested on DECstations 5000, microVAXen 3100, Sun
workstations and PCs running 386BSD 0.1. Submitted by Erick Cantu-Paz
(ecantu@lamport.rhon.itam.mx)
of the Instituto Tecnologico Autonomo de Mexico.
-
GAC.shar.Z
-
GAC: A simple GA (conceptually based on Genesis) written
in C. Submitted by William M. Spears
(spears@aic.nrl.navy.mil).
-
GAS
-
GAS is a steady state genetic algorithm with subpopulation support. It
is capable of optimizing functions with a high number of local optima.
The parameter setting is based on theoretical results. A paper
describing GAS is also available. For more information, contact
jelasity@inf.u-szeged.hu or jelasity@usa.net (Submitted by Mark
Jelasity, jelasity@inf.u-szeged.hu)
-
GAucsd14.sh.Z
-
GAucsd 1.4: Submitted by Nici Schraudolph. Send email to the GAucsd
mailing list: (GAucsd-request@cs.ucsd.edu).
This file is a shar file and can be unpackd by using "sh".
-
genesis.tar.Z
-
Genesis 5.0: This is an updated version of the original
Genesis system. Submitted by John J. Grefenstette
(gref@aic.nrl.navy.mil).
Updated on 9/22/94 with fixes
to the f5 function.
-
GENEsYs-1.0.tar.Z
-
GENEsYs 1.0: Submitted by Thomas Baeck
(
baeck@home.informatik.uni-dortmund.de).
Implementation based on Grefenstette's software package GENESIS. It
includes extensions for experimental purposes, e.g. different selection
mechanisms (linear ranking, Boltzmann selection, (mu, lambda)-selection)
and extended recombination operators (m-point, uniform, discrete and
intermediate recombination).
-
genetic2.tar.Z
-
Genetic-2. Optimization package for the linear
transportation problem. Submitted by Zbigniew
Michalewicz (zbyszek@mosaic.uncc.edu).
-
genetic2n.tar.Z
-
Genetic-2N. Optimization package for the nonlinear
transportation problem. Submitted by Zbigniew
Michalewicz
(zbyszek@mosaic.uncc.edu).
-
genocop.tar.Z
-
GENOCOP (GEnetic algorithm for Numerical Optimization
for COnstrained Problems). This system is optimizing any
function with any number of linear constraints
(equalities and inequalities). Submitted by Zbigniew
Michalewicz
(zbyszek@mosaic.uncc.edu).
-
libga100.MAC.hqx
-
libga100 is example C source code on how to write simple
applications using genetic algorithms. Originally written
in K&R C, the included source has been ported to ANSI C and
compiled using MetroWerks CodeWarrior 9.
libga100 is originally copyright by Art Corcoran, and this
port is distributed with his permission.
Submitted by Bernie Wieser,
octavian@agt.net.
-
libga100.tar.Z
-
GA library written in C. Simple, easy to
use, many knobs to turn. Both generational and steady
state models supported. Many standard operators.
Config file obviates recompilation. Function pointers
to all operators. Runs under Unix, DOS, NeXT and
Amiga. Free for non-commercial use. Submitted by
Art Corcoran,
corcoran@penguin.mcs.utulsa.edu.
-
Lithos
-
Lithos is a stack based evolutionary computation system. Unlike most EC
systems, its representation language is computationally complete, while
also being faster and more compact than the S-expressions used in
genetic programming. The version presented here applies the system to
the game of Go, but can be changed to other problems by simply plugging
in a different evaluation function. Source code and Windows executable
are provided. Let me know by email if you have any queries or
interesting results or modifications. Writen in C. Written and
submitted by Russell Wallace rwallace@esatclear.ie.
-
Link to
Matthew's GAlib - A C++ Genetic Algorithms Library
-
Matthew's GAlib is a C++ library that provides the application
programmer with a set of genetic algorithm objects. The library
contains list, tree, array, and binary string chromosomes with many
initialization, crossover, and mutation operators. It also includes an
assortment of selection, scaling, and termination functions as well as
support for overlapping and non-overlapping populations. The library
has been used on various UNIX platforms as well as MacOS and DOS.
Written and submitted by Matthew Wall (mbwall@mit.edu).
-
paragenesis.tar.Z
-
A parallel version of Grefenstette's
genesis program. This version runs on the CM-200
(Connection Machine). The parallel code was developed
and submitted by Mike Van Lent
(vanlent@cs.utk.edu).
-
pga-2.5.tar.Z
-
PGA, the Parallel Genetic Algorithms testbed -- version 2.5
PGA is a simple testbed for basic explorations in genetic
algorithms. Command line arguments control a range of
parameters, there are a number of built-in problems for
the GA to solve. PGA allows multiple populations, with
periodic migration between them, and a range of other
options. Developed/maintained by Peter Ross
(peter@aisb.ed.ac.uk).
The original version by Geoffrey H.
Ballinger (geoff@ed.ac.uk).
-
pgapack.tar.Z
-
PGAPack is a general-purpose, data-structure-neutral,
parallel genetic algorithm library being developed at
Argonne National Laboratory.
PGAPack V1.0 is now available.
(Updated to V1.0 on Feb. 5, 1996.)
Submitted by David Levine
(levine@mcs.anl.gov).
-
Link to
REGAL3.2
-
REGAL is a distributed genetic algorithm-based system, designed
for learning First Order Logic concept descriptions from examples.
REGAL is based on a selection operator, called Universal Suffrage
operator, provably allowing the population to asymptotically
converge, on average, to an equilibrium state, in which several
species coexist. This version of REGAL is provided with a graphical user
interface.
Written and submitted by
Attilio Giordana and
Filippo Neri at
University of Torino, Dipartimento di Informatica, Italy,
(attilio@di.unito.it, neri@di.unito.it).
-
sga-c.tar.Z
-
SGA-C: a C-language translation and extension of
Goldberg's SGA. Submitted by Rob Smith
(rob@galab2.mh.ua.edu).
-
sga-cube.tar.Z
-
SGA-Cube: SGA-C with modifications for the nCube hypercube
computer (See description for sga-c.tar.Z). Submitted by
Rob Smith (rob@galab2.mh.ua.edu).
-
sgpc1.01.tar.Z
-
SGPC is a simple Koza and Rice workalike written in C by
Walter Tackett and Avi Carmi. Submitted by Avi Carmi
(gpc@ipld01.hac.com).
UPDATED, 06/08/93
-
Link to
SUGAL GA
-
SUGAL is written in ANSI C, and runs on PCs and UNIX machines.
It features a wide range of operators and
datatypes. A particular emphasis has been laid on making SUGAL
easy to extend and/or configure, without intervening in the existing source
code. Written and submitted by Andy Hunter
(cs0ahu@isis.sund.ac.uk). (Link
updated 26/4/99).
-
Eiffel
-
Link to
GAEiffel, a GA class library written in Eiffel.
-
The library is based on bit-string GAs, and incorporates both
generational and steady-state algorithms. The distribution includes a
demonstration program for solving some numerical minimization and
maximization problems.
Written and submitted by
I. M. Ikram (ikram@cs.und.ac.za).
-
FORTRAN
-
Link to a
GA written in Fortran
-
This is a Genetic Algorithm implementation written in Fortran. This is
written and submitted by D.L. Carroll at the
University of Illinois Urbana-Champaign (carroll@uiuc.edu).
-
JAVA
-
ECJ: A Java-based Evolutionary Computation and
Genetic Programming Research System
-
ECJ is a research EC and GP system written in Java. It was designed to
be highly flexible, with nearly all classes (and all of their settings)
dynamically determined at runtime by a user-provided parameter file. All
structures in the system are arranged to be easily modifiable. Even so,
the system was designed with an eye toward efficiency, and it is
reasonably competitive with popular C-based GP systems in speed. Written
and submitted by
Sean Luke,
sean@cs.gmu.edu.
-
The GA Playground
-
The GA Playground is a general purpose genetic algorithm toolkit where
the user can define and run his own optimization problems. The toolkit
is implemented in the Java language, and requires (when used as an
application, in its full mode), a Java compiler and a very basic
programming knowledge (just enough for coding a fitness
function). Defining a problem consists of creating an Ascii definition
file in a format similar to Windows Ini files, and modifying the fitness
function in the GaaFunction source file. In addition, other methods can
(optionally) be overwritten (e.g. the drawing method), other classes can
be extended or replaced, and additional input can be supplied through
Ascii files.
-
Two JAVA-based GP Applications
-
Two genetic programming applications using a fully Turing-equivalent
subset of Lisp as the representation language. One co-evolves a
population to play the game of Go, the other co-evolves two populations
of programs, one to analyze the other, in a way that is conjectured to
be truly open-ended. Java source code provided.
(Submitted by Russell Wallace,
manorsof@iol.ie.)
-
GA Optimizer - Artificial Intelligence Lab, University of Arizona
-
Here you can see very nice demos of genetic algorithms, and also
download the source code as JAVA Applets. Author is Marshall Ramsey
(mramsey@ai2.bpa.arizona.edu).
-
GAJIT - A Simple Java Genetic Algorithms Package
-
GAJIT (Genetic Algorithm Java Implementation Toolkit) is a rather
contrived name for a simple set of classes that I wrote to experiment
with genetic algorithms. Based on J. J. Merelo's GAGS C++ classes.
J. J. Merelo has kindly granted permission for these classes to be
redistributed under the terms of the GNU public licenses. Written and
submitted by Matthew Faupel (Matthew.Faupel@ansa.co.uk).
-
LISP
-
GAL.shar.Z
-
GAL: A simple GA (conceptually based on Genesis) written
in Common Lisp. Submitted by William M. Spears
(spears@aic.nrl.navy.mil).
-
GECO-v2.0.tar.Z or
GECO-v2.0.cpt.bin
-
GECO is a toolbox for constructing genetic algorithms. It provides a
set of extensible classes and methods designed for generality. Some
simple examples are also provided to illustrate the intended use.
Written in Common Lisp.
You can download
Unix
documentation or
Mac Documentation.
Submitted by George P. W. Williams, Jr. (george.p.williams@boeing.com).
-
koza.gp.txt
-
Koza.gp is a pure (CLtL2) Common Lisp implementation of the Genetic
Programming Paradigm, as described in "Genetic Programming" by John R
Koza, MIT Press, 1992 (ISBN 0-262-11170-5). Written by John Koza
(koza@cs.stanford.edu)
and James Rice
(rice@sumex-aim.stanford.edu).
This code is Copyright (c) John Koza, All rights reserved. U.S. Patent
#4,935,877. Other patents pending. Submitted by Howard Oakley
(Howard@quercus.demon.co.uk),
with permission.
-
Other
-
Link to
GAOT, GA Optimization Toolbox (for Matlab)
-
GAOT implements simulated evolution in the Matlab environment using both
binary and real representations. (Ordered base representation is in the
debugging stage.) This implementation is very flexible in the genetic
operators, selection functions, termination functions as well as the
evaluation functions that can be used. Papers on toolbox available.
Link submitted by Andre Van Moer (avanmoer@ulb.ac.be).
Return to GA Archives home page.
Alan C. Schultz, Naval Research Laboratory,
schultz@aic.nrl.navy.mil