Skip to main content

MultiBgolearn

MultiBgolearn is a Python package for multi-objective Bayesian global optimization (MOBO), with a focus on materials design tasks where several properties must be optimized at the same time.

The package extends the idea of Bgolearn from single-objective optimization to multi-objective optimization. It is suitable for candidate recommendation problems that require balancing competing objectives, such as maximizing one material property while minimizing or constraining another.

Features

  • Multi-objective Bayesian global optimization workflow.
  • Support for common acquisition strategies, including EHVI, PI, UCB, and qNEHVI.
  • Automatic model comparison using leave-one-out cross-validation.
  • Surrogate models based on scikit-learn regressors.
  • Candidate recommendation from a virtual search space.
  • Prediction result export and model-performance visualization.

Basic Usage

from MultiBgolearn.bgo import fit

recommended_data, improvements, index = fit(
    dataset="./data/dataset.csv",
    VSdataset="./data/virtual_space.csv",
    object_num=3,
    max_search=True,
    method="EHVI",
    bootstrap=5,
)

Input Data

dataset should be a .csv, .xlsx, or .xls file. Feature columns should come first, followed by the objective columns. The number of objective columns is specified by object_num.

VSdataset should contain the candidate virtual search space. If the candidate space contains more than 20,000 rows, MultiBgolearn samples 20,000 candidates with a fixed random seed before recommendation.

Main Parameters

  • dataset: path to the observed training dataset.
  • VSdataset: path to the virtual search-space dataset.
  • object_num: number of objective columns in dataset.
  • max_search: True for maximization and False for minimization.
  • method: acquisition method, such as EHVI, PI, UCB, or qNEHVI.
  • assign_model: optional model name. If not provided, MultiBgolearn evaluates available models and recommends the best one.
  • bootstrap: number of bootstrap rounds for uncertainty estimation.
  • batch_size: number of candidates selected for batch acquisition methods.
  • noise_std: observation-noise standard deviation for qNEHVI.

Author

Dr. Bin Cao
Personal homepage: https://bin-cao.github.io/
GitHub: https://github.com/Bin-Cao/MultiBgolearn
Email: bcao686@connect.hkust-gz.edu.cn

For questions, issues, or suggestions, please open an issue on GitHub or contact the author by email.

Metadata

Release files for MultiBgolearn 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for MultiBgolearn 0.1.1
File Size Uploaded
multibgolearn-0.1.1.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for MultiBgolearn 0.1.1
File Interpreter ABI Platform
multibgolearn-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.7 kB

Release files / multibgolearn-0.1.1.tar.gz

Download URL multibgolearn-0.1.1.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8b42f9d745ffdd2fa243b0344f28a91814b411c56713fa0b7f857ba2d8eb5e30
BLAKE2b-256 checksum
How to use checksums
4b4b757a072bb409d670c4d7aeb5bef6cf334426d60327fa58eac462ccee7c0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.19

Release files / multibgolearn-0.1.1-py3-none-any.whl

Download URL multibgolearn-0.1.1-py3-none-any.whl
Size 12.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26ce4ebd3f9eef47cda39bf1f08d5cfcb3b94a110758242271f920593b2eacd2
BLAKE2b-256 checksum
How to use checksums
4c944ddc60aaba56e1d748d680a83d945737ec3a51d72f913ed2d0aec2f2d1fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.19

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page