Algorithm-side core for POUNCE (port of Ipopt's src/Algorithm/): IteratesVector, IpoptData, CalculatedQuantities, KKT solvers, line search, mu update, conv check, initializer, IpoptAlg main loop, AlgBuilder.
//! `IterateInitializer` trait — port of `IpIterateInitializer.hpp`.
usecrate::ipopt_cq::IpoptCqHandle;usecrate::ipopt_data::IpoptDataHandle;usecrate::ipopt_nlp::IpoptNlp;usecrate::kkt::aug_system_solver::AugSystemSolver;usestd::cell::RefCell;usestd::rc::Rc;pubtraitIterateInitializer{/// Populate `IpoptData::curr` with an initial iterate. Mirrors
/// `IterateInitializer::SetInitialIterates`. The implementation
/// can use `aug_solver` for least-square multiplier estimates;
/// callers that don't need that may pass any solver — concrete
/// initializers consult it only if their option settings require
/// it.
fnset_initial_iterates(&mutself,
data:&IpoptDataHandle,
cq:&IpoptCqHandle,
nlp:&Rc<RefCell<dyn IpoptNlp>>,
aug_solver:&mut dyn AugSystemSolver,
)->bool;}