Skip to main content

relaxation_slack

Function relaxation_slack 

Source
pub fn relaxation_slack(
    products: &[Number],
    product_lambda: &[Number],
) -> Number
Expand description

The objective a relaxed point’s products buy, to first order: Σ |λ_k|· max(p_k, 0) over the product rows, λ_k the row’s multiplier and p_k its product G_k·H_k. Relaxing row k from 0 to p_k lowers the minimized objective by λ_k·p_k to first order, so this is how much worse an exact finish that removes the slack may look without having moved.

Unlike sqrt(max p)·max(1, |f|), which this replaced (gh#1128), it scales with the objective: multiplying f by c multiplies every λ_k by c, so a verdict built on it does not change with the objective’s units. +inf if a multiplier or product is not finite; 0 with no product rows.