/Evolutionary.jl

Evolutionary & genetic algorithms for Julia

Primary LanguageJuliaOtherNOASSERTION

Evolutionary

A Julia package for evolutionary & genetic algorithms.

Build Status Coverage Status Documentation Status

Installation

For julia 0.6 and lower, run following command

Pkg.add("Evolutionary")

For julia 0.7 and higher, run in the package manager mode

pkg> add https://github.com/wildart/Evolutionary.jl.git#v0.2.0

Functionalities

Algorithms

  • (μ/ρ(+/,)λ)-SA-ES
  • (μ/μ_I,λ)-CMA-ES
  • Genetic Algorithms (GA)

Operators

  • Mutations

    • (an)isotropic mutation (for ES)
    • binary flip
    • real valued
    • combinatorial
      • inversion
      • insertion
      • swap2
      • scramble
      • shifting
  • Recombinations

    • average
    • marriage
  • Crossovers

    • binary
      • N-point
      • uniform
    • real valued
      • discrete
      • weighted average
      • intermediate
      • line
    • permutation
      • PMX
      • OX1
      • OX2
      • CX
      • POS
  • Selections

    • rank-based fitness assignment
    • (μ, λ)-uniform ranking
    • roulette
    • stochastic universal sampling (SUS)
    • tournament
    • truncation

TODO

  • Documentation
  • Concurrent implementation

Resources