protected virtual void RunIteration(IStochasticOptimizationTest optimizationTest) { this.WriteLine( $"Running {optimizationTest.ID} iteration {optimizationTest.IterationNumber}..."); // runs one iteration of the optim algorithm according to the tests results optimizationTest.Run(); }
protected virtual void StoreOptimTestStatistics(IStochasticOptimizationTest optimizationTest) { lock (this.locker) { //stores or averages optimization tests' statistics if (this.FitnessMaxProgressAvg == null) { this.FitnessMaxProgressAvg = optimizationTest.FitnessMaxProgress; } else { this.FitnessMaxProgressAvg.AverageWith(optimizationTest.FitnessMaxProgress); } } }
protected override void StoreOptimTestStatistics(IStochasticOptimizationTest optimizationTest) { base.StoreOptimTestStatistics(optimizationTest); lock (this.locker) { var ecOptimizationTest = (ECOptimizationTest)optimizationTest; //stores or averages populations' statistics if (this.RandomProportionProgressAvg == null) { this.RandomProportionProgressAvg = ecOptimizationTest.RandomProportionProgress; } else { this.RandomProportionProgressAvg.AverageWith(ecOptimizationTest.RandomProportionProgress); } } }