Skip to content

Python implementation of Scalable Combinatorial Bayesian Optimization with Tractable Statistical Models

License

Notifications You must be signed in to change notification settings

aryandeshwal/Submodular_Relaxation_BOCS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Scalable Combinatorial Bayesian Optimization with Tractable Statistical models

This repository contains the source code for the paper "Scalable Combinatorial Bayesian Optimization with Tractable Statistical models". In this paper, we employ the submodular relaxation based optimization approach for Binary Quadratic Programs proposed in Ito and Fujimaki to improve the computational-efficiency and accuracy of solving acquisition function optimization (AFO) problems for BOCS which is a state-of-the-art method for black-box optimization of combinatorial input spaces. The repository builds upon the source code provided by the BOCS authors.

Requirements/Installation

The code is implemented in Python and requires the following libraries for different acquisition function optimizers:

  1. graph-tool for submodular relaxation approach
  2. cvxpy and cvxopt for semi-definite relaxation approach

Benchmarks

There are 3 benchmarks provided in the files named example_contamination.py, example_ising.py, and example_bqp.py. They can be run on command line via python 'name_of_the_file'. Most of the code is self-contained and documented. Please e-mail at aryan.deshwal@wsu.edu if you have any issue.

Citation

If you find this code useful, please cite our paper:

@misc{deshwal2020scalable,
    title={Scalable Combinatorial Bayesian Optimization with Tractable Statistical models},
    author={Aryan Deshwal and Syrine Belakaria and Janardhan Rao Doppa},
    year={2020},
    eprint={2008.08177},
    archivePrefix={arXiv},
    primaryClass={cs.LG}.
}