#[non_exhaustive]pub enum StartStrategy {
RandomBox,
LatinHypercube,
}Expand description
Multi-start sampling strategy.
IPM converges to the nearest KKT point under inertia correction, so different starting points can reach different local optima on non-convex QPs.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
RandomBox
Independent uniform sampling within box bounds (LCG).
LatinHypercube
Latin Hypercube Sampling: partition each dimension into n_starts
strata and permute per column. Better global coverage than pure random.
Trait Implementations§
Source§impl Clone for StartStrategy
impl Clone for StartStrategy
Source§fn clone(&self) -> StartStrategy
fn clone(&self) -> StartStrategy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for StartStrategy
Source§impl Debug for StartStrategy
impl Debug for StartStrategy
impl Eq for StartStrategy
Source§impl PartialEq for StartStrategy
impl PartialEq for StartStrategy
Source§fn eq(&self, other: &StartStrategy) -> bool
fn eq(&self, other: &StartStrategy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for StartStrategy
Auto Trait Implementations§
impl Freeze for StartStrategy
impl RefUnwindSafe for StartStrategy
impl Send for StartStrategy
impl Sync for StartStrategy
impl Unpin for StartStrategy
impl UnsafeUnpin for StartStrategy
impl UnwindSafe for StartStrategy
Blanket Implementations§
impl<T> Boilerplate for T
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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>
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 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>
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