Expand description
Backtracking line-search driver — port of
Algorithm/IpBacktrackingLineSearch.{hpp,cpp}.
Owns the alpha-reduction loop, max-soc / second-order-correction slot, watchdog mechanism, and the fallback to restoration. Phase 7 ships the alpha-loop for the filter line search; SOC and watchdog land alongside the restoration phase (Phase 9).
The contract with the acceptor is the trio
(theta, phi, d_phi) at the current iterate plus the trial
(theta_trial, phi_trial) per backtracking step. Trial-point
construction is x_trial = x + α·dx, s_trial = s + α·ds; the dual
step uses the same α for the filter acceptor (upstream
IpBacktrackingLineSearch.cpp:702-728 — primal-dual share α
when no fraction-to-the-boundary truncation differs).
find_acceptable_trial_point returns Outcome::Accepted on a
successful trial, Outcome::TinyStep when α drops below
alpha_min, and Outcome::Failed when the alpha loop exhausts
without acceptance (which the main loop maps to a restoration
attempt).
Structs§
Enums§
- Alpha
ForY - Policy for the step length applied to the equality multipliers
y_c,y_d. Mirrors upstream’salpha_for_yoption (subset of the upstream enum — pounce only ports the variants that the Mehrotra cascade and default code paths exercise). - Outcome
- Outcome of the backtracking line search. Mirrors the booleans
upstream returns through
accept_plus thetiny_step_flagonIpoptData.