Revision History for GAlib

This document details the changes from version to version. If you are experiencing problems with GAlib, check the bug list to see if your problem is a documented bug.

Changes in version 2.4.5
December 1999

Changes in version 2.4.4
4 April 1999
Changes in version 2.4.3
11 November 1998
Changes in version 2.4.2
13 November 1996

Sorry, but I lost the list due to a hard drive crash :(

Changes in version 2.4.1
10 November 1996
Changes in version 2.4
released 3 June 1996
Changes in version 2.3.2
released 21 September 1995
programming interface
Changes in version 2.3.1
released 5 July 1995
programming interface
Changes in version 2.3
released 30 May 1995
programming interface

Changes in version 2.2.5
released 12 May 1995
programming interface

Changes in version 2.2.4
released 1 May 1995

Changes in version 2.2.3

Changes in version 2.2.2

Changes in version 2.2.1

Changes in version 2.2

Changes in version 2.1

This was an internal release. It never saw the light of public release.
Changes in version 2.0beta
Changed mapping of x,y,z/i,j,k/width,height,depth in multi-dimensional chromosomes. The example code used to map i to height and j to width. That code will now break! The new examples map i to width and j to height. See the new examples if you're confused.

Implemented a new architecture for doing initialization, mutation, and crossover. Now chromosomes use pointer functions instead of virtual functions so you don't have to derive a new class to change chromosome behaviour. Not only does this result in a cleaner interface, but the code now runs up to 8 times faster as well.

Implemented template versions of the tree and list chromosomes. Refined the tree and list interfaces and streamlined iterator usage. It is now possible to use multiple iterators on the same tree/list. Made iteration more consistent in terms of what is affected by inserts, swaps, etc.

Implemented PMX, OX, and CX (see Goldberg) for list chromosomes.

Restructured the chromosome class hierarchy to be flatter.

Rewrote test code to do more corner cases and keep better record of failures.

Changes in version 1.x
Implemented steady-state as well as simple GA.

Implemented architecture for plug-in chromosomes and selectors.

Implemented a 'bestOf' method in the GAs to keep track of selected population members.