Skip to content

Latest commit

 

History

History
50 lines (32 loc) · 1.67 KB

File metadata and controls

50 lines (32 loc) · 1.67 KB

MLMCBO

MLMCBO is a library for the [Multilevel Monte Carlo Bayesian Optimization method]. The package is based on the package BoTorch.

TL;DR Multilevel Monte Carlo accelerates nested Monte Carlo approximations (sometimes by several orders of magnitude). The current package leverages this technology to speed up the evaluation of lookahead acquisition functions for Bayesian optimization.

Installation

Installation Requirements

  • BoTorch == 0.9.2
  • Python >= 3.9 (BoTorch requirement)
  • NumPy >= 1.18
  • Pandas (for data savings)

Pre-installation

At this development stage it is recommended to create a separate conda environment to minimize possible conflicts.

conda create --name mlmcbo python=3.11
conda activate mlmcbo

Option 1: Editable/dev install

git clone https://github.com/Shangda-Yang/MLMCBO.git
cd MLMCBO
pip install -e .

Getting Started

File tests.py in the tutorials folder demonstrates basic usage of the MLMC q-Expected Improvement (qEI) acquisition functions:

  • MC One-Step Lookahead EI
  • MC One-Step Lookahead qEI
  • MLMC One-Step Lookahead qEI
  • MLMC Two-Step Lookahead qEI (beta)

File testWholeBo.py in the same folder demonstrates an example of a whole BO algorithm using MLMC and MC for two-step look-ahead 1+2-EI and plots the results. File testTwoEI.py in the same folder demonstrates an example of a whole BO algorithm using MLMC and MC for three-step look-ahead 1-EI and plots the results.

=======

License

MLMCBO is licensed under the MIT License – see the LICENSE file for details.