Bayesian Adaptive Direct Search (BADS) optimizer
Updated 9 May 2022
BADS is a novel, fast Bayesian optimization algorithm designed to solve difficult optimization problems, in particular related to fitting computational models (e.g., via maximum likelihood estimation). In our benchmarks with real model-fitting problems, BADS performed on par or better than many other common and state-of-the-art MATLAB optimizers, such as fminsearch, fmincon, and cmaes .
BADS is currently being used in many computational labs around the world, with more than a hundred citations and applications ranging from behavioral, cognitive, and computational neuroscience to engineering and economics.
BADS is recommended when no gradient information is available, and the objective function is non-analytical or noisy, for example evaluated through numerical approximation or via simulation. BADS requires no specific tuning and runs off-the-shelf like other built-in MATLAB optimizers such as fminsearch.
*** For extensive information, tutorials and documentation, please visit the GitHub page of the project: https://github.com/lacerbi/bads ***
If you are interested in estimating posterior distributions (i.e., uncertainty and error bars) over parameters, and not just point estimates, you might want to check out Variational Bayesian Monte Carlo (VBMC), a toolbox for Bayesian posterior and model inference which can be used in synergy with BADS: https://github.com/lacerbi/vbmc
 Acerbi, L. & Ma, W. J. (2017). Practical Bayesian Optimization for Model Fitting with Bayesian Adaptive Direct Search. In Advances in Neural Information Processing Systems 30, pages 1834-1844.
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
See release notes for this release on GitHub: https://github.com/lacerbi/bads/releases/tag/v1.0.8
See release notes for this release on GitHub: https://github.com/lacerbi/bads/releases/tag/v1.0.7