Skip to main content

IterateInitializer

Trait IterateInitializer 

Source
pub trait IterateInitializer {
    // Required method
    fn set_initial_iterates(
        &mut self,
        data: &IpoptDataHandle,
        cq: &IpoptCqHandle,
        nlp: &Rc<RefCell<dyn IpoptNlp>>,
        aug_solver: &mut dyn AugSystemSolver,
    ) -> bool;

    // Provided method
    fn least_square_report(&self) -> Option<LeastSquareInitReport> { ... }
}

Required Methods§

Source

fn set_initial_iterates( &mut self, data: &IpoptDataHandle, cq: &IpoptCqHandle, nlp: &Rc<RefCell<dyn IpoptNlp>>, aug_solver: &mut dyn AugSystemSolver, ) -> bool

Populate IpoptData::curr with an initial iterate. Mirrors IterateInitializer::SetInitialIterates. The implementation can use aug_solver for least-square multiplier estimates; callers that don’t need that may pass any solver — concrete initializers consult it only if their option settings require it.

Provided Methods§

Source

fn least_square_report(&self) -> Option<LeastSquareInitReport>

Diagnostics from the safeguarded least_square_init_primal step (gh#605): initial/final nonlinear violation, accepted step norm, rejected-trial count, termination reason. None for initializers that do not run that step, or when it was not attempted on this solve.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§