Expand description
Parallel computation utilities for optimization algorithms
This module provides parallel implementations of computationally intensive operations used in optimization algorithms, including:
- Parallel function evaluations
- Parallel gradient approximations
- Multi-start optimization with parallel workers
§Example
use scirs2_optimize::parallel::{parallel_finite_diff_gradient, ParallelOptions};
use ndarray::{array, ArrayView1};
fn objective(x: &ArrayView1<f64>) -> f64 {
x.iter().map(|&xi| xi.powi(2)).sum()
}
let x = array![1.0, 2.0, 3.0];
let options = ParallelOptions::default();
let gradient = parallel_finite_diff_gradient(objective, x.view(), &options);
Structs§
- Optimization
Result - Result from an optimization run
- Parallel
Multi Start - Parallel multi-start optimization
- Parallel
Options - Options for parallel computation
Functions§
- parallel_
evaluate_ batch - Parallel evaluation of multiple points
- parallel_
finite_ diff_ gradient - Parallel finite difference gradient approximation
- parallel_
finite_ diff_ hessian - Parallel computation of Hessian matrix using finite differences
- parallel_
line_ search - Parallel line search