Expand description
Optimization module for SciRS
This module provides implementations of various optimization algorithms,
modeled after SciPy’s optimize
module.
§Submodules
unconstrained
: Unconstrained optimization algorithmsconstrained
: Constrained optimization algorithmsleast_squares
: Least squares minimizationroots
: 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