Resibots Limbo Save

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

Project README

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

Open Source Agenda is not affiliated with "Resibots Limbo" Project. README Source: resibots/limbo

Open Source Agenda Badge

Open Source Agenda Rating