GAJIT - A Simple Java Genetic Algorithms Package

Distant words
Exchanged while dancing
Cheek to cheek.

This page is for a mini-project I undertook when I had a spare moment or two to port the C++ based genetic algorithm library GAGS to Java.

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.

I became interested in genetic algorithms and wanted to experiment with them. I first downloaded J. J. Merelo's GAGS C++ classes, but had problems with the C++ compiler and environment on my PC and so decided to translate the classes into Java. They evolved a bit during the translation, partly because of the different nature of Java, partly because of the classes supplied by default with the JDK and partly to follow my own needs. The result is GAJIT. It is unlikely to be complete, correct or entirely suitable for your purpose, but I hope it provides you with a useful starting point that saves you the time I expended to write it. J. J. Merelo has kindly granted permission for these classes to be redistributed under the terms of the GNU public licenses.


You can obtain version 0.2 of GAJIT by clicking on the following link: ZIP file (198,696 bytes)

which contains the Java source files for the toolkit.

JavaDoc documentation is included with the source.


Download and unpack the source files (which are all in packages under com.micropraxis) and compile them. Ensure that your CLASSPATH points to the directory where you've installed the files. Run the test program using your usual Java command line interpreter (java or jview). That's about it really :-)


I've provided little additional information about building genetic algorithms; I suggest you browse the GAGS site for further examples if you need them.


Version 0.2 differs from version 0.1 as follows:

  • The classes have been moved to packages under com.micropraxis from the old contrived
  • A bug in which broke the random selection of genetic operators under some circumstances has been fixed (with thanks to Thomas Strub).
  • The documentation comments have been tidied up to remove JavaDoc warnings.
  • I have included the documentation with the source this time as website space has become less of an issue since 1998 :-)