pub struct MuOptions {Show 25 fields
pub mu_init: Number,
pub mu_max: Number,
pub mu_max_fact: Number,
pub mu_min: Number,
pub mu_target: Number,
pub mu_linear_decrease_factor: Number,
pub mu_superlinear_decrease_power: Number,
pub mu_allow_fast_monotone_decrease: bool,
pub barrier_tol_factor: Number,
pub sigma_max: Number,
pub sigma_min: Number,
pub adaptive_mu_globalization: AdaptiveMuGlobalization,
pub quality_function_norm_type: NormType,
pub quality_function_centrality: CentralityType,
pub quality_function_balancing_term: BalancingTermType,
pub quality_function_max_section_steps: i32,
pub quality_function_section_sigma_tol: Number,
pub quality_function_section_qf_tol: Number,
pub adaptive_mu_safeguard_factor: Number,
pub adaptive_mu_monotone_init_factor: Number,
pub adaptive_mu_restore_previous_iterate: bool,
pub adaptive_mu_kkterror_red_iters: usize,
pub adaptive_mu_kkterror_red_fact: Number,
pub adaptive_mu_kkt_norm_type: AdaptiveMuKktNorm,
pub probing_iterate_quality_factor: Number,
}Expand description
Knobs read off OptionsList and baked into the assembled
MonotoneMuUpdate or AdaptiveMuUpdate. Defaults mirror
IpMonotoneMuUpdate.cpp / IpAdaptiveMuUpdate.cpp:RegisterOptions.
mu_max defaults to the sentinel -1; positive values are baked
into both updaters at build time (adaptive interprets -1 as
“lazy-init from mu_max_fact * avrg_compl”).
Fields§
§mu_init: Number§mu_max: Number§mu_max_fact: Number§mu_min: Number§mu_target: Number§mu_linear_decrease_factor: Number§mu_superlinear_decrease_power: Number§mu_allow_fast_monotone_decrease: bool§barrier_tol_factor: Number§sigma_max: Numbersigma_max / sigma_min — clamp on the centering parameter σ
chosen by QualityFunctionMuOracle. Only consumed when
mu_strategy=adaptive and mu_oracle=quality-function.
Defaults from IpQualityFunctionMuOracle.cpp:RegisterOptions.
sigma_min: Number§adaptive_mu_globalization: AdaptiveMuGlobalizationadaptive_mu_globalization — globalization strategy for the
adaptive μ-selection mode. Mirrors
IpAdaptiveMuUpdate.cpp:RegisterOptions. Default is
ObjConstrFilter; the Mehrotra cascade switches to
NeverMonotoneMode to disable globalization entirely.
quality_function_norm_type: NormTypequality_function_norm_type — norm used inside the quality
function to aggregate the three KKT components. Forwarded to
QualityFunctionMuOracle when mu_oracle=quality-function.
quality_function_centrality: CentralityTypequality_function_centrality — centrality penalty term added
to the quality function.
quality_function_balancing_term: BalancingTermTypequality_function_balancing_term — balancing penalty term in
the quality function (kicks in when complementarity is far
below infeasibilities).
quality_function_max_section_steps: i32quality_function_max_section_steps — cap on golden-section
iterations when picking σ. Default 8.
quality_function_section_sigma_tol: Numberquality_function_section_sigma_tol — width tolerance in
σ-space for golden section. Default 1e-2.
quality_function_section_qf_tol: Numberquality_function_section_qf_tol — relative flatness
tolerance for golden section. Default 0.0.
adaptive_mu_safeguard_factor: Numberadaptive_mu_safeguard_factor — guard for the LOQO fallback
in adaptive mode. Default 0.0.
adaptive_mu_monotone_init_factor: Numberadaptive_mu_monotone_init_factor — multiplier on the
average complementarity when seeding monotone mode after a
free-mode bailout. Default 0.8.
adaptive_mu_restore_previous_iterate: booladaptive_mu_restore_previous_iterate — restore the most
recent free-mode iterate when switching to fixed mode.
Default false.
adaptive_mu_kkterror_red_iters: usizeadaptive_mu_kkterror_red_iters — window length for the
KKT_ERROR globalization history. Default 4.
adaptive_mu_kkterror_red_fact: Numberadaptive_mu_kkterror_red_fact — required relative reduction
of the KKT error over the window. Default 0.9999.
adaptive_mu_kkt_norm_type: AdaptiveMuKktNormadaptive_mu_kkt_norm_type — norm used to score the iterate
in adaptive globalization decisions.
probing_iterate_quality_factor: Numberprobing_iterate_quality_factor (default 1e4, pounce-specific
— see pounce#58). When the probing (Mehrotra) μ-oracle is
about to read curr_avrg_compl() for its mu_curr input, a
single imbalanced (s_i, z_i) pair can inflate the average
5+ orders above the stored data.curr_mu. The oracle then
returns σ · mu_curr ≫ previous μ, throwing the iterate out
of the convergence neighborhood. This guard short-circuits
that case by signalling restoration when the ratio
curr_avrg_compl / curr_mu exceeds the factor. Set to 0 or
any non-positive value to disable.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MuOptions
impl RefUnwindSafe for MuOptions
impl Send for MuOptions
impl Sync for MuOptions
impl Unpin for MuOptions
impl UnsafeUnpin for MuOptions
impl UnwindSafe for MuOptions
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
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>
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>
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