/// <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; }
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; }
/// <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]); } } }