Skip to main content

finish_drifted

Function finish_drifted 

Source
pub fn finish_drifted(
    f_finish: Number,
    f_relaxed: Number,
    relaxed_slack: Number,
) -> bool
Expand description

Did an exact finish drift off the relaxed answer it started from? True when the finish’s minimized objective is worse than the relaxed point’s by more than same_answer_allowance, with relaxed_slack the relaxed point’s relaxation_slack and no complementarity_gap term. A finish solves the degenerate exact product and can wander: MacMPEC pack-comp1p-32’s continuation reaches 0.65304 at τ = 1e-8 (products 5e-9) and its finish then crawls through restoration to 0.783, which used to replace it; the relaxed point is kept instead. On scholtes4 the finish’s 3e-11 is the exact answer and the relaxed -2e-4 is slack (λ·τ = 1e-4, allowance 1e-3), and the finish is kept – at any scaling of the objective. A slack that is not finite keeps the finish: there is nothing to measure the drift against.

The gap is left out on measurement. A finish that wandered is typically poorly converged, and its gap is then large enough to excuse the wander: with the two points’ summed gaps in the allowance, MacMPEC incid-set2c-8 (finish 7.77e-3 against 5.47e-3 relaxed), pack-comp2p-16, qpec-100-3 and incid-set2c-32 all kept their drifted finishes and fell from at to worse. Both objectives are values at real points, so a finish that reads higher is worse however loosely it converged.