コード例 #1
0
 /// <summary>Creates a specific <see cref="IMultiDimOptimizerAlgorithm"/> object.
 /// </summary>
 /// <param name="optimizer">The <see cref="MultiDimOptimizer"/> object that supports a optimization problems without constraints.</param>
 /// <param name="multiDimRegionCollection">The constraints in its <see cref="MultiDimOptimizer.IConstraint"/> representation.</param>
 /// <returns>The specific <see cref="IMultiDimOptimizerAlgorithm"/> object.</returns>
 public override IMultiDimOptimizerAlgorithm Create(MultiDimOptimizer optimizer, MultiDimOptimizer.IConstraint[] multiDimRegionCollection)
 {
     if (multiDimRegionCollection == null)
     {
         throw new ArgumentNullException(nameof(multiDimRegionCollection));
     }
     foreach (var constraint in multiDimRegionCollection)
     {
         if (constraint is MultiDimOptimizerConstraint)
         {
             var con = (MultiDimOptimizerConstraint)constraint;
             if (con.RegionRepresentation is MultiDimRegion.Interval)
             {
                 return(new BoxTransformationAlgorithm(optimizer, con.RegionRepresentation as MultiDimRegion.Interval));
             }
         }
     }
     throw new InvalidOperationException();
 }
コード例 #2
0
 /// <summary>Creates a specific <see cref="IMultiDimOptimizerAlgorithm"/> object.
 /// </summary>
 /// <param name="optimizer">The <see cref="MultiDimOptimizer"/> object that supports a optimization problems without constraints.</param>
 /// <param name="multiDimRegionCollection">The constraints in its <see cref="MultiDimOptimizer.IConstraint"/> representation.</param>
 /// <returns>The specific <see cref="IMultiDimOptimizerAlgorithm"/> object.</returns>
 public abstract IMultiDimOptimizerAlgorithm Create(MultiDimOptimizer optimizer, MultiDimOptimizer.IConstraint[] multiDimRegionCollection);