/olympus

Olympus: a benchmarking framework for noisy optimization and experiment planning

Primary LanguagePythonMIT LicenseMIT

Olympus: a benchmarking framework for noisy optimization and experiment planning

Build Status codecov

Olympus provides a consistent and easy-to-use framework for benchmarking optimization algorithms. With olympus you can:

  • Access a suite of 18 experiment planning algortihms via a simple and consistent interface
  • Easily integrate custom optimization algorithms
  • Access 10 experimentally-derived benchmarks emulated with probabilistic models, and 23 analytical test functions for optimization
  • Easily integrate custom datasets, which can be used to train models for custom benchmarks

You can find more details in the documentation.

Installation

Olympus can be installed with pip:

pip install olymp

Dependencies

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.

Citation

Olympus is research software. If you make use of it in scientific publications, please cite the following article:

@misc{olympus,
      title={Olympus: a benchmarking framework for noisy optimization and experiment planning}, 
      author={Florian Häse and Matteo Aldeghi and Riley J. Hickman and Loïc M. Roch and Melodie Christensen and Elena Liles and Jason E. Hein and Alán Aspuru-Guzik},
      year={2020},
      eprint={2010.04153},
      archivePrefix={arXiv},
      primaryClass={stat.ML}
}

License

Olympus is distributed under an MIT License.