pub struct SolverStatistics {
pub solve_count: u64,
pub success_count: u64,
pub failure_count: u64,
pub total_iterations: u64,
pub retry_count: u64,
pub total_solve_time_seconds: f64,
pub basis_rejections: u64,
pub first_try_successes: u64,
pub basis_offered: u64,
}Expand description
Accumulated solve metrics for a single solver instance.
Counters grow monotonically from construction. They are thread-local – each thread owns one solver instance and accumulates its own statistics. Statistics are aggregated across threads via reduction after training completes.
reset() does not zero statistics counters. They persist across
model reloads for the lifetime of the solver instance.
Fields§
§solve_count: u64Total number of solve and solve_with_basis calls.
success_count: u64Number of solves that returned Ok (optimal solution found).
failure_count: u64Number of solves that returned Err (terminal failure after retries).
total_iterations: u64Total simplex iterations summed across all solves.
retry_count: u64Total retry attempts summed across all failed solves.
total_solve_time_seconds: f64Cumulative wall-clock time spent in solver calls, in seconds.
basis_rejections: u64Number of times solve_with_basis fell back to cold-start due to basis rejection.
first_try_successes: u64Number of solves that returned optimal on the first attempt (before any retry).
Enables first-try rate computation: first_try_rate = first_try_successes / solve_count.
The complement success_count - first_try_successes gives the number of retried solves.
basis_offered: u64Total number of solve_with_basis calls (basis offers).
Combined with basis_rejections, enables basis hit rate computation:
basis_hit_rate = 1 - basis_rejections / basis_offered.
Trait Implementations§
Source§impl Clone for SolverStatistics
impl Clone for SolverStatistics
Source§fn clone(&self) -> SolverStatistics
fn clone(&self) -> SolverStatistics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more