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§
Sourcefn set_initial_iterates(
&mut self,
data: &IpoptDataHandle,
cq: &IpoptCqHandle,
nlp: &Rc<RefCell<dyn IpoptNlp>>,
aug_solver: &mut dyn AugSystemSolver,
) -> bool
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§
Sourcefn least_square_report(&self) -> Option<LeastSquareInitReport>
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".