/// <summary>Initializes a new instance of the <see cref="NelderMeadOptimizer"/> class. /// </summary> /// <param name="abortCondition">The abort (stopping) condition for the Nelder-Mead optimizer.</param> /// <param name="constraintProvider">The constraint provider, i.e. transformation etc. for the support of specific constraints (the original algorithm does not support any constraints).</param> /// <param name="initialScaleFactor">A scaling factor which is used to create from a specific initial guess the N + 1 points (in \R^N) of the start simplex.</param> public NelderMeadOptimizer(NelderMeadOptimizerAbortCondition abortCondition, MultiDimOptimizerConstraintProvider constraintProvider, double initialScaleFactor = 1.0) { AbortCondition = abortCondition ?? throw new ArgumentNullException(nameof(abortCondition)); m_ConstraintProvider = constraintProvider ?? throw new ArgumentNullException(nameof(constraintProvider)); m_Name = new IdentifierString("Nelder-Mead-Simplex search optimizer"); m_FunctionDescriptor = new OrdinaryMultiDimOptimizerFunctionFactory(); m_ConstraintDescriptor = new MultiDimOptimizerConstraintFactory(constraintProvider.SupportedConstraints); InitialScaleFactor = initialScaleFactor; }
/// <summary>Initializes the <see cref="NelderMeadOptimizer" /> class. /// </summary> static NelderMeadOptimizer() { StandardAbortCondition = NelderMeadOptimizerAbortCondition.Create(); StandardConstraintProvider = MultiDimOptimizerConstraintProvider.BoxTransformation; }