pub enum Checkpoint {
IterStart,
AfterBarrierUpdate,
AfterSearchDirection,
AfterStep,
StepRejected,
PreRestoration,
PostRestoration,
Terminated,
}Expand description
Where in a solver’s loop a checkpoint fired.
The variants cover the NLP filter-IPM’s loop; other interior-point
solvers fire the subset that applies to them (e.g. the convex IPM uses
IterStart,
AfterSearchDirection,
AfterStep, and
Terminated; it has no restoration phase or
backtracking line search, so those variants simply never fire).
Variants§
IterStart
Top of an outer iteration — before this iteration’s step is computed. The iterate, multipliers, and μ reflect the accepted point from the previous iteration.
AfterBarrierUpdate
After the barrier parameter μ was updated for this iteration (before the search direction is computed).
AfterSearchDirection
After the primal-dual Newton step was computed — the search
direction δ, the applied regularization, and the KKT
factorization are available.
AfterStep
After a step length was chosen and the trial point accepted — the step lengths α and the new iterate are in place.
StepRejected
The line search rejected this iteration’s step and the solver is about to fall into restoration (NLP filter-IPM only).
PreRestoration
Just before the algorithm switches into the restoration phase (NLP filter-IPM only).
PostRestoration
Just after the restoration phase returns (NLP filter-IPM only).
Terminated
The solve has finished: fired once before the solver returns, at
the final iterate, carrying the outcome via DebugState::status.
The DebugAction returned here is ignored — the solve is
already over.
Implementations§
Source§impl Checkpoint
impl Checkpoint
Sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
The stable wire/CLI protocol name for this checkpoint. These strings
are intentionally not the variant identifiers (AfterBarrierUpdate
→ "after_mu", PreRestoration → "pre_restoration_entry") — they’re
the names the JSON protocol and stop-at use, so match on the variant,
not the string.
Sourcepub fn is_sub_iteration(self) -> bool
pub fn is_sub_iteration(self) -> bool
Sub-iteration checkpoints (everything between IterStart and the
next IterStart).
Trait Implementations§
Source§impl Clone for Checkpoint
impl Clone for Checkpoint
Source§fn clone(&self) -> Checkpoint
fn clone(&self) -> Checkpoint
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for Checkpoint
Source§impl Debug for Checkpoint
impl Debug for Checkpoint
impl Eq for Checkpoint
Source§impl PartialEq for Checkpoint
impl PartialEq for Checkpoint
Source§fn eq(&self, other: &Checkpoint) -> bool
fn eq(&self, other: &Checkpoint) -> bool
self and other values to be equal, and is used by ==.