Expand description
POUNCE restoration phase.
Port of Ipopt’s Algorithm/IpResto* files. When the line search
cannot accept any step, control switches into the restoration
phase, which solves a relaxed feasibility problem (minimize the
ℓ1 norm of the constraint violation, plus a regularization
against x_R). On success it returns to the regular IPM with a
new iterate. See ref/Ipopt/AGENT_REFERENCE/RESTORATION.md.
Phase 9 ships the trait surface and the structural skeletons of
each Resto* strategy; concrete arithmetic ports incrementally
once the regular-phase strategies (Phase 7) are exercising the
main loop on real problems.
Modules§
- aug_
resto_ system_ solver - Restoration-aug system solver — port of
Algorithm/IpAugRestoSystemSolver.{hpp,cpp}. - conv_
check - Restoration-phase convergence checks.
- init
- Restoration-phase iterate initializer — port of
Algorithm/IpRestoIterateInitializer.{hpp,cpp}. - min_
c_ 1nrm - Min-‖c‖₁ restoration phase — port of
Algorithm/IpRestoMinC_1Nrm.{hpp,cpp}. - output
- Restoration-phase iteration output — port of
Algorithm/IpRestoIterationOutput.{hpp,cpp}. - resto_
alg_ builder - Restoration sub-algorithm builder — port of the resto half of
Algorithm/IpAlgBuilder.cpp:BuildRestoIpoptAlgorithm(and the"resto."option prefix it pushes onto the inner solver). - resto_
inner_ solver - Nested-IPM driver for the restoration phase.
- resto_
nlp - Restoration NLP wrapper — port of
Algorithm/IpRestoIpoptNLP.{hpp,cpp}. - resto_
resto - Nested-restoration phase — port of
Algorithm/IpRestoRestoPhase.{hpp,cpp}. - trait
- Re-export of the
RestorationPhasetrait that lives inpounce-algorithm. The trait is defined there (rather than here) so thatpounce_algorithm::ipopt_alg::IpoptAlgorithmcan call into it without forming a circular crate dependency (pounce-restorationalready depends onpounce-algorithm).