[−][src]Struct argmin::solver::trustregion::trustregion_method::TrustRegion
The trust region method approximates the cost function within a certain region around the current point in parameter space. Depending on the quality of this approximation, the region is either expanded or contracted.
The calculation of the actual step length and direction is done by one of the following methods:
This subproblem can be set via set_subproblem(...)
. If this is not provided, it will default
to the Steihaug method.
Example
References:
[0] Jorge Nocedal and Stephen J. Wright (2006). Numerical Optimization. Springer. ISBN 0-387-30303-0.
Methods
impl<R> TrustRegion<R>
[src]
pub fn new(subproblem: R) -> Self
[src]
Constructor
pub fn radius(self, radius: f64) -> Self
[src]
set radius
pub fn max_radius(self, max_radius: f64) -> Self
[src]
Set maximum radius
pub fn eta(self, eta: f64) -> Result<Self, Error>
[src]
Set eta
Trait Implementations
impl<O, R> Solver<O> for TrustRegion<R> where
O: ArgminOp<Output = f64>,
O::Param: Default + Clone + Debug + Serialize + ArgminMul<f64, O::Param> + ArgminWeightedDot<O::Param, f64, O::Hessian> + ArgminNorm<f64> + ArgminDot<O::Param, f64> + ArgminAdd<O::Param, O::Param> + ArgminSub<O::Param, O::Param> + ArgminZeroLike + ArgminMul<f64, O::Param>,
O::Hessian: Default + Clone + Debug + Serialize + ArgminDot<O::Param, O::Param>,
R: ArgminTrustRegion + Solver<OpWrapper<O>>,
[src]
O: ArgminOp<Output = f64>,
O::Param: Default + Clone + Debug + Serialize + ArgminMul<f64, O::Param> + ArgminWeightedDot<O::Param, f64, O::Hessian> + ArgminNorm<f64> + ArgminDot<O::Param, f64> + ArgminAdd<O::Param, O::Param> + ArgminSub<O::Param, O::Param> + ArgminZeroLike + ArgminMul<f64, O::Param>,
O::Hessian: Default + Clone + Debug + Serialize + ArgminDot<O::Param, O::Param>,
R: ArgminTrustRegion + Solver<OpWrapper<O>>,
const NAME: &'static str
[src]
fn init(
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<Option<ArgminIterData<O>>, Error>
[src]
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<Option<ArgminIterData<O>>, Error>
fn next_iter(
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<ArgminIterData<O>, Error>
[src]
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<ArgminIterData<O>, Error>
fn terminate(&mut self, _state: &IterState<O>) -> TerminationReason
[src]
fn terminate_internal(&mut self, state: &IterState<O>) -> TerminationReason
[src]
Checks whether basic termination reasons apply. Read more
impl<'de, R> Deserialize<'de> for TrustRegion<R> where
R: Deserialize<'de>,
[src]
R: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<R> Serialize for TrustRegion<R> where
R: Serialize,
[src]
R: Serialize,
Auto Trait Implementations
impl<R> Send for TrustRegion<R> where
R: Send,
R: Send,
impl<R> Sync for TrustRegion<R> where
R: Sync,
R: 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, 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> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
T: Send + Sync + UnwindSafe + ?Sized,