« Back to top page

Semidefinite Programming

Semidefinite Programming

BOCS (Bayesian Optimization of Combinatorial Structures)

Abstract This package implements BOCS (Baptista & Poloczek, ICML 2018) for Optuna. BOCS optimizes expensive black-box functions over binary decisions, for example which features, components or assets to include. In each trial, BOCS: fits a second-order model of the objective, f(x) = a_0 + sum_j a_j x_j + sum_{i<j} a_ij x_i x_j, whose coefficients have a sparsity-inducing horseshoe prior, sampled with a Gibbs sampler; draws one coefficient vector from the posterior (Thompson sampling); proposes the binary point that maximizes it.