示例#1
0
        /// <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;
        }
示例#2
0
 /// <summary>Initializes the <see cref="NelderMeadOptimizer" /> class.
 /// </summary>
 static NelderMeadOptimizer()
 {
     StandardAbortCondition     = NelderMeadOptimizerAbortCondition.Create();
     StandardConstraintProvider = MultiDimOptimizerConstraintProvider.BoxTransformation;
 }