pub struct PdPerturbationHandler {Show 24 fields
pub delta_xs_max: Number,
pub delta_xs_min: Number,
pub delta_xs_first_inc_fact: Number,
pub delta_xs_inc_fact: Number,
pub delta_xs_dec_fact: Number,
pub delta_xs_init: Number,
pub delta_cd_val: Number,
pub delta_cd_exp: Number,
pub perturb_always_cd: bool,
pub reset_last: bool,
pub degen_iters_max: Index,
pub delta_x_curr: Number,
pub delta_s_curr: Number,
pub delta_c_curr: Number,
pub delta_d_curr: Number,
pub delta_x_last: Number,
pub delta_s_last: Number,
pub delta_c_last: Number,
pub delta_d_last: Number,
pub get_deltas_for_wrong_inertia_called: bool,
pub hess_degenerate: DegenType,
pub jac_degenerate: DegenType,
pub degen_iters: Index,
pub test_status: TrialStatus,
}Expand description
State + algorithmic parameters. Defaults mirror
IpPDPerturbationHandler.cpp::RegisterOptions.
Fields§
§delta_xs_max: Number§delta_xs_min: Number§delta_xs_first_inc_fact: Number§delta_xs_inc_fact: Number§delta_xs_dec_fact: Number§delta_xs_init: Number§delta_cd_val: Number§delta_cd_exp: Number§perturb_always_cd: bool§reset_last: bool§degen_iters_max: Index§delta_x_curr: Number§delta_s_curr: Number§delta_c_curr: Number§delta_d_curr: Number§delta_x_last: Number§delta_s_last: Number§delta_c_last: Number§delta_d_last: Number§get_deltas_for_wrong_inertia_called: bool§hess_degenerate: DegenType§jac_degenerate: DegenType§degen_iters: Index§test_status: TrialStatusImplementations§
Source§impl PdPerturbationHandler
impl PdPerturbationHandler
pub fn new() -> Self
Sourcepub fn set_perturb_always_cd(&mut self, on: bool)
pub fn set_perturb_always_cd(&mut self, on: bool)
Configure perturb_always_cd_ and rebuild the initial jac
state. Mirrors upstream’s InitializeImpl.
Sourcepub fn consider_new_system(
&mut self,
mu: Number,
ip_data: Option<&IpoptDataHandle>,
) -> Option<Deltas>
pub fn consider_new_system( &mut self, mu: Number, ip_data: Option<&IpoptDataHandle>, ) -> Option<Deltas>
First call when starting a new aug-system. mu is the current
barrier parameter (used by the δ_cd formula).
Returns None if no suitable starting perturbation could be
found (the caller bails).
Sourcepub fn perturb_for_singular(
&mut self,
mu: Number,
ip_data: Option<&IpoptDataHandle>,
) -> Option<Deltas>
pub fn perturb_for_singular( &mut self, mu: Number, ip_data: Option<&IpoptDataHandle>, ) -> Option<Deltas>
Escalation after Singular factorization status. Mirrors
PerturbForSingularity (cpp:245-364).
Sourcepub fn perturb_for_wrong_inertia(
&mut self,
mu: Number,
ip_data: Option<&IpoptDataHandle>,
) -> Option<Deltas>
pub fn perturb_for_wrong_inertia( &mut self, mu: Number, ip_data: Option<&IpoptDataHandle>, ) -> Option<Deltas>
Escalation after WrongInertia factorization status. Mirrors
PerturbForWrongInertia (cpp:419-450).
Sourcepub fn current_perturbation(&self) -> Deltas
pub fn current_perturbation(&self) -> Deltas
Read the most recently committed perturbations.
Trait Implementations§
Source§impl Clone for PdPerturbationHandler
impl Clone for PdPerturbationHandler
Source§fn clone(&self) -> PdPerturbationHandler
fn clone(&self) -> PdPerturbationHandler
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PdPerturbationHandler
impl Debug for PdPerturbationHandler
Auto Trait Implementations§
impl Freeze for PdPerturbationHandler
impl RefUnwindSafe for PdPerturbationHandler
impl Send for PdPerturbationHandler
impl Sync for PdPerturbationHandler
impl Unpin for PdPerturbationHandler
impl UnsafeUnpin for PdPerturbationHandler
impl UnwindSafe for PdPerturbationHandler
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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