This repository contains the source code and the resources related to the paper "Bayesian Optimization over Permutation Spaces" published at AAAI'22 conference.
We provided three real-world benchmarks to drive future research on this important problem. They are described below:
Floorplanning:
Cell Placement
Heterogeneous Manycore Design
As discussed in the paper, we propose two algorithms: BOPS-T and BOPS-H.
The floorplanning directory contains two main files: floorplan_kendall.py
and floorplan_mallows.py
for BOPS-T and BOPS-H respectively.
In floorplan_mallows.py
, evaluate_floorplan
method defines a call to the black-box objective function and bo_loop
is the entry point for the code.
In bo_loop
, n_init
is the number of initial evaluations to initialize the GP surrogate model. The total budget is given by n_evals-n_init
. We use the Expected improvement acquisition function which is optimized via local search with multiple restarts. The number of restarts can be changed in line 127.
BOPS-T utilizes an SDP solver (for acquisition function optimization) implemented here. BOPS-H is built on top of GPyTorch and BoTorch libraries. We thank the original authors for their code.