Class NelderMeadOptimizerOptions
- Namespace
- SignalSharp.Optimization.NelderMead
- Assembly
- SignalSharp.dll
Configuration options for the NelderMeadOptimizer<TInput, TMetric>.
public record NelderMeadOptimizerOptions : IEquatable<NelderMeadOptimizerOptions>
- Inheritance
-
NelderMeadOptimizerOptions
- Implements
- Inherited Members
Constructors
NelderMeadOptimizerOptions()
public NelderMeadOptimizerOptions()
Properties
ContractionFactor
Contraction factor (gamma). Typically 0.5. Must be between 0 (exclusive) and 1 (exclusive).
public double ContractionFactor { get; init; }
Property Value
EnableAdaptiveParameters
Whether to enable adaptive parameter adjustment during optimization. When true, the Nelder-Mead coefficients are adjusted based on iteration count and dimension.
public bool EnableAdaptiveParameters { get; init; }
Property Value
EnableMultiStart
Whether to enable multi-start optimization. When true, the optimizer will perform multiple optimization runs with different starting points to increase the chances of finding the global minimum.
public bool EnableMultiStart { get; init; }
Property Value
EnableParameterConvergence
Whether to enable parameter-based convergence checking. When true, the optimizer will also check if parameter values across the simplex have converged to within ParameterConvergenceTolerance.
public bool EnableParameterConvergence { get; init; }
Property Value
ExpansionFactor
Expansion factor (chi). Typically 2.0. Must be greater than ReflectionFactor.
public double ExpansionFactor { get; init; }
Property Value
FunctionValueConvergenceTolerance
Absolute tolerance for the difference in function values between the best and worst points in the simplex. If (f(worst) - f(best)) is less than this, convergence is assumed. Must be non-negative.
public double FunctionValueConvergenceTolerance { get; init; }
Property Value
InitialSimplexAbsoluteStepForZeroRange
Absolute step used to generate the initial simplex if a parameter's range is zero or extremely small. Must be positive.
public double InitialSimplexAbsoluteStepForZeroRange { get; init; }
Property Value
InitialSimplexRangeFactor
Factor used to generate the initial simplex by perturbing the initial guess along each dimension, relative to the range of that parameter. E.g., 0.05 means 5% of the parameter's range. Must be positive.
public double InitialSimplexRangeFactor { get; init; }
Property Value
MaxFunctionEvaluations
Maximum number of function evaluations across all optimization runs. If null, the limit is primarily controlled by MaxIterations.
public int? MaxFunctionEvaluations { get; init; }
Property Value
- int?
MaxIterations
Maximum number of iterations for each optimization run.
public int MaxIterations { get; init; }
Property Value
MaxRestarts
The maximum number of additional starts to attempt. Only used when EnableMultiStart is true.
public int MaxRestarts { get; init; }
Property Value
ParameterConvergenceTolerance
Relative tolerance for parameter convergence. If the maximum normalized difference between any parameter values in the simplex is less than this value, convergence is assumed. Must be positive.
public double ParameterConvergenceTolerance { get; init; }
Property Value
ReflectionFactor
Reflection factor (rho). Typically 1.0. Must be greater than 0.
public double ReflectionFactor { get; init; }
Property Value
ShrinkFactor
Shrink factor (sigma). Typically 0.5. Must be between 0 (exclusive) and 1 (exclusive).
public double ShrinkFactor { get; init; }
Property Value
StagnationImprovementThreshold
An absolute tolerance for improvement. If the best function value does not improve by at least this amount for StagnationThresholdCount consecutive iterations, the optimization is considered to have stagnated.
public double StagnationImprovementThreshold { get; init; }
Property Value
StagnationThresholdCount
Maximum number of iterations without improvement before the optimizer is considered to be stagnating.
public int StagnationThresholdCount { get; init; }