Skip to main content

Nlp

Trait Nlp 

Source
pub trait Nlp {
    // Required methods
    fn n(&self) -> i32;
    fn m_eq(&self) -> i32;
    fn m_ineq(&self) -> i32;
    fn eval_f(&mut self, x: &(dyn Vector + 'static)) -> f64;
    fn eval_grad_f(
        &mut self,
        x: &(dyn Vector + 'static),
        g: &mut (dyn Vector + 'static),
    );
    fn eval_c(
        &mut self,
        x: &(dyn Vector + 'static),
        c: &mut (dyn Vector + 'static),
    );
    fn eval_d(
        &mut self,
        x: &(dyn Vector + 'static),
        d: &mut (dyn Vector + 'static),
    );
    fn eval_jac_c(&mut self, x: &(dyn Vector + 'static)) -> Rc<dyn Matrix>;
    fn eval_jac_d(&mut self, x: &(dyn Vector + 'static)) -> Rc<dyn Matrix>;
    fn eval_h(
        &mut self,
        x: &(dyn Vector + 'static),
        obj_factor: f64,
        y_c: &(dyn Vector + 'static),
        y_d: &(dyn Vector + 'static),
    ) -> Rc<dyn SymMatrix>;
}
Expand description

Lower-level NLP interface (post-TNLPAdapter). Equality and inequality constraints are already separated; bounds are already classified into x_l_map / x_u_map / etc.

This is the equivalent of upstream Ipopt::NLP.

Required Methods§

Source

fn n(&self) -> i32

Source

fn m_eq(&self) -> i32

Source

fn m_ineq(&self) -> i32

Source

fn eval_f(&mut self, x: &(dyn Vector + 'static)) -> f64

Source

fn eval_grad_f( &mut self, x: &(dyn Vector + 'static), g: &mut (dyn Vector + 'static), )

Source

fn eval_c(&mut self, x: &(dyn Vector + 'static), c: &mut (dyn Vector + 'static))

Source

fn eval_d(&mut self, x: &(dyn Vector + 'static), d: &mut (dyn Vector + 'static))

Source

fn eval_jac_c(&mut self, x: &(dyn Vector + 'static)) -> Rc<dyn Matrix>

Source

fn eval_jac_d(&mut self, x: &(dyn Vector + 'static)) -> Rc<dyn Matrix>

Source

fn eval_h( &mut self, x: &(dyn Vector + 'static), obj_factor: f64, y_c: &(dyn Vector + 'static), y_d: &(dyn Vector + 'static), ) -> Rc<dyn SymMatrix>

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§