Пример #1
0
 /// <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);
        }