pub struct MultiStartConfig {
pub n_starts: usize,
pub seed: u64,
pub strategy: StartStrategy,
}Expand description
Multi-start local search user-facing config.
Solves n_starts independent IPM problems from different starting points
and returns the best objective. Improves escape rate on non-convex QPs
and supplies incumbents for spatial B&B.
User-controlled (pub fields):
n_starts: parallelism / hit probabilityseed: reproducibility (0is internally clamped to 1 to avoid LCG lock)strategy: sampling strategy
n_starts == 1: single cold solve (existing behaviour).
n_starts >= 2: start #0 = cold, #1..n = random (warm_start_qp.x injected).
All starts share the same deadline.
Fields§
§n_starts: usizeNumber of starting points. 1 disables multi-start. Default = 1.
seed: u64Random seed. Default = DEFAULT_MULTISTART_SEED.
strategy: StartStrategySampling strategy. Default = RandomBox.
Trait Implementations§
Source§impl Clone for MultiStartConfig
impl Clone for MultiStartConfig
Source§fn clone(&self) -> MultiStartConfig
fn clone(&self) -> MultiStartConfig
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 moreSource§impl Debug for MultiStartConfig
impl Debug for MultiStartConfig
Auto Trait Implementations§
impl Freeze for MultiStartConfig
impl RefUnwindSafe for MultiStartConfig
impl Send for MultiStartConfig
impl Sync for MultiStartConfig
impl Unpin for MultiStartConfig
impl UnsafeUnpin for MultiStartConfig
impl UnwindSafe for MultiStartConfig
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
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,
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