Skip to main content

ConvergedState

Struct ConvergedState 

Source
pub struct ConvergedState {
    pub status: ApplicationReturnStatus,
    pub x: Vec<Number>,
    pub obj_val: Number,
    pub bound_relax_factor: Number,
    pub exact_hessian: bool,
    /* private fields */
}
Expand description

State captured at convergence: the user-visible iterate plus the PdSensBacksolver that wraps the converged KKT factor.

Read this via Solver::converged.

Fields§

§status: ApplicationReturnStatus

IPM return status of the most recent solve.

§x: Vec<Number>

Final primal iterate x* (length n_x), in the user’s own units: a user-scaling change of variables is undone here, so this is x, never the algorithm’s x̃ = d ⊙ x (gh#486).

§obj_val: Number

Final objective value f(x*).

§bound_relax_factor: Number

bound_relax_factor as the solve that produced this state ran with it, not as the application’s options read today. The bounds were relaxed (or not) once, during this solve; a later set_numeric_value cannot change what the held slacks were measured against, so post-solve calls whose validity depends on unrelaxed bounds must guard on this value. See Solver::classify_activity.

§exact_hessian: bool

Whether the solve computed exact Hessians, as it ran. A limited-memory solve’s IpoptData::w is the quasi-Newton matrix, and there is no exact Hessian to evaluate at another point, so the corrector keeps that matrix instead of refreshing it at the predicted iterate.

Implementations§

Source§

impl ConvergedState

Source

pub fn block_dims(&self) -> [usize; 8]

Block dimensions of the compound KKT vector in (x, s, y_c, y_d, z_l, z_u, v_l, v_u) order.

Source

pub fn kkt_dim(&self) -> usize

Total dimension of the compound KKT vector (sum of block_dims).

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> ByRef<T> for T

Source§

fn by_ref(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more