Skip to main content

Crate pounce_restoration

Crate pounce_restoration 

Source
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 RestorationPhase trait that lives in pounce-algorithm. The trait is defined there (rather than here) so that pounce_algorithm::ipopt_alg::IpoptAlgorithm can call into it without forming a circular crate dependency (pounce-restoration already depends on pounce-algorithm).

Traits§

RestorationPhase