Skip to main content

run

Function run 

Source
pub fn run<N, B, S>(
    nlp: &mut N,
    seed: &CrossoverSeed,
    opts: &CrossoverOptions,
    sqp_opts: &SqpOptions,
    qp_opts: &QpOptions,
    make_backend: B,
    make_sqp: S,
) -> (CrossoverReport, Option<SqpResult>)
Expand description

Run the crossover phase (paper §7 steps 2-4).

seed is the converged interior iterate. make_backend supplies the sparse symmetric linear solver for the active-set engine — the same factory the IPM used, so crossover inherits the caller’s linear_solver choice. make_sqp builds the step-4 driver; it is a closure rather than a value because step 4 needs its own iteration budget and ν₀, and it is never called at all on the step-3 path.

Returns the report always, and the replacement solution only when it was accepted.