Olympus
provides a consistent and easy-to-use framework for benchmarking optimization algorithms. With olympus
you can:
- Build optimization domains using continuous, discrete and categorical parameter types.
- Access a suite of 23 experiment planning algortihms via a simple and consistent interface
- Access 33 experimentally-derived benchmarks and 33 analytical test functions for optimization benchmarks
- Easily integrate custom optimization algorithms
- Easily integrate custom datasets, which can be used to train models for custom benchmarks
- Enjoy extensive plotting and analysis options for visualizing your benchmark experiments
You can find more details in the documentation.
Olympus
can be installed with pip
:
pip install olymp
The package can also be installed via conda
:
conda install -c conda-forge olymp
Finally, the package can be built from source:
git clone https://github.com/aspuru-guzik-group/olympus.git
cd olympus
python setup.py develop
You can explore Olympus
using the following Colab notebook:
The installation only requires:
python >= 3.6
numpy
pandas
Additional libraries are required to use specific modules and objects. Olympus
will alert you about these requirements as you try access the related functionality.
The following projects have used Olympus
to streamline the benchmarking of optimization algorithms.
- Bayesian optimization with known experimental and design constraints for chemistry applications
- Golem: an algorithm for robust experiment and process optimization
- Equipping data-driven experiment planning for Self-driving Laboratories with semantic memory: case studies of transfer learning in chemical reaction optimization
Olympus
is an academinc research software. If you make use of it in scientific publications, please cite the following articles:
@article{hase_olympus_2021,
author = {H{\"a}se, Florian and Aldeghi, Matteo and Hickman, Riley J. and Roch, Lo{\"\i}c M. and Christensen, Melodie and Liles, Elena and Hein, Jason E. and Aspuru-Guzik, Al{\'a}n},
doi = {10.1088/2632-2153/abedc8},
issn = {2632-2153},
journal = {Machine Learning: Science and Technology},
month = jul,
number = {3},
pages = {035021},
title = {Olympus: a benchmarking framework for noisy optimization and experiment planning},
volume = {2},
year = {2021}
}
@misc{hickman_olympus_2023,
author = {Hickman, Riley and Parakh, Priyansh and Cheng, Austin and Ai, Qianxiang and Schrier, Joshua and Aldeghi, Matteo and Aspuru-Guzik, Al{\'a}n},
doi = {10.26434/chemrxiv-2023-74w8d},
language = {en},
month = may,
publisher = {ChemRxiv},
shorttitle = {Olympus, enhanced},
title = {Olympus, enhanced: benchmarking mixed-parameter and multi-objective optimization in chemistry and materials science},
urldate = {2023-06-21},
year = {2023},
}
The preprint is also available at https://arxiv.org/abs/2010.04153.
Olympus
is distributed under an MIT License.