Welcome to Bgolearn / 贝叶斯全局优化材料设计算法

Screen Shot 2022-07-30 at 22 34 52

A Bayesian global optimization package for material design GitHub Location : GitHub.

材料设计贝叶斯全局优化软件, GitHub 开源地址 : GitHub.

The latest version : ; 最新版本:


Content / 内容

Screen Shot 2022-09-17 at 12 54 38


Bgolearn is a computational approach that enables material composition-oriented design and performance-oriented optimization. By leveraging existing experimental data, Bgolearn searches for the optimal material composition design within a specified composition space in order to maximize or minimize the desired performance metric. The newly synthesized components obtained from the recommended designs become part of the dataset and are used by Bgolearn to make more reliable recommendations for subsequent designs. This iterative process efficiently identifies new materials with exceptional properties within the given compositional space. Furthermore, simulation processes can replace experimental processes in this framework, making it a powerful tool for accelerating the discovery of new materials.


Bgolearn 用于材料成分定向设计以及性能定向优化过程。通过已有实验数据(样本)及其测试性能,在给定的成分空间中搜索最优的材料成分设计,以将目标性能最大/最小化。推荐的成分通过实验合成后,变成新的数据加入数据集合,Bgolearn将利用更多的数据信息对下一次设计做出更加可靠的推荐。迭代这个过程可以高效地在给定的成分空间中,寻找到具有优秀性能的新材料。其中所有的实验过程也可以通过模拟过程代替。如下图:


Screenshot 2023-04-06 at 16 37 26


Bgolearn guides subsequent material design based on existed experimental data. Which includes utility functions:

Bgolearn 通过已有的实验数据指导后续材料的设计, 包括以下效用函数:

for regression

  • 1.Expected Improvement algorith (期望提升函数)

  • 2.Expected improvement with “plugin” (有“plugin”的期望提升函数)

  • 3.Augmented Expected Improvement (增广期望提升函数)

  • 4.Expected Quantile Improvement (期望分位提升函数)

  • 5.Reinterpolation Expected Improvement (重插值期望提升函数)

  • 6.Upper confidence bound (高斯上确界函数)

  • 7.Probability of Improvement (概率提升函数)

  • 8.Predictive Entropy Search (预测熵搜索函数)

  • 9.Knowledge Gradient (知识梯度函数)


for classification

  • 1.Least Confidence (欠信度函数)

  • 2.Margin Sampling (边界函数)

  • 3.Entropy-based approach (熵索函数)


本算法包基于python开发,主要包括两大模块: 回归任务设计和分类任务设计, 通过pip安装

The package has been developed utilizing the Python programming language, and primarily comprises of two distinct and essential modules: one designed for regression task implementation and the other for classification task implementation. This package can be conveniently installed through the pip command, which enables users to effortlessly incorporate the software into their existing Python environment.


Installing / 安装

  • pip install Bgolearn - install package.

Updating / 更新

  • pip install --upgrade Bgolearn - update project.

Module / 模块

Bgolearn().fit

Bgolearn().test

Maintained by Bin Cao. Please feel free to open issues in the Github or contact Bin Cao (bcao@shu.edu.cn) in case of any problems/comments/suggestions in using the code.