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: AlgorithmModeAlgorithm mode indicates which mode the algorithm is currently in.
iter_count: i32The current iteration count.
This includes regular iterations and iterations during the restoration phase.
obj_value: f64The unscaled objective value at the current point.
During the restoration phase, this value remains the unscaled objective value for the original problem.
inf_pr: f64The 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: f64The 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: f64The value of the barrier parameter $ \mu$.
d_norm: f64The 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: f64The 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: f64The stepsize for the dual variables.
This is $ \alpha^z_k$ in Eq. (14c) in the implementation paper.
alpha_pr: f64The stepsize for the primal variables.
This is $ \alpha_k$ in Eq. (14a) in the implementation paper.
ls_trials: i32The number of backtracking line search steps (does not include second-order correction steps).
Trait Implementations§
Source§impl Clone for IntermediateCallbackData
impl Clone for IntermediateCallbackData
Source§fn clone(&self) -> IntermediateCallbackData
fn clone(&self) -> IntermediateCallbackData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IntermediateCallbackData
impl Debug for IntermediateCallbackData
Source§impl PartialEq for IntermediateCallbackData
impl PartialEq for IntermediateCallbackData
impl Copy for IntermediateCallbackData
impl StructuralPartialEq for IntermediateCallbackData
Auto Trait Implementations§
impl Freeze for IntermediateCallbackData
impl RefUnwindSafe for IntermediateCallbackData
impl Send for IntermediateCallbackData
impl Sync for IntermediateCallbackData
impl Unpin for IntermediateCallbackData
impl UnwindSafe for IntermediateCallbackData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.