Module parallel

Source
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§

OptimizationResult
Result from an optimization run
ParallelMultiStart
Parallel multi-start optimization
ParallelOptions
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