Ejemplo n.º 1
0
        public void CorrectlyIdentifiesIllegalSolution()
        {
            var evaluator = new Zdt2();
            var ds        = DecisionSpace.CreateForUniformDoubleArray(30, -2, -1, -2, -1);
            var legal     = evaluator.GetLegality(DecisionVector.CreateFromArray(ds,
                                                                                 ds.Select(d => d.GetNextRandom(new SystemRandomSource()))));

            Assert.False(legal);
        }
Ejemplo n.º 2
0
        public void CorrectlyIdentifiesLegalSolution()
        {
            var evaluator = new Zdt2();
            var ds        = evaluator.GetOptimalParetoFront(1).ElementAt(0).GetDecisionSpace();
            var legal     = evaluator.GetLegality(DecisionVector.CreateFromArray(ds,
                                                                                 ds.Select(d => d.GetNextRandom(new SystemRandomSource()))));

            Assert.True(legal);
        }
Ejemplo n.º 3
0
        public void EvaluatesCorrectValues(double[] values)
        {
            var evaluator = new Zdt2();

            var ds = DecisionSpace.CreateForUniformDoubleArray(30, 0, 1, 0, 1);
            var xm = Enumerable.Repeat(values[1], 29);
            var x  = new List <double> {
                values[0]
            };

            x.AddRange(xm);

            var result = evaluator.Evaluate(DecisionVector.CreateFromArray(ds, x));

            Assert.True(Math.Abs(values[2] - result.ElementAt(0)) < 1e-6);
            Assert.True(Math.Abs(values[3] - result.ElementAt(1)) < 1e-6);
        }