[][src]Trait optimization_engine::core::AlgorithmEngine

pub trait AlgorithmEngine {
    fn step(&mut self, u: &mut [f64]) -> Result<bool, SolverError>;
fn init(&mut self, u: &mut [f64]) -> Result<(), SolverError>; }

Engine supporting an algorithm

An engine is responsible for the allocation of memory for an algorithm, especially memory that is reuasble is multiple instances of the same algorithm (as in model predictive control).

It defines what the algorithm does at every step (see step) and whether the specified termination criterion is satisfied

Required methods

fn step(&mut self, u: &mut [f64]) -> Result<bool, SolverError>

Take a step of the algorithm and return Ok(true) only if the iterations should continue

fn init(&mut self, u: &mut [f64]) -> Result<(), SolverError>

Initializes the algorithm

Loading content...

Implementors

Loading content...