Example #1
0
        public static CancellationConditions CreateCancellation()
        {
            var cancrlation = new CancellationConditions()
            {
                Iteration = 1000,
                ErrorStep = 0.000000001
            };

            return(cancrlation);
        }
        /// <summary>
        /// Конструирует условие завершения алгоритма по умолчанию
        /// </summary>
        /// <returns></returns>
        public static Genetic.CancellationConditions CreateCancellation()
        {
            CancellationConditions cond = new CancellationConditions()
            {
                Iteration = 1000
            };

            // cond.TimerElapsed.Elapsed += TimerElapsed_Elapsed;
            return(cond);
        }
Example #3
0
        public void CheckCancellationTest()
        {
            GeneticAlgorithm       alg  = Factory.DefaultGeneticAlgorithmFactory.Create(2, 2);
            CancellationConditions cond = alg.Cancellation;


            GeneticGeneration temp1 = new GeneticGeneration(2, 2);

            alg.Result.Push(temp1);
            alg.Result.Data[0][0].FitnessResult = 1;

            GeneticGeneration temp2 = new GeneticGeneration(2, 2);

            alg.Result.Push(temp2);
            alg.Result.Data[1][0].FitnessResult = 0.5;

            Assert.IsFalse(cond.CheckCancellation(alg));


            alg.Result.Data[1][0].FitnessResult = alg.Result.Data[0][0].FitnessResult - cond.ErrorStep;
            Assert.IsTrue(cond.CheckCancellation(alg));

            cond.ErrorStep        = -1;
            alg.CurrentGeneration = temp1;
            cond.MoreOrEquals     = 1;
            Assert.IsTrue(cond.CheckCancellation(alg));

            cond.MoreOrEquals = double.MaxValue;
            cond.LessOrEquals = 1;
            Assert.IsTrue(cond.CheckCancellation(alg));

            cond.LessOrEquals = double.MinValue;
            Assert.IsFalse(cond.CheckCancellation(alg));

            Assert.IsFalse(cond.CheckCancellation(alg));
        }