Skip to main content

run

Function run 

Source
pub fn run(
    plan: &SquareSystemPlan,
    tnlp: &Rc<RefCell<dyn TNLP>>,
    options: &OptionsList,
    backend: Box<dyn SparseSymLinearSolverInterface>,
    run_opts: RunOptions,
) -> SquareSystemOutcome
Expand description

Run the LM on a probed model and, if the result passes every check in the module docs, finalize it through tnlp as Solve_Succeeded.

On any failure tnlp receives no finalize_solution call, so the caller’s captured solution stays the one its original verdict describes.

The LM honours max_cpu_time / max_wall_time as a budget of its own, measured from this call — the same per-solve budget each option rung’s optimize_tnlp gets — and fires the TNLP’s intermediate_callback at every iterate (unless the TNLP says it does not want one), stopping on a false. Running out of time and a stop request both end the stage without a promotion.