https://github.com/aspuru-guzik-group/olympus

Olympus: a benchmarking framework for noisy optimization and experiment planning

https://github.com/aspuru-guzik-group/olympus

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, rsc.org
  • Committers with academic emails
    2 of 7 committers (28.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.8%) to scientific vocabulary

Keywords

chemistry experimental-design machine-learning materials-science optimization
Last synced: 11 months ago · JSON representation

Repository

Olympus: a benchmarking framework for noisy optimization and experiment planning

Basic Info
Statistics
  • Stars: 88
  • Watchers: 11
  • Forks: 28
  • Open Issues: 27
  • Releases: 0
Topics
chemistry experimental-design machine-learning materials-science optimization
Created almost 6 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Olympus: a benchmarking framework for noisy optimization and experiment planning

Build Status codecov Code style: black

alt text

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.

Installation

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:

Open In Colab

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.

Use cases

The following projects have used Olympus to streamline the benchmarking of optimization algorithms.

Citation

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

``` @article{haseolympus2021, 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{hickmanolympus2023, 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.

License

Olympus is distributed under an MIT License.

Owner

  • Name: Aspuru-Guzik group repo
  • Login: aspuru-guzik-group
  • Kind: organization

GitHub Events

Total
  • Watch event: 9
  • Member event: 2
  • Push event: 1
  • Pull request event: 3
  • Fork event: 5
  • Create event: 1
Last Year
  • Watch event: 9
  • Member event: 2
  • Push event: 1
  • Pull request event: 3
  • Fork event: 5
  • Create event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 148
  • Total Committers: 7
  • Avg Commits per committer: 21.143
  • Development Distribution Score (DDS): 0.243
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
rileyhickman r****3@g****m 112
priyansh-1902 7****2 16
rhickman r****n@v****l 8
Matteo Aldeghi m****h@m****e 6
Florian Häse h****n@g****m 3
Cyrille Lavigne c****e@m****a 2
Sterling G. Baird 4****d 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 28
  • Total pull requests: 9
  • Average time to close issues: 8 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 10
  • Total pull request authors: 8
  • Average comments per issue: 0.93
  • Average comments per pull request: 0.22
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 23 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sgbaird (10)
  • matteoaldeghi (9)
  • jingexu (1)
  • GuochenZhou (1)
  • wiseodd (1)
  • j-h-CoDe (1)
  • JurgisR (1)
  • qai222 (1)
  • ennichita (1)
  • mwleklin (1)
Pull Request Authors
  • rileyhickman (2)
  • gkwt (2)
  • EliaSavino (2)
  • qai222 (1)
  • felix-s-k (1)
  • clavigne (1)
  • priyansh-1902 (1)
  • sgbaird (1)
Top Labels
Issue Labels
bug (6) enhancement (5) documentation (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 453 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 4
  • Total versions: 1
  • Total maintainers: 1
pypi.org: olymp

Benchmarking framework for noisy optimization and experiment planning

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 4
  • Downloads: 453 Last month
Rankings
Dependent packages count: 4.7%
Dependent repos count: 7.5%
Average: 8.0%
Stargazers count: 8.3%
Forks count: 8.9%
Downloads: 10.6%
Maintainers (1)
Last synced: 11 months ago

Dependencies

docs/requirements.txt pypi
  • m2r2 *
  • msmb_theme *
  • nbsphinx *
  • sphinx *
  • sphinx_rtd_theme *
extra_requirements.txt pypi
  • SQSnobFit *
  • botorch *
  • cma *
  • deap *
  • dragonfly-opt *
  • gpyopt *
  • gryffin *
  • hebo *
  • hyperopt *
  • matplotlib *
  • pandas *
  • phoenics *
  • pyDOE *
  • pyswarms *
  • seaborn *
  • silence-tensorflow *
  • sobol-seq ==0.2.0
  • sqlalchemy *
  • tensorflow ==1.15
  • tensorflow-probability ==0.8
pyproject.toml pypi
requirements.txt pypi
  • SQSnobFit *
  • cloudpickle ==1.1.1
  • cma *
  • deap *
  • gpyopt *
  • hyperopt *
  • matplotlib *
  • pandas *
  • phoenics *
  • pkginfo *
  • protobuf *
  • pyDOE *
  • pyswarms *
  • pyyaml *
  • scikit-learn *
  • scipy *
  • seaborn *
  • setuptools >=41.0.0
  • silence-tensorflow *
  • silence_tensorflow *
  • sobol_seq *
  • sqlalchemy *
  • tensorflow ==1.15
  • tensorflow-probability ==0.8
setup.py pypi
  • matplotlib *
  • numpy *