Skip to content
/ limbo Public

A lightweight framework for Gaussian processes and Bayesian optimization of black-box functions (C++11)

License

Notifications You must be signed in to change notification settings

resibots/limbo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

43c67a6 · Oct 18, 2023
Aug 12, 2020
Aug 9, 2023
Apr 30, 2019
Jun 26, 2018
Oct 18, 2023
Oct 17, 2023
Mar 5, 2018
Aug 13, 2020
Jun 10, 2021
May 22, 2017
Aug 25, 2016
Sep 9, 2018
Jun 9, 2021
Dec 18, 2018
Aug 13, 2020

Repository files navigation

limbo Build Status DOI

Limbo (LIbrary for Model-Based Optimization) is an open-source C++11 library for Gaussian Processes and data-efficient optimization (e.g., Bayesian optimization) that is designed to be both highly flexible and very fast. It can be used as a state-of-the-art optimization library or to experiment with novel algorithms with "plugin" components.

logo

Documentation & Versions

The development branch is the master branch. For the latest stable release, check the release-2.1 branch. Documentation is available at: http://www.resibots.eu/limbo

Citing Limbo

If you use Limbo in a scientific paper, please cite:

Cully, A., Chatzilygeroudis, K., Allocati, F., and Mouret J.-B., (2018). Limbo: A Flexible High-performance Library for Gaussian Processes modeling and Data-Efficient Optimization. The Journal of Open Source Software.

In BibTex:

@article{cully2018limbo,
    title={{Limbo: A Flexible High-performance Library for Gaussian Processes modeling and Data-Efficient Optimization}},
    author={Cully, A. and Chatzilygeroudis, K. and Allocati, F.  and Mouret, J.-B.},
    year={2018},
    journal={{The Journal of Open Source Software}},
    publisher={The Open Journal},
    volume={3},
    number={26},
    pages={545},
    doi={10.21105/joss.00545}
}

Authors

Other contributors

  • Vaios Papaspyros (Inria)
  • Roberto Rama (Inria)

Limbo is partly funded by the ResiBots ERC Project (http://www.resibots.eu).

Main features

  • Implementation of the classic algorithms (Bayesian optimization, many kernels, likelihood maximization, etc.)
  • Modern C++-11
  • Generic framework (template-based / policy-based design), which allows for easy customization, to test novel ideas
  • Experimental framework that allows user to easily test variants of experiments, compare treatments, submit jobs to clusters (OAR scheduler), etc.
  • High performance (in particular, Limbo can exploit multi-core computers via Intel TBB and vectorize some operations via Eigen3)
  • Purposely small to be easily maintained and quickly understood

Scientific articles that use Limbo

Research projects that use Limbo