EvoSynth is a Ruby based and open source framework for rapid development and prototyping of evolutionary algorithms.
EvoSynth is designed with simplicity and productivity as main goals, so don’t expect it to compete with the performance of the established frameworks.
Here are some key features of "EvoSynth":
core features:
· classes for individuals, populations, algorithm profiles, genomes
· support for custom randomizer
· meta operators: proportional, sequential and conditional combined operators
· logging support with exporter to gnuplot, gruff and csv
· many predefined fitness functions
most common evolutionary algorithms:
· hillclimber (single individual and population based)
· standard genetic algorithm, steady state GA
· memetic algorithm
· evolution strategies (adaptive, selfadaptive and derandomized)
· local search (hillclimber, threshold acceptance, simulated annealing, great deluge, record-to-record travel)
· coevolutionary algorithms (round robin and balanced)
selection strategies:
· identity and random selection
· best selection
· n-stage tournament selection and tournament selection
· fitness proportional selection
· roulette wheel selection
mutations:
· identity
· one gene flipping, binary mutation, efficient binary mutation
· exchange mutation, inversion mutation, mixing mutation, shifting mutation
· uniform real mutation, gauss mutation, self-adaptive gauss mutation
recombinations:
· identity
· one-point-crossover, k-point-crossover, uniform crossover
· ordered recombination, partially mapped crossover, edge recombination
· arithmetic crossover
· global uniform crossover, global arithmetic crossover