Genetic Algorithm Library 1.3 Open Source

The library can be freely downloaded and distributed under GNU GPL 2.0 licence. Currently Genetic Algorithm Library can be compiled using many C++ compilers. Features are listed below. More information are available in the documentation of the library and articles on this website.

Genetic operations for chromosomes:

  • Crossover operations:
    • Multipoint crossover
    • Arithmetic crossover
    • Midpoint crossover

  • Mutation operations:
    • Flip mutation
    • Invert mutation
    • Swap mutation
  • Fitness operations are problem specific, so there are no built-in operations of this type.

  • Fitness comparators:
    • Comparator for minimization of fitness value
    • Comparator for maximization of fitness value
Genetic operations for populations:
  • Selection operations:
    • Best chromosomes selection
    • Worst chromosomes selection
    • Random selection
    • Best chromosomes of random selection
    • Roulette Wheel selection
    • Tournament selection
  • Coupling operations:
    • Simple coupling
    • Cross coupling
    • Invert coupling
    • Always best chromosome coupling
    • Random coupling
  • Replacement operations:
    • Best chromosome replacement
    • Worst chromosome replacement
    • Random chromosome replacement
    • Parent chromosome replacement
  • Fitness scaling operations:
    • Windows fitness scaling
    • Linear normalization fitness scaling
    • Linear fitness scaling
    • Exponential fitness scaling
Genetic algorithms:
  • Stop criteria:
    • Generation criteria
    • Fitness criteria
    • Fitness progress criteria
  • Simple genetic algorithm (using non-overlapping populations)
  • Incremental genetic algorithm (using overlapping populations)
Other core features:
  • Classes for management chromosome populations.
  • Classes which handles statistical information of populations and algorithms.
Utilities:
  • Classes, functions, data structures and macros to support platform-independent threading and synchronization.
  • Random number generators.
  • Implementation of smart pointers.
  • Catalogues for management of genetic operations.
  • Classes to support observing of genetic algorithm execution.

Related articles:
You must be logged in to download