POO | R Documentation |
Global optimization of a blackbox function given a finite budget of noisy evaluations, via the Parallel Optimistic Optimization algorithm. The knowledge of the function's smoothness is not required.
POO(f, horizon = 100, noise.level, rhomax = 20, nu = 1)
f |
function to maximize. |
horizon |
maximum number of function evaluations. |
noise.level |
scalar bound on the noise value. |
rhomax |
number of equidistant |
nu |
scalar (> 0) assessing the complexity of the function, along with |
Only 1-dimensional functions defined on [0, 1] are handled so far.
POO uses Hierarchical Optimistic Optimisation (HOO) as a subroutine, whose number is set by rhomax
.
POO
handles more difficult functions than StoSOO
.
Random point evaluated by the best HOO, in the form of a list with elements:
par parameter value at this point,
value noisy value at par
,
best_rho best rho
value.
M. Binois (translation in R code), J.-B. Grill, M. Valko and R. Munos (Python code)
J.-B. Grill, M. Valko and R. Munos (2015), Black-box optimization of noisy functions with unknown smoothness, NIPS, 667-675 https://inria.hal.science/hal-01222915. Python code: https://team.inria.fr/sequel/software/POO/.
## Not run:
#------------------------------------------------------------
# Maximization with POO
#------------------------------------------------------------
set.seed(10)
noise.level <- 0.05
## Define and display objective
ftest <- function(x){return(double_sine(x) + runif(1, min = -noise.level, max = noise.level))}
xgrid <- seq(0, 1, length.out = 1000)
plot(xgrid, sapply(xgrid, double_sine), type = 'l', ylab = "double_sine(x)", xlab = 'x')
## Optimization
Sol <- POO(ftest, horizon = 1000, noise.level = noise.level)
## Display result
abline(v = Sol$par)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.