Approaches

HyperOpt

publications:

[BYC13].

bibtex:

bergstra2013making

repository:

GitHub, PyPI

supports:

cont, int, cat

approach-key:

hyperopt

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 3)

--int-conversion-mode

How to convert integer variables. Choose from quniform or randint. (default: quniform)

Random Search (via HyperOpt)

publications:

[BYC13].

bibtex:

bergstra2013making

supports:

cont, int, cat

approach-key:

randomsearch

repository:

GitHub, PyPI

SMAC3

publications:

[HHLB10], [HHLB11]

bibtex:

hutter2010sequential-extended, hutter2011sequential

repository:

GitHub, PyPI

supports:

cont, int, cat

approach-key:

smac

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 3)

--deterministic

Whether to run SMAC in deterministic mode. (default: false)

Warning

Non-deterministic mode spends a significant portion of its evaluation budget re-evaluating previous solutions. Enabling deterministic mode disables this, and may therefore provide better performance.

DONE

publications:

[BliekVerstraeteVerhaegenWahls18]

bibtex:

DONEpaper

repository:

GitHub

supports:

cont

approach-key:

donejl

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 0)

--n-basis

The number of basis functions (default: 2000)

--sigma-coeff

Variance of initial random fourier expansion coefficients. (default: \(\min(0.1, {d}^{-0.5})\), with \(d\) the dimensionality of the function under test)

--sigma-s

Variance for surrogate exploration (default: \(\min(0.1, {d}^{-0.5})\), with \(d\) the dimensionality of the function under test)

--sigma-f

Variance for function exploration (default: \(\min(0.1, {d}^{-0.5})\), with \(d\) the dimensionality of the function under test)

Note

DONE is sensitive to its parameters. The default sigma values are for a normalized search space. If either the input or output values are very large, performance may suffer.

IDONE

publications:

[BVdW19]

bibtex:

bliek2019black

repository:

BitBucket

supports:

int, cat (as interpreted as integer / binarized)

approach-key:

idone

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 5)

--model

The kind of model to use. Choose between basic and advanced. (default: advanced)

--binarize-categorical

Whether to binarize categorical variables. Will turn a categorical variable with \(k\) possible values, into \(\log_2(k)\) binary (0 or 1) categorical variables. (default: false)

--binarize-int

Whether to binarize integer variables. Similar to --binarize-categorical, will turn a integer variable with \(k\) possible values, into \(\log_2(k)\) binary (0 or 1) integer variables. (default: false)

--sampling

What kind of random sampling to perform to motivate exploration. Can be none, thompson or uniform. (default: none)

--scaling

Whether to perform scaling based on the first sample. (default: false)

--expl-prob

Sets the probability of performing an exploration step for each variable. Can be normal or larger. (default: normal)

--internal-logging

Whether to emit IDONE’s internal logfiles. (default: false)

MVRSM

publications:

[BVdW20]

bibtex:

bliek2020black

repository:

GitHub

supports:

cont, int, cat (as interpreted as integer / binarized).

Note

Note that behaviour differs (defaults to a fixed 1000 of basis functions) in the case that the function is only continuous.

approach-key:

mvrsm

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 5)

--model

The kind of model to use. Choose between basic and advanced. (default: advanced)

--binarize-categorical

Whether to binarize categorical variables. Will turn a categorical variable with \(k\) possible values, into \(\log_2(k)\) binary (0 or 1) categorical variables. (default: false)

--scaling

Whether to perform scaling based on the first sample. (default: false)

CoCaBO

publications:

[RAN+19]

bibtex:

ru2019bayesian

repository:

GitHub

supports:

cont, int (interpreted as categorical), cat.

Currently requires at least one continuous (cont) and one discrete (int, cat) variable.

approach-key:

cocabo

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 24)

bayesianoptimization

bibtex:

bayesianoptimization

repository:

GitHub, PyPI

supports:

cont, int (via rounding), cat (interpreted as integer, via rounding)

approach-key:

bayesianoptimization

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 5)

pyGPGO

publications:

[JG17]

bibtex:

pygpgo, Jimenez2017

repository:

GitHub, PyPI

supports:

cont, int (via rounding), cat (interpreted as integer, via rounding)

Note

Built-in support for integers is not used due to crashes.

approach-key:

pygpgo

parameters:
--rand-evals

The number of random evaluations to perform before utilizing the surrogate model. (default: 3)