pub struct SolveReport {
pub schema: String,
pub fair_metadata: FairMetadata,
pub problem: ProblemInfo,
pub solution: SolutionInfo,
pub statistics: StatisticsInfo,
pub iterations: Vec<IterRecord>,
pub linear_solver: Option<LinearSolverSummaryInfo>,
}Expand description
Top-level report struct. Fields are ordered so the JSON has the most identifying / metadata fields first when pretty-printed.
Fields§
§schema: StringSchema identifier. Always
"pounce.solve-report/v1" for this version of the writer.
fair_metadata: FairMetadataFAIR provenance metadata.
problem: ProblemInfoProblem dimensions and shape.
solution: SolutionInfoFinal solution payload (status, primal, dual, suffixes).
statistics: StatisticsInfoAggregate statistics (eval counts, KKT residuals, timing).
iterations: Vec<IterRecord>Per-iteration history. Empty when the report is at
ReportDetail::Summary or iter history was never enabled.
linear_solver: Option<LinearSolverSummaryInfo>Aggregate linear-solver post-mortem. Populated when the
workspace-default FERAL backend ran (it self-instruments via
feral::Solver::last_factor_stats()); None for HSL MA57 and
for custom backends plugged through
pounce_algorithm::application::IpoptApplication::set_linear_backend_factory.
Additive — older pounce.solve-report/v1 JSON without this
field deserializes unchanged.
Trait Implementations§
Source§impl Clone for SolveReport
impl Clone for SolveReport
Source§fn clone(&self) -> SolveReport
fn clone(&self) -> SolveReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SolveReport
impl Debug for SolveReport
Source§impl<'de> Deserialize<'de> for SolveReport
impl<'de> Deserialize<'de> for SolveReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SolveReport
impl RefUnwindSafe for SolveReport
impl Send for SolveReport
impl Sync for SolveReport
impl Unpin for SolveReport
impl UnsafeUnpin for SolveReport
impl UnwindSafe for SolveReport
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,
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