pub fn run(
plan: &SquareSystemPlan,
tnlp: &Rc<RefCell<dyn TNLP>>,
options: &OptionsList,
backend: Box<dyn SparseSymLinearSolverInterface>,
run_opts: RunOptions,
) -> SquareSystemOutcomeExpand 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.