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 installThis 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_containerWe 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 directoryThe results will be stored in the results directory.