Expand description
Default iterate initializer — port of
Algorithm/IpDefaultIterateInitializer.{hpp,cpp}.
Bound push, slack init, multiplier init (constant / mu-based /
least-square via the EqMultCalculator). Constants below match
upstream’s defaults from RegisterOptions.
set_initial_iterates ports the upstream sequence:
- Pull
xfromnlp.get_starting_xand push each component into the interior of[x_l, x_u]perDefaultIterateInitializer::push_to_interior. - Set
s = d(x)(evaluated through CQ on a transient iterate) and push it into the interior of[d_l, d_u]. - Initialize
y_c,y_d:bound_mult_init_method == "constant"— leave at zero (the default y-targets that the linear-solver sweep will refine).bound_mult_init_method == "least-square"— callcrate::eq_mult::least_square::LeastSquareMultsvia the providedaug_solver. Phase 7 default is “constant” to avoid pulling the aug-system through this path on bring-up.
- Initialize
z_l,z_u,v_l,v_utobound_mult_init_val(component-wise).
The fully-loaded mu-based / least-square multiplier paths land
once LeastSquareMults and the iterate-trace gold tests are
online.