Skip to main content

Module multilevel

Module multilevel 

Source
Expand description

Multi-level and multi-fidelity optimization

Provides coarse-to-fine optimization strategies and variable fidelity model management for expensive function evaluations.

§Overview

Multi-fidelity optimization leverages cheap low-fidelity surrogates to guide expensive high-fidelity evaluations:

High-fidelity:  f_H(x)  (expensive, accurate)
Low-fidelity:   f_L(x)  (cheap, approximate)
Correction:     δ(x) = f_H(x_sampled) - f_L(x_sampled)

§Provided Algorithms

§Example

use scirs2_optimize::multilevel::{
    MultilevelOptimizer, MultilevelOptions, FidelityLevel,
};

// High-fidelity function (expensive)
let high_fi = |x: &[f64]| -> f64 {
    (x[0] - 2.0).powi(2) + (x[1] - 3.0).powi(2)
};
// Low-fidelity function (cheap approximation)
let low_fi = |x: &[f64]| -> f64 {
    (x[0] - 1.8).powi(2) + (x[1] - 2.8).powi(2)
};

let mut optimizer = MultilevelOptimizer::new(
    vec![
        FidelityLevel::new(low_fi, 1.0),
        FidelityLevel::new(high_fi, 10.0),
    ],
    vec![0.0, 0.0],
    MultilevelOptions::default(),
);

let result = optimizer.minimize().expect("valid input");
println!("Minimum at: {:?}", result.x);

Re-exports§

pub use methods::FidelityLevel;
pub use methods::MfRbf;
pub use methods::MfRbfOptions;
pub use methods::MultigridOptimizer;
pub use methods::MultigridOptions;
pub use methods::MultilevelOptimizer;
pub use methods::MultilevelOptions;
pub use methods::MultilevelResult;
pub use methods::TrustHierarchy;
pub use methods::TrustHierarchyOptions;
pub use methods::VariableFidelity;
pub use methods::VariableFidelityOptions;

Modules§

methods
Multi-level and multi-fidelity optimization methods