pub struct Solution<V: Variable> {
pub values: Vec<V>,
pub solved: Vec<Group>,
pub at_limit: Vec<usize>,
pub iterations: usize,
pub phases: Vec<Phase>,
pub evaluations: usize,
pub enclosure: Enclosure<V>,
pub structure: Structure,
}Expand description
Where a solve put the blocks, and how it went.
Fields§
§values: Vec<V>§solved: Vec<Group>The groups moved: those a preference pulled, whose constraints did not hold, or that hang off a group that moved.
at_limit: Vec<usize>The limits the solve held at their bounds, by index.
iterations: usizeThe most steps any group took, and per phase the worst of the groups: why it stopped, after how many steps, the largest residual left.
phases: Vec<Phase>§evaluations: usizeHow many times the solve made the terms — every group’s at once: the work it took, its enclosure’s apart.
enclosure: Enclosure<V>An enclosure of a true solution near where the solved groups ended
(see System::enclose) — of those only: the others were not
moved, and enclosing them is the caller’s to ask
(System::enclose_rest). Of none, for a solve not proven
(System::solve_unproven).
structure: StructureThe groups it was solved in: what a solve of the same system a hair
away can take as it is (System::solve_unproven_in).