The moo package

[Tags: bsd3, library]

Moo library provides building blocks to build custom genetic algorithms in Haskell. They can be used to find solutions to optimization and search problems.

Variants supported out of the box: binary (using bit-strings) and continuous (real-coded). Potentially supported variants: permutation, tree, hybrid encodings (require customizations).

Binary GAs: binary and Gray encoding; point mutation; one-point, two-point, and uniform crossover. Continuous GAs: Gaussian mutation; BLX-α, UNDX, and SBX crossover. Selection operators: roulette, and tournament; with optional niching and scaling. Replacement strategies: generational with elitism and steady state. Constrained optimization: random constrained initialization, death penalty, constrained selection without a penalty function. Multi-objective optimization: NSGA-II and constrained NSGA-II.


Change logNone available
Dependenciesarray, base (==4.*), gray-code (>=0.2.1), mersenne-random-pure64, monad-mersenne-random, mtl (>=2), random (>=0.1), random-shuffle (>=0.0.2), time
AuthorSergey Astanin <>
MaintainerSergey Astanin <>
CategoryAI, Algorithms, Optimisation, Optimization
Home page
Source repositoryhead: git clone git://
UploadedTue May 21 16:34:03 UTC 2013 by SergeyAstanin
Downloads321 total (16 in last 30 days)
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees