/// <summary> /// Initializes a new instance of the <see cref="DifferentialEvolutionStrategyConfiguration"/> class. /// </summary> /// <param name="maximumNumberGenerations"> /// The maximum number of generations per differential evolution phase. /// </param> /// <param name="focusOnIncumbent"> /// Whether JADE should focus on improving the incumbent. /// If not, it works on the complete population. /// </param> /// <param name="minimumDomainSize"> /// The minimum size an integer domain needs to have to be handled as continuous. /// </param> /// <param name="replacementRate"> /// The percentage of competitive genomes which get replaced by the best search points found by /// the continuous optimization method at the end of a phase if <paramref name="focusOnIncumbent"/> is /// <c>true</c>, expressed by a value in [0, 1]. /// </param> /// <param name="fixInstances"> /// Whether the set of instances to evaluate on should stay the same during a /// differential evolution phase. /// </param> /// <param name="differentialEvolutionConfiguration"> /// The configuration for the differential evolution runner. /// </param> private DifferentialEvolutionStrategyConfiguration( bool focusOnIncumbent, int maximumNumberGenerations, int minimumDomainSize, double replacementRate, bool fixInstances, DifferentialEvolutionConfiguration differentialEvolutionConfiguration) : base(focusOnIncumbent, maximumNumberGenerations, minimumDomainSize, replacementRate, fixInstances) { this.DifferentialEvolutionConfiguration = differentialEvolutionConfiguration; }
/// <summary> /// Initializes a new instance of the <see cref="DifferentialEvolutionTest"/> class. /// </summary> public DifferentialEvolutionTest() { this._configuration = new DifferentialEvolutionConfiguration.DifferentialEvolutionConfigurationBuilder() .SetBestPercentage(0.2) .SetInitialMeanMutationFactor(0.5) .SetInitialMeanCrossoverRate(0.5) .SetLearningRate(0.1) .BuildWithFallback(null); this._runner = new DifferentialEvolution <SearchPoint>(this._sorter, this._searchPointFactory, this._configuration); Randomizer.Configure(0); }