示例#1
0
        public void IsMetThrowsForMissingCovarianceMatrix()
        {
            var terminationCriterion = new TolUpSigma();
            var data = TolUpSigmaTest.CreateCmaEsData(covariances: null, initialStepSize: 0.2, currentStepSize: 0.2);

            Assert.Throws <ArgumentOutOfRangeException>(() => terminationCriterion.IsMet(data));
        }
示例#2
0
        public void IsMetReturnsFalseForFactorEqualToMaxConstant()
        {
            double greatestEigenvalue = 42.3;
            double initialStepSize    = 0.2;
            double currentStepSize    = TolUpSigma.MaxFactor * Math.Sqrt(greatestEigenvalue) * initialStepSize;
            var    covariances        = Matrix <double> .Build.DenseOfDiagonalArray(
                new[] { greatestEigenvalue, 0, 0 });

            var terminationCriterion = new TolUpSigma();

            Assert.False(
                terminationCriterion.IsMet(TolUpSigmaTest.CreateCmaEsData(covariances, initialStepSize, currentStepSize)),
                "Termination criterion should not have been met.");
        }