IntermediateCallbackData

Struct IntermediateCallbackData 

Source
pub struct IntermediateCallbackData {
    pub alg_mod: AlgorithmMode,
    pub iter_count: i32,
    pub obj_value: f64,
    pub inf_pr: f64,
    pub inf_du: f64,
    pub mu: f64,
    pub d_norm: f64,
    pub regularization_size: f64,
    pub alpha_du: f64,
    pub alpha_pr: f64,
    pub ls_trials: i32,
}
Expand description

Pieces of solver data available from Ipopt after each iteration inside the intermediate callback.

Fields§

§alg_mod: AlgorithmMode

Algorithm mode indicates which mode the algorithm is currently in.

§iter_count: i32

The current iteration count.

This includes regular iterations and iterations during the restoration phase.

§obj_value: f64

The unscaled objective value at the current point.

During the restoration phase, this value remains the unscaled objective value for the original problem.

§inf_pr: f64

The unscaled constraint violation at the current point.

This quantity is the infinity-norm (max) of the (unscaled) constraints. During the restoration phase, this value remains the constraint violation of the original problem at the current point. The option inf_pr_output can be used to switch to the printing of a different quantity.

§inf_du: f64

The scaled dual infeasibility at the current point.

This quantity measures the infinity-norm (max) of the internal dual infeasibility, Eq. (4a) in the implementation paper, including inequality constraints reformulated using slack variables and problem scaling. During the restoration phase, this is the value of the dual infeasibility for the restoration phase problem.

§mu: f64

The value of the barrier parameter $ \mu$.

§d_norm: f64

The infinity norm (max) of the primal step (for the original variables $ x$ and the internal slack variables $ s$).

During the restoration phase, this value includes the values of additional variables, $ p$ and $ n$ (see Eq. (30) in the implementation paper)

§regularization_size: f64

The value of the regularization term for the Hessian of the Lagrangian in the augmented system

This is $ \delta_w$ in Eq. (26) and Section 3.1 in the implementation paper. A zero value indicates that no regularization was done.

§alpha_du: f64

The stepsize for the dual variables.

This is $ \alpha^z_k$ in Eq. (14c) in the implementation paper.

§alpha_pr: f64

The stepsize for the primal variables.

This is $ \alpha_k$ in Eq. (14a) in the implementation paper.

§ls_trials: i32

The number of backtracking line search steps (does not include second-order correction steps).

Trait Implementations§

Source§

impl Clone for IntermediateCallbackData

Source§

fn clone(&self) -> IntermediateCallbackData

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IntermediateCallbackData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for IntermediateCallbackData

Source§

fn eq(&self, other: &IntermediateCallbackData) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for IntermediateCallbackData

Source§

impl StructuralPartialEq for IntermediateCallbackData

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,