Struct argmin::solver::trustregion::Dogleg
source · pub struct Dogleg<F> { /* private fields */ }
Expand description
§Dogleg method
The Dogleg method computes the intersection of the trust region boundary with a path given by the unconstrained minimum along the steepest descent direction and the optimum of the quadratic approximation of the cost function at the current point.
§Requirements on the optimization problem
The optimization problem is required to implement Gradient
and Hessian
.
§Reference
Jorge Nocedal and Stephen J. Wright (2006). Numerical Optimization. Springer. ISBN 0-387-30303-0.
Implementations§
Trait Implementations§
source§impl<'de, F> Deserialize<'de> for Dogleg<F>where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for Dogleg<F>where
F: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<F: PartialEq> PartialEq for Dogleg<F>
impl<F: PartialEq> PartialEq for Dogleg<F>
source§impl<F: PartialOrd> PartialOrd for Dogleg<F>
impl<F: PartialOrd> PartialOrd for Dogleg<F>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl<O, F, P, H> Solver<O, IterState<P, P, (), H, (), F>> for Dogleg<F>
impl<O, F, P, H> Solver<O, IterState<P, P, (), H, (), F>> for Dogleg<F>
source§fn next_iter(
&mut self,
problem: &mut Problem<O>,
state: IterState<P, P, (), H, (), F>
) -> Result<(IterState<P, P, (), H, (), F>, Option<KV>), Error>
fn next_iter( &mut self, problem: &mut Problem<O>, state: IterState<P, P, (), H, (), F> ) -> Result<(IterState<P, P, (), H, (), F>, Option<KV>), Error>
Computes a single iteration of the algorithm and has access to the optimization problem
definition and the internal state of the solver.
Returns an updated
state
and optionally a KV
which holds key-value pairs used in
Observers.source§fn terminate(
&mut self,
state: &IterState<P, P, (), H, (), F>
) -> TerminationStatus
fn terminate( &mut self, state: &IterState<P, P, (), H, (), F> ) -> TerminationStatus
Used to implement stopping criteria, in particular criteria which are not covered by
(
terminate_internal
. Read moresource§fn init(
&mut self,
_problem: &mut Problem<O>,
state: I
) -> Result<(I, Option<KV>), Error>
fn init( &mut self, _problem: &mut Problem<O>, state: I ) -> Result<(I, Option<KV>), Error>
Initializes the algorithm. Read more
source§fn terminate_internal(&mut self, state: &I) -> TerminationStatus
fn terminate_internal(&mut self, state: &I) -> TerminationStatus
Checks whether basic termination reasons apply. Read more
source§impl<F: ArgminFloat> TrustRegionRadius<F> for Dogleg<F>
impl<F: ArgminFloat> TrustRegionRadius<F> for Dogleg<F>
source§fn set_radius(&mut self, radius: F)
fn set_radius(&mut self, radius: F)
Set current radius.
Needed by TrustRegion
.
§Example
use argmin::solver::trustregion::{Dogleg, TrustRegionRadius};
let mut dl: Dogleg<f64> = Dogleg::new();
dl.set_radius(0.8);
impl<F: Copy> Copy for Dogleg<F>
impl<F: Eq> Eq for Dogleg<F>
impl<F> StructuralPartialEq for Dogleg<F>
Auto Trait Implementations§
impl<F> RefUnwindSafe for Dogleg<F>where
F: RefUnwindSafe,
impl<F> Send for Dogleg<F>where
F: Send,
impl<F> Sync for Dogleg<F>where
F: Sync,
impl<F> Unpin for Dogleg<F>where
F: Unpin,
impl<F> UnwindSafe for Dogleg<F>where
F: UnwindSafe,
Blanket Implementations§
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