README.md
July 9, 2026 · View on GitHub
MultiBgolearn
Multi-Objective Bayesian Global Optimization Framework for Materials Design
English | 中文 | 日本語 | 한국어 | Deutsch
Quick Links
| Resource | Description | Path |
|---|---|---|
| Bgolearn | Unified Bayesian optimization framework | github.com/Bin-Cao/Bgolearn |
| Bgolearn Multi Object Module: MultiBgolearn | Multi-objective optimization module | github.com/Bin-Cao/MultiBgolearn |
| Bgolearn official GUI: BgoFace | Official graphical user interface | github.com/Bgolearn/BgoFace |
| CodeDemo | Example code and datasets | github.com/Bgolearn/CodeDemo |
The Bgolearn project has received support from the Shanghai Artificial Intelligence Open Source Award Project Support Plan (2025) (上海市人工智能开源奖励项目支持计划, 2025, Project).
Overview
MultiBgolearn is a Python package for multi-objective Bayesian global optimization (MOBO) in materials design. It extends the single-objective Bgolearn framework to support simultaneous optimization of multiple material properties, making it suitable for real-world materials discovery tasks where trade-offs between competing objectives are common.
Features
- Implements multiple MOBO algorithms, including Expected Hypervolume Improvement (EHVI), Probability of Improvement (PI), Upper Confidence Bound (UCB), and q-Noisy Expected Hypervolume Improvement (qNEHVI).
- Supports simultaneous optimization of multiple target properties.
- Provides flexible surrogate model selection, including RandomForest, GradientBoosting, SVR, GaussianProcess, and more.
- Supports automatic or user-defined surrogate model selection.
- Uses bootstrap iterations for uncertainty quantification when needed.
Installation
pip install MultiBgolearn
Note: If installation of the dependency pygmo fails with pip, install it through conda:
conda install -c conda-forge pygmo
Usage
from MultiBgolearn import bgo
dataset_path = "./data/dataset.csv"
VSdataset = "virtual_sample.xlsx"
object_num = 3
VS_recommended, improvements, index = bgo.fit(
dataset_path,
VSdataset,
object_num,
max_search=True,
method="EHVI",
assign_model="GaussianProcess",
bootstrap=5,
)
Citation
If you use Bgolearn or MultiBgolearn in your work, please cite:
@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}
}
Contributing
Contributions are welcome. Please open an issue or submit a pull request.
License
This project is licensed under the MIT License. See LICENSE for details.