Crate scirs2_optimize

Source
Expand description

Optimization module for SciRS

This module provides implementations of various optimization algorithms, modeled after SciPy’s optimize module.

§Submodules

  • unconstrained: Unconstrained optimization algorithms
  • constrained: Constrained optimization algorithms
  • least_squares: Least squares minimization
  • roots: Root finding algorithms

§Examples

// Example of minimizing a function using BFGS
use ndarray::array;
use scirs2_optimize::unconstrained::{minimize, Method};

fn rosenbrock(x: &[f64]) -> f64 {
    let a = 1.0;
    let b = 100.0;
    let x0 = x[0];
    let x1 = x[1];
    (a - x0).powi(2) + b * (x1 - x0.powi(2)).powi(2)
}

let initial_guess = array![0.0, 0.0];
let result = minimize(rosenbrock, &initial_guess, Method::BFGS, None)?;

println!("Solution: {:?}", result.x);
println!("Function value at solution: {}", result.fun);
println!("Number of iterations: {}", result.nit);
println!("Success: {}", result.success);

Re-exports§

pub use error::OptimizeError;
pub use error::OptimizeResult;
pub use result::OptimizeResults;
pub use constrained::minimize_constrained;
pub use least_squares::least_squares;
pub use roots::root;
pub use unconstrained::minimize;

Modules§

constrained
Constrained optimization algorithms
error
Error types for the SciRS2 optimization module
least_squares
Least squares optimization
prelude
result
Optimization result structures
roots
Root finding algorithms
roots_anderson
roots_krylov
unconstrained
Unconstrained optimization algorithms