コード例 #1
0
            /// <summary>Initializes a new instance of the <see cref="Algorithm"/> class.
            /// </summary>
            /// <param name="optimizer">The <see cref="PowellOptimizer"/> object that serves as factory of the current object.</param>
            /// <param name="dimension">The dimension of the feasible region.</param>
            internal Algorithm(PowellOptimizer optimizer, int dimension)
            {
                m_Optimizer = optimizer;
                Dimension   = dimension;

                m_DirectionMatrix     = new double[dimension * dimension];
                m_LineSearchOptimizer = optimizer.LineSearchOptimizer.Create();
            }
コード例 #2
0
        /// <summary>Sets the objective function.
        /// </summary>
        /// <param name="optimizerAlgorithm">The <see cref="IOneDimOptimizerAlgorithm"/> object.</param>
        /// <param name="objectiveFunction">The objective function.</param>
        /// <exception cref="InvalidOperationException">Thrown, if <paramref name="objectiveFunction"/> is invalid.</exception>
        public static void SetFunction(this IOneDimOptimizerAlgorithm optimizerAlgorithm, Func <double, double> objectiveFunction)
        {
            var objFunction = optimizerAlgorithm.Factory.Function.Create(objectiveFunction);

            optimizerAlgorithm.Function = objFunction;
        }
コード例 #3
0
        /// <summary>Sets the objective function.
        /// </summary>
        /// <param name="optimizerAlgorithm">The <see cref="IOneDimOptimizerAlgorithm"/> object.</param>
        /// <param name="objectiveFunction">The differentiable objective function.</param>
        /// <exception cref="InvalidOperationException">Thrown, if <paramref name="objectiveFunction"/> is invalid.</exception>
        public static void SetFunction(this IOneDimOptimizerAlgorithm optimizerAlgorithm, OneDimOptimizer.DifferentiableObjectiveFunction objectiveFunction)
        {
            var objFunction = optimizerAlgorithm.Factory.Function.Create(objectiveFunction);

            optimizerAlgorithm.Function = objFunction;
        }