#[repr(C)]pub struct NelderMeadSimplex {
pub vertices: [[f64; 4]; 5],
pub values: [f64; 5],
pub iteration: u32,
pub best_point: [f64; 4],
pub best_value: f64,
pub config: SolverConfig,
pub solver_state: SolverState,
}Expand description
Nelder-Mead simplex optimizer for unconstrained optimization
Fields§
§vertices: [[f64; 4]; 5]Simplex vertices (n+1 points in n dimensions)
values: [f64; 5]Function values at vertices
iteration: u32Current iteration
best_point: [f64; 4]Best point found
best_value: f64§config: SolverConfigSolver configuration
solver_state: SolverStateSolver state
Implementations§
Source§impl NelderMeadSimplex
impl NelderMeadSimplex
Sourcepub fn new(initial_point: [f64; 4], config: SolverConfig) -> Self
pub fn new(initial_point: [f64; 4], config: SolverConfig) -> Self
Create new Nelder-Mead optimizer
Sourcepub fn optimize<F>(&mut self, f: &F) -> SolverResult<OptimizationState>where
F: ObjectiveFunction,
pub fn optimize<F>(&mut self, f: &F) -> SolverResult<OptimizationState>where
F: ObjectiveFunction,
Optimize objective function
Sourcepub fn get_best_solution(&self) -> ([f64; 4], f64)
pub fn get_best_solution(&self) -> ([f64; 4], f64)
Get best solution
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NelderMeadSimplex
impl RefUnwindSafe for NelderMeadSimplex
impl Send for NelderMeadSimplex
impl Sync for NelderMeadSimplex
impl Unpin for NelderMeadSimplex
impl UnsafeUnpin for NelderMeadSimplex
impl UnwindSafe for NelderMeadSimplex
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.