Skip to main content

Module restoration

Module restoration 

Source
Expand description

RestorationPhase trait — port of IpRestoPhase.hpp.

Defined here in pounce-algorithm (rather than pounce-restoration) so that crate::ipopt_alg::IpoptAlgorithm can call into it without creating a circular crate dependency. Concrete impls (the default MinC1NormRestoration, the rare RestoRestorationPhase) live in pounce-restoration and impl RestorationPhase for ....

Called by the main loop when the line search exhausts its alpha reductions without acceptance (or by the iterate initializer when start_with_resto = true). On success the impl writes a recovered iterate to data.trial and the main loop accepts it; on failure the main loop surfaces SolverReturn::RestorationFailure.

Enums§

RestorationOutcome
Outcome of a restoration attempt. Mirrors upstream’s bool return from RestorationPhase::PerformRestoration plus the in-band info_skip_output / iter_count side-effects that the impl writes to data directly.

Traits§

RestorationPhase

Type Aliases§

OrigProgressCallback
Callback that the inner restoration IPM consults at every iteration to decide whether the recovered iterate is acceptable to the outer algorithm’s filter and reference iterate. Mirrors upstream IpRestoFilterConvCheck::TestOrigProgress (IpRestoFilterConvCheck.cpp:53-80): given (orig_trial_barr, orig_trial_theta) evaluated at the inner iterate’s (x_orig, s) slice, returns true iff