Skip to main content

Module solve_report

Module solve_report 

Source
Expand description

Compatibility shim — the report writer now lives in pounce-solve-report so the GAMS solver link (via pounce-cinterface) can emit reports too. This re-export preserves all pounce_cli::solve_report::* call sites.

Structs§

FairMetadata
FAIR-aligned provenance block. The four FAIR principles (Wilkinson et al., 2016) map onto fields here as:
LinearSolverSummaryInfo
Serializable mirror of pounce_linsol::summary::LinearSolverSummary. Lives in the CLI crate (rather than pounce-linsol) so the linsol trait crate stays serde-free. Field shape is identical; serde defaults keep it forward-compatible with future additions.
ProblemInfo
ReportBuilder
Builder collecting the inputs for a SolveReport. The CLI drivers populate one of these as they walk through the solve and finish() it at the end.
SolutionInfo
SolutionSuffix
SolveReport
Top-level report struct. Fields are ordered so the JSON has the most identifying / metadata fields first when pretty-printed.
SolverIdentity
StatisticsInfo
Subset of SolveStatistics projected for the report. Mirrors the fields the existing console summary prints.

Enums§

InputDescriptor
ReportDetail
Verbosity knob for the JSON report. Maps onto the --json-detail CLI flag.

Functions§

status_to_solve_result_num
AMPL-style solve_result_num per Gay 2005 (Hooking Your Solver to AMPL §5, p. 23 table): 0 = solved, 100s = warning, 200s = infeasible, 400s = limit reached, 500s = failure. Shared by the CLI and cinterface report writers so both encode the same int codes into SolutionInfo::solve_result_num.
write_report_file
Write a SolveReport to path as pretty-printed JSON. Returns bytes written on success.