pub struct FdStats {
pub pattern_used: Option<FdPatternSource>,
pub n: usize,
pub nnz: usize,
pub groups: usize,
pub rho_max: usize,
pub compression: f64,
pub coloring_fell_back: bool,
pub objective_clique_widened: bool,
}Fields§
§pattern_used: Option<FdPatternSource>The pattern source actually used, which is not always the one
requested: Declared falls back to Jacobian whenever the TNLP
declares no Hessian structure. Reporting the request rather than
the outcome would hide exactly the case a reader is checking for —
the 17-against-341 probe-group gap on laptime is the difference
between the two. None until the first update_hessian builds
the structure.
n: usize§nnz: usize§groups: usize§rho_max: usize§compression: f64Probes per Hessian as a fraction of n — the quantity a dense
finite-difference scheme would pay in full.
coloring_fell_back: boolWhether the requested star colouring failed validation and CPR was substituted.
objective_clique_widened: boolWhether the objective clique had to fall back to a conservative
structural set because the model stated no objective linearity
(gh#823 review, finding 2). When this is set the clique is N, or
all n when the model states no nonlinear-variable set either, and
the probe count reflects that rather than the objective’s true
support. A model that states get_objective_variables_linearity
pays none of it.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FdStats
impl RefUnwindSafe for FdStats
impl Send for FdStats
impl Sync for FdStats
impl Unpin for FdStats
impl UnsafeUnpin for FdStats
impl UnwindSafe for FdStats
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