This is the implementation of the Bounce algorithm for the paper "Bounce: Reliable High-Dimensional Bayesian Optimization for Combinatorial and Mixed Spaces".
Please cite our paper if you use Bounce in your work:
@inproceedings{
papenmeier2023bounce,
title = {Bounce: Reliable High-Dimensional Bayesian Optimization for Combinatorial and Mixed Spaces},
author = {Leonard Papenmeier and Luigi Nardi and Matthias Poloczek},
booktitle = {Advances in Neural Information Processing Systems},
year = {2023},
url = {https://arxiv.org/abs/2307.00618}
}
Bounce uses poetry
for dependency management.
Bounce
requires python>=3.10
. To install poetry
, see here.
To install the dependencies, run
poetry install
This installation will not install all benchmarks.
Especially, all benchmarks inherited from SingularityBenchmark
will not be installed.
The easiest way to install all benchmarks is to install the singularity container (see below).
To install all benchmarks manually, clone the benchmark repository parallel to
this repository and follow the instructions in the README.
To install Singularity, see here. To build the singularity container, run
sudo singularity build bounce.sif singularity_container
We provide a script to run the experiments in the paper.
The script assumes that you installed singularity
and built the singularity container.
The singularity container must be in the same directory as the script and be named bounce.sif
.
To run the experiments in the paper, run
mkdir results # create a directory for the results (necessary!)
sh ./reproduce_results.sh # bounce.sif and results/ must be in the same directory
The results will be stored in the results
directory.