pub struct DEConfig {Show 22 fields
pub maxiter: usize,
pub popsize: usize,
pub tol: f64,
pub atol: f64,
pub mutation: Mutation,
pub recombination: f64,
pub strategy: Strategy,
pub crossover: Crossover,
pub init: Init,
pub updating: Updating,
pub seed: Option<u64>,
pub integrality: Option<Vec<bool>>,
pub x0: Option<Array1<f64>>,
pub disp: bool,
pub callback: Option<CallbackFn>,
pub penalty_ineq: Vec<PenaltyTuple>,
pub penalty_eq: Vec<PenaltyTuple>,
pub linear_penalty: Option<LinearPenalty>,
pub polish: Option<PolishConfig>,
pub adaptive: AdaptiveConfig,
pub parallel: ParallelConfig,
pub lshade: LShadeConfig,
}Expand description
Configuration for the Differential Evolution optimizer.
This struct holds all parameters controlling the DE algorithm behavior, including population size, mutation/crossover settings, constraints, and convergence criteria.
Fields§
§maxiter: usizeMaximum number of generations (iterations).
popsize: usizePopulation size multiplier (total NP = popsize * n_params_free).
tol: f64Relative tolerance for convergence (population energy std dev).
atol: f64Absolute tolerance for convergence on best fitness.
mutation: MutationMutation factor setting.
recombination: f64Crossover probability CR in [0, 1].
strategy: StrategyMutation/crossover strategy.
crossover: CrossoverCrossover type (binomial or exponential).
init: InitPopulation initialization scheme.
updating: UpdatingUpdate timing (deferred).
seed: Option<u64>Optional random seed for reproducibility.
integrality: Option<Vec<bool>>Optional integrality mask; true => variable is integer-constrained.
x0: Option<Array1<f64>>Optional initial guess used to replace the best member after init.
disp: boolPrint objective best at each iteration.
callback: Option<CallbackFn>Optional per-iteration callback (may stop early).
penalty_ineq: Vec<PenaltyTuple>Penalty-based inequality constraints: fc(x) <= 0.
penalty_eq: Vec<PenaltyTuple>Penalty-based equality constraints: h(x) = 0.
linear_penalty: Option<LinearPenalty>Optional linear constraints treated by penalty: lb <= A x <= ub.
polish: Option<PolishConfig>Polishing configuration (optional).
adaptive: AdaptiveConfigAdaptive differential evolution configuration.
parallel: ParallelConfigParallel evaluation configuration.
lshade: LShadeConfigL-SHADE configuration for population reduction and pbest selection.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DEConfig
impl !RefUnwindSafe for DEConfig
impl !Send for DEConfig
impl !Sync for DEConfig
impl Unpin for DEConfig
impl UnsafeUnpin for DEConfig
impl !UnwindSafe for DEConfig
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> 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