pub struct ProbingMuOracle {
pub sigma_max: Number,
pub mu_min: Number,
pub mu_max: Number,
pub mu_curr: Number,
pub mu_aff: Number,
}Fields§
§sigma_max: Number§mu_min: Number§mu_max: Number§mu_curr: Number§mu_aff: NumberImplementations§
Source§impl ProbingMuOracle
impl ProbingMuOracle
pub fn new() -> Self
Sourcepub fn probing_mu(mu_curr: Number, mu_aff: Number, sigma_max: Number) -> Number
pub fn probing_mu(mu_curr: Number, mu_aff: Number, sigma_max: Number) -> Number
Pure-arithmetic probing formula from IpProbingMuOracle.cpp:117.
Sourcepub fn calculate_mu_with_affine_step(
&mut self,
data: &IpoptDataHandle,
cq: &IpoptCqHandle,
nlp: &Rc<RefCell<dyn IpoptNlp>>,
pd_search_dir: &mut PdSearchDirCalc,
tau: Number,
) -> Option<Number>
pub fn calculate_mu_with_affine_step( &mut self, data: &IpoptDataHandle, cq: &IpoptCqHandle, nlp: &Rc<RefCell<dyn IpoptNlp>>, pd_search_dir: &mut PdSearchDirCalc, tau: Number, ) -> Option<Number>
Drive the affine (predictor) step through pd_search_dir,
snapshot μ_aff from the projected complementarity, then return
the probed μ_new ∈ [mu_min, mu_max]. Returns None if the
affine linear solve fails (caller falls back to LOQO).
tau is the fraction-to-the-boundary parameter (typically
1.0 for the affine probe per upstream’s
IpProbingMuOracle.cpp:107).
Trait Implementations§
Source§impl Default for ProbingMuOracle
impl Default for ProbingMuOracle
Source§impl MuOracle for ProbingMuOracle
impl MuOracle for ProbingMuOracle
Source§fn calculate_mu(&mut self) -> Option<Number>
fn calculate_mu(&mut self) -> Option<Number>
Probe the next mu given the current iterate state. Phase 10
fills in the actual signatures; trait surface here keeps the
option matrix matchable in
AlgBuilder.Auto Trait Implementations§
impl Freeze for ProbingMuOracle
impl RefUnwindSafe for ProbingMuOracle
impl Send for ProbingMuOracle
impl Sync for ProbingMuOracle
impl Unpin for ProbingMuOracle
impl UnsafeUnpin for ProbingMuOracle
impl UnwindSafe for ProbingMuOracle
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> 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