[−][src]Struct optimization_engine::core::panoc::PANOCEngine
Engine for PANOC algorithm
Methods
impl<'a, GradientType, ConstraintType, CostType> PANOCEngine<'a, GradientType, ConstraintType, CostType> where
GradientType: Fn(&[f64], &mut [f64]) -> i32,
CostType: Fn(&[f64], &mut f64) -> i32,
ConstraintType: Constraint,
[src]
GradientType: Fn(&[f64], &mut [f64]) -> i32,
CostType: Fn(&[f64], &mut f64) -> i32,
ConstraintType: Constraint,
pub fn new(
problem: Problem<GradientType, ConstraintType, CostType>,
cache: &'a mut PANOCCache
) -> PANOCEngine<'a, GradientType, ConstraintType, CostType>
[src]
problem: Problem<GradientType, ConstraintType, CostType>,
cache: &'a mut PANOCCache
) -> PANOCEngine<'a, GradientType, ConstraintType, CostType>
Construct a new Engine for PANOC
The engine owns a problem specification borrows a mutable reference
to a PANOCCache
object which is created externally once
Arguments
problem
problem specification (instance of Problem)cache
an instance of PANOCCache
Trait Implementations
impl<'a, GradientType, ConstraintType, CostType> AlgorithmEngine for PANOCEngine<'a, GradientType, ConstraintType, CostType> where
GradientType: Fn(&[f64], &mut [f64]) -> i32,
CostType: Fn(&[f64], &mut f64) -> i32,
ConstraintType: Constraint,
[src]
GradientType: Fn(&[f64], &mut [f64]) -> i32,
CostType: Fn(&[f64], &mut f64) -> i32,
ConstraintType: Constraint,
Implementation of the step
and init
methods of [trait.AlgorithmEngine.html]
fn step(&mut self, u_current: &mut [f64]) -> bool
[src]
PANOC step
Performs a step of PANOC, including the line search
Arguments
u_current
on entry is the current iterate; on exit, it is updated with the next iterate of PANOC
fn init(&mut self, u_current: &mut [f64])
[src]
Initialization of PANOC
Computes a number of essential quantities before the start of PANOC iterations
There include the computation of the cost and gradient of the cost at the initial
point, the computation of an initial estimation of the Lipschitz constant of the
gradient of the cost at the initial point, initial estimates for gamma
and sigma
,
a gradient step and a half step (projected gradient step)
Auto Trait Implementations
impl<'a, GradientType, ConstraintType, CostType> Send for PANOCEngine<'a, GradientType, ConstraintType, CostType> where
ConstraintType: Send,
CostType: Send,
GradientType: Send,
ConstraintType: Send,
CostType: Send,
GradientType: Send,
impl<'a, GradientType, ConstraintType, CostType> Sync for PANOCEngine<'a, GradientType, ConstraintType, CostType> where
ConstraintType: Sync,
CostType: Sync,
GradientType: Sync,
ConstraintType: Sync,
CostType: Sync,
GradientType: Sync,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,