A unified Bayesian optimization framework for accelerating materials discovery.
Paper | Homepage | Handbook | Report
Bgolearn is a flexible and extensible Python package for Bayesian Global Optimization (BGO). It is designed for active learning, adaptive sampling, and data-efficient materials discovery, especially in high-throughput experimental and computational workflows.
The framework helps researchers balance exploration and exploitation, identify promising candidates with fewer trials, and connect optimization algorithms with practical materials design tasks.
The Bgolearn project has received support from the Shanghai Artificial Intelligence Open Source Award Project Support Plan (2025) (上海市人工智能开源奖励项目支持计划, Project).
| Resource | Description | Link |
|---|---|---|
| Bgolearn | Core Bayesian optimization framework | github.com/Bin-Cao/Bgolearn |
| MultiBgolearn | Multi-object optimization module for Bgolearn | github.com/Bin-Cao/MultiBgolearn |
| BgoFace | Official graphical user interface for Bgolearn | github.com/Bgolearn/BgoFace |
| CodeDemo | Example code and datasets | github.com/Bgolearn/CodeDemo |
| Handbook | Official online documentation | bgolearn.netlify.app |
| Feature | What it provides |
|---|---|
| Bayesian optimization core | Gaussian-process-based surrogate modeling for data-efficient optimization |
| Active learning workflow | Adaptive sampling strategies for iterative experiment and simulation design |
| Acquisition functions | EI, PI, UCB, uncertainty-aware selection, and extensible custom strategies |
| Materials-oriented design | Workflows for composition, processing, structure-property, and performance optimization |
| Multi-object optimization | Extension support through MultiBgolearn |
| GUI support | Interactive operation through the official BgoFace interface |
| Type | Link |
|---|---|
| Video tutorial | BiliBili: Intro to BgoFace |
| Example code and datasets | CodeDemo Repository |
| Package statistics | Pepy download statistics |
| Project | Role |
|---|---|
| Bgolearn | Core source code of the Bayesian Global Optimization framework |
| MultiBgolearn | Multi-objective optimization extension |
| BgoFace | Official GUI for interactive BGO workflows |
| CodeDemo | Example scripts and datasets |
| MLMD | Programming-free platform for ML-based materials design |
| VSGenerator | Dynamic virtual-space generation neural network |
If you use Bgolearn, or the related examples in your research, please cite the relevant work:
@article{Cao2026Bgolearn,
author = {Bin Cao and Jie Xiong and Jiaxuan Ma and Yuan Tian and Yirui Hu and Mengwei He and Longhan Zhang and Jiayu Wang and Jian Hui and Li Liu and Dezhen Xue and Turab Lookman and Jun Wang and Tong-Yi Zhang},
title = {Bgolearn: a unified Bayesian optimization framework for accelerating materials discovery},
journal = {npj Computational Materials},
year = {2026},
volume = {12},
pages = {Article xxx},
doi = {10.1038/s41524-026-02226-3},
url = {https://doi.org/10.1038/s41524-026-02226-3}
}
Explore more publications and applications using Bgolearn on Google Scholar.
Contributions, issues, and suggestions are welcome. If Bgolearn supports your work, please consider starring the Bgolearn repository.