/// <summary>Creates a new <see cref="IOneDimOptimizerAlgorithm" /> object.
 /// </summary>
 /// <param name="constraint">A contraint for the optimization algorithm represented by the current instance, where the parameter has been created via property <see cref="OneDimOptimizer.Constraint" />; if
 /// <c>null</c> an unconstraint feasible region is assumed, i.e. identical to <see cref="OneDimOptimizer.Create()" />.</param>
 /// <returns>A new <see cref="IOneDimOptimizerAlgorithm" /> object.</returns>
 /// <remarks>If <paramref name="constraint" /> is <c>null</c> this method returns the same value as <see cref="OneDimOptimizer.Create()" />.</remarks>
 public override IOneDimOptimizerAlgorithm Create(OneDimOptimizer.IConstraint constraint)
 {
     if (constraint == null)
     {
         return(Create());
     }
     if (constraint is OneDimOptimizerConstraint)
     {
         return(new Algorithm(this, (OneDimOptimizerConstraint)constraint));
     }
     throw new InvalidOperationException();
 }
Esempio n. 2
0
 /// <summary>Creates a new <see cref="IOneDimOptimizerAlgorithm" /> object.
 /// </summary>
 /// <param name="constraint">A contraint for the optimization algorithm represented by the current instance, where the parameter has been created via property <see cref="OneDimOptimizer.Constraint" />; if
 /// <c>null</c> an unconstraint feasible region is assumed, i.e. identical to <see cref="OneDimOptimizer.Create()" />.</param>
 /// <returns>A new <see cref="IOneDimOptimizerAlgorithm" /> object.</returns>
 /// <remarks>If <paramref name="constraint" /> is <c>null</c> this method returns the same value as <see cref="OneDimOptimizer.Create()" />.</remarks>
 public override IOneDimOptimizerAlgorithm Create(OneDimOptimizer.IConstraint constraint)
 {
     if (constraint is OneDimOptimizerConstraint)
     {
         var oneDimConstraint = (OneDimOptimizerConstraint)constraint;
         if ((Double.IsNegativeInfinity(oneDimConstraint.IntervalRepresentation.Infimum) == false) && (Double.IsPositiveInfinity(oneDimConstraint.IntervalRepresentation.Supremum) == false))
         {
             return(new Algorithm(this, (OneDimOptimizerConstraint)constraint));
         }
     }
     throw new InvalidOperationException(nameof(constraint));
 }