Official Resources
- Homepage: https://sites.utu.fi/boss/
- Source Repository: https://gitlab.com/cest-group/boss
- Documentation: https://cest-group.gitlab.io/boss/
- License: Apache License 2.0
Overview
BOSS (Bayesian Optimization Structure Search) is an active machine learning technique for accelerated global exploration of property phase space and structure determination. Developed by the Computational Electronic Structure Theory (CEST) group at Aalto University and the Materials Informatics Laboratory at the University of Turku, BOSS uses Bayesian optimization (BO) with active learning to iteratively build a surrogate model of target properties such as potential energy.
BOSS employs Gaussian process (GP) surrogate models with uncertainty-led exploration/exploitation sampling strategy, allowing quick convergence with a modest number of data acquisitions. The target property is optimized via automatic detection of global and local minima extracted from the N-dimensional surrogate model. BOSS was conceived by Milica Todorović and Patrick Rinke in collaboration with Jukka Corander and Michael Gutmann. The Python package is available via pip (aalto-boss) and is under continuous development.
Scientific domain: Materials informatics, Bayesian optimization, structure search
Target user community: Computational scientists and experimentalists applying ML to materials discovery
Theoretical Methods
- Bayesian optimization (BO) with active learning
- Gaussian process (GP) surrogate modeling
- Automatic GP hyperparameter optimization
- Uncertainty-based acquisition functions
- Multi-task and multi-objective optimization
- Global and local minima detection from surrogate model
- Phase space exploration in reduced dimensions (<10D)
Capabilities (CRITICAL)
- Global exploration of energy and property phase space
- Accelerated structure determination
- Automatic Gaussian process hyperparameter optimization
- Various acquisition functions for different BO tasks
- Global and local minima extraction from surrogate model
- Wide range of postprocessing tools
- Simple Python user function interface to external software
- Applicable to both computational and experimental data
- Chemical building block approach for dimensionality reduction
- Materials, processes, and device optimization
Inputs & Outputs
Input formats:
- Python user function script (interfaces to simulation software)
- Domain bounds and parameters
- Acquisition function selection
- GP kernel and hyperparameter settings
Output data types:
- Surrogate model of target property
- Global and local minima (structures and properties)
- Convergence metrics and model uncertainty
- Postprocessing visualizations
- Phase space maps
Interfaces & Ecosystem
- Programming language: Python (pip install aalto-boss)
- Simulation interfaces: Simple user function scripts for any software
- GP backend: GPy-based Gaussian process implementation
- Development: Aalto University (CEST group) and University of Turku
- Platforms: Linux, macOS (Python >=3.10)
Limitations & Known Constraints
- Surrogate model typically constructed in <10D phase space
- Requires dimensionality reduction for complex systems
- GP scaling can be challenging for very high-dimensional problems
- Model quality depends on kernel and hyperparameter choices
- Number of initial random samples affects convergence
Performance Characteristics
- Quick convergence with modest number of data acquisitions
- Active learning minimizes expensive function evaluations
- GP model enables uncertainty quantification
- Parallel batch evaluations possible with some acquisition functions
- Efficient for systems describable in <10D
Comparison with Other Codes
- vs USPEX: USPEX uses evolutionary algorithms; BOSS uses Bayesian optimization
- vs GASP: GASP uses genetic algorithm; BOSS uses GP-based active learning
- vs CALYPSO: CALYPSO uses particle swarm; BOSS uses uncertainty-led sampling
- vs standard BO libraries: BOSS is specialized for materials science with structure search tools
Best Practices
- Use chemical building blocks to reduce dimensionality
- Start with sufficient random samples for GP initialization
- Choose appropriate acquisition function (EI, LCB, etc.) for task
- Use automatic hyperparameter optimization for reliable convergence
- Interface to DFT codes via simple Python user function
- Leverage postprocessing tools for model analysis
Verification & Sources
Primary sources:
- BOSS website: https://sites.utu.fi/boss/
- GitLab repository: https://gitlab.com/cest-group/boss
- PyPI: https://pypi.org/project/aalto-boss/
- M. Todorović et al., npj Comput. Mater. (2019) - BOSS methodology
Confidence: VERIFIED - Official website, GitLab, and PyPI all confirmed accessible