예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ImplicitEnueration" /> class.
 /// </summary>
 /// <param name="SpaceDescription">The space description.</param>
 /// <param name="direction">The direction.</param>
 public ImplicitEnueration(DesignSpaceDescription SpaceDescription, optimize direction)
 {
     spaceDescription                  = SpaceDescription;
     this.direction                    = direction;
     comparer                          = new optimizeSort(direction);
     RequiresObjectiveFunction         = false;
     ConstraintsSolvedWithPenalties    = false;
     InequalitiesConvertedToEqualities = false;
     RequiresSearchDirectionMethod     = false;
     RequiresLineSearchMethod          = false;
     RequiresAnInitialPoint            = false;
     RequiresConvergenceCriteria       = false;
     RequiresFeasibleStartPoint        = false;
     RequiresDiscreteSpaceDescriptor   = true;
 }
예제 #2
0
 public ExhaustiveSearch(DesignSpaceDescription SpaceDescription, optimize direction)
 {
     spaceDescription = SpaceDescription;
     if (!SpaceDescription.AllDiscrete)
     {
         throw new Exception("Exhaustive Search can only be used when Space is all discrete");
     }
     comparer = new optimizeSort(direction);
     RequiresObjectiveFunction         = false;
     ConstraintsSolvedWithPenalties    = false;
     InequalitiesConvertedToEqualities = false;
     RequiresSearchDirectionMethod     = false;
     RequiresLineSearchMethod          = false;
     RequiresAnInitialPoint            = false;
     RequiresConvergenceCriteria       = false;
     RequiresFeasibleStartPoint        = false;
     RequiresDiscreteSpaceDescriptor   = true;
 }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="abstractSelector" /> class.
 /// </summary>
 /// <param name="optimizationDirections">The optimization directions.</param>
 protected abstractSelector(optimize[] optimizationDirections)
 {
     numObjectives = optimizationDirections.GetLength(0);
     if (optDirections == null)
     {
         optDirections     = new[] { optimize.minimize };
         directionComparer = new [] { new optimizeSort(optimize.minimize) };
     }
     else
     {
         optDirections     = new optimize[numObjectives];
         directionComparer = new optimizeSort[numObjectives];
         for (int i = 0; i < numObjectives; i++)
         {
             optDirections[i]     = optimizationDirections[i];
             directionComparer[i] = new optimizeSort(optDirections[i]);
         }
     }
 }