pub struct NlpWarmStart {
pub x: Vec<Number>,
pub lambda: Vec<Number>,
pub z_l: Vec<Number>,
pub z_u: Vec<Number>,
pub mu: Option<Number>,
}Expand description
Per-instance warm-start iterate for solve_nlp_batch_parallel_warm:
primal point plus the three dual vectors the IPM’s warm-start
initializer consumes via TNLP::get_starting_point. Build one from
a previous batch’s NlpBatchSolution (the From impl) for MPC /
sequential-chaining workloads.
Fields§
§x: Vec<Number>§lambda: Vec<Number>Constraint multipliers λ.
z_l: Vec<Number>Lower / upper bound multipliers.
z_u: Vec<Number>§mu: Option<Number>Barrier parameter μ to resume from — typically the previous
solve’s final μ (SolveStatistics::final_mu). When Some,
the warm batch sets mu_init to it (floored at 1e-9, and
only if the caller’s configure didn’t set mu_init
explicitly), so the IPM continues near the converged barrier
instead of recentering at the cold default 0.1 — without
this, a warm start from a near-optimal point can gain
iterations walking back out to the central path.
Trait Implementations§
Source§impl Clone for NlpWarmStart
impl Clone for NlpWarmStart
Source§fn clone(&self) -> NlpWarmStart
fn clone(&self) -> NlpWarmStart
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NlpWarmStart
impl Debug for NlpWarmStart
Source§impl Default for NlpWarmStart
impl Default for NlpWarmStart
Source§fn default() -> NlpWarmStart
fn default() -> NlpWarmStart
Source§impl From<&NlpBatchResult> for NlpWarmStart
Build a warm start from a full batch result: iterate + duals from
the captured solution, μ from the statistics. An instance whose
solve produced no solution yields an empty warm start, which the
next solve treats as a cold start (dimension-mismatch fallback).
impl From<&NlpBatchResult> for NlpWarmStart
Build a warm start from a full batch result: iterate + duals from the captured solution, μ from the statistics. An instance whose solve produced no solution yields an empty warm start, which the next solve treats as a cold start (dimension-mismatch fallback).
Source§fn from(r: &NlpBatchResult) -> Self
fn from(r: &NlpBatchResult) -> Self
Source§impl From<&NlpBatchSolution> for NlpWarmStart
impl From<&NlpBatchSolution> for NlpWarmStart
Source§fn from(sol: &NlpBatchSolution) -> Self
fn from(sol: &NlpBatchSolution) -> Self
Auto Trait Implementations§
impl Freeze for NlpWarmStart
impl RefUnwindSafe for NlpWarmStart
impl Send for NlpWarmStart
impl Sync for NlpWarmStart
impl Unpin for NlpWarmStart
impl UnsafeUnpin for NlpWarmStart
impl UnwindSafe for NlpWarmStart
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,
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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