예제 #1
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            List <double>         evenlySpacedSequence = SequenceGenerator.GenerateSteps(-5, 5, 0.4m).Select(v => (double)v).ToList();
            List <List <double> > trainingData         = new List <List <double> >()
            {
                evenlySpacedSequence, evenlySpacedSequence
            };
            var combinations = ValueGenerator.GenerateAllCombinationsOfValuesInLists(trainingData).ToList();
            var rand         = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(combinations[i].ToList());
                data[i].AddRange(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 1000, -5, 5).ToList());
            }

            double        x, y;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                y = data[1][i];
                results.Add(1 / (1 + Math.Pow(x, -4)) + 1 / (1 + Math.Pow(y, -4)));
            }
            data.Add(results);

            return(data);
        }
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 1024, 0.05, 6.05).ToList());
                data[i].AddRange(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 5000, -0.25, 6.35));
            }

            double        x1, x2, x3, x4, x5;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1 = data[0][i];
                x2 = data[1][i];
                x3 = data[2][i];
                x4 = data[3][i];
                x5 = data[4][i];
                results.Add(10 / (5 + Math.Pow(x1 - 3, 2) + Math.Pow(x2 - 3, 2) + Math.Pow(x3 - 3, 2) + Math.Pow(x4 - 3, 2) + Math.Pow(x5 - 3, 2)));
            }
            data.Add(results);

            return(data);
        }
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            }

            double        x1, x2, x3, x4;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1 = data[1][i];
                x2 = data[2][i];
                x3 = data[3][i];
                x4 = data[4][i];
                results.Add(0.81 + (24.3 * (((2.0 * x1) + (3.0 * Math.Pow(x2, 2))) / ((4.0 * Math.Pow(x3, 3)) + (5.0 * Math.Pow(x4, 4))))));
            }
            data.Add(results);

            return(data);
        }
예제 #4
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 50).ToList()); // note: range is only [0,50] to prevent NaN values (deviates from gp benchmark paper)
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 50).ToList()); // note: range is only [0,50] to prevent NaN values (deviates from gp benchmark paper)
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 50).ToList()); // note: range is only [0,50] to prevent NaN values (deviates from gp benchmark paper)

            double        x0, x3, x4;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                x3 = data[3][i];
                x4 = data[4][i];
                results.Add(6.87 + (11 * Math.Sqrt(7.23 * x0 * x3 * x4)));
            }
            data.Add(results);

            return(data);
        }
예제 #5
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 10000, 0, 1).ToList());
            }

            double        x1, x2, x3, x4, x5;
            double        f;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1 = data[0][i];
                x2 = data[1][i];
                x3 = data[2][i];
                x4 = data[3][i];
                x5 = data[4][i];

                f = 10 * Math.Sin(Math.PI * x1 * x2) + 20 * Math.Pow(x3 - 0.5, 2) + 10 * x4 + 5 * x5;

                results.Add(f + NormalDistributedRandom.NextDouble(rand, 0, 1));
            }
            data.Add(results);

            return(data);
        }
예제 #6
0
        protected override List <List <double> > GenerateValues()
        {
            var rand = new MersenneTwister((uint)Seed);

            List <List <double> > data = new List <List <double> >();
            var p0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 4.0e5, 6.0e5).ToList();
            var A  = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0.5, 1.5).ToList();
            var T0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 250.0, 260.0).ToList();

            var m_dot       = new List <double>();
            var m_dot_noise = new List <double>();

            data.Add(p0);
            data.Add(A);
            data.Add(T0);
            data.Add(m_dot);
            data.Add(m_dot_noise);
            double R = 287.0;
            double γ = 1.4;
            var    c = Math.Sqrt(γ / R * Math.Pow(2 / (γ + 1), (γ + 1) / (γ - 1)));

            for (int i = 0; i < p0.Count; i++)
            {
                double m_dot_i = p0[i] * A[i] / Math.Sqrt(T0[i]) * c;
                m_dot.Add(m_dot_i);
            }

            var sigma_noise = 0.05 * m_dot.StandardDeviationPop();

            m_dot_noise.AddRange(m_dot.Select(md => md + NormalDistributedRandom.NextDouble(rand, 0, sigma_noise)));
            return(data);
        }
예제 #7
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -1, 1).ToList());
            }

            double        x1, x2, x3, x4, x5, x6, x7, x8, x9, x10;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1  = data[0][i];
                x2  = data[1][i];
                x3  = data[2][i];
                x4  = data[3][i];
                x5  = data[4][i];
                x6  = data[5][i];
                x7  = data[6][i];
                x8  = data[7][i];
                x9  = data[8][i];
                x10 = data[9][i];
                results.Add(x1 * x2 + x3 * x4 + x5 * x6 + x1 * x7 * x9 + x3 * x6 * x10);
            }
            data.Add(results);

            return(data);
        }
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 50).ToList()); // note: range is only [0,50] to prevent NaN values (deviates from gp benchmark paper)
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());

            double        x0, x1, x2, x3;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                x1 = data[1][i];
                x2 = data[2][i];
                x3 = data[3][i];
                results.Add(12.0 - (6.0 * ((Math.Tan(x0) / Math.Exp(x1)) * (Math.Log(x2) - Math.Tan(x3)))));
            }
            data.Add(results);

            return(data);
        }
예제 #9
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            }

            double        x0, x1, x3, x4;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                x1 = data[1][i];
                x3 = data[3][i];
                x4 = data[4][i];
                results.Add(-5.41 + (4.9 * (((x3 - x0) + (x1 / x4)) / (3 * x4))));
            }
            data.Add(results);

            return(data);
        }
예제 #10
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(300, 0.05, 6.05).ToList());
            }

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data[i].AddRange(ValueGenerator.GenerateUniformDistributedValues(1000, -0.25, 6.35));
            }

            double        x1, x2;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1 = data[0][i];
                x2 = data[1][i];
                results.Add((x1 - 3) * (x2 - 3) + 2 * Math.Sin((x1 - 4) * (x2 - 4)));
            }
            data.Add(results);

            return(data);
        }
예제 #11
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            }

            double        x0, x1, x2, x3;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                x1 = data[1][i];
                x2 = data[2][i];
                x3 = data[3][i];
                results.Add(22.0 + (4.2 * ((Math.Cos(x0) - Math.Tan(x1)) * (Math.Tanh(x2) / Math.Sin(x3)))));
            }
            data.Add(results);

            return(data);
        }
예제 #12
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            List <double>         oneVariableTestData = SequenceGenerator.GenerateSteps(-0.2m, 4.2m, 0.1m).Select(v => (double)v).ToList();
            List <List <double> > testData            = new List <List <double> >()
            {
                oneVariableTestData, oneVariableTestData
            };
            var combinations = ValueGenerator.GenerateAllCombinationsOfValuesInLists(testData).ToList <IEnumerable <double> >();
            var rand         = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 100, 0.3, 4).ToList());
                data[i].AddRange(combinations[i]);
            }

            double        x1, x2;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1 = data[0][i];
                x2 = data[1][i];
                results.Add(Math.Exp(-Math.Pow(x1 - 1, 2)) / (1.2 + Math.Pow(x2 - 2.5, 2)));
            }
            data.Add(results);

            return(data);
        }
예제 #13
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            List <double>         oneVariableTestData = SequenceGenerator.GenerateSteps(-0.05m, 6.05m, 0.02m).Select(v => (double)v).ToList();
            List <List <double> > testData            = new List <List <double> >()
            {
                oneVariableTestData, oneVariableTestData
            };
            var combinations = ValueGenerator.GenerateAllCombinationsOfValuesInLists(testData).ToList <IEnumerable <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(30, 0.1, 5.9).ToList());
                data[i].AddRange(combinations[i]);
            }

            double        x1, x2;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1 = data[0][i];
                x2 = data[1][i];
                results.Add(6 * Math.Sin(x1) * Math.Cos(x2));
            }
            data.Add(results);

            return(data);
        }
예제 #14
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            List <double>         oneVariableTestData = SequenceGenerator.GenerateSteps(-3, 3, 0.1m).Select(v => (double)v).ToList();
            List <List <double> > testData            = new List <List <double> >()
            {
                oneVariableTestData, oneVariableTestData
            };

            var combinations = ValueGenerator.GenerateAllCombinationsOfValuesInLists(testData).ToList();
            var rand         = new MersenneTwister((uint)Seed);

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 20, -3, 3).ToList());
                data[i].AddRange(combinations[i]);
            }

            double        x, y;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                y = data[1][i];
                results.Add(x * x * x / 5.0 + y * y * y / 2.0 - y - x);
            }
            data.Add(results);

            return(data);
        }
예제 #15
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(10000, 0, 1).ToList());
            }

            double        x1, x2, x3, x4, x5;
            double        f;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x1 = data[0][i];
                x2 = data[1][i];
                x3 = data[2][i];
                x4 = data[3][i];
                x5 = data[4][i];

                f = 0.1 * Math.Exp(4 * x1) + 4 / (1 + Math.Exp(-20 * (x2 - 0.5))) + 3 * x3 + 2 * x4 + x5;

                results.Add(f + NormalDistributedRandom.NextDouble(rand, 0, 1));
            }
            data.Add(results);

            return(data);
        }
예제 #16
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            List <double>         oneVariableTestData = SequenceGenerator.GenerateSteps(0, 1, 0.01m).Select(v => (double)v).ToList();
            List <List <double> > testData            = new List <List <double> >()
            {
                oneVariableTestData, oneVariableTestData
            };

            var combinations = ValueGenerator.GenerateAllCombinationsOfValuesInLists(testData).ToList <IEnumerable <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(100, 0, 1).ToList());
                data[i].AddRange(combinations[i]);
            }

            double        x, y;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                y = data[1][i];
                results.Add(Math.Pow(x, y));
            }
            data.Add(results);

            return(data);
        }
예제 #17
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 50).ToList()); // note: range is only [0,50] to prevent NaN values (deviates from gp benchmark paper)
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 50).ToList()); // note: range is only [0,50] to prevent NaN values (deviates from gp benchmark paper)
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());

            double        x0, x1, x2, x3;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                x1 = data[1][i];
                x2 = data[2][i];
                x3 = data[3][i];
                results.Add(((Math.Sqrt(x0) / Math.Log(x1)) * (Math.Exp(x2) / Math.Pow(x3, 2))));
            }
            data.Add(results);

            return(data);
        }
예제 #18
0
    protected override List<List<double>> GenerateValues() {
      List<List<double>> data = new List<List<double>>();
      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, -1, 1).ToList());

      double x;
      List<double> results = new List<double>();
      for (int i = 0; i < data[0].Count; i++) {
        x = data[0][i];
        results.Add(Math.Pow(x, 4) + Math.Pow(x, 3) + x*x + x);
      }
      data.Add(results);

      return data;
    }
예제 #19
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, 0, 2).ToList());

            double        x;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                results.Add(Math.Log(x + 1) + Math.Log(x * x + 1));
            }
            data.Add(results);

            return(data);
        }
예제 #20
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            data.Add(ValueGenerator.GenerateUniformDistributedValues(520, -1, 1).ToList());

            double        x;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                results.Add(Math.Sin(x * x) * Math.Cos(x) - 1);
            }
            data.Add(results);

            return(data);
        }
예제 #21
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            data.Add(ValueGenerator.GenerateUniformDistributedValues(1020, 0, 1).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(1020, 0, 1).ToList());

            double        x, y;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                y = data[1][i];
                results.Add(Math.Pow(x, 4) - Math.Pow(x, 3) + y * y / 2 - y);
            }
            data.Add(results);

            return(data);
        }
예제 #22
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 1).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 1).ToList());

            double        x, y;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                y = data[1][i];
                results.Add(Math.Sin(x) + Math.Sin(y * y));
            }
            data.Add(results);

            return(data);
        }
예제 #23
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            }

            double        x2;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x2 = data[2][i];
                results.Add(-2.3 + (0.13 * Math.Sin(x2)));
            }
            data.Add(results);

            return(data);
        }
예제 #24
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            }

            double        x3;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x3 = data[3][i];
                results.Add(1.57 + (24.3 * x3));
            }
            data.Add(results);

            return(data);
        }
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            }

            double        x0;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                results.Add(6.87 + (11 * Math.Cos(7.23 * x0 * x0 * x0)));
            }
            data.Add(results);

            return(data);
        }
예제 #26
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 1).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 1).ToList());

            double        x, y;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                y = data[1][i];
                results.Add(Math.Pow(x, y));
            }
            data.Add(results);

            return(data);
        }
예제 #27
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();
            var rand = new MersenneTwister((uint)Seed);

            for (int i = 0; i < 5; i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, -50, 50).ToList());
            }

            double        x0;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                results.Add(213.80940889 - (213.80940889 * Math.Exp(-0.54723748542 * x0)));
            }
            data.Add(results);

            return(data);
        }
예제 #28
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            for (int i = 0; i < AllowedInputVariables.Count(); i++)
            {
                data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            }

            double        x0, x4;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                x4 = data[4][i];
                results.Add(2.0 - (2.1 * (Math.Cos(9.8 * x0) * Math.Sin(1.3 * x4))));
            }
            data.Add(results);

            return(data);
        }
예제 #29
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -1, 1).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 1, 2).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -1, 1).ToList());

            double        x, y, z;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x = data[0][i];
                y = data[1][i];
                z = data[2][i];
                results.Add((30 * x * z) / ((x - 10) * Math.Pow(y, 2)));
            }
            data.Add(results);

            return(data);
        }
예제 #30
0
        protected override List <List <double> > GenerateValues()
        {
            List <List <double> > data = new List <List <double> >();

            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 50).ToList()); // note: range is only [0,50] to prevent NaN values (deviates from gp benchmark paper)
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());
            data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, -50, 50).ToList());

            double        x0;
            List <double> results = new List <double>();

            for (int i = 0; i < data[0].Count; i++)
            {
                x0 = data[0][i];
                results.Add(1.3 + (0.13 * Math.Sqrt(x0)));
            }
            data.Add(results);

            return(data);
        }