pub struct MinimaArgs {Show 29 fields
pub method: Method,
pub n_minima: usize,
pub max_solves: Option<usize>,
pub patience: usize,
pub dedup: f64,
pub psd_tol: f64,
pub kkt_tol: Option<f64>,
pub seed: u64,
pub sobol: bool,
pub sigma: Option<f64>,
pub sigma_frac: Option<f64>,
pub amplitude: Option<f64>,
pub amp_margin: Option<f64>,
pub eta: Option<f64>,
pub power: Option<f64>,
pub soft: Option<f64>,
pub length: Option<f64>,
pub length_frac: Option<f64>,
pub gamma: Option<f64>,
pub samples_per_round: Option<usize>,
pub step: Option<f64>,
pub temperature: Option<f64>,
pub restart_jitter: Option<f64>,
pub sigma_per_dim: Option<Vec<f64>>,
pub length_per_dim: Option<Vec<f64>>,
pub max_samples: Option<usize>,
pub amp_bump: Option<f64>,
pub amp_bump_cap: Option<f64>,
pub amp_fallback: Option<f64>,
}Expand description
Parsed --minima configuration. Shared knobs have concrete defaults;
strategy-specific knobs are Options resolved per-method in the driver
(so "auto" widths and curvature-based amplitudes match
pounce.find_minima). Field semantics mirror _minima.py exactly.
Fields§
§method: Method§n_minima: usizeTarget: stop once this many distinct minima are found (default 10).
max_solves: Option<usize>Budget: hard cap on solver calls (default 8 * n_minima).
patience: usizeGive-up: stop after this many solves in a row that find nothing new.
dedup: f64Two minima within this scaled distance are the same (default 1e-4).
psd_tol: f64Smallest Hessian eigenvalue tolerated by saddle rejection (1e-6).
kkt_tol: Option<f64>Reject a converged solve whose unscaled dual infeasibility exceeds
kkt_tol · max(1, max|∇f(x0)|, dual_scale) (gh#983; default 1e-4).
None (--kkt-tol none) disables the check.
seed: u64Seed for the sampler / Sobol’ scramble (default 0; reproducible).
sobol: boolUse a scrambled Sobol’ sequence for box sampling (default true).
sigma: Option<f64>§sigma_frac: Option<f64>§amplitude: Option<f64>§amp_margin: Option<f64>§eta: Option<f64>§power: Option<f64>§soft: Option<f64>§length: Option<f64>§length_frac: Option<f64>§gamma: Option<f64>§samples_per_round: Option<usize>§step: Option<f64>§temperature: Option<f64>§restart_jitter: Option<f64>§sigma_per_dim: Option<Vec<f64>>Per-dimension flooding widths; takes precedence over sigma.
length_per_dim: Option<Vec<f64>>Per-dimension deflation / tunneling lengths; takes precedence over
length.
max_samples: Option<usize>MLSL sample cap (default max_solves * samples_per_round).
amp_bump: Option<f64>Flooding: factor a basin’s bump grows by on a failed escape (3).
amp_bump_cap: Option<f64>Flooding: cap on that growth (1e3).
amp_fallback: Option<f64>Flooding: bump height when no Hessian gives a curvature-based one (2).
Implementations§
Source§impl MinimaOptions
impl MinimaOptions
Sourcepub fn max_solves_or_default(&self) -> usize
pub fn max_solves_or_default(&self) -> usize
The solve budget: max_solves, or 8 * n_minima when unset.
Trait Implementations§
Source§impl Clone for MinimaOptions
impl Clone for MinimaOptions
Source§fn clone(&self) -> MinimaOptions
fn clone(&self) -> MinimaOptions
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 MinimaOptions
impl Debug for MinimaOptions
Source§impl Default for MinimaOptions
impl Default for MinimaOptions
Source§fn default() -> MinimaOptions
fn default() -> MinimaOptions
Auto Trait Implementations§
impl Freeze for MinimaOptions
impl RefUnwindSafe for MinimaOptions
impl Send for MinimaOptions
impl Sync for MinimaOptions
impl Unpin for MinimaOptions
impl UnsafeUnpin for MinimaOptions
impl UnwindSafe for MinimaOptions
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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