README.md 5.27 KB
Newer Older
1
limbo [![Build Status](https://travis-ci.org/resibots/limbo.svg?branch=master)](https://travis-ci.org/resibots/limbo)
JB Mouret's avatar
JB Mouret committed
2
3
=====

4
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.
Jean-Baptiste Mouret's avatar
Jean-Baptiste Mouret committed
5

6
7
Documentation & Versions
------------------------
8
The development branch is the [master](https://github.com/resibots/limbo/tree/master) branch. For the latest stable release, check the [release-2.1](https://github.com/resibots/limbo/tree/release-2.1) branch.
9
Documentation is available at: http://www.resibots.eu/limbo
JB Mouret's avatar
JB Mouret committed
10

11
A short paper that introduces the library is available here: https://members.loria.fr/JBMouret/pdf/limbo_paper.pdf
12
13
14
15

Citing Limbo
------------
If you use Limbo in a scientific paper, please cite:
JB Mouret's avatar
JB Mouret committed
16
17


18
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](https://members.loria.fr/JBMouret/pdf/limbo_paper.pdf). *The Journal of Open Source Software*.
19
20

In BibTex:
21
22
23

    @article{cully2018limbo,
        title={{Limbo: A Flexible High-performance Library for Gaussian Processes modeling and Data-Efficient Optimization}},
24
        author={Cully, A. and Chatzilygeroudis, K. and Allocati, F.  and Mouret, J.-B.},
25
26
27
        year={2018},
        journal={{The Journal of Open Source Software}},
        publisher={The Open Journal},
28
        url={https://members.loria.fr/JBMouret/pdf/limbo_paper.pdf}
29
30
31
    }


Jean-Baptiste Mouret's avatar
Jean-Baptiste Mouret committed
32
33
Authors
------
Antoine Cully's avatar
Antoine Cully committed
34
- Antoine Cully (Imperial College): http://www.antoinecully.com
JB Mouret's avatar
JB Mouret committed
35
- Jean-Baptiste Mouret (Inria): http://members.loria.fr/JBMouret
36
- Konstantinos Chatzilygeroudis (Inria): http://costashatz.github.io/
JB Mouret's avatar
JB Mouret committed
37
- Federico Allocati (Inria)
38
39
40

Other contributors
-------------------
41
42
- Vaios Papaspyros (Inria)
- Roberto Rama (Inria)
JB Mouret's avatar
JB Mouret committed
43

JB Mouret's avatar
JB Mouret committed
44
45
Limbo is partly funded by the ResiBots ERC Project (http://www.resibots.eu).

46

Jean-Baptiste Mouret's avatar
Jean-Baptiste Mouret committed
47
48
Main features
-------------
JB Mouret's avatar
JB Mouret committed
49
50
51
52
- 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.
53
- High performance (in particular, Limbo can exploit multi-core computers via Intel TBB and vectorize some operations via [Eigen3](http://eigen.tuxfamily.org/index.php?title=Main_Page))
JB Mouret's avatar
JB Mouret committed
54
55
56
- Purposely small to be easily maintained and quickly understood

Scientific articles that use Limbo
57
----------------------------------
58
59
- Chatzilygeroudis, K., & Mouret, J. B. (2018). [Using Parameterized Black-Box Priors to Scale Up Model-Based Policy Search for Robotics](https://arxiv.org/pdf/1709.06917). *Proceedings of the International Conference on Robotics and Automation (ICRA)*.
- Pautrat, R., Chatzilygeroudis, K., & Mouret, J.-B. (2018). [Bayesian Optimization with Automatic Prior Selection for Data-Efficient Direct Policy Search](https://arxiv.org/pdf/1709.06919). *Proceedings of the International Conference on Robotics and Automation (ICRA)*.
60
61
- Chatzilygeroudis, K., Vassiliades, V. and Mouret, J.-B. (2017). [Reset-free Trial-and-Error Learning for Robot Damage Recovery](https://arxiv.org/abs/1610.04213). *Robotics and Autonomous Systems*.
- Karban P., Pánek D., Mach F. and Doležel, I. (2017). [Calibration of numerical models based on advanced optimization and penalization techniques](https://www.degruyter.com/downloadpdf/j/jee.2017.68.issue-5/jee-2017-0073/jee-2017-0073.pdf). *Journal of Electrical Engineering, 68(5), 396-400*.
Jean-Baptiste Mouret's avatar
Jean-Baptiste Mouret committed
62
63
64
65
66
- Chatzilygeroudis K., Rama R., Kaushik, R., Goepp, D., Vassiliades, V. and Mouret, J.-B. (2017). [Black-Box Data-efficient Policy Search for Robotics](https://arxiv.org/abs/1703.07261). *Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)*.
- Tarapore, D., Clune, J., Cully, A., and Mouret, J.-B. (2016). [How Do Different Encodings Influence the Performance of the MAP-Elites Algorithm?](https://hal.inria.fr/hal-01302658/document). *In Proc. of Genetic and Evolutionary Computation Conference*.
- Cully, A., Clune, J., Tarapore, D., and Mouret, J.-B. (2015). [Robots that can adapt like animals](http://www.nature.com/nature/journal/v521/n7553/full/nature14422.html). *Nature*, 521(7553), 503-507.
- Chatzilygeroudis, K., Cully, A. and Mouret, J.-B. (2016). [Towards semi-episodic learning for robot damage recovery](https://arxiv.org/abs/1610.01407). *Workshop on AI for Long-Term Autonomy at the IEEE International Conference on Robotics and Automation 2016*.
- Papaspyros, V., Chatzilygeroudis, K., Vassiliades, V., and Mouret, J.-B. (2016). [Safety-Aware Robot Damage Recovery Using Constrained Bayesian Optimization and Simulated Priors](https://arxiv.org/pdf/1611.09419v3). *Workshop on Bayesian Optimization at the Annual Conference on Neural Information Processing Systems (NIPS) 2016.*
67

68
Research projects that use Limbo
69
70
--------------------------------
- Resibots. ERC Starting Grant: http://www.resibots.eu/
71
- PAL. H2020 EU project: http://www.pal4u.eu/