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::init::default::LeastSquareInitReport;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;/// Diagnostics from the safeguarded `least_square_init_primal`
/// step (gh#605): initial/final nonlinear violation, accepted step
/// norm, rejected-trial count, termination reason. `None` for
/// initializers that do not run that step, or when it was not
/// attempted on this solve.
fnleast_square_report(&self)->Option<LeastSquareInitReport>{None}}