README.md 5.29 KB
Newer Older
1
limbo [![Build Status](https://travis-ci.org/resibots/limbo.svg?branch=master)](https://travis-ci.org/resibots/limbo) [![DOI](http://joss.theoj.org/papers/10.21105/joss.00545/status.svg)](https://doi.org/10.21105/joss.00545)
2
============
JB Mouret's avatar
JB Mouret committed
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
12
13
Citing Limbo
------------
If you use Limbo in a scientific paper, please cite:
JB Mouret's avatar
JB Mouret committed
14
15


16
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](http://joss.theoj.org/papers/10.21105/joss.00545). *The Journal of Open Source Software*.
17
18

In BibTex:
19
20
21

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


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

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

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

47

Jean-Baptiste Mouret's avatar
Jean-Baptiste Mouret committed
48
49
Main features
-------------
JB Mouret's avatar
JB Mouret committed
50
51
52
53
- 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.
54
- 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
55
56
57
- Purposely small to be easily maintained and quickly understood

Scientific articles that use Limbo
58
----------------------------------
59
60
- 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)*.
61
62
- 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
63
64
65
66
67
- 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.*
68

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