Expand description
Main optimization loop — port of
Algorithm/IpIpoptAlg.{hpp,cpp}.
Phase 7 ships the loop scaffold matching Optimize() lines
292-563 in upstream. The body invokes:
IterateInitializer::set_initial_iterates- (loop)
OutputIteration→CheckConvergence→UpdateBarrierParameter→UpdateHessian→ComputeSearchDirection→ComputeAcceptableTrialPoint→AcceptTrialPoint correct_bound_multiplier(kappa_sigma) perMAIN_LOOP.md§“Bound multiplier reset” lines 1055-1134- exception →
SolverReturnmapping per the table inMAIN_LOOP.md.
The NLP handle and search-direction calculator are optional:
when both are present, iterate() computes a real Newton step and
drives the line search. Without them, iterate() runs the bookkeeping
pieces (mu update, hessian update, conv check, kappa_sigma reset)
and is exercised by structural unit tests. The full path lights up
once pounce-nlp::OrigIpoptNLP lands.
Structs§
Functions§
- kappa_
sigma_ clamp - Per-element kappa-sigma clamp — the elementwise arithmetic at the
heart of
IpIpoptAlg.cpp:correct_bound_multiplier(lines 1090-1133). For each indexi: