Skip to main content

split_slack_multipliers

Function split_slack_multipliers 

Source
pub fn split_slack_multipliers(
    nlp: &Rc<RefCell<dyn IpoptNlp>>,
    y_d: &[Number],
) -> (Vec<Number>, Vec<Number>)
Expand description

Split the inequality multipliers y_d into the IPM’s compressed slack bound multipliers (v_l, v_u).

Stationarity of the barrier problem with respect to the slacks is −y_d − v_l + v_u = 0, i.e. v_l − v_u = −y_d; with v_l, v_u ≥ 0 and complementarity that determines the pair up to the same degenerate case split_bound_multipliers documents. Needed when writing a point computed on the active-set side back onto an IPM iterate, whose slack duals would otherwise still describe the interior point.