pub struct QualityFunctionMuOracle {
pub norm_type: NormType,
pub centrality_type: CentralityType,
pub balancing_term: BalancingTermType,
pub max_section_steps: i32,
pub section_sigma_tol: Number,
pub section_qf_tol: Number,
pub sigma_max: Number,
pub sigma_min: Number,
pub mu_min: Number,
pub mu_max: Number,
}Fields§
§norm_type: NormType§centrality_type: CentralityType§balancing_term: BalancingTermType§max_section_steps: i32§section_sigma_tol: Number§section_qf_tol: Number§sigma_max: Number§sigma_min: Number§mu_min: Number§mu_max: NumberImplementations§
Source§impl QualityFunctionMuOracle
impl QualityFunctionMuOracle
pub fn new() -> Self
Sourcepub fn calculate_mu_with_predictor_centering(
&mut self,
data: &IpoptDataHandle,
cq: &IpoptCqHandle,
nlp: &Rc<RefCell<dyn IpoptNlp>>,
pd_search_dir: &mut PdSearchDirCalc,
) -> Option<Number>
pub fn calculate_mu_with_predictor_centering( &mut self, data: &IpoptDataHandle, cq: &IpoptCqHandle, nlp: &Rc<RefCell<dyn IpoptNlp>>, pd_search_dir: &mut PdSearchDirCalc, ) -> Option<Number>
Drive the predictor + centring solves through pd_search_dir,
project the results onto the four bound-mask subspaces, then
run pick_sigma over a q(σ) closure that builds the σ-step
and reduces it to QualityFunctionAggregates before invoking
evaluate_quality_function. Mirrors upstream
IpQualityFunctionMuOracle.cpp::CalculateMu lines 188-485.
Returns None if either linear solve fails (caller falls back
to LOQO, matching upstream’s
IpAdaptiveMuUpdate.cpp::CalculateMuFromOracle:330-340).
Trait Implementations§
Source§impl Default for QualityFunctionMuOracle
impl Default for QualityFunctionMuOracle
Source§impl MuOracle for QualityFunctionMuOracle
impl MuOracle for QualityFunctionMuOracle
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 QualityFunctionMuOracle
impl RefUnwindSafe for QualityFunctionMuOracle
impl Send for QualityFunctionMuOracle
impl Sync for QualityFunctionMuOracle
impl Unpin for QualityFunctionMuOracle
impl UnsafeUnpin for QualityFunctionMuOracle
impl UnwindSafe for QualityFunctionMuOracle
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