optimas-org / optimas

Optimization at scale, powered by libEnsemble
https://optimas.readthedocs.io
Other
22 stars 13 forks source link

PyPI Conda Version tests badge Documentation Status DOI License


optimas logo

Optimization at scale, powered by libEnsemble

Explore the docs »

View Examples · Support · API Reference

Optimas is a Python library designed for highly scalable optimization, from laptops to massively-parallel supercomputers.

Key Features

Installation

You can install Optimas from PyPI (recommended):

python -m pip install "optimas[all]"

from conda-forge:

conda install optimas --channel conda-forge

or directly from GitHub:

python -m pip install "optimas[all] @ git+https://github.com/optimas-org/optimas.git"

Make sure mpi4py is available in your environment before installing optimas. For more details, check out the full installation guide. We have also prepared dedicated installation instructions for some HPC systems such as JUWELS (JSC), Maxwell (DESY) and Perlmutter (NERSC).

Documentation

For more information on how to use Optimas, check out the documentation. You'll find installation instructions, a user guide, examples and the API reference.

Support

Need more help? Join our Slack channel or open a new issue.

Citing optimas

If your usage of Optimas leads to a scientific publication, please consider citing the original paper:

@article{PhysRevAccelBeams.26.084601,
    title     = {Bayesian optimization of laser-plasma accelerators assisted by reduced physical models},
    author    = {Ferran Pousa, A. and Jalas, S. and Kirchen, M. and Martinez de la Ossa, A. and Th\'evenet, M. and Hudson, S. and Larson, J. and Huebl, A. and Vay, J.-L. and Lehe, R.},
    journal   = {Phys. Rev. Accel. Beams},
    volume    = {26},
    issue     = {8},
    pages     = {084601},
    numpages  = {9},
    year      = {2023},
    month     = {Aug},
    publisher = {American Physical Society},
    doi       = {10.1103/PhysRevAccelBeams.26.084601},
    url       = {https://link.aps.org/doi/10.1103/PhysRevAccelBeams.26.084601}
}

and libEnsemble:

@article{Hudson2022,
    title   = {{libEnsemble}: A Library to Coordinate the Concurrent
                Evaluation of Dynamic Ensembles of Calculations},
    author  = {Stephen Hudson and Jeffrey Larson and John-Luke Navarro and Stefan M. Wild},
    journal = {{IEEE} Transactions on Parallel and Distributed Systems},
    volume  = {33},
    number  = {4},
    pages   = {977--988},
    year    = {2022},
    doi     = {10.1109/tpds.2021.3082815}
}