Skip to main content

accepts

Function accepts 

Source
pub fn accepts(
    before: (Number, Number, Number),
    after: (Number, Number, Number),
    sqp_opts: &SqpOptions,
) -> bool
Expand description

Never-regress gate. The crossed-over point is accepted only when it is at least as good a KKT point of the original NLP as the interior iterate, on all three of feasibility, stationarity, and objective.

Each residual is compared against max(interior residual, its tolerance) rather than against the interior residual alone: crossover puts the iterate on the active constraints, which can nudge a residual that was 1e-12 up to 1e-10 while the point is unambiguously better identified. Refusing that would make the gate reject exactly the cases the phase exists for. What it still refuses is a residual that crosses its own tolerance, which is the thing that would turn a converged solve into a misreported one.