예제 #1
0
        /// <summary>Initializes a new instance of the <see cref="NLoptAlgorithmAttribute"/> class.
        /// </summary>
        /// <param name="procedding">The proceeding, i.e. a value indicating whether a local or global optimization approach is given.</param>
        /// <param name="gradientRequirement">The gradient requirement, i.e. a value indicating whether the gradient will be taken into account.</param>
        public NLoptAlgorithmAttribute(NLoptProceeding procedding, OrdinaryMultiDimOptimizer.GradientMethod gradientRequirement)
        {
            Proceeding          = procedding;
            GradientRequirement = gradientRequirement;

            IsRandomAlgorithm              = false;
            BoxConstraintRequirement       = NLoptBoundConstraintRequirement.Required;
            NonlinearConstraintRequirement = NLoptNonlinearConstraintRequirement.None;
            SubsidiaryRequirement          = NLoptSubsidiaryRequirement.None;
        }
예제 #2
0
        /// <summary>Initializes a new instance of the <see cref="NLoptConfiguration"/> class.
        /// </summary>
        /// <param name="procedding">A value indicating whether a local or global optimization approach is specified.</param>
        /// <param name="gradientRequirement">A value indicating whether the gradient will be taken into account.</param>
        /// <param name="boxConstraintRequirement">A value indicating whether Box constraints are required.</param>
        /// <param name="nonlinearConstraintRequirement">A value indicating whether nonlinear constraints are required.</param>
        /// <param name="isRandomAlgorithm">A value indicating whether the optimization algorithm is randomly based.</param>
        /// <param name="subsididaryRequirement">A value indicating whether a subsidiary optimization algorithm is required.</param>
        internal NLoptConfiguration(NLoptProceeding procedding, OrdinaryMultiDimOptimizer.GradientMethod gradientRequirement, NLoptBoundConstraintRequirement boxConstraintRequirement,
                                    NLoptNonlinearConstraintRequirement nonlinearConstraintRequirement, bool isRandomAlgorithm, NLoptSubsidiaryRequirement subsididaryRequirement)
        {
            Proceeding          = procedding;
            GradientRequirement = gradientRequirement;

            IsRandomAlgorithm              = isRandomAlgorithm;
            BoxConstraintRequirement       = boxConstraintRequirement;
            NonlinearConstraintRequirement = nonlinearConstraintRequirement;
            SubsidiaryRequirement          = subsididaryRequirement;
        }