示例#1
0
        /// <summary>Initializes a new instance of the <see cref="PowellOptimizer"/> class.
        /// </summary>
        /// <param name="abortCondition">The abort (stopping) condition for the Simulated Annealing optimizer.</param>
        /// <param name="lineSearchOptimizer">The line search optimizer to take into account.</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>
        public PowellOptimizer(PowellOptimizerAbortCondition abortCondition, OneDimOptimizer lineSearchOptimizer, MultiDimOptimizerConstraintProvider constraintProvider)
        {
            AbortCondition       = abortCondition ?? throw new ArgumentNullException(nameof(abortCondition));
            LineSearchOptimizer  = lineSearchOptimizer ?? throw new ArgumentNullException(nameof(lineSearchOptimizer));
            m_ConstraintProvider = constraintProvider ?? throw new ArgumentNullException(nameof(constraintProvider));

            m_Name = new IdentifierString("Powell optimizer");
            m_FunctionDescriptor   = new OrdinaryMultiDimOptimizerFunctionFactory();
            m_ConstraintDescriptor = new MultiDimOptimizerConstraintFactory(constraintProvider.SupportedConstraints);
        }
示例#2
0
 /// <summary>Initializes the <see cref="PowellOptimizer" /> class.
 /// </summary>
 static PowellOptimizer()
 {
     StandardAbortCondition      = PowellOptimizerAbortCondition.Create();
     StandardLineSearchOptimizer = new BrentOptimizer();
     StandardConstraintProvider  = MultiDimOptimizerConstraintProvider.BoxTransformation;
 }