Skip to main content

MuOptions

Struct MuOptions 

Source
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: Number

sigma_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: AdaptiveMuGlobalization

adaptive_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: NormType

quality_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: CentralityType

quality_function_centrality — centrality penalty term added to the quality function.

§quality_function_balancing_term: BalancingTermType

quality_function_balancing_term — balancing penalty term in the quality function (kicks in when complementarity is far below infeasibilities).

§quality_function_max_section_steps: i32

quality_function_max_section_steps — cap on golden-section iterations when picking σ. Default 8.

§quality_function_section_sigma_tol: Number

quality_function_section_sigma_tol — width tolerance in σ-space for golden section. Default 1e-2.

§quality_function_section_qf_tol: Number

quality_function_section_qf_tol — relative flatness tolerance for golden section. Default 0.0.

§adaptive_mu_safeguard_factor: Number

adaptive_mu_safeguard_factor — guard for the LOQO fallback in adaptive mode. Default 0.0.

§adaptive_mu_monotone_init_factor: Number

adaptive_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: bool

adaptive_mu_restore_previous_iterate — restore the most recent free-mode iterate when switching to fixed mode. Default false.

§adaptive_mu_kkterror_red_iters: usize

adaptive_mu_kkterror_red_iters — window length for the KKT_ERROR globalization history. Default 4.

§adaptive_mu_kkterror_red_fact: Number

adaptive_mu_kkterror_red_fact — required relative reduction of the KKT error over the window. Default 0.9999.

§adaptive_mu_kkt_norm_type: AdaptiveMuKktNorm

adaptive_mu_kkt_norm_type — norm used to score the iterate in adaptive globalization decisions.

§probing_iterate_quality_factor: Number

probing_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§

Source§

impl Clone for MuOptions

Source§

fn clone(&self) -> MuOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MuOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MuOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more