Skip to content

Shangda-Yang/MLMCBO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MLMCBO

MLMCBO is a library for the Multilevel Monte Carlo Bayesian Optimization method [to be linked to arxiv paper]. 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages