Skip to main content

Module parallel

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 scirs2_core::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