SciML/Evolutionary.jl
Evolutionary & genetic algorithms for Julia
What it solves
It provides a comprehensive toolkit for solving optimization problems using evolutionary and genetic algorithms, allowing users to find optimal solutions in complex search spaces where traditional gradient-based methods might fail.
How it works
The package implements a wide variety of nature-inspired optimization strategies. It includes algorithms like CMA-ES, Differential Evolution, and Genetic Algorithms, along with a vast library of operators for mutation, recombination, crossover, and selection to customize how candidate solutions evolve over time.
Who it’s for
Researchers and engineers who need robust global optimization tools in the Julia language, particularly those working with real-valued, binary, or combinatorial problems.
Highlights
- Diverse Algorithm Support: Includes (mu/rho(+/,)lambda)-SA-ES, CMA-ES, NSGA-II for multi-objective optimization, Differential Evolution, and TreeGP for genetic programming.
- Extensive Operator Library: Offers a wide range of mutation types (Gaussian, Cauchy, polynomial), crossovers (single-point, simulated binary, partially-mapped), and selection methods (tournament, roulette, SUS).
- Flexible Parameterization: Supports multiple data types including binary, real-valued, and combinatorial representations.
Related
- Project
- Project
- Project
- Project
- Project