pub fn minimize_scalar<F>(
fun: F,
bounds: Option<(f64, f64)>,
method: Method,
options: Option<Options>,
) -> Result<ScalarOptimizeResult, OptimizeError>Expand description
Main minimize scalar function
Minimization of scalar function of one variable.
§Arguments
fun- The objective function to be minimizedbounds- Optional bounds as (lower, upper) tuplemethod- Optimization method to useoptions- Optional algorithm options
§Returns
Returns a ScalarOptimizeResult containing the optimization result.
§Examples
use scirs2_optimize::scalar::{minimize_scalar, Method};
fn f(x: f64) -> f64 {
(x - 2.0) * x * (x + 2.0).powi(2)
}
// Using the Brent method
let result = minimize_scalar(f, None, Method::Brent, None)?;
println!("Minimum at x = {}", result.x);
println!("Function value = {}", result.fun);
// Using the bounded method
let bounds = Some((-3.0, -1.0));
let result = minimize_scalar(f, bounds, Method::Bounded, None)?;
println!("Bounded minimum at x = {}", result.x);