Skip to main content

Module bayesian_opt

Module bayesian_opt 

Source
Expand description

Bayesian Optimization with Gaussian Process Surrogate

Implements Bayesian Optimization for black-box function minimization using a GP surrogate model with RBF or Matern 5/2 kernels. Supports EI, PI, UCB, and Thompson Sampling acquisition functions with hyperparameter optimization via marginal log-likelihood.

§Example

use numrs2::optimize::bayesian_opt::*;

let f = |x: &[f64]| -> f64 { x.iter().map(|xi| (xi - 0.5).powi(2)).sum() };
let config = BayesOptConfig {
    bounds: vec![(0.0, 1.0), (0.0, 1.0)],
    n_initial: 5, n_iterations: 20,
    ..Default::default()
};
let result = bayesian_optimize(f, config).expect("optimization should succeed");
assert!(result.f_best < 0.1);

Structs§

BayesOptConfig
Configuration for Bayesian Optimization.
BayesOptResult
Result of Bayesian Optimization.
GaussianProcess
Gaussian Process (GP) surrogate model for function approximation.

Enums§

AcquisitionType
Acquisition function type for guiding optimization.
KernelType
Kernel function type for the GP surrogate model.

Functions§

bayesian_optimize
Run Bayesian Optimization to minimize the given objective function.