MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Genetic Algorithms

  • To: mathgroup at
  • Subject: [mg32610] Re: [mg32575] Genetic Algorithms
  • From: Daniel Lichtblau <danl at>
  • Date: Thu, 31 Jan 2002 01:45:40 -0500 (EST)
  • References: <>
  • Sender: owner-wri-mathgroup at

IA wrote:
> To all,
> I would like to know whether Mathematica includes any special modules for
> Genetic Algorithms.
> I took a look at however was not able to retrieve any GA extra
> module.
> Sharing experience(s) with GA programming is mostly welcomed.Any further
> advise is welcome aswell....
> Cheers,
> Paul

Below is a minor alteration of a response I just sent to the related
recent post on the Usenet news group sci.math.symbolic.

There is no Genetic Algorithm code in the standard distribution of
Mathematica. That said, at least some people have worked with GAs in
Mathematica. One recent article on the topic is:

Fowler, David (2000). Genetically seeking sparse rulers.
  Mathematica in Education and Research 9(2) 33-40.

A related area, genetic programming, is discussed in:

Nachbar, Robert (1995). "Genetic programming".
    The Mathematica Journal 5(3) 36-47.

The text below covers alot of ground involving GAs in particular
and evolutionary programming methods more generally.

Jacob, Christian (2001). Illustrating Evolutionary Computation with
  Mathematica. Morgan Kaufmann.

This is an update of an earlier German version titled Principia
Evolvica. Chapter three deals specifically with genetic algorithms
although later chapters on evolutionary programming techniques may
also be of interest. Note that this book provides alot of actual
code. A complete set of electronic notebooks that accompany this
work may be found at the author's Evolvica web site.

At WRI we have implemented, for a future release of Mathematica,
some related technology for doing optimization. The specific method
we use is from:

Price, Kenneth, and Storn, Rainer (1997). Differential evolution.
  Dr. Dobb's Journal, April 1997, 18-23 (C code presented p. 78).

This is not quite a GA insofar as "chromosome" vector elements
are reals rather than taking discrete values. It falls into the
general category of Evolutionary Strategy (ES), as discussed in
chapter four of Jacob's book.

Some Mathematica notebooks discussing this differential evolution
implementation may be found at the URL below (look for notebooks by
Brett Champion and by myself).

They describe use rather than the code itself but at least this
might give an idea of what one can do with an evolutionary method
coded in Mathematica.

Daniel Lichtblau
Wolfram Research

  • Prev by Date: excessive RAM use with Mathematica
  • Next by Date: Re: Why doesn't this rule work?
  • Previous by thread: Genetic Algorithms
  • Next by thread: Keeping order with Union