Software Summary
Note
This page is actively updated now, since some open-source software and code for black-box optimization (BBO) may be still missed here. We will happy to add it if you find some important work omitted here. Please do NOT hesitate to commit an issue or a pull request.
Python
https://esa.github.io/pygmo2/ ( pygmo is a well-designed and well-maintained Python library for parallel optimization. )
https://github.com/CMA-ES/pycma ( CMA-ES )
https://github.com/akimotolab/multi-fidelity ( DD-CMA-ES )
https://gist.github.com/youheiakimoto/08b95b52dfbf8832afc71dfff3aed6c8 ( VD-CMA )
https://gist.github.com/youheiakimoto/2fb26c0ace43c22b8f19c7796e69e108 ( VKD-CMA )
https://gist.github.com/youheiakimoto/1180b67b5a0b1265c204cba991fa8518 ( DD-CMA-ES )
https://github.com/akimotolab/CMAES_Tutorial ( CMA-ES )
https://github.com/CyberAgentAILab/cmaes ( CMA-ES )
https://github.com/NiMlr/High-Dim-ES-RL ( CMA-ES )
https://github.com/optuna/optuna ( CMA-ES )
https://github.com/google/evojax (EvoJAX is a scalable, general-purpose, hardware-accelerated neuroevolution toolkit based on JAX.)
https://github.com/google/vizier ( Hyperparameter Optimization | AutoML )
https://github.com/nnaisense/evotorch (https://evotorch.ai/)
https://github.com/qingquan63/FairEMOL (FairEMOL is for mitigating unfairness via Evolutionary Multiobjective Optimisation Learning.)
https://github.com/RobertTLange/evosax (evosax is well-designed JAX-based Python library of Evolutionary Algorithms (EAs) and NeuroEvolution (NE) run on GPU.)
https://github.com/uber-research/poet (Only for Paired Open-Ended Trailblazer (POET))
https://pymoo.org/ (pymoo offers multi-objective black-box optimization algorithms.)
-
https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.differential_evolution.html
https://docs.scipy.org/doc/scipy/reference/optimize.minimize-neldermead.html
https://docs.scipy.org/doc/scipy/reference/optimize.minimize-powell.html
https://docs.scipy.org/doc/scipy/reference/optimize.minimize_scalar-brent.html
Some interesting code snapshots involving population-based methods are shown below:
https://github.com/brain-research/guided-evolutionary-strategies (ES)
https://github.com/facebookresearch/LA-MCTS (BO/CMA-ES)
https://github.com/huawei-noah/vega (AutoML)
https://github.com/SimonBlanke/Gradient-Free-Optimizers (Discrete Optimization)
The below open-source libraries seem to be not actively maintained (according to the last update time). Here we still add them for historical records and respect to previous works:
https://github.com/blaa/PyGene (Now it is not actively maintained: Last update - Jan 31, 2017.)
https://github.com/hardmaru/estool (Now it is not actively maintained: Last update - Jan 20, 2022.)
https://github.com/HIPS/Spearmint (Now it is not actively maintained: Last update - Apr 3, 2019.)
https://github.com/hpparvi/PyDE (Now it is not actively maintained: Last update - Apr 2, 2019.)
https://github.com/LDNN97/Evolutionary-Optimization-Algorithms (Now it is not actively maintained: Last update - Apr 14, 2019.)
https://github.com/pybrain/pybrain (Now it is not actively maintained: Last update - Dec 18, 2017.)
https://github.com/pybrain/pybrain/blob/master/pybrain/optimization/distributionbased/fem.py
https://github.com/pybrain/pybrain/blob/master/pybrain/optimization/distributionbased/nes.py
https://github.com/pybrain/pybrain/blob/master/pybrain/optimization/distributionbased/rank1.py
https://github.com/pybrain/pybrain/blob/master/pybrain/optimization/distributionbased/snes.py
https://github.com/pybrain/pybrain/blob/master/pybrain/optimization/distributionbased/ves.py
https://github.com/pybrain/pybrain/blob/master/pybrain/optimization/distributionbased/xnes.py
https://github.com/scikit-optimize/scikit-optimize (Now it is not actively maintained: Last update - Oct 12, 2021.)
https://github.com/strongio/evolutionary-optimization (Now it is not actively maintained: Last update - Jan 22, 2020.)
https://github.com/uber/fiber ( Now it is not actively maintained: Last update - Mar 15, 2021.)
R
https://cran.r-project.org/web/views/Optimization.html
https://cran.r-project.org/web/packages/adagio/index.html (NM/HJ)
https://cran.r-project.org/web/packages/CEoptim/index.html (CEM)
https://cran.r-project.org/web/packages/cmaes/index.html (CMA-ES)
https://cran.r-project.org/web/packages/DEoptim/index.html (DE)
https://cran.r-project.org/web/packages/DEoptimR/index.html (JDE)
https://cran.r-project.org/web/packages/genalg/index.html (GA)
https://cran.r-project.org/web/packages/GenSA/index.html (SA)
https://cran.r-project.org/web/packages/neldermead/index.html (NM)
https://cran.r-project.org/web/packages/NMOF/index.html (DE/GA/PSO/SA)
https://cran.r-project.org/web/packages/pso/index.html (PSO)
https://cran.r-project.org/web/packages/RCEIM/index.html (CEM)
https://cran.r-project.org/web/packages/rCMA/index.html (CMA-ES)
https://cran.r-project.org/web/packages/rgenoud/index.html (GA)
https://github.com/hzambran/hydroPSO (Now it is not actively maintained.)
IOHanalyzer is a performance analyzer for Iterative Optimization Heuristics (IOHs).
Matlab
https://cse-lab.seas.harvard.edu/cse-lab-software (Now it is not actively maintained.)
https://divis-gmbh.de/es-software/ (ES)
The Octave source code (proprietary implementations) can be downloaded only for non-commercial use.
https://github.com/ProbabilisticNumerics/entropy-search (ESEGO)
C
https://github.com/CMA-ES/c-cmaes (Now it is not actively maintained.)
C++
https://github.com/chgagne/beagle (Now it is not actively maintained.)
https://github.com/CMA-ES/libcmaes (CMA-ES)
https://github.com/Shark-ML/Shark (Now it is not actively maintained.) * https://github.com/Shark-ML/Shark/blob/master/include/shark/Algorithms/DirectSearch/VDCMA.h (VD-CMA) * https://github.com/Shark-ML/Shark/blob/master/include/shark/Algorithms/DirectSearch/LMCMA.h (LM-CMA)
http://lancet.mit.edu/ga/ ( Now it is not actively maintained: Last update - 2007-03-07. )
https://www.cs.wm.edu/~va/software/DirectSearch/direct_code/
Java
https://github.com/GMUEClab/ecj (https://cs.gmu.edu/~eclab/projects/ecj/)
https://github.com/sdarg/opt4j/ (https://sdarg.github.io/opt4j/)
https://www.isa.us.es/fom/modules/portalWFInterface/init.php (Discrete Optimization)
https://jmetal.sourceforge.net/ (Now it is not actively maintained.)
http://www.jamesframework.org/ ( Now it is not actively maintained: Last update - Aug 16, 2016. )
https://github.com/dwdyer/watchmaker (Now it is not actively maintained.)
C#
Others
https://github.com/CMA-ES is a collection of various implementations of the powerful CMA-ES algorithm.
http://zhar.net/howto/html/ (Now it is not actively maintained.)
https://sop.tik.ee.ethz.ch/pisa/principles.html (Now it is not actively maintained.)
For experimental comparisons, refer to e.g., 2021 for MOO.